LCOV - code coverage report
Current view: top level - src/backend/parser - gram.c (source / functions) Hit Total Coverage
Test: PostgreSQL 18devel Lines: 4261 4708 90.5 %
Date: 2025-04-24 12:15:10 Functions: 2 2 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* A Bison parser, made by GNU Bison 3.7.5.  */
       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 <http://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 30705
      50             : 
      51             : /* Bison version string.  */
      52             : #define YYBISON_VERSION "3.7.5"
      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             : #if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
    1748             : /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
    1749             : # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN                            \
    1750             :     _Pragma ("GCC diagnostic push")                                     \
    1751             :     _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")              \
    1752             :     _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
    1753             : # define YY_IGNORE_MAYBE_UNINITIALIZED_END      \
    1754             :     _Pragma ("GCC diagnostic pop")
    1755             : #else
    1756             : # define YY_INITIAL_VALUE(Value) Value
    1757             : #endif
    1758             : #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
    1759             : # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
    1760             : # define YY_IGNORE_MAYBE_UNINITIALIZED_END
    1761             : #endif
    1762             : #ifndef YY_INITIAL_VALUE
    1763             : # define YY_INITIAL_VALUE(Value) /* Nothing. */
    1764             : #endif
    1765             : 
    1766             : #if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
    1767             : # define YY_IGNORE_USELESS_CAST_BEGIN                          \
    1768             :     _Pragma ("GCC diagnostic push")                            \
    1769             :     _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
    1770             : # define YY_IGNORE_USELESS_CAST_END            \
    1771             :     _Pragma ("GCC diagnostic pop")
    1772             : #endif
    1773             : #ifndef YY_IGNORE_USELESS_CAST_BEGIN
    1774             : # define YY_IGNORE_USELESS_CAST_BEGIN
    1775             : # define YY_IGNORE_USELESS_CAST_END
    1776             : #endif
    1777             : 
    1778             : 
    1779             : #define YY_ASSERT(E) ((void) (0 && (E)))
    1780             : 
    1781             : #if !defined yyoverflow
    1782             : 
    1783             : /* The parser invokes alloca or malloc; define the necessary symbols.  */
    1784             : 
    1785             : # ifdef YYSTACK_USE_ALLOCA
    1786             : #  if YYSTACK_USE_ALLOCA
    1787             : #   ifdef __GNUC__
    1788             : #    define YYSTACK_ALLOC __builtin_alloca
    1789             : #   elif defined __BUILTIN_VA_ARG_INCR
    1790             : #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
    1791             : #   elif defined _AIX
    1792             : #    define YYSTACK_ALLOC __alloca
    1793             : #   elif defined _MSC_VER
    1794             : #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
    1795             : #    define alloca _alloca
    1796             : #   else
    1797             : #    define YYSTACK_ALLOC alloca
    1798             : #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
    1799             : #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
    1800             :       /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
    1801             : #     ifndef EXIT_SUCCESS
    1802             : #      define EXIT_SUCCESS 0
    1803             : #     endif
    1804             : #    endif
    1805             : #   endif
    1806             : #  endif
    1807             : # endif
    1808             : 
    1809             : # ifdef YYSTACK_ALLOC
    1810             :    /* Pacify GCC's 'empty if-body' warning.  */
    1811             : #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
    1812             : #  ifndef YYSTACK_ALLOC_MAXIMUM
    1813             :     /* The OS might guarantee only one guard page at the bottom of the stack,
    1814             :        and a page size can be as small as 4096 bytes.  So we cannot safely
    1815             :        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
    1816             :        to allow for a few compiler-allocated temporary stack slots.  */
    1817             : #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
    1818             : #  endif
    1819             : # else
    1820             : #  define YYSTACK_ALLOC YYMALLOC
    1821             : #  define YYSTACK_FREE YYFREE
    1822             : #  ifndef YYSTACK_ALLOC_MAXIMUM
    1823             : #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
    1824             : #  endif
    1825             : #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
    1826             :        && ! ((defined YYMALLOC || defined malloc) \
    1827             :              && (defined YYFREE || defined free)))
    1828             : #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
    1829             : #   ifndef EXIT_SUCCESS
    1830             : #    define EXIT_SUCCESS 0
    1831             : #   endif
    1832             : #  endif
    1833             : #  ifndef YYMALLOC
    1834             : #   define YYMALLOC malloc
    1835             : #   if ! defined malloc && ! defined EXIT_SUCCESS
    1836             : void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
    1837             : #   endif
    1838             : #  endif
    1839             : #  ifndef YYFREE
    1840             : #   define YYFREE free
    1841             : #   if ! defined free && ! defined EXIT_SUCCESS
    1842             : void free (void *); /* INFRINGES ON USER NAME SPACE */
    1843             : #   endif
    1844             : #  endif
    1845             : # endif
    1846             : #endif /* !defined yyoverflow */
    1847             : 
    1848             : #if (! defined yyoverflow \
    1849             :      && (! defined __cplusplus \
    1850             :          || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
    1851             :              && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
    1852             : 
    1853             : /* A type that is properly aligned for any stack member.  */
    1854             : union yyalloc
    1855             : {
    1856             :   yy_state_t yyss_alloc;
    1857             :   YYSTYPE yyvs_alloc;
    1858             :   YYLTYPE yyls_alloc;
    1859             : };
    1860             : 
    1861             : /* The size of the maximum gap between one aligned stack and the next.  */
    1862             : # define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
    1863             : 
    1864             : /* The size of an array large to enough to hold all stacks, each with
    1865             :    N elements.  */
    1866             : # define YYSTACK_BYTES(N) \
    1867             :      ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE) \
    1868             :              + YYSIZEOF (YYLTYPE)) \
    1869             :       + 2 * YYSTACK_GAP_MAXIMUM)
    1870             : 
    1871             : # define YYCOPY_NEEDED 1
    1872             : 
    1873             : /* Relocate STACK from its old location to the new one.  The
    1874             :    local variables YYSIZE and YYSTACKSIZE give the old and new number of
    1875             :    elements in the stack, and YYPTR gives the new location of the
    1876             :    stack.  Advance YYPTR to a properly aligned location for the next
    1877             :    stack.  */
    1878             : # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
    1879             :     do                                                                  \
    1880             :       {                                                                 \
    1881             :         YYPTRDIFF_T yynewbytes;                                         \
    1882             :         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
    1883             :         Stack = &yyptr->Stack_alloc;                                    \
    1884             :         yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
    1885             :         yyptr += yynewbytes / YYSIZEOF (*yyptr);                        \
    1886             :       }                                                                 \
    1887             :     while (0)
    1888             : 
    1889             : #endif
    1890             : 
    1891             : #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
    1892             : /* Copy COUNT objects from SRC to DST.  The source and destination do
    1893             :    not overlap.  */
    1894             : # ifndef YYCOPY
    1895             : #  if defined __GNUC__ && 1 < __GNUC__
    1896             : #   define YYCOPY(Dst, Src, Count) \
    1897             :       __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
    1898             : #  else
    1899             : #   define YYCOPY(Dst, Src, Count)              \
    1900             :       do                                        \
    1901             :         {                                       \
    1902             :           YYPTRDIFF_T yyi;                      \
    1903             :           for (yyi = 0; yyi < (Count); yyi++)   \
    1904             :             (Dst)[yyi] = (Src)[yyi];            \
    1905             :         }                                       \
    1906             :       while (0)
    1907             : #  endif
    1908             : # endif
    1909             : #endif /* !YYCOPY_NEEDED */
    1910             : 
    1911             : /* YYFINAL -- State number of the termination state.  */
    1912             : #define YYFINAL  931
    1913             : /* YYLAST -- Last index in YYTABLE.  */
    1914             : #define YYLAST   122812
    1915             : 
    1916             : /* YYNTOKENS -- Number of terminals.  */
    1917             : #define YYNTOKENS  542
    1918             : /* YYNNTS -- Number of nonterminals.  */
    1919             : #define YYNNTS  735
    1920             : /* YYNRULES -- Number of rules.  */
    1921             : #define YYNRULES  3435
    1922             : /* YYNSTATES -- Number of states.  */
    1923             : #define YYNSTATES  6500
    1924             : 
    1925             : /* YYMAXUTOK -- Last valid token kind.  */
    1926             : #define YYMAXUTOK   779
    1927             : 
    1928             : 
    1929             : /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
    1930             :    as returned by yylex, with out-of-bounds checking.  */
    1931             : #define YYTRANSLATE(YYX)                                \
    1932             :   (0 <= (YYX) && (YYX) <= YYMAXUTOK                     \
    1933             :    ? YY_CAST (yysymbol_kind_t, yytranslate[YYX])        \
    1934             :    : YYSYMBOL_YYUNDEF)
    1935             : 
    1936             : /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
    1937             :    as returned by yylex.  */
    1938             : static const yytype_int16 yytranslate[] =
    1939             : {
    1940             :        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1941             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1942             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1943             :        2,     2,     2,     2,     2,     2,     2,   531,     2,     2,
    1944             :      536,   537,   529,   527,   540,   528,   538,   530,     2,     2,
    1945             :        2,     2,     2,     2,     2,     2,     2,     2,   541,   539,
    1946             :      524,   526,   525,     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,   534,     2,   535,   532,     2,     2,     2,     2,     2,
    1950             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1951             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1952             :        2,     2,     2,     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,     2,     2,     2,     2,     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,     1,     2,     3,     4,
    1966             :        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    1967             :       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    1968             :       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
    1969             :       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
    1970             :       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    1971             :       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
    1972             :       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
    1973             :       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
    1974             :       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
    1975             :       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
    1976             :      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
    1977             :      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
    1978             :      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
    1979             :      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
    1980             :      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
    1981             :      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
    1982             :      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
    1983             :      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
    1984             :      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
    1985             :      195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
    1986             :      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
    1987             :      215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
    1988             :      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
    1989             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
    1990             :      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
    1991             :      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
    1992             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
    1993             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
    1994             :      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
    1995             :      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
    1996             :      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
    1997             :      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
    1998             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
    1999             :      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
    2000             :      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
    2001             :      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
    2002             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
    2003             :      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
    2004             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
    2005             :      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
    2006             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
    2007             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
    2008             :      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
    2009             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
    2010             :      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
    2011             :      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
    2012             :      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
    2013             :      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
    2014             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
    2015             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
    2016             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
    2017             :      515,   516,   517,   518,   519,   520,   521,   522,   523,   533
    2018             : };
    2019             : 
    2020             : #if YYDEBUG
    2021             :   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
    2022             : static const yytype_int16 yyrline[] =
    2023             : {
    2024             :        0,   916,   916,   921,   925,   930,   938,   946,   962,   974,
    2025             :      988,   989,   993,   994,   995,   996,   997,   998,   999,  1000,
    2026             :     1001,  1002,  1003,  1004,  1005,  1006,  1007,  1008,  1009,  1010,
    2027             :     1011,  1012,  1013,  1014,  1015,  1016,  1017,  1018,  1019,  1020,
    2028             :     1021,  1022,  1023,  1024,  1025,  1026,  1027,  1028,  1029,  1030,
    2029             :     1031,  1032,  1033,  1034,  1035,  1036,  1037,  1038,  1039,  1040,
    2030             :     1041,  1042,  1043,  1044,  1045,  1046,  1047,  1048,  1049,  1050,
    2031             :     1051,  1052,  1053,  1054,  1055,  1056,  1057,  1058,  1059,  1060,
    2032             :     1061,  1062,  1063,  1064,  1065,  1066,  1067,  1068,  1069,  1070,
    2033             :     1071,  1072,  1073,  1074,  1075,  1076,  1077,  1078,  1079,  1080,
    2034             :     1081,  1082,  1083,  1084,  1085,  1086,  1087,  1088,  1089,  1090,
    2035             :     1091,  1092,  1093,  1094,  1095,  1096,  1097,  1098,  1099,  1100,
    2036             :     1101,  1102,  1103,  1104,  1105,  1106,  1107,  1108,  1109,  1110,
    2037             :     1111,  1112,  1113,  1114,  1115,  1116,  1118,  1125,  1126,  1130,
    2038             :     1131,  1135,  1136,  1140,  1141,  1142,  1151,  1167,  1179,  1180,
    2039             :     1181,  1190,  1191,  1195,  1196,  1200,  1205,  1209,  1219,  1227,
    2040             :     1231,  1235,  1240,  1244,  1292,  1294,  1298,  1302,  1306,  1310,
    2041             :     1324,  1343,  1352,  1364,  1365,  1369,  1378,  1387,  1396,  1418,
    2042             :     1426,  1434,  1442,  1450,  1458,  1476,  1495,  1507,  1508,  1519,
    2043             :     1530,  1541,  1557,  1576,  1581,  1589,  1590,  1591,  1592,  1593,
    2044             :     1594,  1608,  1615,  1622,  1632,  1643,  1654,  1658,  1668,  1678,
    2045             :     1687,  1699,  1700,  1710,  1724,  1732,  1742,  1755,  1765,  1775,
    2046             :     1784,  1796,  1808,  1809,  1813,  1814,  1817,  1819,  1823,  1824,
    2047             :     1825,  1826,  1830,  1831,  1832,  1838,  1850,  1854,  1858,  1875,
    2048             :     1883,  1884,  1885,  1889,  1890,  1891,  1895,  1896,  1900,  1904,
    2049             :     1905,  1914,  1923,  1935,  1944,  1956,  1957,  1962,  1963,  1968,
    2050             :     1975,  1982,  1989,  1996,  2007,  2018,  2019,  2023,  2024,  2032,
    2051             :     2048,  2055,  2062,  2069,  2076,  2096,  2106,  2116,  2126,  2136,
    2052             :     2148,  2160,  2170,  2180,  2190,  2202,  2214,  2224,  2234,  2244,
    2053             :     2254,  2264,  2274,  2286,  2298,  2308,  2321,  2322,  2327,  2341,
    2054             :     2354,  2370,  2387,  2397,  2407,  2417,  2427,  2437,  2446,  2455,
    2055             :     2465,  2474,  2484,  2494,  2510,  2520,  2530,  2540,  2550,  2567,
    2056             :     2577,  2587,  2597,  2608,  2622,  2638,  2648,  2657,  2682,  2696,
    2057             :     2705,  2716,  2727,  2735,  2744,  2753,  2761,  2769,  2778,  2787,
    2058             :     2796,  2804,  2812,  2821,  2829,  2837,  2846,  2855,  2864,  2873,
    2059             :     2882,  2891,  2902,  2910,  2919,  2928,  2937,  2946,  2955,  2964,
    2060             :     2972,  2980,  2988,  2995,  3006,  3007,  3011,  3020,  3024,  3025,
    2061             :     3029,  3037,  3045,  3053,  3064,  3067,  3068,  3072,  3073,  3078,
    2062             :     3082,  3086,  3091,  3098,  3100,  3105,  3109,  3113,  3124,  3131,
    2063             :     3132,  3136,  3137,  3142,  3197,  3210,  3224,  3236,  3243,  3247,
    2064             :     3261,  3274,  3275,  3280,  3290,  3301,  3312,  3339,  3346,  3380,
    2065             :     3416,  3440,  3441,  3445,  3446,  3455,  3456,  3457,  3460,  3461,
    2066             :     3466,  3467,  3471,  3475,  3479,  3483,  3487,  3491,  3495,  3499,
    2067             :     3503,  3507,  3511,  3515,  3519,  3523,  3527,  3536,  3540,  3544,
    2068             :     3548,  3552,  3553,  3558,  3562,  3569,  3576,  3577,  3578,  3579,
    2069             :     3580,  3581,  3585,  3589,  3597,  3608,  3628,  3648,  3669,  3690,
    2070             :     3711,  3745,  3746,  3747,  3748,  3749,  3756,  3763,  3764,  3768,
    2071             :     3769,  3773,  3774,  3778,  3782,  3789,  3793,  3800,  3801,  3802,
    2072             :     3806,  3807,  3810,  3834,  3853,  3875,  3876,  3880,  3881,  3885,
    2073             :     3886,  3890,  3891,  3895,  3896,  3900,  3908,  3909,  3910,  3942,
    2074             :     3954,  3962,  3975,  3987,  4001,  4011,  4021,  4046,  4067,  4068,
    2075             :     4069,  4073,  4074,  4078,  4079,  4080,  4099,  4107,  4115,  4123,
    2076             :     4131,  4139,  4151,  4163,  4164,  4165,  4169,  4170,  4171,  4172,
    2077             :     4173,  4174,  4175,  4176,  4177,  4178,  4187,  4195,  4199,  4213,
    2078             :     4226,  4245,  4261,  4279,  4295,  4315,  4360,  4368,  4372,  4387,
    2079             :     4403,  4404,  4408,  4409,  4413,  4414,  4418,  4419,  4423,  4424,
    2080             :     4428,  4429,  4432,  4438,  4439,  4442,  4446,  4454,  4459,  4465,
    2081             :     4466,  4470,  4475,  4482,  4483,  4487,  4497,  4507,  4515,  4524,
    2082             :     4537,  4549,  4556,  4564,  4572,  4580,  4588,  4598,  4599,  4603,
    2083             :     4604,  4607,  4619,  4620,  4623,  4634,  4645,  4659,  4660,  4665,
    2084             :     4666,  4667,  4670,  4671,  4672,  4673,  4676,  4677,  4680,  4681,
    2085             :     4684,  4704,  4717,  4739,  4740,  4743,  4749,  4755,  4772,  4781,
    2086             :     4803,  4817,  4834,  4850,  4851,  4852,  4864,  4878,  4895,  4909,
    2087             :     4910,  4922,  4943,  4954,  4968,  4977,  4989,  4990,  4993,  4994,
    2088             :     4997,  4998,  5001,  5005,  5009,  5013,  5017,  5021,  5025,  5029,
    2089             :     5033,  5037,  5041,  5045,  5049,  5053,  5057,  5061,  5067,  5068,
    2090             :     5072,  5073,  5074,  5081,  5084,  5085,  5097,  5113,  5129,  5130,
    2091             :     5138,  5139,  5143,  5144,  5148,  5149,  5153,  5154,  5158,  5159,
    2092             :     5169,  5181,  5182,  5195,  5203,  5221,  5230,  5242,  5245,  5249,
    2093             :     5253,  5257,  5264,  5276,  5287,  5290,  5294,  5307,  5317,  5327,
    2094             :     5337,  5347,  5357,  5367,  5377,  5387,  5397,  5407,  5417,  5427,
    2095             :     5446,  5458,  5459,  5460,  5461,  5465,  5466,  5470,  5471,  5481,
    2096             :     5490,  5503,  5504,  5508,  5512,  5520,  5524,  5528,  5535,  5539,
    2097             :     5544,  5549,  5556,  5563,  5568,  5578,  5591,  5607,  5608,  5613,
    2098             :     5614,  5618,  5619,  5629,  5639,  5648,  5666,  5687,  5708,  5730,
    2099             :     5764,  5780,  5781,  5785,  5794,  5809,  5819,  5832,  5833,  5845,
    2100             :     5854,  5872,  5897,  5915,  5930,  5931,  5935,  5936,  5940,  5941,
    2101             :     5945,  5946,  5950,  5964,  5968,  5969,  5973,  5974,  5975,  5976,
    2102             :     5977,  5987,  5999,  6000,  6011,  6034,  6067,  6068,  6069,  6073,
    2103             :     6075,  6097,  6099,  6101,  6103,  6105,  6110,  6111,  6115,  6116,
    2104             :     6120,  6132,  6133,  6137,  6146,  6150,  6154,  6159,  6169,  6170,
    2105             :     6174,  6175,  6179,  6180,  6184,  6185,  6189,  6190,  6191,  6195,
    2106             :     6199,  6200,  6201,  6205,  6206,  6211,  6212,  6240,  6241,  6242,
    2107             :     6243,  6244,  6245,  6246,  6247,  6260,  6271,  6286,  6288,  6293,
    2108             :     6298,  6300,  6305,  6316,  6317,  6318,  6319,  6330,  6350,  6362,
    2109             :     6375,  6386,  6397,  6409,  6418,  6426,  6434,  6444,  6454,  6464,
    2110             :     6474,  6484,  6495,  6505,  6518,  6521,  6522,  6525,  6529,  6536,
    2111             :     6537,  6538,  6539,  6540,  6541,  6544,  6547,  6548,  6556,  6563,
    2112             :     6564,  6567,  6569,  6580,  6592,  6604,  6616,  6628,  6657,  6658,
    2113             :     6674,  6690,  6691,  6695,  6708,  6718,  6727,  6737,  6747,  6748,
    2114             :     6751,  6752,  6755,  6756,  6757,  6762,  6773,  6783,  6796,  6797,
    2115             :     6801,  6810,  6823,  6834,  6848,  6859,  6882,  6893,  6912,  6923,
    2116             :     6934,  6945,  6956,  6967,  6978,  6989,  7000,  7011,  7022,  7033,
    2117             :     7048,  7049,  7050,  7051,  7052,  7053,  7054,  7055,  7056,  7057,
    2118             :     7058,  7059,  7060,  7070,  7071,  7072,  7073,  7074,  7078,  7079,
    2119             :     7080,  7081,  7082,  7083,  7084,  7085,  7090,  7091,  7092,  7096,
    2120             :     7097,  7100,  7101,  7104,  7106,  7111,  7112,  7123,  7135,  7136,
    2121             :     7137,  7147,  7156,  7165,  7174,  7183,  7192,  7201,  7210,  7219,
    2122             :     7228,  7242,  7251,  7260,  7269,  7278,  7287,  7296,  7305,  7317,
    2123             :     7318,  7332,  7343,  7354,  7365,  7376,  7387,  7398,  7409,  7420,
    2124             :     7431,  7444,  7445,  7448,  7449,  7459,  7466,  7475,  7484,  7493,
    2125             :     7502,  7511,  7520,  7529,  7538,  7547,  7556,  7565,  7574,  7583,
    2126             :     7592,  7601,  7610,  7621,  7622,  7625,  7626,  7636,  7654,  7670,
    2127             :     7698,  7700,  7702,  7704,  7712,  7722,  7723,  7726,  7734,  7742,
    2128             :     7750,  7757,  7768,  7772,  7779,  7783,  7794,  7803,  7812,  7821,
    2129             :     7830,  7839,  7848,  7857,  7866,  7875,  7884,  7893,  7902,  7910,
    2130             :     7919,  7928,  7937,  7946,  7955,  7964,  7973,  7986,  7987,  7991,
    2131             :     7992,  7997,  7998,  8008,  8019,  8033,  8045,  8063,  8064,  8068,
    2132             :     8075,  8076,  8077,  8080,  8081,  8091,  8102,  8103,  8107,  8111,
    2133             :     8115,  8126,  8140,  8155,  8173,  8174,  8175,  8176,  8177,  8178,
    2134             :     8179,  8191,  8223,  8258,  8259,  8263,  8264,  8267,  8268,  8273,
    2135             :     8285,  8304,  8309,  8314,  8321,  8322,  8325,  8326,  8329,  8330,
    2136             :     8334,  8335,  8336,  8339,  8340,  8341,  8357,  8371,  8386,  8400,
    2137             :     8417,  8418,  8421,  8422,  8426,  8427,  8431,  8432,  8437,  8451,
    2138             :     8459,  8467,  8483,  8484,  8488,  8489,  8504,  8515,  8526,  8537,
    2139             :     8548,  8562,  8563,  8564,  8565,  8566,  8572,  8576,  8591,  8592,
    2140             :     8598,  8608,  8612,  8617,  8625,  8667,  8671,  8675,  8679,  8687,
    2141             :     8688,  8692,  8704,  8705,  8710,  8711,  8716,  8717,  8724,  8728,
    2142             :     8732,  8736,  8740,  8744,  8748,  8752,  8756,  8760,  8764,  8768,
    2143             :     8772,  8776,  8780,  8784,  8789,  8796,  8800,  8804,  8808,  8812,
    2144             :     8818,  8819,  8825,  8835,  8839,  8850,  8856,  8865,  8871,  8872,
    2145             :     8876,  8877,  8881,  8882,  8885,  8899,  8903,  8918,  8927,  8936,
    2146             :     8949,  8950,  8955,  8956,  8973,  8984,  8995,  9006,  9017,  9028,
    2147             :     9042,  9053,  9067,  9078,  9092,  9100,  9102,  9104,  9109,  9111,
    2148             :     9116,  9117,  9122,  9141,  9151,  9152,  9156,  9160,  9172,  9184,
    2149             :     9196,  9210,  9211,  9212,  9216,  9229,  9230,  9240,  9253,  9257,
    2150             :     9261,  9265,  9272,  9294,  9307,  9320,  9335,  9336,  9339,  9340,
    2151             :     9343,  9344,  9354,  9364,  9382,  9392,  9402,  9412,  9422,  9432,
    2152             :     9442,  9452,  9462,  9472,  9482,  9492,  9502,  9513,  9524,  9534,
    2153             :     9544,  9554,  9564,  9574,  9584,  9595,  9606,  9617,  9628,  9639,
    2154             :     9650,  9661,  9672,  9683,  9694,  9705,  9716,  9728,  9740,  9752,
    2155             :     9764,  9776,  9788,  9799,  9810,  9822,  9834,  9845,  9856,  9865,
    2156             :     9875,  9885,  9895,  9905,  9915,  9925,  9935,  9945,  9955,  9970,
    2157             :     9971,  9974,  9975,  9985,  9995, 10005, 10015, 10026, 10036, 10048,
    2158             :    10049, 10059, 10069, 10079, 10089, 10099, 10109, 10119, 10129, 10139,
    2159             :    10149, 10159, 10169, 10179, 10189, 10199, 10209, 10219, 10229, 10239,
    2160             :    10249, 10259, 10269, 10279, 10289, 10299, 10309, 10319, 10338, 10348,
    2161             :    10349, 10352, 10354, 10356, 10362, 10363, 10364, 10365, 10366, 10378,
    2162             :    10394, 10403, 10412, 10421, 10430, 10439, 10448, 10457, 10466, 10475,
    2163             :    10484, 10493, 10502, 10511, 10520, 10529, 10538, 10547, 10556, 10565,
    2164             :    10574, 10583, 10592, 10601, 10629, 10637, 10646, 10672, 10681, 10688,
    2165             :    10694, 10721, 10732, 10741, 10749, 10751, 10773, 10781, 10791, 10801,
    2166             :    10820, 10839, 10849, 10859, 10869, 10880, 10891, 10902, 10913, 10924,
    2167             :    10942, 10951, 10968, 10986, 10987, 10988, 10993, 10999, 11008, 11009,
    2168             :    11010, 11011, 11012, 11016, 11017, 11020, 11021, 11022, 11023, 11027,
    2169             :    11028, 11029, 11041, 11052, 11053, 11056, 11066, 11073, 11093, 11103,
    2170             :    11112, 11122, 11132, 11141, 11150, 11159, 11168, 11177, 11186, 11195,
    2171             :    11207, 11216, 11228, 11229, 11230, 11234, 11237, 11240, 11243, 11246,
    2172             :    11253, 11255, 11257, 11262, 11264, 11268, 11269, 11270, 11282, 11296,
    2173             :    11310, 11329, 11351, 11352, 11353, 11354, 11364, 11381, 11392, 11393,
    2174             :    11397, 11398, 11402, 11406, 11410, 11428, 11429, 11430, 11431, 11432,
    2175             :    11433, 11434, 11441, 11442, 11453, 11461, 11469, 11478, 11488, 11506,
    2176             :    11515, 11524, 11533, 11545, 11549, 11560, 11572, 11590, 11597, 11614,
    2177             :    11628, 11638, 11647, 11656, 11666, 11678, 11690, 11701, 11702, 11713,
    2178             :    11724, 11736, 11748, 11760, 11772, 11782, 11795, 11796, 11810, 11834,
    2179             :    11843, 11853, 11865, 11877, 11891, 11892, 11904, 11925, 11936, 11948,
    2180             :    11960, 11964, 11971, 11972, 11976, 11983, 11984, 11985, 11989, 11990,
    2181             :    11991, 11995, 11996, 12000, 12001, 12004, 12005, 12008, 12009, 12013,
    2182             :    12014, 12018, 12025, 12027, 12032, 12033, 12046, 12054, 12065, 12073,
    2183             :    12084, 12085, 12086, 12087, 12088, 12089, 12090, 12091, 12092, 12093,
    2184             :    12103, 12114, 12115, 12119, 12120, 12121, 12122, 12123, 12133, 12141,
    2185             :    12159, 12179, 12180, 12190, 12199, 12208, 12217, 12236, 12255, 12259,
    2186             :    12267, 12273, 12280, 12286, 12293, 12302, 12303, 12307, 12309, 12314,
    2187             :    12325, 12335, 12345, 12351, 12360, 12369, 12375, 12384, 12390, 12391,
    2188             :    12395, 12396, 12400, 12412, 12413, 12424, 12440, 12441, 12452, 12463,
    2189             :    12464, 12467, 12468, 12469, 12470, 12471, 12472, 12473, 12474, 12477,
    2190             :    12478, 12482, 12483, 12484, 12495, 12515, 12516, 12520, 12525, 12549,
    2191             :    12560, 12561, 12573, 12594, 12595, 12605, 12612, 12619, 12626, 12636,
    2192             :    12649, 12650, 12654, 12655, 12659, 12660, 12664, 12677, 12690, 12699,
    2193             :    12708, 12717, 12726, 12738, 12750, 12762, 12765, 12766, 12767, 12768,
    2194             :    12769, 12770, 12773, 12774, 12775, 12823, 12824, 12828, 12842, 12857,
    2195             :    12858, 12865, 12873, 12881, 12889, 12897, 12905, 12916, 12917, 12949,
    2196             :    12966, 12984, 12985, 13005, 13009, 13013, 13028, 13035, 13042, 13052,
    2197             :    13053, 13056, 13072, 13073, 13074, 13078, 13088, 13099, 13105, 13117,
    2198             :    13130, 13136, 13137, 13141, 13153, 13161, 13166, 13171, 13176, 13181,
    2199             :    13189, 13197, 13202, 13207, 13214, 13215, 13219, 13220, 13221, 13228,
    2200             :    13229, 13233, 13234, 13238, 13239, 13243, 13244, 13248, 13252, 13253,
    2201             :    13256, 13265, 13278, 13284, 13290, 13294, 13309, 13310, 13314, 13326,
    2202             :    13342, 13354, 13366, 13378, 13393, 13396, 13401, 13402, 13410, 13430,
    2203             :    13431, 13433, 13438, 13439, 13443, 13444, 13447, 13448, 13473, 13482,
    2204             :    13492, 13493, 13497, 13498, 13499, 13500, 13501, 13505, 13518, 13525,
    2205             :    13532, 13539, 13540, 13544, 13545, 13549, 13550, 13554, 13555, 13559,
    2206             :    13571, 13572, 13573, 13574, 13578, 13579, 13589, 13597, 13616, 13617,
    2207             :    13621, 13622, 13628, 13633, 13642, 13650, 13659, 13666, 13674, 13683,
    2208             :    13692, 13696, 13701, 13708, 13737, 13741, 13755, 13776, 13798, 13811,
    2209             :    13828, 13834, 13839, 13845, 13852, 13853, 13863, 13869, 13877, 13881,
    2210             :    13885, 13892, 13900, 13905, 13906, 13907, 13908, 13912, 13913, 13928,
    2211             :    13932, 13940, 13947, 13954, 13961, 13968, 13979, 13980, 13993, 13997,
    2212             :    14005, 14019, 14033, 14034, 14049, 14060, 14073, 14078, 14079, 14082,
    2213             :    14083, 14086, 14087, 14092, 14093, 14098, 14099, 14108, 14113, 14114,
    2214             :    14118, 14122, 14128, 14153, 14164, 14178, 14179, 14183, 14197, 14254,
    2215             :    14268, 14270, 14275, 14277, 14279, 14281, 14283, 14288, 14290, 14295,
    2216             :    14303, 14314, 14342, 14343, 14347, 14349, 14354, 14363, 14383, 14403,
    2217             :    14421, 14433, 14448, 14449, 14453, 14456, 14469, 14474, 14481, 14486,
    2218             :    14492, 14497, 14506, 14508, 14511, 14515, 14516, 14517, 14518, 14519,
    2219             :    14520, 14525, 14531, 14546, 14547, 14548, 14549, 14550, 14561, 14567,
    2220             :    14575, 14576, 14582, 14587, 14592, 14597, 14602, 14607, 14612, 14617,
    2221             :    14623, 14629, 14635, 14642, 14664, 14673, 14677, 14685, 14689, 14697,
    2222             :    14709, 14730, 14734, 14740, 14744, 14757, 14765, 14775, 14777, 14779,
    2223             :    14781, 14783, 14785, 14790, 14791, 14798, 14807, 14815, 14824, 14835,
    2224             :    14843, 14844, 14845, 14849, 14851, 14853, 14855, 14857, 14859, 14861,
    2225             :    14866, 14871, 14877, 14885, 14890, 14897, 14904, 14908, 14912, 14920,
    2226             :    14955, 14956, 14958, 14967, 14974, 14990, 14992, 14994, 14996, 14998,
    2227             :    15000, 15002, 15004, 15006, 15008, 15010, 15012, 15014, 15016, 15019,
    2228             :    15021, 15024, 15026, 15028, 15030, 15033, 15038, 15047, 15052, 15061,
    2229             :    15066, 15075, 15080, 15090, 15099, 15108, 15117, 15136, 15145, 15154,
    2230             :    15163, 15172, 15189, 15198, 15207, 15216, 15225, 15234, 15243, 15247,
    2231             :    15251, 15259, 15267, 15275, 15283, 15304, 15327, 15339, 15346, 15362,
    2232             :    15367, 15373, 15380, 15387, 15395, 15403, 15420, 15439, 15465, 15467,
    2233             :    15469, 15471, 15473, 15475, 15477, 15479, 15481, 15483, 15485, 15487,
    2234             :    15489, 15491, 15493, 15495, 15497, 15499, 15501, 15505, 15509, 15514,
    2235             :    15530, 15531, 15532, 15549, 15562, 15564, 15566, 15578, 15603, 15615,
    2236             :    15627, 15635, 15646, 15657, 15667, 15673, 15682, 15692, 15702, 15715,
    2237             :    15725, 15756, 15792, 15802, 15813, 15814, 15815, 15822, 15829, 15833,
    2238             :    15837, 15841, 15845, 15849, 15853, 15857, 15861, 15865, 15869, 15873,
    2239             :    15877, 15884, 15888, 15892, 15896, 15898, 15905, 15912, 15919, 15926,
    2240             :    15937, 15951, 15961, 15972, 15988, 15998, 16005, 16012, 16019, 16023,
    2241             :    16031, 16040, 16049, 16053, 16057, 16061, 16065, 16069, 16078, 16082,
    2242             :    16092, 16096, 16100, 16105, 16116, 16122, 16136, 16147, 16161, 16177,
    2243             :    16189, 16199, 16208, 16217, 16225, 16247, 16263, 16287, 16289, 16293,
    2244             :    16295, 16297, 16300, 16303, 16306, 16307, 16310, 16318, 16328, 16329,
    2245             :    16332, 16333, 16334, 16337, 16338, 16339, 16344, 16348, 16352, 16356,
    2246             :    16363, 16364, 16372, 16373, 16377, 16378, 16386, 16387, 16391, 16392,
    2247             :    16397, 16406, 16408, 16423, 16426, 16454, 16455, 16458, 16459, 16467,
    2248             :    16475, 16483, 16492, 16502, 16520, 16566, 16575, 16584, 16593, 16602,
    2249             :    16614, 16615, 16616, 16617, 16618, 16632, 16633, 16634, 16637, 16638,
    2250             :    16641, 16644, 16645, 16646, 16649, 16650, 16653, 16654, 16655, 16656,
    2251             :    16657, 16658, 16659, 16660, 16661, 16662, 16663, 16664, 16667, 16669,
    2252             :    16674, 16676, 16681, 16683, 16685, 16687, 16689, 16691, 16703, 16707,
    2253             :    16714, 16718, 16724, 16728, 16738, 16750, 16751, 16754, 16755, 16758,
    2254             :    16762, 16766, 16772, 16773, 16778, 16788, 16789, 16790, 16791, 16792,
    2255             :    16793, 16794, 16795, 16799, 16800, 16801, 16802, 16807, 16812, 16821,
    2256             :    16842, 16846, 16851, 16862, 16879, 16885, 16886, 16887, 16890, 16898,
    2257             :    16908, 16923, 16924, 16928, 16940, 16941, 16944, 16945, 16948, 16952,
    2258             :    16959, 16963, 16967, 16976, 16988, 16989, 16993, 16994, 16998, 16999,
    2259             :    17002, 17003, 17008, 17009, 17013, 17014, 17018, 17030, 17031, 17032,
    2260             :    17033, 17034, 17035, 17036, 17037, 17038, 17042, 17044, 17049, 17050,
    2261             :    17051, 17052, 17053, 17054, 17055, 17057, 17061, 17063, 17065, 17068,
    2262             :    17072, 17075, 17079, 17088, 17106, 17113, 17118, 17124, 17125, 17126,
    2263             :    17127, 17128, 17132, 17141, 17155, 17156, 17157, 17158, 17159, 17168,
    2264             :    17169, 17170, 17171, 17172, 17176, 17178, 17188, 17191, 17197, 17198,
    2265             :    17199, 17203, 17204, 17205, 17209, 17210, 17214, 17232, 17252, 17253,
    2266             :    17262, 17263, 17267, 17268, 17271, 17279, 17287, 17295, 17318, 17319,
    2267             :    17330, 17334, 17340, 17342, 17347, 17349, 17351, 17361, 17363, 17374,
    2268             :    17378, 17382, 17386, 17390, 17399, 17407, 17439, 17443, 17450, 17458,
    2269             :    17462, 17466, 17472, 17473, 17475, 17476, 17477, 17481, 17522, 17550,
    2270             :    17554, 17558, 17564, 17566, 17580, 17617, 17630, 17631, 17634, 17635,
    2271             :    17652, 17653, 17654, 17659, 17660, 17661, 17666, 17667, 17668, 17669,
    2272             :    17675, 17676, 17677, 17678, 17679, 17685, 17686, 17706, 17707, 17708,
    2273             :    17709, 17710, 17711, 17712, 17713, 17714, 17715, 17716, 17717, 17718,
    2274             :    17719, 17720, 17721, 17722, 17723, 17724, 17725, 17726, 17727, 17728,
    2275             :    17729, 17730, 17731, 17732, 17733, 17734, 17735, 17736, 17737, 17738,
    2276             :    17739, 17740, 17741, 17742, 17743, 17744, 17745, 17746, 17747, 17748,
    2277             :    17749, 17750, 17751, 17752, 17753, 17754, 17755, 17756, 17757, 17758,
    2278             :    17759, 17760, 17761, 17762, 17763, 17764, 17765, 17766, 17767, 17768,
    2279             :    17769, 17770, 17771, 17772, 17773, 17774, 17775, 17776, 17777, 17778,
    2280             :    17779, 17780, 17781, 17782, 17783, 17784, 17785, 17786, 17787, 17788,
    2281             :    17789, 17790, 17791, 17792, 17793, 17794, 17795, 17796, 17797, 17798,
    2282             :    17799, 17800, 17801, 17802, 17803, 17804, 17805, 17806, 17807, 17808,
    2283             :    17809, 17810, 17811, 17812, 17813, 17814, 17815, 17816, 17817, 17818,
    2284             :    17819, 17820, 17821, 17822, 17823, 17824, 17825, 17826, 17827, 17828,
    2285             :    17829, 17830, 17831, 17832, 17833, 17834, 17835, 17836, 17837, 17838,
    2286             :    17839, 17840, 17841, 17842, 17843, 17844, 17845, 17846, 17847, 17848,
    2287             :    17849, 17850, 17851, 17852, 17853, 17854, 17855, 17856, 17857, 17858,
    2288             :    17859, 17860, 17861, 17862, 17863, 17864, 17865, 17866, 17867, 17868,
    2289             :    17869, 17870, 17871, 17872, 17873, 17874, 17875, 17876, 17877, 17878,
    2290             :    17879, 17880, 17881, 17882, 17883, 17884, 17885, 17886, 17887, 17888,
    2291             :    17889, 17890, 17891, 17892, 17893, 17894, 17895, 17896, 17897, 17898,
    2292             :    17899, 17900, 17901, 17902, 17903, 17904, 17905, 17906, 17907, 17908,
    2293             :    17909, 17910, 17911, 17912, 17913, 17914, 17915, 17916, 17917, 17918,
    2294             :    17919, 17920, 17921, 17922, 17923, 17924, 17925, 17926, 17927, 17928,
    2295             :    17929, 17930, 17931, 17932, 17933, 17934, 17935, 17936, 17937, 17938,
    2296             :    17939, 17940, 17941, 17942, 17943, 17944, 17945, 17946, 17947, 17948,
    2297             :    17949, 17950, 17951, 17952, 17953, 17954, 17955, 17956, 17957, 17958,
    2298             :    17959, 17960, 17961, 17962, 17963, 17964, 17965, 17966, 17967, 17968,
    2299             :    17969, 17970, 17971, 17972, 17973, 17974, 17975, 17976, 17977, 17978,
    2300             :    17979, 17980, 17981, 17982, 17983, 17984, 17985, 17986, 17987, 17988,
    2301             :    17989, 17990, 17991, 17992, 17993, 17994, 17995, 17996, 17997, 17998,
    2302             :    17999, 18000, 18001, 18002, 18003, 18004, 18005, 18006, 18007, 18008,
    2303             :    18009, 18010, 18011, 18012, 18013, 18014, 18015, 18016, 18017, 18018,
    2304             :    18019, 18020, 18021, 18022, 18023, 18024, 18025, 18026, 18027, 18028,
    2305             :    18029, 18030, 18031, 18032, 18033, 18034, 18035, 18049, 18050, 18051,
    2306             :    18052, 18053, 18054, 18055, 18056, 18057, 18058, 18059, 18060, 18061,
    2307             :    18062, 18063, 18064, 18065, 18066, 18067, 18068, 18069, 18070, 18071,
    2308             :    18072, 18073, 18074, 18075, 18076, 18077, 18078, 18079, 18080, 18081,
    2309             :    18082, 18083, 18084, 18085, 18086, 18087, 18088, 18089, 18090, 18091,
    2310             :    18092, 18093, 18094, 18095, 18096, 18097, 18098, 18099, 18100, 18101,
    2311             :    18102, 18103, 18104, 18105, 18106, 18107, 18108, 18109, 18110, 18111,
    2312             :    18125, 18126, 18127, 18128, 18129, 18130, 18131, 18132, 18133, 18134,
    2313             :    18135, 18136, 18137, 18138, 18139, 18140, 18141, 18142, 18143, 18144,
    2314             :    18145, 18146, 18147, 18157, 18158, 18159, 18160, 18161, 18162, 18163,
    2315             :    18164, 18165, 18166, 18167, 18168, 18169, 18170, 18171, 18172, 18173,
    2316             :    18174, 18175, 18176, 18177, 18178, 18179, 18180, 18181, 18182, 18183,
    2317             :    18184, 18185, 18186, 18187, 18188, 18189, 18190, 18191, 18192, 18193,
    2318             :    18194, 18195, 18196, 18197, 18198, 18199, 18200, 18201, 18202, 18203,
    2319             :    18204, 18205, 18206, 18207, 18208, 18209, 18210, 18211, 18212, 18213,
    2320             :    18214, 18215, 18216, 18217, 18218, 18219, 18220, 18221, 18222, 18223,
    2321             :    18224, 18225, 18226, 18227, 18228, 18229, 18230, 18231, 18232, 18233,
    2322             :    18234, 18247, 18248, 18249, 18250, 18251, 18252, 18253, 18254, 18255,
    2323             :    18256, 18257, 18258, 18259, 18260, 18261, 18262, 18263, 18264, 18265,
    2324             :    18266, 18267, 18268, 18269, 18270, 18271, 18272, 18273, 18274, 18275,
    2325             :    18276, 18277, 18278, 18279, 18280, 18281, 18282, 18283, 18284, 18285,
    2326             :    18286, 18287, 18288, 18289, 18290, 18291, 18292, 18293, 18294, 18295,
    2327             :    18296, 18297, 18298, 18299, 18300, 18301, 18302, 18303, 18304, 18305,
    2328             :    18306, 18307, 18308, 18309, 18310, 18311, 18312, 18313, 18314, 18315,
    2329             :    18316, 18317, 18318, 18319, 18320, 18321, 18322, 18323, 18324, 18325,
    2330             :    18326, 18327, 18328, 18329, 18330, 18331, 18332, 18333, 18334, 18335,
    2331             :    18336, 18337, 18338, 18339, 18340, 18341, 18342, 18343, 18344, 18345,
    2332             :    18346, 18347, 18348, 18349, 18350, 18351, 18352, 18353, 18354, 18355,
    2333             :    18356, 18357, 18358, 18359, 18360, 18361, 18362, 18363, 18364, 18365,
    2334             :    18366, 18367, 18368, 18369, 18370, 18371, 18372, 18373, 18374, 18375,
    2335             :    18376, 18377, 18378, 18379, 18380, 18381, 18382, 18383, 18384, 18385,
    2336             :    18386, 18387, 18388, 18389, 18390, 18391, 18392, 18393, 18394, 18395,
    2337             :    18396, 18397, 18398, 18399, 18400, 18401, 18402, 18403, 18404, 18405,
    2338             :    18406, 18407, 18408, 18409, 18410, 18411, 18412, 18413, 18414, 18415,
    2339             :    18416, 18417, 18418, 18419, 18420, 18421, 18422, 18423, 18424, 18425,
    2340             :    18426, 18427, 18428, 18429, 18430, 18431, 18432, 18433, 18434, 18435,
    2341             :    18436, 18437, 18438, 18439, 18440, 18441, 18442, 18443, 18444, 18445,
    2342             :    18446, 18447, 18448, 18449, 18450, 18451, 18452, 18453, 18454, 18455,
    2343             :    18456, 18457, 18458, 18459, 18460, 18461, 18462, 18463, 18464, 18465,
    2344             :    18466, 18467, 18468, 18469, 18470, 18471, 18472, 18473, 18474, 18475,
    2345             :    18476, 18477, 18478, 18479, 18480, 18481, 18482, 18483, 18484, 18485,
    2346             :    18486, 18487, 18488, 18489, 18490, 18491, 18492, 18493, 18494, 18495,
    2347             :    18496, 18497, 18498, 18499, 18500, 18501, 18502, 18503, 18504, 18505,
    2348             :    18506, 18507, 18508, 18509, 18510, 18511, 18512, 18513, 18514, 18515,
    2349             :    18516, 18517, 18518, 18519, 18520, 18521, 18522, 18523, 18524, 18525,
    2350             :    18526, 18527, 18528, 18529, 18530, 18531, 18532, 18533, 18534, 18535,
    2351             :    18536, 18537, 18538, 18539, 18540, 18541, 18542, 18543, 18544, 18545,
    2352             :    18546, 18547, 18548, 18549, 18550, 18551, 18552, 18553, 18554, 18555,
    2353             :    18556, 18557, 18558, 18559, 18560, 18561, 18562, 18563, 18564, 18565,
    2354             :    18566, 18567, 18568, 18569, 18570, 18571, 18572, 18573, 18574, 18575,
    2355             :    18576, 18577, 18578, 18579, 18580, 18581, 18582, 18583, 18584, 18585,
    2356             :    18586, 18587, 18588, 18589, 18590, 18591, 18592, 18593, 18594, 18595,
    2357             :    18596, 18597, 18598, 18599, 18600, 18601, 18602, 18603, 18604, 18605,
    2358             :    18606, 18607, 18608, 18609, 18610, 18611, 18612, 18613, 18614, 18615,
    2359             :    18616, 18617, 18618, 18619, 18620, 18621, 18622, 18623, 18624, 18625,
    2360             :    18626, 18627, 18628, 18629, 18630, 18631, 18632, 18633, 18634, 18635,
    2361             :    18636, 18637, 18638, 18639, 18640, 18641, 18642, 18643, 18644, 18645,
    2362             :    18646, 18647, 18648, 18649, 18650, 18651, 18652, 18653, 18654, 18655,
    2363             :    18656, 18657, 18658, 18659, 18660, 18661, 18662, 18663, 18664, 18665,
    2364             :    18666, 18667, 18668, 18669, 18670, 18671, 18672, 18673, 18674, 18675,
    2365             :    18676, 18677, 18678, 18679, 18680, 18681, 18682, 18683, 18684, 18685,
    2366             :    18686, 18687, 18688, 18689, 18690, 18691, 18692, 18693, 18694, 18695,
    2367             :    18696, 18697, 18698, 18699, 18700, 18701
    2368             : };
    2369             : #endif
    2370             : 
    2371             : /** Accessing symbol of state STATE.  */
    2372             : #define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
    2373             : 
    2374             : #if YYDEBUG || 0
    2375             : /* The user-facing name of the symbol whose (internal) number is
    2376             :    YYSYMBOL.  No bounds checking.  */
    2377             : static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
    2378             : 
    2379             : /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
    2380             :    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
    2381             : static const char *const yytname[] =
    2382             : {
    2383             :   "\"end of file\"", "error", "\"invalid token\"", "IDENT", "UIDENT",
    2384             :   "FCONST", "SCONST", "USCONST", "BCONST", "XCONST", "Op", "ICONST",
    2385             :   "PARAM", "TYPECAST", "DOT_DOT", "COLON_EQUALS", "EQUALS_GREATER",
    2386             :   "LESS_EQUALS", "GREATER_EQUALS", "NOT_EQUALS", "ABORT_P", "ABSENT",
    2387             :   "ABSOLUTE_P", "ACCESS", "ACTION", "ADD_P", "ADMIN", "AFTER", "AGGREGATE",
    2388             :   "ALL", "ALSO", "ALTER", "ALWAYS", "ANALYSE", "ANALYZE", "AND", "ANY",
    2389             :   "ARRAY", "AS", "ASC", "ASENSITIVE", "ASSERTION", "ASSIGNMENT",
    2390             :   "ASYMMETRIC", "ATOMIC", "AT", "ATTACH", "ATTRIBUTE", "AUTHORIZATION",
    2391             :   "BACKWARD", "BEFORE", "BEGIN_P", "BETWEEN", "BIGINT", "BINARY", "BIT",
    2392             :   "BOOLEAN_P", "BOTH", "BREADTH", "BY", "CACHE", "CALL", "CALLED",
    2393             :   "CASCADE", "CASCADED", "CASE", "CAST", "CATALOG_P", "CHAIN", "CHAR_P",
    2394             :   "CHARACTER", "CHARACTERISTICS", "CHECK", "CHECKPOINT", "CLASS", "CLOSE",
    2395             :   "CLUSTER", "COALESCE", "COLLATE", "COLLATION", "COLUMN", "COLUMNS",
    2396             :   "COMMENT", "COMMENTS", "COMMIT", "COMMITTED", "COMPRESSION",
    2397             :   "CONCURRENTLY", "CONDITIONAL", "CONFIGURATION", "CONFLICT", "CONNECTION",
    2398             :   "CONSTRAINT", "CONSTRAINTS", "CONTENT_P", "CONTINUE_P", "CONVERSION_P",
    2399             :   "COPY", "COST", "CREATE", "CROSS", "CSV", "CUBE", "CURRENT_P",
    2400             :   "CURRENT_CATALOG", "CURRENT_DATE", "CURRENT_ROLE", "CURRENT_SCHEMA",
    2401             :   "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_USER", "CURSOR", "CYCLE",
    2402             :   "DATA_P", "DATABASE", "DAY_P", "DEALLOCATE", "DEC", "DECIMAL_P",
    2403             :   "DECLARE", "DEFAULT", "DEFAULTS", "DEFERRABLE", "DEFERRED", "DEFINER",
    2404             :   "DELETE_P", "DELIMITER", "DELIMITERS", "DEPENDS", "DEPTH", "DESC",
    2405             :   "DETACH", "DICTIONARY", "DISABLE_P", "DISCARD", "DISTINCT", "DO",
    2406             :   "DOCUMENT_P", "DOMAIN_P", "DOUBLE_P", "DROP", "EACH", "ELSE", "EMPTY_P",
    2407             :   "ENABLE_P", "ENCODING", "ENCRYPTED", "END_P", "ENFORCED", "ENUM_P",
    2408             :   "ERROR_P", "ESCAPE", "EVENT", "EXCEPT", "EXCLUDE", "EXCLUDING",
    2409             :   "EXCLUSIVE", "EXECUTE", "EXISTS", "EXPLAIN", "EXPRESSION", "EXTENSION",
    2410             :   "EXTERNAL", "EXTRACT", "FALSE_P", "FAMILY", "FETCH", "FILTER",
    2411             :   "FINALIZE", "FIRST_P", "FLOAT_P", "FOLLOWING", "FOR", "FORCE", "FOREIGN",
    2412             :   "FORMAT", "FORWARD", "FREEZE", "FROM", "FULL", "FUNCTION", "FUNCTIONS",
    2413             :   "GENERATED", "GLOBAL", "GRANT", "GRANTED", "GREATEST", "GROUP_P",
    2414             :   "GROUPING", "GROUPS", "HANDLER", "HAVING", "HEADER_P", "HOLD", "HOUR_P",
    2415             :   "IDENTITY_P", "IF_P", "ILIKE", "IMMEDIATE", "IMMUTABLE", "IMPLICIT_P",
    2416             :   "IMPORT_P", "IN_P", "INCLUDE", "INCLUDING", "INCREMENT", "INDENT",
    2417             :   "INDEX", "INDEXES", "INHERIT", "INHERITS", "INITIALLY", "INLINE_P",
    2418             :   "INNER_P", "INOUT", "INPUT_P", "INSENSITIVE", "INSERT", "INSTEAD",
    2419             :   "INT_P", "INTEGER", "INTERSECT", "INTERVAL", "INTO", "INVOKER", "IS",
    2420             :   "ISNULL", "ISOLATION", "JOIN", "JSON", "JSON_ARRAY", "JSON_ARRAYAGG",
    2421             :   "JSON_EXISTS", "JSON_OBJECT", "JSON_OBJECTAGG", "JSON_QUERY",
    2422             :   "JSON_SCALAR", "JSON_SERIALIZE", "JSON_TABLE", "JSON_VALUE", "KEEP",
    2423             :   "KEY", "KEYS", "LABEL", "LANGUAGE", "LARGE_P", "LAST_P", "LATERAL_P",
    2424             :   "LEADING", "LEAKPROOF", "LEAST", "LEFT", "LEVEL", "LIKE", "LIMIT",
    2425             :   "LISTEN", "LOAD", "LOCAL", "LOCALTIME", "LOCALTIMESTAMP", "LOCATION",
    2426             :   "LOCK_P", "LOCKED", "LOGGED", "MAPPING", "MATCH", "MATCHED",
    2427             :   "MATERIALIZED", "MAXVALUE", "MERGE", "MERGE_ACTION", "METHOD",
    2428             :   "MINUTE_P", "MINVALUE", "MODE", "MONTH_P", "MOVE", "NAME_P", "NAMES",
    2429             :   "NATIONAL", "NATURAL", "NCHAR", "NESTED", "NEW", "NEXT", "NFC", "NFD",
    2430             :   "NFKC", "NFKD", "NO", "NONE", "NORMALIZE", "NORMALIZED", "NOT",
    2431             :   "NOTHING", "NOTIFY", "NOTNULL", "NOWAIT", "NULL_P", "NULLIF", "NULLS_P",
    2432             :   "NUMERIC", "OBJECT_P", "OBJECTS_P", "OF", "OFF", "OFFSET", "OIDS", "OLD",
    2433             :   "OMIT", "ON", "ONLY", "OPERATOR", "OPTION", "OPTIONS", "OR", "ORDER",
    2434             :   "ORDINALITY", "OTHERS", "OUT_P", "OUTER_P", "OVER", "OVERLAPS",
    2435             :   "OVERLAY", "OVERRIDING", "OWNED", "OWNER", "PARALLEL", "PARAMETER",
    2436             :   "PARSER", "PARTIAL", "PARTITION", "PASSING", "PASSWORD", "PATH",
    2437             :   "PERIOD", "PLACING", "PLAN", "PLANS", "POLICY", "POSITION", "PRECEDING",
    2438             :   "PRECISION", "PRESERVE", "PREPARE", "PREPARED", "PRIMARY", "PRIOR",
    2439             :   "PRIVILEGES", "PROCEDURAL", "PROCEDURE", "PROCEDURES", "PROGRAM",
    2440             :   "PUBLICATION", "QUOTE", "QUOTES", "RANGE", "READ", "REAL", "REASSIGN",
    2441             :   "RECURSIVE", "REF_P", "REFERENCES", "REFERENCING", "REFRESH", "REINDEX",
    2442             :   "RELATIVE_P", "RELEASE", "RENAME", "REPEATABLE", "REPLACE", "REPLICA",
    2443             :   "RESET", "RESTART", "RESTRICT", "RETURN", "RETURNING", "RETURNS",
    2444             :   "REVOKE", "RIGHT", "ROLE", "ROLLBACK", "ROLLUP", "ROUTINE", "ROUTINES",
    2445             :   "ROW", "ROWS", "RULE", "SAVEPOINT", "SCALAR", "SCHEMA", "SCHEMAS",
    2446             :   "SCROLL", "SEARCH", "SECOND_P", "SECURITY", "SELECT", "SEQUENCE",
    2447             :   "SEQUENCES", "SERIALIZABLE", "SERVER", "SESSION", "SESSION_USER", "SET",
    2448             :   "SETS", "SETOF", "SHARE", "SHOW", "SIMILAR", "SIMPLE", "SKIP",
    2449             :   "SMALLINT", "SNAPSHOT", "SOME", "SOURCE", "SQL_P", "STABLE",
    2450             :   "STANDALONE_P", "START", "STATEMENT", "STATISTICS", "STDIN", "STDOUT",
    2451             :   "STORAGE", "STORED", "STRICT_P", "STRING_P", "STRIP_P", "SUBSCRIPTION",
    2452             :   "SUBSTRING", "SUPPORT", "SYMMETRIC", "SYSID", "SYSTEM_P", "SYSTEM_USER",
    2453             :   "TABLE", "TABLES", "TABLESAMPLE", "TABLESPACE", "TARGET", "TEMP",
    2454             :   "TEMPLATE", "TEMPORARY", "TEXT_P", "THEN", "TIES", "TIME", "TIMESTAMP",
    2455             :   "TO", "TRAILING", "TRANSACTION", "TRANSFORM", "TREAT", "TRIGGER", "TRIM",
    2456             :   "TRUE_P", "TRUNCATE", "TRUSTED", "TYPE_P", "TYPES_P", "UESCAPE",
    2457             :   "UNBOUNDED", "UNCONDITIONAL", "UNCOMMITTED", "UNENCRYPTED", "UNION",
    2458             :   "UNIQUE", "UNKNOWN", "UNLISTEN", "UNLOGGED", "UNTIL", "UPDATE", "USER",
    2459             :   "USING", "VACUUM", "VALID", "VALIDATE", "VALIDATOR", "VALUE_P", "VALUES",
    2460             :   "VARCHAR", "VARIADIC", "VARYING", "VERBOSE", "VERSION_P", "VIEW",
    2461             :   "VIEWS", "VIRTUAL", "VOLATILE", "WHEN", "WHERE", "WHITESPACE_P",
    2462             :   "WINDOW", "WITH", "WITHIN", "WITHOUT", "WORK", "WRAPPER", "WRITE",
    2463             :   "XML_P", "XMLATTRIBUTES", "XMLCONCAT", "XMLELEMENT", "XMLEXISTS",
    2464             :   "XMLFOREST", "XMLNAMESPACES", "XMLPARSE", "XMLPI", "XMLROOT",
    2465             :   "XMLSERIALIZE", "XMLTABLE", "YEAR_P", "YES_P", "ZONE", "FORMAT_LA",
    2466             :   "NOT_LA", "NULLS_LA", "WITH_LA", "WITHOUT_LA", "MODE_TYPE_NAME",
    2467             :   "MODE_PLPGSQL_EXPR", "MODE_PLPGSQL_ASSIGN1", "MODE_PLPGSQL_ASSIGN2",
    2468             :   "MODE_PLPGSQL_ASSIGN3", "'<'", "'>'", "'='", "'+'", "'-'", "'*'", "'/'",
    2469             :   "'%'", "'^'", "UMINUS", "'['", "']'", "'('", "')'", "'.'", "';'", "','",
    2470             :   "':'", "$accept", "parse_toplevel", "stmtmulti", "toplevel_stmt", "stmt",
    2471             :   "opt_single_name", "opt_qualified_name", "opt_concurrently",
    2472             :   "opt_drop_behavior", "CallStmt", "CreateRoleStmt", "opt_with",
    2473             :   "OptRoleList", "AlterOptRoleList", "AlterOptRoleElem",
    2474             :   "CreateOptRoleElem", "CreateUserStmt", "AlterRoleStmt",
    2475             :   "opt_in_database", "AlterRoleSetStmt", "DropRoleStmt", "CreateGroupStmt",
    2476             :   "AlterGroupStmt", "add_drop", "CreateSchemaStmt", "OptSchemaEltList",
    2477             :   "schema_stmt", "VariableSetStmt", "set_rest", "generic_set",
    2478             :   "set_rest_more", "var_name", "var_list", "var_value", "iso_level",
    2479             :   "opt_boolean_or_string", "zone_value", "opt_encoding",
    2480             :   "NonReservedWord_or_Sconst", "VariableResetStmt", "reset_rest",
    2481             :   "generic_reset", "SetResetClause", "FunctionSetResetClause",
    2482             :   "VariableShowStmt", "ConstraintsSetStmt", "constraints_set_list",
    2483             :   "constraints_set_mode", "CheckPointStmt", "DiscardStmt",
    2484             :   "AlterTableStmt", "alter_table_cmds", "partition_cmd",
    2485             :   "index_partition_cmd", "alter_table_cmd", "alter_column_default",
    2486             :   "opt_collate_clause", "alter_using", "replica_identity", "reloptions",
    2487             :   "opt_reloptions", "reloption_list", "reloption_elem",
    2488             :   "alter_identity_column_option_list", "alter_identity_column_option",
    2489             :   "set_statistics_value", "set_access_method_name", "PartitionBoundSpec",
    2490             :   "hash_partbound_elem", "hash_partbound", "AlterCompositeTypeStmt",
    2491             :   "alter_type_cmds", "alter_type_cmd", "ClosePortalStmt", "CopyStmt",
    2492             :   "copy_from", "opt_program", "copy_file_name", "copy_options",
    2493             :   "copy_opt_list", "copy_opt_item", "opt_binary", "copy_delimiter",
    2494             :   "opt_using", "copy_generic_opt_list", "copy_generic_opt_elem",
    2495             :   "copy_generic_opt_arg", "copy_generic_opt_arg_list",
    2496             :   "copy_generic_opt_arg_list_item", "CreateStmt", "OptTemp",
    2497             :   "OptTableElementList", "OptTypedTableElementList", "TableElementList",
    2498             :   "TypedTableElementList", "TableElement", "TypedTableElement",
    2499             :   "columnDef", "columnOptions", "column_compression",
    2500             :   "opt_column_compression", "column_storage", "opt_column_storage",
    2501             :   "ColQualList", "ColConstraint", "ColConstraintElem",
    2502             :   "opt_unique_null_treatment", "generated_when", "opt_virtual_or_stored",
    2503             :   "ConstraintAttr", "TableLikeClause", "TableLikeOptionList",
    2504             :   "TableLikeOption", "TableConstraint", "ConstraintElem",
    2505             :   "DomainConstraint", "DomainConstraintElem", "opt_no_inherit",
    2506             :   "opt_without_overlaps", "opt_column_list", "columnList",
    2507             :   "optionalPeriodName", "opt_column_and_period_list", "columnElem",
    2508             :   "opt_c_include", "key_match", "ExclusionConstraintList",
    2509             :   "ExclusionConstraintElem", "OptWhereClause", "key_actions", "key_update",
    2510             :   "key_delete", "key_action", "OptInherit", "OptPartitionSpec",
    2511             :   "PartitionSpec", "part_params", "part_elem",
    2512             :   "table_access_method_clause", "OptWith", "OnCommitOption",
    2513             :   "OptTableSpace", "OptConsTableSpace", "ExistingIndex", "CreateStatsStmt",
    2514             :   "stats_params", "stats_param", "AlterStatsStmt", "CreateAsStmt",
    2515             :   "create_as_target", "opt_with_data", "CreateMatViewStmt",
    2516             :   "create_mv_target", "OptNoLog", "RefreshMatViewStmt", "CreateSeqStmt",
    2517             :   "AlterSeqStmt", "OptSeqOptList", "OptParenthesizedSeqOptList",
    2518             :   "SeqOptList", "SeqOptElem", "opt_by", "NumericOnly", "NumericOnly_list",
    2519             :   "CreatePLangStmt", "opt_trusted", "handler_name", "opt_inline_handler",
    2520             :   "validator_clause", "opt_validator", "opt_procedural",
    2521             :   "CreateTableSpaceStmt", "OptTableSpaceOwner", "DropTableSpaceStmt",
    2522             :   "CreateExtensionStmt", "create_extension_opt_list",
    2523             :   "create_extension_opt_item", "AlterExtensionStmt",
    2524             :   "alter_extension_opt_list", "alter_extension_opt_item",
    2525             :   "AlterExtensionContentsStmt", "CreateFdwStmt", "fdw_option",
    2526             :   "fdw_options", "opt_fdw_options", "AlterFdwStmt",
    2527             :   "create_generic_options", "generic_option_list", "alter_generic_options",
    2528             :   "alter_generic_option_list", "alter_generic_option_elem",
    2529             :   "generic_option_elem", "generic_option_name", "generic_option_arg",
    2530             :   "CreateForeignServerStmt", "opt_type", "foreign_server_version",
    2531             :   "opt_foreign_server_version", "AlterForeignServerStmt",
    2532             :   "CreateForeignTableStmt", "ImportForeignSchemaStmt",
    2533             :   "import_qualification_type", "import_qualification",
    2534             :   "CreateUserMappingStmt", "auth_ident", "DropUserMappingStmt",
    2535             :   "AlterUserMappingStmt", "CreatePolicyStmt", "AlterPolicyStmt",
    2536             :   "RowSecurityOptionalExpr", "RowSecurityOptionalWithCheck",
    2537             :   "RowSecurityDefaultToRole", "RowSecurityOptionalToRole",
    2538             :   "RowSecurityDefaultPermissive", "RowSecurityDefaultForCmd",
    2539             :   "row_security_cmd", "CreateAmStmt", "am_type", "CreateTrigStmt",
    2540             :   "TriggerActionTime", "TriggerEvents", "TriggerOneEvent",
    2541             :   "TriggerReferencing", "TriggerTransitions", "TriggerTransition",
    2542             :   "TransitionOldOrNew", "TransitionRowOrTable", "TransitionRelName",
    2543             :   "TriggerForSpec", "TriggerForOptEach", "TriggerForType", "TriggerWhen",
    2544             :   "FUNCTION_or_PROCEDURE", "TriggerFuncArgs", "TriggerFuncArg",
    2545             :   "OptConstrFromTable", "ConstraintAttributeSpec",
    2546             :   "ConstraintAttributeElem", "CreateEventTrigStmt",
    2547             :   "event_trigger_when_list", "event_trigger_when_item",
    2548             :   "event_trigger_value_list", "AlterEventTrigStmt", "enable_trigger",
    2549             :   "CreateAssertionStmt", "DefineStmt", "definition", "def_list",
    2550             :   "def_elem", "def_arg", "old_aggr_definition", "old_aggr_list",
    2551             :   "old_aggr_elem", "opt_enum_val_list", "enum_val_list", "AlterEnumStmt",
    2552             :   "opt_if_not_exists", "CreateOpClassStmt", "opclass_item_list",
    2553             :   "opclass_item", "opt_default", "opt_opfamily", "opclass_purpose",
    2554             :   "CreateOpFamilyStmt", "AlterOpFamilyStmt", "opclass_drop_list",
    2555             :   "opclass_drop", "DropOpClassStmt", "DropOpFamilyStmt", "DropOwnedStmt",
    2556             :   "ReassignOwnedStmt", "DropStmt", "object_type_any_name",
    2557             :   "object_type_name", "drop_type_name", "object_type_name_on_any_name",
    2558             :   "any_name_list", "any_name", "attrs", "type_name_list", "TruncateStmt",
    2559             :   "opt_restart_seqs", "CommentStmt", "comment_text", "SecLabelStmt",
    2560             :   "opt_provider", "security_label", "FetchStmt", "fetch_args", "from_in",
    2561             :   "opt_from_in", "GrantStmt", "RevokeStmt", "privileges", "privilege_list",
    2562             :   "privilege", "parameter_name_list", "parameter_name", "privilege_target",
    2563             :   "grantee_list", "grantee", "opt_grant_grant_option", "GrantRoleStmt",
    2564             :   "RevokeRoleStmt", "grant_role_opt_list", "grant_role_opt",
    2565             :   "grant_role_opt_value", "opt_granted_by", "AlterDefaultPrivilegesStmt",
    2566             :   "DefACLOptionList", "DefACLOption", "DefACLAction",
    2567             :   "defacl_privilege_target", "IndexStmt", "opt_unique",
    2568             :   "access_method_clause", "index_params", "index_elem_options",
    2569             :   "index_elem", "opt_include", "index_including_params", "opt_collate",
    2570             :   "opt_asc_desc", "opt_nulls_order", "CreateFunctionStmt",
    2571             :   "opt_or_replace", "func_args", "func_args_list",
    2572             :   "function_with_argtypes_list", "function_with_argtypes",
    2573             :   "func_args_with_defaults", "func_args_with_defaults_list", "func_arg",
    2574             :   "arg_class", "param_name", "func_return", "func_type",
    2575             :   "func_arg_with_default", "aggr_arg", "aggr_args", "aggr_args_list",
    2576             :   "aggregate_with_argtypes", "aggregate_with_argtypes_list",
    2577             :   "opt_createfunc_opt_list", "createfunc_opt_list", "common_func_opt_item",
    2578             :   "createfunc_opt_item", "func_as", "ReturnStmt", "opt_routine_body",
    2579             :   "routine_body_stmt_list", "routine_body_stmt", "transform_type_list",
    2580             :   "opt_definition", "table_func_column", "table_func_column_list",
    2581             :   "AlterFunctionStmt", "alterfunc_opt_list", "opt_restrict",
    2582             :   "RemoveFuncStmt", "RemoveAggrStmt", "RemoveOperStmt", "oper_argtypes",
    2583             :   "any_operator", "operator_with_argtypes_list", "operator_with_argtypes",
    2584             :   "DoStmt", "dostmt_opt_list", "dostmt_opt_item", "CreateCastStmt",
    2585             :   "cast_context", "DropCastStmt", "opt_if_exists", "CreateTransformStmt",
    2586             :   "transform_element_list", "DropTransformStmt", "ReindexStmt",
    2587             :   "reindex_target_relation", "reindex_target_all",
    2588             :   "opt_reindex_option_list", "AlterTblSpcStmt", "RenameStmt", "opt_column",
    2589             :   "opt_set_data", "AlterObjectDependsStmt", "opt_no",
    2590             :   "AlterObjectSchemaStmt", "AlterOperatorStmt", "operator_def_list",
    2591             :   "operator_def_elem", "operator_def_arg", "AlterTypeStmt",
    2592             :   "AlterOwnerStmt", "CreatePublicationStmt", "PublicationObjSpec",
    2593             :   "pub_obj_list", "AlterPublicationStmt", "CreateSubscriptionStmt",
    2594             :   "AlterSubscriptionStmt", "DropSubscriptionStmt", "RuleStmt",
    2595             :   "RuleActionList", "RuleActionMulti", "RuleActionStmt",
    2596             :   "RuleActionStmtOrEmpty", "event", "opt_instead", "NotifyStmt",
    2597             :   "notify_payload", "ListenStmt", "UnlistenStmt", "TransactionStmt",
    2598             :   "TransactionStmtLegacy", "opt_transaction", "transaction_mode_item",
    2599             :   "transaction_mode_list", "transaction_mode_list_or_empty",
    2600             :   "opt_transaction_chain", "ViewStmt", "opt_check_option", "LoadStmt",
    2601             :   "CreatedbStmt", "createdb_opt_list", "createdb_opt_items",
    2602             :   "createdb_opt_item", "createdb_opt_name", "opt_equal",
    2603             :   "AlterDatabaseStmt", "AlterDatabaseSetStmt", "DropdbStmt",
    2604             :   "drop_option_list", "drop_option", "AlterCollationStmt",
    2605             :   "AlterSystemStmt", "CreateDomainStmt", "AlterDomainStmt", "opt_as",
    2606             :   "AlterTSDictionaryStmt", "AlterTSConfigurationStmt", "any_with",
    2607             :   "CreateConversionStmt", "ClusterStmt", "cluster_index_specification",
    2608             :   "VacuumStmt", "AnalyzeStmt", "utility_option_list", "analyze_keyword",
    2609             :   "utility_option_elem", "utility_option_name", "utility_option_arg",
    2610             :   "opt_analyze", "opt_verbose", "opt_full", "opt_freeze", "opt_name_list",
    2611             :   "vacuum_relation", "vacuum_relation_list", "opt_vacuum_relation_list",
    2612             :   "ExplainStmt", "ExplainableStmt", "PrepareStmt", "prep_type_clause",
    2613             :   "PreparableStmt", "ExecuteStmt", "execute_param_clause",
    2614             :   "DeallocateStmt", "InsertStmt", "insert_target", "insert_rest",
    2615             :   "override_kind", "insert_column_list", "insert_column_item",
    2616             :   "opt_on_conflict", "opt_conf_expr", "returning_clause",
    2617             :   "returning_with_clause", "returning_options", "returning_option",
    2618             :   "returning_option_kind", "DeleteStmt", "using_clause", "LockStmt",
    2619             :   "opt_lock", "lock_type", "opt_nowait", "opt_nowait_or_skip",
    2620             :   "UpdateStmt", "set_clause_list", "set_clause", "set_target",
    2621             :   "set_target_list", "MergeStmt", "merge_when_list", "merge_when_clause",
    2622             :   "merge_when_tgt_matched", "merge_when_tgt_not_matched",
    2623             :   "opt_merge_when_condition", "merge_update", "merge_delete",
    2624             :   "merge_insert", "merge_values_clause", "DeclareCursorStmt",
    2625             :   "cursor_name", "cursor_options", "opt_hold", "SelectStmt",
    2626             :   "select_with_parens", "select_no_parens", "select_clause",
    2627             :   "simple_select", "with_clause", "cte_list", "common_table_expr",
    2628             :   "opt_materialized", "opt_search_clause", "opt_cycle_clause",
    2629             :   "opt_with_clause", "into_clause", "OptTempTableName", "opt_table",
    2630             :   "set_quantifier", "distinct_clause", "opt_all_clause",
    2631             :   "opt_distinct_clause", "opt_sort_clause", "sort_clause", "sortby_list",
    2632             :   "sortby", "select_limit", "opt_select_limit", "limit_clause",
    2633             :   "offset_clause", "select_limit_value", "select_offset_value",
    2634             :   "select_fetch_first_value", "I_or_F_const", "row_or_rows",
    2635             :   "first_or_next", "group_clause", "group_by_list", "group_by_item",
    2636             :   "empty_grouping_set", "rollup_clause", "cube_clause",
    2637             :   "grouping_sets_clause", "having_clause", "for_locking_clause",
    2638             :   "opt_for_locking_clause", "for_locking_items", "for_locking_item",
    2639             :   "for_locking_strength", "locked_rels_list", "values_clause",
    2640             :   "from_clause", "from_list", "table_ref", "joined_table", "alias_clause",
    2641             :   "opt_alias_clause", "opt_alias_clause_for_join_using",
    2642             :   "func_alias_clause", "join_type", "opt_outer", "join_qual",
    2643             :   "relation_expr", "extended_relation_expr", "relation_expr_list",
    2644             :   "relation_expr_opt_alias", "tablesample_clause", "opt_repeatable_clause",
    2645             :   "func_table", "rowsfrom_item", "rowsfrom_list", "opt_col_def_list",
    2646             :   "opt_ordinality", "where_clause", "where_or_current_clause",
    2647             :   "OptTableFuncElementList", "TableFuncElementList", "TableFuncElement",
    2648             :   "xmltable", "xmltable_column_list", "xmltable_column_el",
    2649             :   "xmltable_column_option_list", "xmltable_column_option_el",
    2650             :   "xml_namespace_list", "xml_namespace_el", "json_table",
    2651             :   "json_table_path_name_opt", "json_table_column_definition_list",
    2652             :   "json_table_column_definition", "path_opt",
    2653             :   "json_table_column_path_clause_opt", "Typename", "opt_array_bounds",
    2654             :   "SimpleTypename", "ConstTypename", "GenericType", "opt_type_modifiers",
    2655             :   "Numeric", "opt_float", "Bit", "ConstBit", "BitWithLength",
    2656             :   "BitWithoutLength", "Character", "ConstCharacter", "CharacterWithLength",
    2657             :   "CharacterWithoutLength", "character", "opt_varying", "ConstDatetime",
    2658             :   "ConstInterval", "opt_timezone", "opt_interval", "interval_second",
    2659             :   "JsonType", "a_expr", "b_expr", "c_expr", "func_application",
    2660             :   "func_expr", "func_expr_windowless", "func_expr_common_subexpr",
    2661             :   "xml_root_version", "opt_xml_root_standalone", "xml_attributes",
    2662             :   "xml_attribute_list", "xml_attribute_el", "document_or_content",
    2663             :   "xml_indent_option", "xml_whitespace_option", "xmlexists_argument",
    2664             :   "xml_passing_mech", "within_group_clause", "filter_clause",
    2665             :   "window_clause", "window_definition_list", "window_definition",
    2666             :   "over_clause", "window_specification", "opt_existing_window_name",
    2667             :   "opt_partition_clause", "opt_frame_clause", "frame_extent",
    2668             :   "frame_bound", "opt_window_exclusion_clause", "row", "explicit_row",
    2669             :   "implicit_row", "sub_type", "all_Op", "MathOp", "qual_Op", "qual_all_Op",
    2670             :   "subquery_Op", "expr_list", "func_arg_list", "func_arg_expr",
    2671             :   "func_arg_list_opt", "type_list", "array_expr", "array_expr_list",
    2672             :   "extract_list", "extract_arg", "unicode_normal_form", "overlay_list",
    2673             :   "position_list", "substr_list", "trim_list", "in_expr", "case_expr",
    2674             :   "when_clause_list", "when_clause", "case_default", "case_arg",
    2675             :   "columnref", "indirection_el", "opt_slice_bound", "indirection",
    2676             :   "opt_indirection", "opt_asymmetric", "json_passing_clause_opt",
    2677             :   "json_arguments", "json_argument", "json_wrapper_behavior",
    2678             :   "json_behavior", "json_behavior_type", "json_behavior_clause_opt",
    2679             :   "json_on_error_clause_opt", "json_value_expr", "json_format_clause",
    2680             :   "json_format_clause_opt", "json_quotes_clause_opt",
    2681             :   "json_returning_clause_opt", "json_predicate_type_constraint",
    2682             :   "json_key_uniqueness_constraint_opt", "json_name_and_value_list",
    2683             :   "json_name_and_value", "json_object_constructor_null_clause_opt",
    2684             :   "json_array_constructor_null_clause_opt", "json_value_expr_list",
    2685             :   "json_aggregate_func", "json_array_aggregate_order_by_clause_opt",
    2686             :   "opt_target_list", "target_list", "target_el", "qualified_name_list",
    2687             :   "qualified_name", "name_list", "name", "attr_name", "file_name",
    2688             :   "func_name", "AexprConst", "Iconst", "Sconst", "SignedIconst", "RoleId",
    2689             :   "RoleSpec", "role_list", "PLpgSQL_Expr", "PLAssignStmt",
    2690             :   "plassign_target", "plassign_equals", "ColId", "type_function_name",
    2691             :   "NonReservedWord", "ColLabel", "BareColLabel", "unreserved_keyword",
    2692             :   "col_name_keyword", "type_func_name_keyword", "reserved_keyword",
    2693             :   "bare_label_keyword", YY_NULLPTR
    2694             : };
    2695             : 
    2696             : static const char *
    2697             : yysymbol_name (yysymbol_kind_t yysymbol)
    2698             : {
    2699             :   return yytname[yysymbol];
    2700             : }
    2701             : #endif
    2702             : 
    2703             : #ifdef YYPRINT
    2704             : /* YYTOKNUM[NUM] -- (External) token number corresponding to the
    2705             :    (internal) symbol number NUM (which must be that of a token).  */
    2706             : static const yytype_int16 yytoknum[] =
    2707             : {
    2708             :        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
    2709             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
    2710             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
    2711             :      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
    2712             :      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
    2713             :      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
    2714             :      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
    2715             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
    2716             :      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
    2717             :      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
    2718             :      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
    2719             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
    2720             :      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
    2721             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
    2722             :      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
    2723             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
    2724             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
    2725             :      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
    2726             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
    2727             :      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
    2728             :      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
    2729             :      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
    2730             :      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
    2731             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
    2732             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
    2733             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
    2734             :      515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
    2735             :      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
    2736             :      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
    2737             :      545,   546,   547,   548,   549,   550,   551,   552,   553,   554,
    2738             :      555,   556,   557,   558,   559,   560,   561,   562,   563,   564,
    2739             :      565,   566,   567,   568,   569,   570,   571,   572,   573,   574,
    2740             :      575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
    2741             :      585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
    2742             :      595,   596,   597,   598,   599,   600,   601,   602,   603,   604,
    2743             :      605,   606,   607,   608,   609,   610,   611,   612,   613,   614,
    2744             :      615,   616,   617,   618,   619,   620,   621,   622,   623,   624,
    2745             :      625,   626,   627,   628,   629,   630,   631,   632,   633,   634,
    2746             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
    2747             :      645,   646,   647,   648,   649,   650,   651,   652,   653,   654,
    2748             :      655,   656,   657,   658,   659,   660,   661,   662,   663,   664,
    2749             :      665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
    2750             :      675,   676,   677,   678,   679,   680,   681,   682,   683,   684,
    2751             :      685,   686,   687,   688,   689,   690,   691,   692,   693,   694,
    2752             :      695,   696,   697,   698,   699,   700,   701,   702,   703,   704,
    2753             :      705,   706,   707,   708,   709,   710,   711,   712,   713,   714,
    2754             :      715,   716,   717,   718,   719,   720,   721,   722,   723,   724,
    2755             :      725,   726,   727,   728,   729,   730,   731,   732,   733,   734,
    2756             :      735,   736,   737,   738,   739,   740,   741,   742,   743,   744,
    2757             :      745,   746,   747,   748,   749,   750,   751,   752,   753,   754,
    2758             :      755,   756,   757,   758,   759,   760,   761,   762,   763,   764,
    2759             :      765,   766,   767,   768,   769,   770,   771,   772,   773,   774,
    2760             :      775,   776,   777,   778,    60,    62,    61,    43,    45,    42,
    2761             :       47,    37,    94,   779,    91,    93,    40,    41,    46,    59,
    2762             :       44,    58
    2763             : };
    2764             : #endif
    2765             : 
    2766             : #define YYPACT_NINF (-5950)
    2767             : 
    2768             : #define yypact_value_is_default(Yyn) \
    2769             :   ((Yyn) == YYPACT_NINF)
    2770             : 
    2771             : #define YYTABLE_NINF (-3012)
    2772             : 
    2773             : #define yytable_value_is_error(Yyn) \
    2774             :   ((Yyn) == YYTABLE_NINF)
    2775             : 
    2776             :   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    2777             :      STATE-NUM.  */
    2778             : static const int yypact[] =
    2779             : {
    2780             :    18907,    57, 22319, -5950, -5950,    57, 71864, -5950, 81573,  1501,
    2781             :      903,   105,   239, 21650, 82084, 92815,   591,   402,  9883,    57,
    2782             :    92815,  1074, 62154, 77485,  1029, 92815,  1518,  1161, 62154, 92815,
    2783             :    93326,  1410,  1637,  1377, 93837, 82595, 76463,   113, 92815,  1692,
    2784             :      463, 94348, 83106,  1625, 83617,  1161, 57055,   213,  1567, 94859,
    2785             :    92815,119814,   463, 84128, 84128, 84128,  2431,  2279,  1783, -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, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2789             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2790             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2791             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2792             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2793             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2794             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2795             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2796             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2797             :    -5950, -5950, -5950, -5950, -5950,  1537, -5950, -5950, -5950, -5950,
    2798             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950,  2925, -5950,   212,
    2799             :     3240,  1417,  1229,  1710, -5950, -5950,  2426, 71864, 92815, 92815,
    2800             :    92815,  2196, 92815,  2105, 92815,   964, 71864, 68287, 84639,  2265,
    2801             :     2110, 52851, 95370, -5950, 71864, 92815, 65732, 71864, 92815, 92815,
    2802             :    95881, 92815, 96392, 92815,   139, 80040, 92815,  2251, 92815, 92815,
    2803             :    66243, 96903,  2357,  1649,   273, -5950, -5950, -5950, -5950, -5950,
    2804             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2805             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2806             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2807             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2808             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2809             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2810             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2811             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2812             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2813             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2814             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2815             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2816             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2817             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2818             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2819             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2820             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2821             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2822             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2823             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2824             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2825             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2826             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2827             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2828             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2829             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2830             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2831             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2832             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2833             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2834             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2835             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2836             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2837             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2838             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2839             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2840             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2841             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2842             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2843             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2844             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2845             :    -5950, -5950,  2119,  2066, -5950,   285, -5950, -5950, -5950, -5950,
    2846             :    -5950, -5950, -5950, -5950, -5950, 62665, 92815, 13260,  1518,  2426,
    2847             :    -5950,  2431, 92815,  2390, 92815,  2136, 97414, 92815, -5950, 92815,
    2848             :     2178, 97925,   976,    84, 68287,  1824, 53381,  2308, 92815, 92815,
    2849             :    68287, 98436, 98947, 99458, 92815, 92815, -5950, -5950,  2294, 92815,
    2850             :    -5950,  2415, 68798,  1855,  2437,  2627,  2511,  1493, -5950, 85150,
    2851             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, 71353,   402,
    2852             :    -5950, -5950,  2473, 72375,  2568, -5950, -5950, 99969,120311,  2323,
    2853             :    -5950,   999, 72886, 69309,  2707,  2372, 53911,  2754, -5950, 73397,
    2854             :    -5950, 69820, 73908, -5950, -5950, -5950, -5950, -5950,100480, -5950,
    2855             :   100991,  2455,  2568, -5950,120808, 70331, -5950,  2636,101502,102013,
    2856             :   102524,  2426,  2353,  1557,  2441, 47122, -5950, -5950, -5950,  2366,
    2857             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,   457,
    2858             :     1802,   319,   264,   332, -5950, -5950,   274,   277,   283,   457,
    2859             :     2873,  2873, -5950, 92815, -5950, -5950,  1802,   106,  2474,  2397,
    2860             :     2397,  2397,  2598,    22, -5950,  2397,  2503, -5950, -5950, -5950,
    2861             :    -5950, 83617, -5950,  2387,  1518,  2401,  2883,  2465, 62665,  1189,
    2862             :    92815, -5950, -5950,  2930,  2476,  2766,  2452, -5950, -5950, -5950,
    2863             :     2709,  2711,   166,   782,  1518,   302, -5950,  2864, -5950,  2731,
    2864             :    31907, 31907,  1518, 85661,103035,   340, 71353,  1518, 86172,  2534,
    2865             :      276,  2735, -5950, -5950, -5950,   184, -5950,  3007,  2548,  2847,
    2866             :     2452,  1649, 49190, -5950, -5950,  2566,  2066, 83617, -5950, -5950,
    2867             :    -5950, 62665,  2898, 35081, 92815,  2560, -5950,  2580,  2560, -5950,
    2868             :    -5950,  2647, -5950,  2647,  2647,  2625,  2625,  2798,  2644, -5950,
    2869             :    -5950, -5950, -5950,  2061,  2647,  2625, -5950,121802, -5950,  2012,
    2870             :     2017, -5950, -5950,  3147, -5950, -5950, -5950, -5950, -5950, -5950,
    2871             :    -5950, -5950,  2649, -5950,  1392, -5950,  2044, -5950, -5950, -5950,
    2872             :    31907, -5950, -5950, -5950, -5950, -5950, -5950, -5950,  2661,  2681,
    2873             :     1417, -5950,  8270, 62665, 83617,  1729,  1729,  3165,  1729,  2070,
    2874             :     2082, -5950,  3333, -5950,  3050,  3010,  3014, 83617,  2752,   339,
    2875             :    -5950,  1927,  2758,  2090,  2700,  1942,  3306, -5950,   745, 92815,
    2876             :      295,  2765, 86683,  4056,  2759,  2066,  2776, -5950, -5950, -5950,
    2877             :    -5950,  2875,   449, -5950, -5950, -5950, -5950,  3045,  3113,  5946,
    2878             :      369, 87194, -5950, -5950, -5950, -5950, 92815, 92815, -5950, -5950,
    2879             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950,  2790,  1560, -5950,
    2880             :    -5950,  2799,  3124,  3032,  9757,  1077,  3148,  2981,  2085, 10312,
    2881             :     3044,  1859,  3200, 15841,  1643,  3204,  1970,  2541, 87705, 92815,
    2882             :     3174,  3230,  5628,  1963,   948,  3081,  1513,  3148,  3223,  3035,
    2883             :     2085,  3247,  2746, 92815, -5950,  3155,  3292,   832, -5950,   358,
    2884             :    -5950, 24556, 35081, 56544, -5950,  2066, -5950,  2072, -5950, -5950,
    2885             :    61643, -5950,  2936,  3106,   131, 71864,  2882, 92815, 92815, -5950,
    2886             :   119814, 71864, -5950,  3117, 54441, 71864, -5950, 71864, -5950, -5950,
    2887             :     3249,119814, 92815, 92815, -5950, 92815, -5950, -5950,  2885, -5950,
    2888             :    -5950, -5950, -5950, -5950,  2397, 92815,  3351,119814,  3131,   180,
    2889             :     1827,  3388, 92815,  3134,  1827,  2931,103546, -5950, -5950,  1827,
    2890             :    -5950, -5950, -5950, 92815, 92815,  2894,  2289,  3125,   928,  1827,
    2891             :     3141,  3389,  3391,  3149,  2983,  3151,  2580, -5950,  3357,  3120,
    2892             :      953,   247,  2205,  1827,  2965,104057,104568, 92815,  2977, 92815,
    2893             :     3376, 71864,  3012, 71864, 71864, 92815,  3296, 92815, -5950,  3122,
    2894             :    -5950, -5950,  1471, -5950, -5950, -5950, -5950, -5950,  3314, -5950,
    2895             :      240,  3315,  2942,  3321,  1946,  3324,   241, -5950, -5950,  2990,
    2896             :    -5950,  3335,   244, -5950,  3338, -5950,  2957,105079, -5950,105590,
    2897             :   106101,  3340,   290, -5950, 68287,  3343,   244,  3344,  2957,  3346,
    2898             :      244,  3348,  1007,  3350, -5950,  1028,  3337,  3352,   241,  3353,
    2899             :     2250,  2957, -5950,  3354,   309, -5950,  3358,   390, -5950,  3360,
    2900             :     3203, -5950, 35081, -5950,  3080, -5950,  1567,  2122,  2441,  1802,
    2901             :    -5950, 92815,  1802, 92815,  1802, 92815,  1802, 92815,  1802, 92815,
    2902             :    92815, 92815,  1802, -5950, -5950, -5950, 92815,  2984, 92815, -5950,
    2903             :    92815, -5950, -5950, -5950, 78507, 68287, 79018, -5950, 92815, -5950,
    2904             :      858,  1518, -5950, -5950,119814,  3484, 68287,  3376,  2123, -5950,
    2905             :    -5950,  3376, -5950, -5950,  3376,  3376, -5950, -5950, -5950,  3271,
    2906             :    92815,  3356, 78507, 68287,  3362, -5950,106612, -5950, 71353,  3216,
    2907             :     2999, -5950, -5950, -5950, -5950, -5950,  2086,  3531,   292,  3532,
    2908             :    35081,  3008,   292,   292,  3011,  3371, -5950, -5950, -5950,   300,
    2909             :     3015,  3017, -5950,   303,   303, -5950,  3019,  3024, -5950,   308,
    2910             :     3025,  3026,  3542,  3561,   321,   327,  3033,  3034,  3038,  3039,
    2911             :     3042,  3046,  3047,  3049,  3053,  3055,  3059,  3060,  3064,  2061,
    2912             :      292,  3065, 35081, -5950,  3067,   303,  3068,  3070,  3071,  3565,
    2913             :     3072, -5950,  3575,  3073, -5950,   272,   315,  3074,  3075, -5950,
    2914             :     3322, -5950,   328,  3085,  3087,  3090,  3091,  3093,  3094,  3095,
    2915             :     3097, 35081, 35081, 35081, -5950, 29257,  2066,  1518, -5950, -5950,
    2916             :    -5950, -5950, -5950, -5950, -5950, -5950,   334, -5950, 51261, -5950,
    2917             :     3140, -5950, -5950,  3323, -5950, -5950, 35081, -5950, -5950,  3470,
    2918             :      860, -5950,   346, -5950, -5950, -5950,  2066,  3421,  3108, -5950,
    2919             :    -5950,  1699,  3111, -5950,  1152, -5950, -5950, -5950, -5950, -5950,
    2920             :    -5950, 70842,  3612, -5950,   380,  1518,   358,  1484,  3549, 60110,
    2921             :    60621, -5950, -5950,  3402, -5950, 92815, -5950, -5950,  2066,   231,
    2922             :     2130, -5950,  2366, 21127,  2143,  2560, 92815, 92815,  3617, -5950,
    2923             :     3123, -5950, -5950, 35081, -5950, -5950, -5950,  2873, -5950,  2647,
    2924             :     2647, -5950, -5950,  3619,  3214,  3217,  2873, -5950,  2873, -5950,
    2925             :     3130,  3135,  2873,  3220,  3224,  3225, -5950,  3139,  3228,  2873,
    2926             :    -5950, -5950, 63688,  2112, -5950,  3499,   375, -5950, -5950, -5950,
    2927             :     2151, -5950,  3150, -5950,  2580, -5950, -5950,  1417,  1417, 35081,
    2928             :     1417,   965,  1313, 32436, 35610,  3508,  3379,   307,  1601,  3515,
    2929             :    -5950,  3384,  2070,  2082, 83617, 92815, 83617,107123,  3286, 35081,
    2930             :    -5950,  3624,  3246,  3248,  3307, 59099, -5950,  3250,  3215,  3253,
    2931             :     3312,  3168,  3255,  3259,  3318, -5950,  3458, -5950, -5950,  3265,
    2932             :     3635,  3267,107634, -5950, -5950,   985, -5950, -5950, -5950,   985,
    2933             :    -5950,  3195,  1334,  1441,  1390,  3275,   414,   255,  3632, -5950,
    2934             :     1401, -5950, -5950,  3339, -5950, 22178, 92815,  3567,  6817,  3417,
    2935             :      369,  3336, -5950, -5950, -5950,  3479,  3282, 92815,  3284,  3435,
    2936             :      369,   992,108145, -5950, -5950, 92815, -5950, -5950, -5950, -5950,
    2937             :     6180,  3606, 27732, -5950,  1951,  3288,  3263,  3299, 92815, 74930,
    2938             :      440,  3407,  3429,  1660,  2236,   291,  3361, 92815,  1912,  3437,
    2939             :    92815,  3206,  3295,  3297,  3553,  3213,  1166,  3658,  3211, -5950,
    2940             :    -5950, -5950,  3626, -5950,  1530,  1897,  3433, -5950,  3562,  3597,
    2941             :     7471,  3298,  3301,117826, -5950,  3320,   772, 54971, 92815, 92815,
    2942             :     3327,  3329,108656,  6180,  3641, 79529, 79529,  3332,  3341, 48673,
    2943             :     3656,   829,  3342, -5950, -5950, -5950,   829,  3345,  3349,109167,
    2944             :     6180,  3644, 92815,  3359,  3363, 92815,121802,   369, -5950,  3722,
    2945             :    -5950,   369,   369,  2260,  3723,  3364,   399,  3506,   636,  1827,
    2946             :    -5950,  3211,  2453, -5950,  3372,  3375,  1024, -5950,  3471, 92815,
    2947             :     3377,  3378,  1847,  3431,  1518, -5950,  3434, -5950,  3380,  3438,
    2948             :     3382,    86,  2894, -5950, -5950,  1311,  3365, 83617,  3455,  3463,
    2949             :     1912,   496,  1034,  3211, -5950,  3383,  3385,  3213,  3213, 92815,
    2950             :    92815, 92815, 92815, 92815,   281,  3749,   326,  3386,   298,  1069,
    2951             :     3260, -5950,   829, 66754,  3390, -5950,   829, 92815,   289,  1130,
    2952             :     3211,  1870,  2095, -5950, -5950, -5950,  1649, -5950, 35081, 35081,
    2953             :    35081,  3264, -5950,  2432, 21127,   112, -5950,   348, 17010,  3283,
    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, -5950, -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, -5950, -5950, -5950,
    2962             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, 92815, 62665, -5950,
    2963             :    -5950, -5950, -5950, -5950, -5950, -5950, 92815, -5950, 92815,  3579,
    2964             :   119814,  3580,  3496,  3583,  3602,   369, 92815, 92815,  3611,  3614,
    2965             :     3616,119814,  3618,  3622,  3623,  3534,  3394,   219,  3393,  3313,
    2966             :     3814,  3697, 92815, 63688, -5950,   985, -5950,119814,  3546,  3709,
    2967             :    -5950, 92815,  3576,    98, -5950,  3748,  3397, -5950, -5950,   111,
    2968             :    92815, 77996,  2894, -5950, -5950,  3713, 68287,  1737,  3714,  1518,
    2969             :     3392,  3717,  3569,  1518, 68287,  3620, 92815, 92815, 92815, 92815,
    2970             :      189, -5950, 66754,  3584, -5950, 92815,  3588,  2453,  3589,  3848,
    2971             :      921,  2397,109678,  3715, -5950,110189,  3367, 92815,  3368,  3368,
    2972             :     3851,119814,  1492,  3647, -5950, -5950,  2337, -5950,  3501, -5950,
    2973             :    71864, -5950, -5950, 71864, -5950, -5950,119814, 92815,  3370,119814,
    2974             :   119814, -5950, -5950, 71864, 71864, -5950, 68287, 68287,  3736,   309,
    2975             :     3737,  3424,  3740,  3439, 54971, 54971, -5950,   394, 71864, -5950,
    2976             :    68287, 71864, -5950, 92815, -5950, 92815, -5950, -5950, -5950, -5950,
    2977             :   119814,119814, -5950, 68287, 66754,  3750, 92815, 92815, -5950, 92815,
    2978             :    92815, -5950, 92815, 92815,  2157,110700,  2441, -5950, 92815, -5950,
    2979             :    92815, -5950, 92815, -5950, 92815, -5950, 92815, -5950, -5950, -5950,
    2980             :    92815, -5950, 92815,  2163, -5950, -5950,  2174,  1592, 92815, 92815,
    2981             :     1095, 71864, 92815,  3605, 92815, 71864, 71864, 92815, 92815, 92815,
    2982             :    92815, 92815,  3462,  3111,   893, -5950,   349,   977, 83617,  3621,
    2983             :    -5950, -5950,  2175,  2431,    50, 92815, -5950, 92815, 92815, 92815,
    2984             :    -5950, -5950, 77485,  3733,   446, 79018, 92815, -5950, -5950,  4223,
    2985             :    35081,  2066, 31373, -5950, -5950, 21127,  3426, 35081, 35081,  3381,
    2986             :     2873,  2873, -5950,  1003, 35081, 35081, 35081, 28728, 35081, 35081,
    2987             :    32965, 35081, 35081, 35081, 35081, 35081, 35081,  2873,  2873,  3387,
    2988             :    35081,  6186, 35081, 54971, 35081, 40900, 25626, 35081, 35081, 29786,
    2989             :      314,  3019, 35081,  3639, 41952, 35081,  1484,  3642, 35081,  1484,
    2990             :     6186,  3907,  3907,  2278,  8894,  3395,  2066, -5950,  2873,  1089,
    2991             :    -5950,   545,119814, 35081, 35081, 35081, -5950, -5950, -5950, -5950,
    2992             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2993             :    -5950, 35081, -5950, 63688, -5950, -5950, -5950, -5950, -5950, -5950,
    2994             :      183, -5950, -5950, -5950, -5950, -5950, -5950,  3226, -5950, -5950,
    2995             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2996             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2997             :    -5950, 92815, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2998             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2999             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3000             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3001             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3002             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3003             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3004             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3005             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3006             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3007             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, 30315,
    3008             :    -5950, -5950, -5950, -5950,  3400, -5950, -5950, -5950, -5950, -5950,
    3009             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3010             :    -5950, -5950, -5950, -5950, -5950,  2890, -5950, -5950, -5950, -5950,
    3011             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3012             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3013             :    -5950, -5950, -5950, 30844, -5950, -5950, -5950, -5950, -5950, -5950,
    3014             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3015             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3016             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3017             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3018             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950,  3401, -5950, -5950,
    3019             :    35081, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3020             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3021             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3022             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3023             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3024             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3025             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3026             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3027             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950,  3473, -5950, -5950,
    3028             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3029             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3030             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3031             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3032             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3033             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3034             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3035             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3036             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3037             :    -5950, -5950, -5950, -5950,   942, 35081, 35081, 35081, 35081, 35081,
    3038             :    35081, 35081, 35081, 35081, -5950, 35081,   548, -5950, -5950,  3735,
    3039             :     3470,   719,   627,  3403,  3604, 88216, 31907,  3499, 24556, -5950,
    3040             :      293,  3499, -5950, -5950, -5950, 92815,  3612, -5950, -5950,  3476,
    3041             :    -5950, -5950, -5950, -5950, -5950,   351, -5950, -5950, -5950, -5950,
    3042             :    -5950, -5950, -5950,  3406, -5950, -5950, -5950, -5950,  3406, -5950,
    3043             :     3405,  3728,  3732,  1007, 83617,  2517, 35081,   183,   282, 92815,
    3044             :    35081,  3400,  2890, 35081,  3401, 35081,  3473, -5950, 35081, -5950,
    3045             :     2208,   245, 35081,  2228,  3410, -5950, -5950,  3396,  3135,  3416,
    3046             :     3430,  3411,  3412,  2873,   262,  3414,  1434,   203,  3558,  2873,
    3047             :     3678,  3418, -5950, 63688, -5950, 44020,  3466, -5950, -5950, -5950,
    3048             :      463, 83617, 83617, -5950,  3741, -5950,  3427, -5950, 17325,  3741,
    3049             :    -5950, -5950, 41426,  3551,  3720,  3653, -5950, -5950, -5950,  3432,
    3050             :    21127, 36139, 36139, -5950,  2342, 21127,  2347, -5950, -5950, -5950,
    3051             :    -5950, -5950, -5950,  1629, -5950, 92815,   848,  3508,  1601,  3485,
    3052             :     1333,  3933,  3504, 92815, -5950, 49707,  2229, -5950, 68287, 92815,
    3053             :    92815,  3655, -5950,  3919, -5950,121802, -5950,  3442, -5950,121305,
    3054             :   116832, -5950, -5950,  1151, -5950,  1449, 68287, -5950, 92815, 92815,
    3055             :    68287, 92815, 92815, -5950, 68287,  3497, 92815, 92815, -5950, -5950,
    3056             :    -5950, -5950, -5950, 61132,  1099, 77485,  3590, 76974, -5950, -5950,
    3057             :     3451, 92815,  3691, -5950, -5950,111211, -5950,  3692, 68287, 92815,
    3058             :    92815, 35081,  3693, 92815, 92815, -5950,   411,  3545,  3547, -5950,
    3059             :    92815,  3550, 71864,  3461,119814, 71864, 55501, 71864, 71864,  3822,
    3060             :   119814, 92815, 92815,  1485, 83617,   514,  1165,  3211,  3702, -5950,
    3061             :     1483, -5950, 68287, -5950, 92815,  3694, -5950, -5950, -5950, 88727,
    3062             :     3953,  3591, -5950, -5950, -5950,111722, -5950, -5950,  3695, -5950,
    3063             :     2243, -5950, 68287, 68287, 92815,  7629,  3472,112233, 92815,  1102,
    3064             :     3761,  3716,  3712,  3766,  1142, -5950, -5950, -5950,119814, -5950,
    3065             :    92815, 89238, 92815, 92815,  3759, 92815, 80551,112744,113255,  1564,
    3066             :     1638,  3760, 92815, 81062,  3762, -5950,  3628, 92815, -5950, -5950,
    3067             :    64199, 68287, 92815,   221, 63688, -5950,  3744, -5950, 92815, -5950,
    3068             :      956, -5950, 92815,  8086,  3706, -5950, -5950,  3570,  3581, 92815,
    3069             :      520,  1236,  3211,  3889, 92815, 92815,  3482,  2245, 68287, 92815,
    3070             :    63688, -5950,  3718,   799, 68287, 92815, 88727, -5950,  3719, -5950,
    3071             :    83617,  3821, -5950,  3486,  2397,  2566,  2079,  3486, 68287, 92815,
    3072             :    -5950,  3486, 92815,103035, -5950, 68287,  1207, -5950, 68287, 92815,
    3073             :    88727, -5950,  3726,  3657, 68287, 92815, 18461, -5950, -5950, -5950,
    3074             :      369, -5950, -5950, -5950, -5950, -5950, 92815, 92815,   369, 92815,
    3075             :    92815,   369,  1746, -5950, 68287, 92815, -5950, -5950, -5950,  3627,
    3076             :    68287, 92815, 92815,   366, 92815, -5950, 92815, 68287,  3539, 92815,
    3077             :    92815, -5950, -5950, 92815,  7036, 92815, 92815, 92815, 92815, 92815,
    3078             :    92815, 68287, 92815, -5950, -5950,  2338,  1140,   830,  1162,   207,
    3079             :    92815,  3828, 92815,113766,  1518, 68287, 92815, 92815,  1518, 92815,
    3080             :    63688,  1794, -5950, -5950,  3633, -5950, 68287,  1207, -5950,  8066,
    3081             :    92815, 92815, 92815,  3592,  3593,   278,  3670, -5950, -5950, -5950,
    3082             :      935,   935,  3721, -5950, 35081, 35081, 33494,  3505, -5950, -5950,
    3083             :    35081,  2936, -5950, -5950, -5950,  1075,  4005,  1075,114277,  1075,
    3084             :     1075,  3820,  3573,  3587,  1075,  1075,  1075,  3809,  1075,  1075,
    3085             :     1075, 92815,  3705, -5950, -5950,  3705,   865, 35081,119814, 92815,
    3086             :    -5950,  2259, -5950,  3528, -5950, -5950, 63688, 92815,   234,   987,
    3087             :     3903,  3758, 75441,  2288,  3892, 92815,  3582, 92815,  4027,  3630,
    3088             :     1498, -5950,  2288, 92815, -5950,  3110, 77485, -5950, -5950, -5950,
    3089             :    -5950, -5950, -5950, -5950, 92815, -5950, -5950,  3894, 92815, 44537,
    3090             :     3724, -5950,  1518,  2894,  2894,  2894,  2894,  3533,  2894, 92815,
    3091             :     3671,  3915,  2288,  3538,  3917, -5950,  2453,  3918,  2007, 92815,
    3092             :     3774, 75441,  3608,  3586,  3789,  4045,  2397,  1518,  3791,  3775,
    3093             :    -5950, 59599, -5950,  2894,  4060, 28230,  4657,  5328,  3778,  3845,
    3094             :    -5950, -5950,  3790,   959, 92815,  3900,  3902,  3926, -5950,   240,
    3095             :    -5950,  4061,  1946,  3928,   241, -5950,   244, -5950,  2957, -5950,
    3096             :    92815, -5950, 92815, 92815, 92815, 92815,   290, -5950, -5950,   244,
    3097             :     2957,   244,  1007, -5950,  3858,   241,  2957,  3704,  3934,   309,
    3098             :    -5950,   390, -5950,  3795,  1007, -5950,  3815,  2397, -5950, -5950,
    3099             :    -5950, -5950, -5950, -5950, -5950,  2267, -5950, 92815, -5950,  3908,
    3100             :     3910,  3911,  3913,  3914,  3577,  3596,  3640, 92815,  3601,  3577,
    3101             :      369,  3603,  3585, -5950,  3601,  3601,  3577,  3111,  3111,  3577,
    3102             :     3596, 67265,  4065, 63688, -5950, -5950,  3696,  3609,  3964,   878,
    3103             :    -5950,   883,    87,  3872, -5950, -5950, -5950, -5950,119814, -5950,
    3104             :    68287,  3659, -5950, -5950, -5950,  3839,  3610, 67265,  1007,   172,
    3105             :    -5950, 71864, 92815,119814, 71864,  3854, 71864, 71864,119814, 92815,
    3106             :    92815,  2277, -5950,   -13, -5950,  2019, 35081,   558, -5950, 18188,
    3107             :     2281, 35081,  3625,  3629, -5950, -5950, -5950, -5950, -5950, -5950,
    3108             :    -5950,  3634,  3980, -5950,  2283,  2299, 18294,  2360,119814,  2518,
    3109             :     3645, -5950,  3646,   261,  3844,  3651,  3743,  3683,  2322,  3650,
    3110             :      301, -5950,  3743,  1114,  3660,  9087,  3788,  3663,  2328,  3661,
    3111             :     3667, -5950,  7001,  7654,  3668, 18825,  3669,  3676,  3677,  3631,
    3112             :    40900, 40900, 29257,  1119, -5950, 40900,  3679,  3847,  2332, 17083,
    3113             :     3680,  3682, 19001, 34023, 35081, 34023, 34023, 19139,  3686,  3701,
    3114             :    -5950,  4046, -5950,  2348, 63688,  3850, 19531,  2361, -5950, 35081,
    3115             :    63688,  8492, 35081, -5950, 35081,  3708, -5950, -5950,  2928,  2928,
    3116             :     2928,  6186, -5950, -5950,  3672, -5950, 40900, 40900, -5950,  1676,
    3117             :    29257, -5950, -5950,  4006, -5950, -5950,   265, -5950, -5950, -5950,
    3118             :    -5950, -5950,  3355, -5950, -5950, -5950,  3896,  2360,  3287, 54971,
    3119             :     3648, 35081,   368, 35081,  3400, 35081,  3781,  2928,  2928,  2928,
    3120             :      389,   389,   336,   336,   336,  2131,   627, -5950, -5950, -5950,
    3121             :     3703,  3711,  3604,  3725, 35081, -5950,  3707, 50224, -5950,  2526,
    3122             :     2654, 92815,  4741,  4878,  6450, -5950, -5950, -5950,  3466,   112,
    3123             :     3466, -5950,  1649,  2873,  1089, 61643, -5950, -5950, -5950, -5950,
    3124             :    -5950, -5950, 83617, 21127, -5950, -5950,  3929,  3727,  2362, -5950,
    3125             :    -5950,  2873, -5950, -5950,  2181,  2181,  3673, -5950,  3729, -5950,
    3126             :    -5950, -5950, -5950, -5950, -5950, -5950,  3739, -5950, -5950, -5950,
    3127             :     3730,  3742, 45054,  4063,  3746, 43503, 89749,  3710,  2684, -5950,
    3128             :    89749, 90260, 89749, 89749, -5950,  3745, -5950, -5950,  2066, 35081,
    3129             :     4055, -5950, -5950, -5950, 35081, -5950, -5950,  1828,  3763,  1056,
    3130             :     1250,  2321,  2321,  2342,  1298, -5950, -5950,  3782, -5950, 35081,
    3131             :     2364, -5950,  2371, -5950, -5950, -5950, -5950,  3111, -5950,  3990,
    3132             :    -5950, -5950, -5950, 44020,  3767,  3777,    75, 48156,  3949, -5950,
    3133             :    92815, 44020, -5950, 92815,   223, -5950,  3734, -5950, -5950, -5950,
    3134             :    -5950, -5950, -5950,116832,  2044, -5950,121305, -5950,121305, -5950,
    3135             :     2044,  4206, -5950,116832,  1939, -5950, -5950, -5950, -5950, -5950,
    3136             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, 68287, 68287,
    3137             :     3970, 92815,  3972,  3973, 35081,  1172, -5950,  4132,  1007, -5950,
    3138             :    -5950,  3843, -5950, 21127, -5950, -5950, -5950, -5950, -5950, 68287,
    3139             :    92815, -5950, 71353, -5950, -5950,119814, -5950, -5950, 92815, 92815,
    3140             :    -5950, -5950, -5950,119814, -5950, -5950, -5950, 92815,   197,  3846,
    3141             :     3852, 92815, -5950,  1338,  3471,  8116, 92815, 92815, 92815,  4077,
    3142             :    -5950, -5950, -5950, -5950,  3995, -5950,  4134, -5950,116832, -5950,
    3143             :     2957,   153,  3853,  3211, 35081,  4011, -5950,   925, 92815,  3770,
    3144             :     3771,  4141, 92815,  1653,  4101,  3776, -5950,  3888,  4104,  3912,
    3145             :     2107, -5950, -5950,  3922, -5950, -5950, -5950, -5950,  4156,  1007,
    3146             :     4160,  1007, 92815, 92815, 92815, 92815,  3927, -5950, -5950, -5950,
    3147             :    -5950,  3930,  4069, -5950, 63688, 63688, 63688,  2376, -5950, -5950,
    3148             :     1518, -5950, -5950, -5950, -5950, -5950, -5950,  4116, -5950,  2381,
    3149             :    -5950,   668, 90771, -5950, -5950, -5950, -5950, -5950,  4163, 68287,
    3150             :    92815,  9411, 92815, 92815, 92815,  4016,  2068,  1155,119814, -5950,
    3151             :   118323, -5950, -5950,  2386, -5950,  3801, 92815,  3880, 68287,  3856,
    3152             :    -5950, -5950, -5950,  4169,  2397,  3941, 79529,  3842,  3842,  2109,
    3153             :    -5950, -5950, -5950, -5950, -5950,  4079,  4002, -5950,  1080,  4003,
    3154             :    68287,  3868, -5950, -5950, -5950, -5950,  4178,  3895, -5950, -5950,
    3155             :     3898,  1349,  3211,  2453, -5950, -5950, -5950, -5950, -5950, -5950,
    3156             :    -5950, -5950, -5950,  3920, -5950, -5950, -5950, -5950, -5950, -5950,
    3157             :     1700,  1700, -5950, -5950, -5950,  1700,  1239,   543,  1445,  3211,
    3158             :    -5950,   371,  1487,  3899, -5950,  3904, -5950, -5950, -5950,  4084,
    3159             :     4086,  4087,  3916,  3923,  3966,  3924,  3925,  3975, -5950,  3931,
    3160             :     3976,  3932,  3977,  3937,  4235,  1007,119814,  4075,  1518,  3971,
    3161             :     4218,  1007, -5950, -5950,  3938, -5950,  3939, -5950,  2391,  4330,
    3162             :     4331, -5950, 92815, -5950,   550,  1854,  3211, -5950,  3940, -5950,
    3163             :    68287, 92815, -5950, -5950, -5950, 35081,  3855,  3857,  3859, 21127,
    3164             :    21127, 35081, -5950, -5950, 21127,  3860, -5950, -5950, -5950, -5950,
    3165             :   119814, -5950, 92815,  4164, -5950, -5950,  1075, 92815, 92815, -5950,
    3166             :    -5950, -5950, 92815, -5950, -5950, -5950,  4165, -5950,   533,   533,
    3167             :    -5950, -5950,  4201,  9159,  3861,   355, -5950, 63688, 51791,  4522,
    3168             :      202,  1827, -5950, 71353, 92815, 71353, -5950,   987,  4085, 92815,
    3169             :    92815, 92815,  3863,  3862, -5950, -5950, -5950, -5950, 68287,   901,
    3170             :    68287,  2873, -5950, -5950,  3943, -5950, 92815,  2397,  4401,  4233,
    3171             :     3539, -5950,  4358,  3391,  1737,  1911,   529,  2983,  4294,  2580,
    3172             :    35081,   362, -5950, -5950,  2066, 92815,  3586, -5950, -5950, -5950,
    3173             :    -5950,  1518, -5950,  3871,  3869, -5950, 92815,  4238, 92815, 92815,
    3174             :    92815, 92815,  3659,  3875, 92815,  3877,119814, 92815,  2640,  3213,
    3175             :     4374,  4257,  2431,  3608,  3968,  4260, 83617,  3893,  2392, -5950,
    3176             :    -5950,   959, -5950,  2412,   209, -5950,  1518, 71353,117329,  4250,
    3177             :    -5950,   333,  5328, -5950, -5950,   333,  1026, 92815, -5950, -5950,
    3178             :    -5950, -5950,  4119,  2232, -5950,  4236, -5950, -5950,  2431, -5950,
    3179             :   119814,  3901, -5950,  2417, -5950, -5950, -5950,   309,  3958,  1007,
    3180             :     3965,  1007, -5950, -5950, -5950, -5950, 92815, -5950, 92815, 66754,
    3181             :    -5950, -5950, 92815, -5950,  4281, -5950, -5950,  4051,  4053,  4054,
    3182             :     4057,  4058, 92815,  3577, -5950,  3905, 92815, 92815, 68287,  1785,
    3183             :    -5950, -5950, 68287,   456, -5950,   206, -5950, 83617,  4049, -5950,
    3184             :    -5950, -5950, -5950,  4290,  4296, -5950, -5950, -5950,   983, -5950,
    3185             :    78507,   468, -5950, 68287,  4225,  4228,  4229,  4230,   369,  4231,
    3186             :     4232,  4237,  4239,  4240, -5950, -5950, -5950,  3935, 19388, 35081,
    3187             :    -5950,  4311,119814, -5950,  9689, -5950, -5950, -5950, 35081, -5950,
    3188             :    -5950,  4234, -5950, -5950,  3994,  4000,  3936,  3645,  3788, -5950,
    3189             :     4151,  4157, 35081,  3788,  4411,  1121, 35081, 35081, 35081, -5950,
    3190             :    -5950,  4161,  4166, 35081,  2360,  2360, 35081, -5950,  3942, 35081,
    3191             :    -5950, -5950, -5950, -5950,  2339, 35081, -5950, 35081, -5950, -5950,
    3192             :    26161,  4461,  4461,  3945,119814, 40900, 40900, 40900, 40900,  1830,
    3193             :     3068, 40900, 40900, 40900, 40900, 40900, 40900, 40900, 40900, 40900,
    3194             :    40900,   488, -5950,  4153, 35081, 35081, 34552, -5950, -5950,119814,
    3195             :     3946,  3686,  3950,  3951, 35081, -5950, -5950, -5950,  2419, 42469,
    3196             :     3952, 63688, -5950, 35081, 18125,  2425,  3993, 19669,  2066, 10506,
    3197             :     1518, 35081,  1251,  1731, 35081,  2434, 35081, -5950, -5950, -5950,
    3198             :    -5950,  4300, -5950, -5950, -5950, -5950, -5950, -5950,  4188,  2360,
    3199             :    -5950, -5950, 35081,  3955,  3520, 40900, 40900,  4869, -5950,  4983,
    3200             :    35081, 29257, -5950,  3721, -5950, 26696,  3954, 35081,116321, -5950,
    3201             :    -5950,  1161,  1161,  1161,  1161, -5950, 92815, 92815, 92815,  4055,
    3202             :     3959,  4055,   358,  3960, -5950, -5950, -5950, -5950,  2431, -5950,
    3203             :     3947, -5950, -5950, -5950, -5950, -5950, 35081, 89749, 90260, 89749,
    3204             :    89749,  3962, 42986, 27214,  2684,  3963, 92815, -5950, -5950,  3967,
    3205             :    44020,  4271,  4181, -5950, 44020,  4181,  1644,  4181,  4274,  4067,
    3206             :    50741, -5950, -5950,  3969, -5950, -5950,  4189, -5950,  1951, 21127,
    3207             :     4448,  4317, -5950,  3974, -5950,  3763,  1976, -5950, -5950, -5950,
    3208             :     1303, -5950,  4064, -5950, -5950, -5950,  3710, 36668,  4136, -5950,
    3209             :    -5950, -5950,  4035,  2435, -5950, -5950,  4424,  4136, -5950,  2313,
    3210             :    -5950,  2439, 49707,  3767, 35081,  2066,  2458,  1985, -5950, -5950,
    3211             :   116832, -5950,  4059,  2957,  2957,  2813,  3577,  4343,  2813, 10814,
    3212             :    -5950,  1909, 92815, -5950, 92815, -5950, -5950, -5950,  4478,  4047,
    3213             :     4048,  4275, -5950,  2700, -5950, -5950, 68287, 92815, -5950, -5950,
    3214             :    -5950,   556,  1971,  3211, -5950,  4070, -5950, -5950,  4307, 92815,
    3215             :    -5950,  4464,  4089, 92815, 10914,  4367,  4062, -5950, -5950, 45571,
    3216             :    92815, 92815, -5950, 92815, -5950, 92815, 92815,  1909, 91282, -5950,
    3217             :     4442, -5950,  1909,  4109,  4348,  1858,  3213,   399,  6846, -5950,
    3218             :     1978, -5950, -5950,  4073, -5950, 92815, -5950, 92815, -5950, -5950,
    3219             :    -5950, -5950, -5950, -5950, -5950,  4137, -5950, -5950, -5950, -5950,
    3220             :    64199, -5950, -5950, 92815, -5950, 63688, 51791, 63688, -5950, -5950,
    3221             :    -5950, 92815, -5950,  1563,   559,  1972,  3211, -5950,  4088, -5950,
    3222             :     4372,  4091,  4093,  4144,   252,  1380,  4094,  4095,  4147,  4008,
    3223             :     4009,  4010, -5950, 63688, 52321,  4182, 92815,  2957,  4013,  4066,
    3224             :    92815,  3842, 91793, -5950,  4015, -5950, -5950,  3842,   457,  1518,
    3225             :    -5950, -5950,  1518,  2957,  1518, 92815, 92815, 92815, 92815,   366,
    3226             :    -5950, -5950, -5950,  4493,  4115, 92815, 92815, 92815, 92815, -5950,
    3227             :     4076, -5950, -5950, -5950, 92815, 92815,  4384,  1090,  2287, 68287,
    3228             :    92815, 92815, 68287, 92815, 92815, 92815, 92815, 92815, 92815, 92815,
    3229             :     4247, -5950,  4480,  4402,  2315,  4449,  4108, 92815, -5950, 92815,
    3230             :     1518, -5950,  3471, 92815, 92815, 92815, 92815, -5950, -5950, -5950,
    3231             :    -5950, -5950,  3721, -5950,  4030,  4344,  1075, -5950,  4345,  4346,
    3232             :     4349,  1075, -5950, -5950,  1827, -5950,   552, 92815, -5950,  2678,
    3233             :    92815, -5950, -5950, -5950,  3974,  1530,  1897, -5950, -5950, -5950,
    3234             :    -5950, -5950, -5950,  4032, 92815, 92815, 40900, -5950, -5950,   477,
    3235             :     1738,  1550, -5950,  4334, 92815,  3322, -5950, -5950, -5950,   267,
    3236             :    92815, -5950, -5950, -5950, -5950,  4041, -5950,   779,  3875, -5950,
    3237             :     4368, 75441,  2957, 68287, 68287,  2957, -5950,119814,  4043,  3586,
    3238             :    -5950,   306,  4133, -5950, 68287,  1737,114788,  3392,  4090,  4272,
    3239             :    11350, 44020, 44537,  1700, -5950,  4052,  4044, -5950, -5950, 92815,
    3240             :     4085, 66754,  2460,  2453,  4550,  1411,  2353, -5950, 75952,  4259,
    3241             :     3875,  4368, -5950,  3213,  4284,  4282, -5950,  2431, 92815,  3659,
    3242             :     3586,  1518, 92815,  4062, 51791, -5950,  4593,  2273, -5950,116832,
    3243             :    35081, 35081, -5950,  4068, -5950,  4071,  5328, -5950,  4139,  4078,
    3244             :     4554, 35081, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3245             :     4168,  4081, 92815, 92815,   959, 92815, -5950,  4072,  3928, -5950,
    3246             :     3928, -5950, 92815, -5950, 92815, -5950,  1007, -5950,  4199,  1007,
    3247             :    92815, 92815, 92815, 92815, 92815, 92815,  3577,   369,  3585, -5950,
    3248             :    -5950,  4417, 67265,  4419, -5950, 63688, -5950, -5950, -5950, -5950,
    3249             :    -5950,  2467, 92815, -5950, -5950, -5950,  4492,  4443,  1007,   446,
    3250             :     1143,  1143,  1143,  1143,  4403,  1143,  1143,  1143,  1143,  1143,
    3251             :    -5950, 35081, 21127, -5950,  4092, -5950, 21127,  4481,  4385,  4388,
    3252             :    -5950, -5950,  4096,  4333,  4340, -5950,  4102, 35081,  3788, 19757,
    3253             :    -5950, -5950,  4342,  4347, -5950,  3788,  3788, 19757, -5950, 19757,
    3254             :     4111, 11371, 19915, -5950,  2468, 35081, -5950,  1275,  1275,  1275,
    3255             :      710,  4463, -5950,  2377,  1275,  1275,  1275,   393,   393,   311,
    3256             :      311,   311,  4461,   488, 20066, 20169, 20477,  4112, -5950, -5950,
    3257             :    -5950,  3686, -5950, 37197,   101,  4595, 41952, -5950, -5950, -5950,
    3258             :     4171,  4172,  4118, -5950, 35081, 37726,  4117,121802,  4338, -5950,
    3259             :     1852, 35081, 35081,  4624, -5950,  6335, 35081, -5950, -5950,  4624,
    3260             :      551, 35081,  1775,  2485, 35081, 35081,  5096, 11637,  4130, -5950,
    3261             :     2489, 35081, 11692,  4321, -5950, 92815, 92815, 92815, 92815, -5950,
    3262             :    -5950, -5950,  4317,  1518,  4317,  1518,  4131, -5950,  4135, -5950,
    3263             :    -5950, -5950, -5950, 64710,  4120,  3850, 89749,  4138, 92815,  2684,
    3264             :    44020, -5950, -5950,  1452, -5950, 44020,  4444, -5950, 44020, 71864,
    3265             :    -5950, 92815,  4143, 92815, -5950,  1729, 35081,  4179, 54971, -5950,
    3266             :    -5950, -5950, -5950,  4241, -5950,  4369, 21127,  4184, -5950,  2431,
    3267             :     2446, 92815,  2066,   784, -5950, 35081,  4154, 92815, -5950,  4136,
    3268             :    21127, -5950,  4226,  2491, -5950, -5950,  4380, -5950, -5950, -5950,
    3269             :    -5950, -5950,  4242, 77485,  4507, -5950, -5950, -5950,  1818,  4479,
    3270             :      902, -5950,  1007, -5950,119814, 92815, 92815, 92815,  3168, -5950,
    3271             :    -5950, 92815, 92815, 92815, 92815, -5950, -5950, 68287, 92815, -5950,
    3272             :    -5950, 92815, 35081,  2493, -5950,  4194,  4613,   412,  4158, -5950,
    3273             :     1909,    10,  1909, -5950,    10, -5950, -5950, 92304, -5950,  4085,
    3274             :      366,   477,  4497,  4498,  4398, -5950,   369, -5950,  4659,   477,
    3275             :     4405,   366, -5950, -5950, -5950, -5950,  2238, -5950,119814,  1007,
    3276             :     1007, -5950, -5950, -5950, -5950, -5950,  4174, -5950,  4647,  4269,
    3277             :    92815, 92815, 92815, 92815, 92815, 68287, 92815, 92815,  2873,  2873,
    3278             :   119814,  4173, -5950,  2873,  2873,  4175, -5950, 68287, 92815, 92815,
    3279             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3280             :    -5950,  4263, -5950, 35081,  4640, -5950, -5950, -5950, -5950, -5950,
    3281             :    35081, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3282             :    -5950, 68287, 92815,  4266, -5950,  4270, -5950,   963, -5950, -5950,
    3283             :    92815, 92815, 92815, 92815,  4559, -5950, -5950, -5950, -5950, -5950,
    3284             :    -5950, -5950, -5950, -5950, -5950, -5950,  4561, 92815, -5950, -5950,
    3285             :     1518,  1518,119814,  1007,  1007, -5950, -5950, -5950,  4277, -5950,
    3286             :    -5950,  4186,  4501,  1075, -5950,  1075,  1075,  1075, -5950,  4191,
    3287             :    -5950,  1827,  4603, -5950,  1909,  2014,  4551, -5950, 35081, -5950,
    3288             :     1536,   710, -5950,  4612,  4696, -5950, -5950, -5950, -5950,  4446,
    3289             :     3539,  2397,  3539, -5950, -5950, 71864,   434, -5950,  4534,   234,
    3290             :    63688,  4433, 75441,   371,  2065,  4202,  4350, -5950,  2957,  2957,
    3291             :     4273, 92815,  4704, -5950, -5950, -5950, -5950, -5950, -5950, 68287,
    3292             :     3856, -5950,  4450,  1422,  4570, 92815, 44537, -5950,  3710, -5950,
    3293             :    -5950, -5950,  1518, -5950, -5950,  4351,  3586, -5950,  2172, 92815,
    3294             :     4441, 75441,  3659,  2497, -5950, -5950, -5950,  4254,  4690,  3608,
    3295             :    -5950,   371,  4259, -5950, -5950,  4668,  4315,  4261,  4718, -5950,
    3296             :     4315,  4579,  4451,  4224, -5950,  3893, -5950, 92815, -5950, 21127,
    3297             :    21127,  1518,122299,   333,119814,  4587, -5950, 21127, 92815,   991,
    3298             :     4222,  4400, -5950,  4552,  1007,  2509, -5950,  1007,  1007, -5950,
    3299             :    92815, -5950,  3577,  3577,  3577,  3577,  3577, -5950,  4452, -5950,
    3300             :    -5950, -5950, -5950,  4543, -5950, 67265, -5950,  1007, -5950, -5950,
    3301             :    -5950, -5950, -5950, -5950,  1143, -5950, -5950, -5950, -5950, -5950,
    3302             :    21127, -5950, 92815, -5950, -5950, -5950, -5950, -5950, -5950,  3427,
    3303             :     4244, 35081,  2312, -5950, -5950,  4246,  4251,  3788,  3788, -5950,
    3304             :    -5950, 35081, -5950, 11767, 40900,  4590, -5950, 35081, 35081, 35081,
    3305             :    -5950,  4248,  2536,  2544, -5950, -5950,   101, -5950,  4595, -5950,
    3306             :    -5950, -5950, 12353,  4291, 21127,  4354,  4252,   271,  4624,  4624,
    3307             :     6335,  4624, 35081, 35081,  4624,  4624, 35081, -5950, -5950, -5950,
    3308             :    12456, -5950,  4713,  3721, -5950, -5950, -5950, -5950,  4179, -5950,
    3309             :     4179, -5950,  4394, 35081, -5950,  2545,  4735, 39842,  4710, -5950,
    3310             :    92815,  2546, -5950, 35081,  4256, -5950, -5950, 44020,  1452,  4264,
    3311             :     2550, 92815,  2572,119814, 38255, 21127, 92815,  3721,  4265, -5950,
    3312             :    92815,  4267, 31907, -5950,    75, -5950, -5950,  4685, 45571,  4660,
    3313             :    20591, 35081, -5950, -5950, -5950, -5950, -5950, 67265,  4483, 67265,
    3314             :     1909, -5950, -5950, -5950, -5950, -5950, -5950, -5950,  4280, -5950,
    3315             :    -5950, -5950, -5950,  4353, -5950, -5950,    53,  3621,  1909, -5950,
    3316             :    12712,  4594, 45571, 56031, 92815, -5950, 92815, -5950,115299,  4285,
    3317             :     4482,  4287,  4288, -5950, -5950, -5950, -5950,  4768,  4649,  4650,
    3318             :    -5950, -5950,  4293, -5950, -5950, -5950,  4480, -5950, -5950, 51791,
    3319             :    68287, 92815, -5950,  4370, -5950, -5950, -5950, -5950, -5950, -5950,
    3320             :    47639, 54971, -5950,   252,  4295,  4297,  1380, -5950, -5950, -5950,
    3321             :    92815, 13556,  4299, 13702,  1058,  3621, 92815, 92815,  4302,  4308,
    3322             :     4310,  1777,  1602,  1967,  3577,  4664, 92815, -5950, -5950, -5950,
    3323             :     4480, -5950, -5950, 92815, -5950,  1075, -5950, -5950, -5950, -5950,
    3324             :    63688, -5950,  3413,  4191,  1518, 71864,  4794,  4794, 14397,  4553,
    3325             :    -5950, -5950,   173,  4639, -5950,  4376,  4588,  4376,  4318, 92815,
    3326             :      267,  4319,  2583, -5950, 92815,  4320,  4458,  2314,  2314, 92815,
    3327             :    92815, 92815,  2587,  2431,  2957,  4066,  1737,  4701, 75441,  4747,
    3328             :     4085,   438, -5950, 92815,  4823, 92815,  3659,  3875, 92815,  4325,
    3329             :    -5950, -5950, 75952,  4549,  4522, 92815,  2640,  4259,  3608,  1455,
    3330             :    92815, -5950,  1929, -5950,  2431, -5950, 92815, 83617, 45571,  4686,
    3331             :    -5950,121305, -5950,  2591, -5950, -5950, -5950,  4408, 21565,  3466,
    3332             :     4457,  4459,  4336,   233,  4695, 92815,  1237, -5950, -5950, -5950,
    3333             :    -5950, -5950, -5950, 92815,   468, -5950, -5950, -5950, -5950,  4335,
    3334             :    -5950,  4838, 35081,   342, -5950, -5950, -5950, -5950, -5950,  4573,
    3335             :    -5950,  4352, -5950, -5950,  2763,  2312, 20725, -5950,  3334, 40900,
    3336             :    21127, 21127, 21127, 35081, -5950, 35081, -5950, -5950, -5950, -5950,
    3337             :      851, -5950, -5950,  4674,  4355,  4624,  4624,  4624, -5950, 35081,
    3338             :     1190, -5950, -5950,  1454,  4773, 21016,  3745, 64710,  4357, -5950,
    3339             :    40900,  2604, -5950,  3088, 92815,  2605, -5950, 21127, 92815, -5950,
    3340             :    -5950, 35081, -5950,  2610, -5950,  4359,    59,  4360, 25091,  4362,
    3341             :    -5950, -5950, -5950, -5950, -5950, 21127,  4363, -5950,  4848,  1601,
    3342             :    -5950, -5950,   919,  3108,  4410, 92815,  2611, -5950,   828,   933,
    3343             :       89, -5950,  4855,  4855, 21127,  1785,  2813,   432, -5950, 92815,
    3344             :     4453, -5950,  4613,  4364,  3539, -5950,  4375, -5950, -5950,   442,
    3345             :     3213, 92815,  4542, -5950,  4594,  4594,  4522,  4715, -5950, -5950,
    3346             :    35081,  4432, -5950,  1128,  3621, 92815,119814, -5950,   167,  4740,
    3347             :    -5950,119814,119814, -5950, -5950, -5950, 35081, -5950,  4484, -5950,
    3348             :    -5950, -5950, 35081, 35081, 74419, -5950, -5950, 92815, 92815, 92815,
    3349             :    92815, 92815, -5950,  1007, -5950, -5950,  2615, -5950, 46605, -5950,
    3350             :    -5950,  3388,  1518,  3388,  1931, -5950, -5950,  3388,  3388, -5950,
    3351             :     3466, -5950,  4794,  1490, -5950, -5950,  4446,  4381, 35081, -5950,
    3352             :     4711, -5950,   199,  4614, -5950,  4386, -5950, 71864,  4921, -5950,
    3353             :    63688,  3875,  4368, 92815, -5950, -5950, -5950, -5950, -5950, -5950,
    3354             :    -5950, -5950, -5950, -5950, -5950, -5950,  2620,  4085,  4769,  3586,
    3355             :     4261, -5950, 92815,  4438, -5950, 44020,  4085,  2431,  2353, -5950,
    3356             :     4259,  3875,  4368, -5950, -5950,  4406,  4282,  3608,  2640,  4555,
    3357             :    -5950,  4557, -5950,  4866,  4631,  4874,  3659, -5950,  4062,  2622,
    3358             :    92815, -5950, -5950,  5328,122299,119814, -5950, -5950, -5950,  4409,
    3359             :     4813,  4462,  4465, -5950, -5950, -5950,   233, -5950,   114,  4818,
    3360             :     4471, -5950,  4477, 92815, -5950, -5950,  4085,  1007, 35081, 63688,
    3361             :    21127, -5950, -5950,  4811, -5950,   259,   275,   248,  4653,  4427,
    3362             :    35081,  3334,  2626,  2628,  4488, -5950, -5950, -5950,  3686, 38784,
    3363             :    38784, 38784,  4430,  4799,  4801, 92815, -5950, 92815,  4642, -5950,
    3364             :    -5950, 92815,   710,  4431, 39842, 63688,  2630, -5950,118820, -5950,
    3365             :     2632,  2655, -5950, 35081,  4436, 35081, -5950, 38255, 92815,  4439,
    3366             :     3508, -5950, -5950,  2659, -5950,  4940,  2431, -5950,  3466, 45571,
    3367             :    -5950,  4576, -5950,  4714, -5950, -5950, 35081,  4537,  4538, -5950,
    3368             :     4805, -5950, -5950, 92815, -5950, 92815,  4376, 54971,  3763,   442,
    3369             :    -5950, 92815,  3539,  3539,  4381, 14596, 35081, -5950,  4547, -5950,
    3370             :    -5950,  2668,  1711, -5950, -5950,  2670,  2675, 15151, 92815,  2676,
    3371             :     2680, -5950,  2702,  2873,  3596,  1967,  3596, -5950,  3577, -5950,
    3372             :    -5950, 63688, -5950, -5950, 67776, -5950, -5950, -5950,  1518, -5950,
    3373             :     1518,  4688, 57566, 58077,  1518,  1518, -5950, -5950, -5950, -5950,
    3374             :    -5950,  2453, -5950, 15198,  4556, -5950, -5950, -5950,   557, -5950,
    3375             :     4679,  4680, -5950,  4455, -5950,  2715, -5950,   371,  4592,  4085,
    3376             :    -5950, -5950, 92815,  4960,  4962, -5950,  1432, 92815,  3710, -5950,
    3377             :     4261,  3659,  3608,   371,  4259,  4522, 46088,  4315,  2640,  4282,
    3378             :    -5950, -5950,  4692, -5950,  4693, -5950,  4467,  4798, -5950,  2226,
    3379             :      333, -5950, -5950, -5950,  1218,  4827,  4828, -5950, -5950, -5950,
    3380             :     3388, -5950,  1948,  4473,  4853, -5950, -5950, -5950, -5950, -5950,
    3381             :    -5950, -5950,  4514,   294,   299, -5950,  4515, -5950,  4658,  4661,
    3382             :     2312,  2395, -5950, 21127, -5950, -5950, -5950, 40371,  4629,  1344,
    3383             :    17868,  4861, -5950,  4861,  4861, -5950,  4958,  4959,  1144, -5950,
    3384             :     4938,  2717, 41952, -5950, -5950, -5950, 92815,  4706,  1813,  4989,
    3385             :     4652,  2726, 38255,  2727, -5950, -5950, -5950, -5950, -5950,   919,
    3386             :    92815, -5950, -5950, -5950, 49707,  4971, 21127,   939,  1634, 67265,
    3387             :     3621,  2733,  3842,  4496, -5950,  3763,  4502,  4376,  4376, -5950,
    3388             :    -5950, 21127, 92815, 71864,  4978, -5950, -5950, -5950, -5950,  3621,
    3389             :     4591, -5950, -5950, 74419, -5950, 92815, -5950, -5950,  2738, -5950,
    3390             :    -5950, -5950, 58588, -5950,  4222, -5950,  4222, -5950, -5950,  1436,
    3391             :       65, 92815,  1203,  1203,  4917, -5950,  4575, -5950,  4511, -5950,
    3392             :     5043,  4654, 92815, -5950, -5950,   252,  2431, 75441,  4085, -5950,
    3393             :    -5950,  2640,  4259,  3608, 35081,  2740, -5950,  4613,   412, -5950,
    3394             :     4282,  4315, -5950, -5950, 45571,  4517,  3322,  4914, -5950, -5950,
    3395             :    -5950,  2708, 71864, 71864, 92815, -5950, -5950, -5950, 35081,   267,
    3396             :    -5950,  4562, -5950,  4566, -5950, -5950,  4748,  4757,  4539,  2312,
    3397             :    -5950,  5039, -5950, -5950, -5950, -5950, -5950,   998, -5950, -5950,
    3398             :    -5950, 92815, 92815, 92815,  4541, -5950,  3850, -5950, -5950, 40900,
    3399             :    40900,  4777, -5950, 40900,  1813, -5950, 92815, -5950,  4544, -5950,
    3400             :    -5950,  2764, -5950, -5950, -5950,  1502,  1480, -5950,  4784,  4676,
    3401             :    -5950, -5950,  4787,   222, -5950,   432, -5950, -5950, -5950, -5950,
    3402             :    -5950, 92815,  4588, -5950, -5950,  3621, -5950, 92815, -5950,  4548,
    3403             :    -5950, -5950, -5950, 67776, -5950,  4222, -5950, -5950, -5950, -5950,
    3404             :    -5950, -5950,  5059, -5950,  1497, -5950, -5950, -5950, -5950, 92815,
    3405             :     4085,  4173,  4261, -5950,  4282,  3608,  2640, 15863, -5950, 46088,
    3406             :    92815, 92815,  4315, -5950,  2770, 45571,  3586,  4700, -5950,  3145,
    3407             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950,   966,  4546,  4558,
    3408             :    -5950, -5950, 16222, 71864, -5950, -5950,  4699,  4702, -5950,  4780,
    3409             :    39313,  4707, -5950,  4775, -5950,  1405,  1414,  1922,115810,  5013,
    3410             :      710,   710, -5950,   710, -5950, -5950, 35081, -5950, -5950, -5950,
    3411             :    -5950, -5950, 49707, -5950,  4616,    75,  4564, 92815, -5950, -5950,
    3412             :     1909,  4158,  4614,  1909,  1909, -5950, -5950, 35081, -5950, -5950,
    3413             :     2397,  2397,  4085, -5950, -5950,  4315,  2640,  4282,  4613, -5950,
    3414             :    -5950, -5950, -5950,  4798, -5950,  2781,  4315,  4471,  2744, -5950,
    3415             :    -5950,  2750,  2681,  4655,  4919, -5950,  4565,  4678,  4681,  4952,
    3416             :    -5950, -5950, -5950, 92815, 92815, 65221, 92815,   361,  2794, -5950,
    3417             :   119317, 92815, 16487,  4571, -5950,  4632, 35081,  2801,  4577, -5950,
    3418             :     2819, -5950, -5950, -5950, -5950,  4282,  4315, 92815,  3322, -5950,
    3419             :    45571,  3466,  4955, -5950,  3145,  4698,  4703, 63177, -5950, -5950,
    3420             :    -5950, -5950, -5950,  5109,   354,  4996, -5950, -5950,  1518,  2312,
    3421             :   115810,  4802,   279,  2826, -5950,  4644,  2831,  1198, -5950,  1909,
    3422             :    -5950,  4315, -5950, -5950,  3586, -5950, -5950,   267, -5950,  4628,
    3423             :     4633, -5950,  2833, -5950, -5950, -5950, -5950, 35081, 65221,  2118,
    3424             :     4599, -5950, -5950,  4790,  1518,  2763,  4790, -5950, -5950, -5950,
    3425             :       75, -5950, -5950,  4315, 71864,  4945,  4947, -5950, 63177,   935,
    3426             :     4656, 92815,  4601, -5950,  2312, -5950,   248,  2763,  4662,  3466,
    3427             :     4602, 71864, 71864, -5950,  4605, 92815,  5047,115810, -5950,  2312,
    3428             :      248,  4644, -5950, 63177, -5950, -5950,  1518, -5950,  4607,  2835,
    3429             :    -5950,  2312, -5950,  2837,115810, -5950, -5950, -5950,  2841, -5950
    3430             : };
    3431             : 
    3432             :   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
    3433             :      Performed when YYTABLE does not specify something else to do.  Zero
    3434             :      means the default is an error.  */
    3435             : static const yytype_int16 yydefact[] =
    3436             : {
    3437             :     1742,  1474,   679,  1563,  1562,  1474,     0,   269,     0,  1574,
    3438             :        0,  1474,   438,  1131,     0,     0,     0,     0,   679,  1474,
    3439             :        0,  1742,     0,     0,     0,     0,     0,  1755,     0,     0,
    3440             :        0,     0,     0,  1271,     0,     0,     0,  1474,     0,     0,
    3441             :     1762,     0,     0,     0,     0,  1755,     0,  1576,     0,     0,
    3442             :        0,     0,  1762,     0,     0,     0,     0,     0,     2,     9,
    3443             :       10,    45,    80,    81,    38,    37,    98,    63,    24,    71,
    3444             :      133,   132,   134,    50,    46,    88,    33,    35,    47,    51,
    3445             :       73,    75,    40,    53,    64,   110,    72,    31,    70,    76,
    3446             :       96,    58,    19,    20,    59,    21,    60,    22,    61,   106,
    3447             :       82,    99,    43,    69,    30,    52,    78,    79,    12,    54,
    3448             :       86,    18,    65,    66,    68,    91,    92,    93,   116,    94,
    3449             :      128,    49,   125,   103,   104,   122,   105,   123,    16,   107,
    3450             :       62,    23,   119,   118,   120,    89,    55,    90,    77,    97,
    3451             :      117,    34,   121,    25,    26,    28,    29,    27,    67,    36,
    3452             :       74,    39,    95,   124,   114,   109,   129,   127,    11,   135,
    3453             :      111,    83,    14,    15,   100,    13,    32,    57,    17,    42,
    3454             :       41,    56,    48,   131,    44,  1574,   102,   115,   101,    84,
    3455             :      108,    87,   112,   130,   113,    85,   126,  1706,  1705,  1766,
    3456             :     1709,  1741,     0,  1721,  1473,  1472,  1487,     0,     0,     0,
    3457             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3458             :        0,     0,     0,   678,     0,     0,     0,     0,     0,     0,
    3459             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3460             :        0,     0,     0,  1484,  2470,  2487,  2488,  2489,  2490,  2491,
    3461             :     2492,  2493,  2494,  2495,  2496,  2497,  2498,  2499,  2500,  2501,
    3462             :     2503,  2502,  2504,  2505,  2880,  2506,  2507,  2508,  2817,  2818,
    3463             :     2881,  2819,  2820,  2509,  2510,  2511,  2512,  2513,  2514,  2515,
    3464             :     2516,  2517,  2821,  2822,  2518,  2519,  2520,  2521,  2522,  2823,
    3465             :     2882,  2523,  2524,  2525,  2526,  2527,  2528,  2883,  2529,  2530,
    3466             :     2531,  2532,  2533,  2534,  2535,  2536,  2537,  2538,  2884,  2539,
    3467             :     2540,  2541,  2885,  2542,  2543,  2544,  2545,  2546,  2547,  2824,
    3468             :     2825,  2548,  2549,  2550,  2551,  2552,  2553,  2554,  2555,  2556,
    3469             :     2557,  2558,  2559,  2560,  2561,  2562,  2563,  2564,  2565,  2566,
    3470             :     2567,  2568,  2569,  2570,  2571,  2572,  2573,  2574,  2575,  2576,
    3471             :     2577,  2578,  2826,  2579,  2580,  2581,  2582,  2827,  2583,  2584,
    3472             :     2585,  2586,  2828,  2587,  2588,  2589,  2590,  2886,  2887,  2591,
    3473             :     2592,  2593,  2594,  2595,  2829,  2830,  2596,  2597,  2598,  2599,
    3474             :     2600,  2601,  2602,  2888,  2603,  2604,  2605,  2606,  2607,  2608,
    3475             :     2609,  2610,  2611,  2612,  2613,  2614,  2615,  2889,  2831,  2616,
    3476             :     2617,  2618,  2619,  2832,  2833,  2834,  2620,  2890,  2891,  2621,
    3477             :     2892,  2835,  2836,  2837,  2838,  2839,  2840,  2841,  2842,  2843,
    3478             :     2844,  2845,  2622,  2623,  2624,  2625,  2626,  2627,  2628,  2629,
    3479             :     2846,  2893,  2630,  2894,  2631,  2632,  2633,  2634,  2635,  2636,
    3480             :     2637,  2638,  2639,  2640,  2641,  2642,  2643,  2847,  2644,  2645,
    3481             :     2646,  2647,  2648,  2649,  2650,  2651,  2848,  2895,  2849,  2652,
    3482             :     2653,  2654,  2655,  2656,  2657,  2658,  2659,  2850,  2851,  2660,
    3483             :     2661,  2662,  2896,  2663,  2852,  2664,  2853,  2665,  2666,  2667,
    3484             :     2668,  2669,  2670,  2671,  2672,  2673,  2674,  2675,  2676,  2854,
    3485             :     2897,  2677,  2898,  2855,  2678,  2679,  2680,  2681,  2682,  2683,
    3486             :     2684,  2685,  2686,  2687,  2688,  2689,  2690,  2691,  2692,  2856,
    3487             :     2693,  2857,  2696,  2694,  2695,  2697,  2698,  2699,  2700,  2701,
    3488             :     2702,  2703,  2704,  2705,  2706,  2707,  2858,  2708,  2709,  2710,
    3489             :     2711,  2712,  2713,  2714,  2715,  2716,  2717,  2718,  2719,  2720,
    3490             :     2721,  2722,  2723,  2724,  2725,  2899,  2726,  2727,  2728,  2729,
    3491             :     2730,  2859,  2731,  2732,  2733,  2734,  2735,  2736,  2737,  2738,
    3492             :     2739,  2740,  2741,  2742,  2743,  2744,  2745,  2746,  2747,  2860,
    3493             :     2748,  2749,  2900,  2750,  2751,  2861,  2752,  2753,  2754,  2755,
    3494             :     2756,  2757,  2758,  2759,  2760,  2761,  2762,  2763,  2764,  2765,
    3495             :     2766,  2767,  2862,  2768,  2769,  2770,  2771,  2901,  2772,  2773,
    3496             :     2774,  2775,  2776,  2777,  2778,  2863,  2864,  2779,  2780,  2865,
    3497             :     2781,  2866,  2782,  2783,  2784,  2785,  2786,  2787,  2789,  2788,
    3498             :     2790,  2791,  2792,  2793,  2794,  2795,  2796,  2797,  2798,  2799,
    3499             :     2800,  2867,  2868,  2801,  2902,  2802,  2803,  2804,  2805,  2806,
    3500             :     2807,  2808,  2809,  2810,  2811,  2812,  2813,  2869,  2870,  2871,
    3501             :     2872,  2873,  2874,  2875,  2876,  2877,  2878,  2879,  2814,  2815,
    3502             :     2816,   146,     0,     0,  2437,  2471,  2472,  2475,  2470,   408,
    3503             :      407,  1695,  2434,  2471,  1573,     0,  1552,   679,     0,  1487,
    3504             :      437,  1742,     0,     0,     0,     0,     0,     0,   898,     0,
    3505             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3506             :        0,   138,     0,   140,     0,     0,   462,   461,     0,     0,
    3507             :     1103,   467,     0,     0,     0,     0,     0,   669,  1615,  2694,
    3508             :     1613,  1696,   270,   273,   274,   271,   272,  2453,     0,  1243,
    3509             :     1244,  1246,     0,     0,  1256,   936,   937,     0,     0,     0,
    3510             :      950,     0,     0,     0,   934,     0,     0,     0,   956,     0,
    3511             :      953,     0,     0,   957,   954,   931,   955,   938,     0,   930,
    3512             :        0,     0,  1256,   958,     0,     0,   932,     0,     0,     0,
    3513             :        0,  1487,  1612,   468,  1742,     0,  1596,  1597,  1598,  1574,
    3514             :     1586,  1599,  1591,  1593,  1592,  1594,  1595,  1590,  2452,  2489,
    3515             :     1026,  1026,  1026,  1026,  1023,  1024,  1026,  1026,  1026,  2714,
    3516             :        0,     0,  1005,     0,  1007,  2454,  1026,  1031,  2497,   555,
    3517             :      555,   555,     0,  1030,  1035,   555,     0,  1455,  1496,  2436,
    3518             :     1754,     0,  1006,  1454,  2779,  1602,     0,     0,     0,     0,
    3519             :     2733,  1464,   254,  2745,  2863,  2779,   253,   248,   249,   222,
    3520             :        0,     0,  1030,   555,     0,  1487,  1462,  1002,  1761,  1759,
    3521             :        0,  2421,  2516,  2533,  2633,   245,  2726,  2735,  2745,  2863,
    3522             :     2779,  2813,   201,   211,   206,     0,   263,  2745,  2863,  2779,
    3523             :      259,  1484,     0,  1722,  1872,  1871,  2430,     0,  1457,  1456,
    3524             :     1575,     0,  1578,     0,  2709,  1726,  1729,  1580,  1727,  2473,
    3525             :     1965,  1994,  1972,  1994,  1994,  1961,  1961,  2563,  1974,  1962,
    3526             :     1963,  1999,  2019,     0,  1994,  1961,  1966,     0,  1964,  2002,
    3527             :     2002,  1989,     3,  1944,  1945,  1946,  1947,  1975,  1976,  1948,
    3528             :     1981,  1982,  1986,  1949,  2016,  1952,  1961,  2474,  1763,  1764,
    3529             :     2421,     4,  2467,     5,  2348,  2466,     6,     7,  1718,     0,
    3530             :        0,     1,  1742,     0,  1585,  1758,  1758,     0,  1758,     0,
    3531             :     1710,  1718,  1713,  1717,     0,     0,     0,     0,     0,     0,
    3532             :     1458,     0,     0,     0,   961,     0,  1499,  1087,     0,     0,
    3533             :        0,     0,     0,  1340,     0,  1140,  1139,  2476,  2459,  2460,
    3534             :     2461,     0,  2457,  2458,  2477,  2478,  2479,     0,  2602,  1340,
    3535             :        0,     0,  2264,  2275,  2276,  2277,  2520,  2583,  2272,  2273,
    3536             :     2274,  2266,  2267,  2268,  2269,  2270,  2271,     0,     0,  1238,
    3537             :     2265,     0,  2602,     0,  1340,     0,   173,     0,   150,  1340,
    3538             :        0,     0,  2602,     0,     0,  2602,     0,     0,     0,     0,
    3539             :        0,  2602,     0,     0,     0,     0,     0,   173,  2638,     0,
    3540             :      150,  2602,     0,     0,  1478,     0,     0,     0,  1480,  1483,
    3541             :     1470,     0,  2345,     0,  2346,  2438,  1567,     0,  1566,  1560,
    3542             :     1570,  1565,  1555,     0,  2430,     0,     0,     0,     0,   944,
    3543             :        0,     0,   934,     0,     0,     0,   945,     0,   946,   947,
    3544             :        0,     0,     0,     0,   943,     0,  1468,  1460,     0,  1604,
    3545             :     1606,  1605,  1607,  1603,   555,     0,     0,     0,  2602,     0,
    3546             :      150,  1538,     0,  2602,   150,     0,     0,   466,   465,   150,
    3547             :     2457,   464,   463,  2520,  2583,     0,  1130,     0,  1213,   150,
    3548             :     2602,     0,   194,  2602,   738,  2602,  1580,   139,     0,   682,
    3549             :        0,   852,  2638,   150,     0,     0,     0,     0,     0,     0,
    3550             :      142,     0,     0,     0,     0,     0,     0,     0,   668,   679,
    3551             :     1616,  1614,     0,  1247,   247,   246,  1245,   948,  2602,  1172,
    3552             :      145,     0,     0,  2602,  1519,  2602,   145,   965,   949,     0,
    3553             :      935,  2602,   145,  1136,  2602,  2462,   183,     0,   933,  2520,
    3554             :     2583,  2602,   145,  1240,     0,  2602,   145,  2602,   179,  2602,
    3555             :      145,  2602,   145,  2602,   683,     0,     0,  2602,   145,  2602,
    3556             :     2638,   181,   952,  2602,   145,   959,  2602,   145,  2432,  2602,
    3557             :        0,  1471,     0,  1608,     0,  1588,  2867,     0,  1742,  1026,
    3558             :     1025,     0,  1026,     0,  1026,     0,  1026,     0,  1026,     0,
    3559             :        0,     0,  1026,  2455,  2456,  1008,     0,  1032,     0,  1040,
    3560             :        0,  1039,  1038,  1037,     0,     0,     0,  1041,     0,  1876,
    3561             :     1650,     0,  1452,  1467,     0,     0,     0,   142,     0,  1269,
    3562             :     1266,   142,  1268,  1267,   142,   142,  1463,   252,   250,     0,
    3563             :        0,     0,     0,     0,     0,  1469,     0,  1461,     0,     0,
    3564             :        0,  2440,  2442,  2443,  2278,  2348,     0,  2818,  2819,  2820,
    3565             :     2337,     0,  2821,  2822,  2823,  2882,  2152,  2138,  2147,  2153,
    3566             :     2139,  2141,  2148,  2824,  2825,  2087,  2826,  2827,  2450,  2828,
    3567             :     2829,  2830,  2832,  2833,  2834,  2835,  2836,  2837,  2838,  2839,
    3568             :     2840,  2841,  2842,  2843,  2845,  2846,  2143,  2145,  2847,  2848,
    3569             :     2849,  2851,     0,  2451,  2852,  2853,  2672,  2855,  2856,  2858,
    3570             :     2859,  2149,  2861,  2862,  2150,  2863,  2864,  2865,  2866,  2449,
    3571             :      510,  2151,  2868,  2870,  2871,  2872,  2873,  2875,  2876,  2877,
    3572             :     2878,     0,     0,     0,  2427,     0,  2116,     0,  1953,  1954,
    3573             :     1977,  1978,  1955,  1983,  1984,  1956,     0,  1957,  2426,  2020,
    3574             :     2223,  2115,  2133,     0,  2121,  2122,     0,  2114,  2110,  2225,
    3575             :     1744,  2422,     0,  2111,  2439,  2441,  2338,  1744,  2420,   214,
    3576             :      265,     0,   266,  2428,  2745,   202,   244,   216,   243,   217,
    3577             :      215,     0,  2518,   203,     0,     0,   204,     0,     0,     0,
    3578             :        0,   262,   260,     0,  1459,     0,  1874,  1873,  2431,   970,
    3579             :        0,  1577,  1574,  2288,     0,  1728,     0,     0,     0,  1993,
    3580             :     1980,  1988,  1987,     0,  1970,  1969,  1968,     0,  1967,  1994,
    3581             :     1994,  1992,  1971,  1944,     0,     0,     0,  1998,     0,  1996,
    3582             :     1940,  1936,     0,  2005,  2006,  2007,  2004,  2017,  2003,     0,
    3583             :     1950,  2008,     0,  1961,  1958,  1829,     0,  1708,  1707,     8,
    3584             :        0,  1582,  1584,  1558,  1580,  1756,  1757,     0,     0,     0,
    3585             :        0,     0,     0,     0,     0,  1816,  1774,  1775,  1777,  1813,
    3586             :     1817,  1825,     0,  1714,     0,     0,     0,  1878,     0,     0,
    3587             :     1485,     0,     0,     0,     0,     0,  1171,     0,     0,     0,
    3588             :        0,   962,     0,     0,     0,  1505,     0,  1507,  1508,  1509,
    3589             :        0,     0,     0,  1510,  1511,  1499,   256,  1518,  1515,  1498,
    3590             :     1500,  1513,     0,     0,     0,     0,     0,     0,     0,  1530,
    3591             :        0,   187,   188,     0,   695,   679,     0,  2602,     0,     0,
    3592             :        0,     0,  1181,  1188,  1339,     0,     0,     0,     0,     0,
    3593             :        0,     0,     0,  1182,  1180,     0,  1183,   258,  1193,  1220,
    3594             :     1223,     0,     0,  1138,  1141,     0,     0,     0,     0,     0,
    3595             :     1330,     0,     0,     0,  1330,     0,     0,     0,  1339,     0,
    3596             :        0,     0,     0,     0,     0,     0,     0,     0,   281,   283,
    3597             :      296,   363,     0,   660,     0,     0,     0,   663,     0,  2602,
    3598             :     1340,     0,     0,     0,  1242,     0,     0,     0,     0,     0,
    3599             :        0,     0,     0,  1223,     0,     0,     0,     0,     0,     0,
    3600             :        0,     0,     0,   148,   149,   154,     0,     0,     0,     0,
    3601             :     1223,     0,     0,     0,     0,     0,     0,     0,   644,   659,
    3602             :      647,     0,     0,     0,     0,     0,   655,     0,     0,   150,
    3603             :      657,   286,   634,   640,     0,     0,     0,   745,   744,     0,
    3604             :        0,     0,     0,     0,     0,  1428,     0,  1427,     0,     0,
    3605             :        0,     0,     0,  1528,  1527,     0,     0,     0,     0,     0,
    3606             :        0,  1330,     0,   275,   277,     0,     0,     0,     0,     0,
    3607             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3608             :      400,   401,     0,     0,     0,   154,     0,     0,  1330,     0,
    3609             :      288,     0,     0,  1479,  1476,  1477,     0,  1482,     0,     0,
    3610             :        0,     0,  2124,     0,  2292,  1766,  2290,  1156,  2344,     0,
    3611             :     2480,  2903,  2904,  2905,  2906,  2907,  2908,  2909,  2910,  2911,
    3612             :     2912,  2913,  2914,  2915,  2916,  2917,  2918,  2919,  2920,  2921,
    3613             :     2922,  2923,  2924,  2925,  2926,  2927,  2928,  2929,  2930,  2931,
    3614             :     2932,  2933,  2934,  2935,  2936,  2937,  2938,  2939,  2940,  2941,
    3615             :     2942,  2943,  2944,  2945,  2946,  2947,  2948,  2949,  2950,  2951,
    3616             :     2952,  2953,  2954,  2955,  2956,  2957,  2958,  2959,  2960,  2961,
    3617             :     2962,  2963,  2964,  2965,  2966,  2967,  2968,  2969,  2970,  2971,
    3618             :     2972,  2973,  2974,  2975,  2976,  2977,  2978,  2979,  2980,  2341,
    3619             :     2340,  2435,  2481,  2482,  2483,  2484,  2347,  1550,     0,   233,
    3620             :      234,   232,  1568,   235,  1569,  1564,     0,  1551,     0,     0,
    3621             :        0,     0,     0,     0,     0,     0,  2520,  2583,     0,     0,
    3622             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3623             :        0,     0,     0,     0,   860,  1499,  1537,     0,     0,     0,
    3624             :      688,     0,  2602,     0,   152,   899,     0,   850,   467,     0,
    3625             :        0,     0,     0,  1404,   152,     0,     0,   190,     0,     0,
    3626             :      742,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3627             :        0,   851,     0,     0,   152,     0,  2602,   637,  2602,     0,
    3628             :      555,   555,     0,     0,   141,   138,     0,     0,     0,     0,
    3629             :        0,     0,     0,     0,  1700,  1699,  1702,  1701,     0,  1698,
    3630             :        0,   143,   144,     0,  1230,  1255,     0,     0,     0,     0,
    3631             :        0,   926,   951,     0,     0,  1224,     0,     0,  2602,   145,
    3632             :     2602,     0,  2602,     0,     0,     0,  1232,   145,     0,  1226,
    3633             :        0,     0,  1228,     0,  1430,     0,   942,   940,   939,   941,
    3634             :        0,     0,   924,     0,     0,     0,     0,     0,   919,     0,
    3635             :        0,   921,     0,     0,     0,     0,  1742,  1587,     0,  1016,
    3636             :        0,  1020,     0,  1011,     0,  1017,     0,  1012,  1009,  1010,
    3637             :        0,  1015,     0,     0,   556,   562,     0,     0,  2545,  2562,
    3638             :        0,  2591,  2626,  2627,  2682,  2700,  2729,  2735,  2741,     0,
    3639             :     2772,  2784,     0,  1046,  1084,  1036,   754,     0,     0,  1660,
    3640             :     1453,  2297,     0,  1742,     0,     0,  1270,     0,     0,   138,
    3641             :      251,   223,     0,     0,  1084,     0,  2733,  1466,  1001,   679,
    3642             :        0,  2112,     0,  2119,  2120,  2336,     0,     0,     0,     0,
    3643             :        0,     0,  2118,     0,     0,     0,     0,  2393,     0,     0,
    3644             :     2393,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3645             :        0,  2043,     0,     0,  2296,     0,     0,  2296,     0,     0,
    3646             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3647             :     2044,  2025,  2026,  2116,  2288,     0,  2117,  2446,     0,  2016,
    3648             :     2485,  2278,     0,  2275,  2276,  2277,  2981,  2982,  2983,  2984,
    3649             :     2985,  2986,  2987,  2988,  2989,  2990,  2991,  2992,  2993,  2994,
    3650             :     2995,  2996,  2997,     0,  2998,  2999,  3000,  3001,  3002,  3004,
    3651             :     3003,  3005,  3006,  3007,  3008,  3009,  3010,  2351,  3012,  3013,
    3652             :     3014,  3015,  3016,  3017,  3018,  3019,  3020,  3021,  3022,  3023,
    3653             :     3024,  3025,  3026,  3027,  3028,  3029,  3030,  3031,  3032,  3033,
    3654             :     3034,  3035,  3036,  3037,  3038,  3039,  3040,  3041,  3042,  3043,
    3655             :     3044,  3045,  3046,  3047,  3048,  3049,  3050,  3051,  3052,  3053,
    3656             :     3054,  3055,  3056,  3057,  3058,  3059,  3060,  3061,  3062,  3063,
    3657             :     3064,  3065,  3066,  3067,  3068,  3069,  3070,  3071,  3072,  3073,
    3658             :     3074,  3075,  3076,  3077,  3078,  3079,  3080,  3081,  3082,  3083,
    3659             :     3084,  3085,  3086,  3087,  3088,  3089,  3090,  3091,  3092,  3093,
    3660             :     3094,  3095,  3096,  3097,  3098,  3099,  3100,  3101,  3102,  3103,
    3661             :     3104,  3105,  3106,  3107,  3108,  3109,  3110,  3111,  3112,  3113,
    3662             :     3114,  3115,  3116,  3117,  3118,  3119,  3120,  3121,  3122,  3123,
    3663             :     3124,  3125,  3126,  3127,  3128,  3129,  3130,  3131,  3132,  3133,
    3664             :     3134,  3135,  3136,  3137,  3138,  3139,  3140,  3141,  3142,  3143,
    3665             :     3144,  3145,  3146,  3147,  3148,  3149,  3150,  3151,  3152,  3153,
    3666             :     3154,  3155,  3156,  3157,  3158,  3159,  3160,  3161,  3162,  3163,
    3667             :     3164,  3165,  3166,  3167,  3168,  3169,  2058,  3170,  3171,  3172,
    3668             :     3173,  3174,  3175,  3176,  3177,  3178,  3179,  3180,  3181,  3182,
    3669             :     3183,  3184,  3185,  3186,  3187,  3188,  3189,  3190,  3191,  3192,
    3670             :     3193,  3194,  3195,  3196,  3197,  3198,  3199,  3200,  3201,  3202,
    3671             :     3203,  3204,  3205,  3206,  3207,  3208,  3209,  3210,  3211,  3212,
    3672             :     3213,  3214,  3215,  3216,  3217,  3218,  3219,  3220,  3221,  3222,
    3673             :     3223,  3224,  3225,  3226,  3227,  3228,  3229,  3230,  3231,  3232,
    3674             :     3233,  3234,  3235,  2060,  3236,  3237,  3238,  3239,  3240,  3241,
    3675             :     3242,  3243,  3244,  3245,  3246,  3247,  3248,  3249,  3250,  3251,
    3676             :     3252,  3253,  3254,  3255,  3256,  3257,  3258,  3259,  3260,  3261,
    3677             :     3262,  3263,  3264,  3265,  3266,  3267,  3268,  3269,  3270,  3271,
    3678             :     3272,  3273,  3274,  3275,  3278,  3276,  3277,  3279,  3280,  3281,
    3679             :     3282,  3283,  3284,  3285,  3286,  3287,  3288,  3289,  3290,  3291,
    3680             :     3292,  3293,  3294,  3295,  3296,  3297,  3298,  3299,  3300,  3301,
    3681             :     3302,  3303,  3304,  3305,  3306,  3307,  3308,  3309,  3310,  3311,
    3682             :     3312,  3313,  3314,  3315,  3316,  3317,  3318,  3319,  3320,  3321,
    3683             :     3322,  3323,  3324,  3325,  3326,  3327,  3328,  3329,  3330,  3331,
    3684             :     3332,  3333,  3334,  3336,  3335,  3337,  3338,  3339,  3340,  3341,
    3685             :     3342,  3343,  3344,  3345,  3346,  3347,  3348,  3349,  3350,  3351,
    3686             :     3352,  3353,  3354,  3355,  3356,  3357,  3358,  3359,  3360,  3361,
    3687             :     3362,  3363,  3364,  3365,  3366,  3367,  3368,  3369,  3370,  3371,
    3688             :     3372,  3373,  3374,  3375,  3376,  3377,  3378,  3379,  3380,  3381,
    3689             :     3382,  3383,  3384,  3385,  3386,  3387,  3388,  3389,  3390,  3391,
    3690             :     3393,  3392,  3394,  3395,  3396,  3397,  3398,  3399,  3400,  3401,
    3691             :     3402,  3403,  3404,  3405,  3406,  3407,  3408,  3409,  3410,  3411,
    3692             :     3412,  3413,  3414,  3415,  3416,  3417,  3418,  3419,  3420,  3421,
    3693             :     3422,  3423,  3424,  3425,  3426,  3427,  3428,  3429,  3430,  3431,
    3694             :     3432,  3433,  3434,  3435,     0,  2272,  2273,  2274,  2266,  2267,
    3695             :     2268,  2269,  2270,  2271,  2282,     0,     0,  2425,  2486,     0,
    3696             :     2225,     0,  2040,     0,  2233,     0,     0,  1829,     0,  2444,
    3697             :     2339,  1829,   267,   268,   264,     0,     0,   219,   218,     0,
    3698             :      237,   241,   242,   213,   240,     0,   236,   221,  2209,  2208,
    3699             :      220,   212,   209,   207,   224,   226,   227,   210,   208,   261,
    3700             :        0,     0,     0,   145,  1585,  1572,     0,     0,  2351,     0,
    3701             :     2286,     0,     0,  2284,     0,     0,     0,  1826,     0,  1730,
    3702             :        0,  1734,     0,     0,     0,  1991,  1990,  1941,  1937,     0,
    3703             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3704             :        0,     0,   963,     0,  1959,     0,  1894,  2468,  2469,  2349,
    3705             :     1762,  1585,     0,  1581,  1725,  1724,  1767,  1768,  1122,  1723,
    3706             :     1796,  1797,     0,     0,     0,     0,  1822,  1820,  1787,  1778,
    3707             :     1786,     0,     0,  1784,     0,  1788,  2020,  1815,  1712,  1772,
    3708             :     1773,  1776,  1711,     0,  1818,     0,  1663,  1816,  1777,  1647,
    3709             :        0,  1618,     0,     0,  1879,     0,     0,  1486,     0,     0,
    3710             :        0,  1151,  1153,     0,  1152,     0,  1155,     0,  1164,     0,
    3711             :        0,  1150,  1169,     0,  1158,  1156,     0,  1526,     0,     0,
    3712             :        0,     0,     0,  1506,     0,     0,     0,  2772,   255,  1509,
    3713             :     1514,  1501,  1512,     0,     0,     0,     0,     0,  1086,  1085,
    3714             :        0,     0,     0,  1533,   547,     0,   365,     0,     0,     0,
    3715             :        0,     0,     0,     0,     0,   846,   843,     0,     0,   842,
    3716             :        0,   693,     0,     0,     0,     0,     0,     0,     0,     0,
    3717             :        0,     0,     0,   718,     0,  1330,     0,   294,     0,  1190,
    3718             :        0,  1189,     0,  1194,     0,     0,  1191,  1186,  1187,  2735,
    3719             :     2745,  2779,   257,  1192,  1222,     0,  1221,  1217,     0,  1133,
    3720             :        0,  1134,     0,     0,     0,     0,     0,     0,     0,  2575,
    3721             :        0,  2602,     0,     0,   510,   302,   326,   537,     0,  1329,
    3722             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3723             :        0,     0,     0,     0,     0,   349,     0,     0,   352,   351,
    3724             :        0,     0,     0,     0,     0,   357,     0,   335,     0,   336,
    3725             :        0,   356,     0,     0,     0,   661,   662,     0,     0,     0,
    3726             :     1330,     0,   290,     0,     0,     0,     0,     0,     0,     0,
    3727             :        0,  1239,     0,   771,     0,     0,  2735,  1218,     0,  1413,
    3728             :        0,  2771,  1414,  1417,   555,     0,   555,  1419,     0,     0,
    3729             :     1416,  1418,     0,     0,   176,     0,   171,   175,     0,     0,
    3730             :     2735,  1219,     0,     0,     0,     0,     0,   642,   643,   658,
    3731             :        0,   648,   649,   645,   650,   651,     0,     0,     0,     0,
    3732             :        0,     0,     0,   641,     0,     0,   740,   739,   743,     0,
    3733             :        0,     0,     0,     0,     0,  1422,     0,     0,  1213,     0,
    3734             :        0,  1421,  1429,     0,     0,     0,     0,     0,     0,     0,
    3735             :        0,     0,     0,  1273,  1272,     0,     0,     0,     0,  1340,
    3736             :        0,   889,     0,     0,     0,     0,     0,     0,     0,     0,
    3737             :        0,     0,   178,   758,     0,   757,     0,   172,   177,     0,
    3738             :        0,     0,     0,     0,     0,     0,     0,   231,  1475,  1481,
    3739             :     1766,  1766,  1766,  2130,     0,     0,     0,     0,  1765,  2342,
    3740             :     2345,  1555,  1561,  1554,  1553,     0,     0,     0,     0,     0,
    3741             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3742             :        0,     0,   414,   411,   412,   414,     0,     0,     0,     0,
    3743             :      862,     0,   865,   868,  1497,   494,     0,     0,   685,   718,
    3744             :        0,     0,   470,   185,     0,     0,     0,     0,   773,     0,
    3745             :     1213,  1212,   147,   138,   194,   468,     0,   193,   195,   197,
    3746             :      198,   199,   196,   200,     0,   737,   741,     0,     0,     0,
    3747             :        0,   681,     0,     0,     0,     0,     0,     0,     0,  1899,
    3748             :        0,     0,   170,     0,     0,   632,   636,     0,     0,     0,
    3749             :        0,   470,   598,   376,  2602,     0,   555,     0,  2602,     0,
    3750             :      137,     0,   849,     0,     0,     0,  1175,  1175,     0,     0,
    3751             :      787,   786,     0,     0,     0,     0,     0,     0,  1697,   145,
    3752             :     1173,     0,  1520,     0,   145,   966,   145,  1137,   184,  2463,
    3753             :        0,   928,     0,     0,     0,     0,   145,  1241,   916,   145,
    3754             :      180,   145,   145,   684,     0,   145,   182,     0,     0,   145,
    3755             :      960,   145,  2433,     0,   145,  1611,  2602,   555,  1589,  1013,
    3756             :     1022,  1021,  1019,  1018,  1014,     0,  1033,     0,   554,     0,
    3757             :        0,     0,     0,     0,  1054,  1055,     0,     0,  1051,  1056,
    3758             :        0,  1058,  1042,  1044,  1052,  1053,  1059,  1048,  1047,  1060,
    3759             :     1061,     0,     0,     0,  1073,   752,     0,     0,     0,     0,
    3760             :     1657,     0,  1655,     0,  1877,  1659,  1648,  1601,     0,  1600,
    3761             :        0,   625,  1264,  1263,  1265,     0,  1030,     0,   145,     0,
    3762             :     1465,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3763             :        0,     0,  2301,     0,  2302,     0,     0,  2335,  2331,     0,
    3764             :        0,     0,     0,     0,  2305,  2308,  2309,  2310,  2307,  2311,
    3765             :     2306,     0,     0,  2312,     0,     0,  2386,  2403,     0,  2116,
    3766             :     2386,  2414,     0,  2413,  2419,     0,  2292,  2020,     0,     0,
    3767             :     2410,  2404,     0,  2410,     0,     0,  2393,     0,     0,     0,
    3768             :        0,  2193,     0,     0,     0,  2292,  2295,     0,     0,  2859,
    3769             :        0,     0,     0,     0,  2088,     0,     0,  2259,     0,  2292,
    3770             :        0,     0,     0,     0,     0,     0,     0,  2288,  2327,     0,
    3771             :      508,     0,  2078,     0,     0,     0,  2207,     0,  2204,     0,
    3772             :        0,     0,     0,  2348,     0,     0,  2447,  2021,  2036,  2037,
    3773             :     2038,  2041,  2424,  2024,     0,  2350,     0,     0,  2022,  2049,
    3774             :        0,  2328,  2074,     0,  2079,  2064,  2394,  2313,  2314,  2315,
    3775             :     2316,  2081,     0,  2057,  2062,  2066,     0,  2403,  2045,     0,
    3776             :     2042,     0,  2351,  2287,     0,  2285,     0,  2033,  2034,  2035,
    3777             :     2027,  2028,  2029,  2030,  2031,  2032,  2039,  2263,  2261,  2262,
    3778             :        0,     0,  2233,     0,     0,  2061,     0,     0,  2132,  2594,
    3779             :     2633,     0,  1755,  1755,  1755,  1743,  1753,  2423,  1894,  1766,
    3780             :     1894,  2429,     0,     0,  2016,     0,  1875,   968,   969,   967,
    3781             :     1557,  1571,  1585,  2289,  1579,  1732,     0,     0,     0,  1960,
    3782             :     1973,     0,  2000,  2001,  2002,  2002,     0,  1942,     0,  1985,
    3783             :     2010,  2011,  2012,  2013,  2014,  2015,     0,  2009,  1951,   964,
    3784             :     2835,  2844,     0,  2731,  2879,     0,  1855,  1828,  1830,  1840,
    3785             :     1855,  1862,  1855,  1855,  2134,  1892,  2135,  2136,  2430,     0,
    3786             :     1799,  2465,  1559,  1583,     0,  1120,  1121,     0,  1125,  2859,
    3787             :     2731,     0,     0,     0,     0,  1789,  1823,     0,  1814,     0,
    3788             :     2440,  1790,  2439,  1791,  1794,  1795,  1785,  1824,  1661,     0,
    3789             :     1819,  1716,  1715,     0,  1897,     0,     0,     0,  1632,  1620,
    3790             :        0,     0,  1880,     0,  1829,  1665,     0,  2348,  1827,  1380,
    3791             :     1274,  1341,  1154,     0,  1961,  1165,     0,  1149,     0,  1148,
    3792             :     1961,     0,  1166,     0,  1961,  1381,  1275,  1342,  1382,  1276,
    3793             :     1343,  1383,  1517,  1277,  1516,  1504,  1503,  1502,     0,     0,
    3794             :        0,     0,     0,     0,     0,     0,   825,  2602,   145,  1531,
    3795             :     1384,     0,  1278,   364,  1532,  1344,  1536,   845,   844,     0,
    3796             :        0,  1345,     0,   694,   699,     0,   701,   702,  2520,  2583,
    3797             :      703,   706,   707,     0,   709,   698,   697,     0,     0,     0,
    3798             :        0,     0,   715,   720,     0,     0,     0,     0,     0,     0,
    3799             :     1184,  1185,  1385,  1281,     0,  1346,     0,  1132,     0,  1282,
    3800             :      186,     0,     0,   282,     0,  2602,   304,     0,     0,     0,
    3801             :        0,     0,     0,     0,     0,     0,   825,   492,   825,     0,
    3802             :     1332,   301,   333,     0,   348,   343,   344,   342,  2602,   145,
    3803             :     2602,   145,     0,     0,     0,     0,     0,   345,   340,   341,
    3804             :      337,     0,     0,   350,  2492,  2564,  2746,     0,   726,   728,
    3805             :        0,   733,   353,  1302,   372,   371,   370,     0,   358,     0,
    3806             :      377,   380,     0,   355,   334,   332,   329,   297,     0,     0,
    3807             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  1234,
    3808             :        0,  1388,  1347,     0,  1369,  1373,     0,     0,     0,   765,
    3809             :     1391,  1288,  1350,     0,   555,     0,     0,   574,   574,   555,
    3810             :     1402,  1289,   174,  1319,   163,     0,     0,   159,     0,     0,
    3811             :        0,     0,   153,  1392,  1290,  1351,     0,     0,  1393,  1291,
    3812             :        0,     0,   287,   635,   646,   652,  1296,   656,   653,  1359,
    3813             :      654,  1400,  1292,     0,  1396,  1322,  1354,   390,   618,   389,
    3814             :     1213,  1213,  1403,  1423,  1293,  1213,     0,  1330,     0,   276,
    3815             :      278,     0,   142,     0,  1294,     0,  1352,  1395,  1321,     0,
    3816             :        0,     0,     0,     0,     0,     0,     0,     0,  1539,     0,
    3817             :        0,     0,     0,     0,     0,   145,     0,     0,     0,  1332,
    3818             :     2602,   145,   887,  1394,     0,  1327,     0,  1367,     0,     0,
    3819             :        0,   402,     0,  1320,  1330,     0,   289,  1298,     0,  1361,
    3820             :        0,     0,   229,   228,   230,     0,     0,     0,     0,  2293,
    3821             :     2294,     0,  2291,  2125,  2344,     0,  1549,   990,   976,   989,
    3822             :        0,   972,  2562,     0,   975,   977,     0,     0,     0,   978,
    3823             :      982,   983,     0,   974,   971,   973,     0,   413,     0,     0,
    3824             :      782,   783,     0,     0,     0,     0,   864,     0,     0,  1529,
    3825             :        0,   150,   692,     0,     0,     0,   687,   717,   722,     0,
    3826             :        0,     0,     0,   469,   473,   477,   478,   479,     0,     0,
    3827             :        0,     0,   164,   151,     0,   905,     0,   555,     0,   775,
    3828             :     1213,  1406,     0,   194,   189,     0,     0,   738,     0,  1580,
    3829             :        0,     0,   613,   616,   615,     0,   376,   859,   857,   856,
    3830             :      858,   880,   855,     0,  1898,  1900,     0,     0,     0,     0,
    3831             :        0,     0,   625,   472,     0,     0,   562,     0,   601,     0,
    3832             :        0,     0,     0,   598,     0,     0,     0,  2473,     0,   876,
    3833             :      848,     0,  1143,     0,  1161,  1144,     0,     0,     0,     0,
    3834             :     1198,  1205,  1174,  1199,  1176,  1205,     0,     0,   788,   792,
    3835             :      791,   795,   793,     0,   789,   666,  1703,  1704,     0,  1231,
    3836             :        0,     0,  1525,     0,  1523,   927,  1225,   145,     0,   145,
    3837             :        0,   145,  1233,  1227,  1229,  1431,     0,   925,     0,     0,
    3838             :      918,   920,     0,   922,     0,  1034,   557,     0,     0,     0,
    3839             :        0,     0,     0,  1050,   664,  1057,     0,     0,     0,  1072,
    3840             :     1067,  1069,     0,  1084,  1078,     0,   751,     0,     0,  1658,
    3841             :     1651,  1653,  1652,     0,     0,  1649,  2298,   917,     0,   631,
    3842             :        0,  1084,  1075,     0,     0,     0,     0,     0,     0,     0,
    3843             :        0,     0,     0,     0,  1760,  2299,  2300,     0,     0,     0,
    3844             :     2332,     0,     0,  2169,     0,  2140,  2142,  2155,     0,  2170,
    3845             :     2123,     0,  2385,  2382,     0,     0,     0,  2386,  2393,  2189,
    3846             :        0,     0,     0,  2393,     0,  2413,     0,     0,     0,  2184,
    3847             :     2186,     0,     0,     0,  2403,  2403,     0,  2191,     0,     0,
    3848             :     2171,  2144,  2146,  2156,     0,     0,  2279,     0,  2159,  2158,
    3849             :        0,  2090,  2091,     0,     0,     0,     0,     0,     0,     0,
    3850             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3851             :        0,  2105,  2160,  2258,     0,     0,     0,  2162,  2161,     0,
    3852             :        0,  2326,     0,     0,     0,  2167,   509,  2172,     0,     0,
    3853             :        0,     0,  2178,     0,  2215,     0,     0,     0,  2113,  2289,
    3854             :        0,     0,     0,     0,     0,     0,     0,  2396,  2397,  2398,
    3855             :     2395,     0,  2080,  2065,  2083,  2059,  2063,  2067,     0,  2403,
    3856             :     2082,  2085,     0,     0,  2053,     0,     0,  2051,  2075,  2047,
    3857             :        0,     0,  2076,     0,  2131,     0,     0,     0,  2236,  2231,
    3858             :     2232,  1755,  1755,  1755,  1755,  1752,     0,     0,     0,  1799,
    3859             :        0,  1799,   205,     0,   238,   225,  1556,  1733,  1742,  1979,
    3860             :        0,  1997,  1995,  1938,  1943,  2018,     0,  1855,  1862,  1855,
    3861             :     1855,     0,     0,  1718,     0,  1840,     0,  1854,  1838,  1853,
    3862             :        0,     0,  1868,  1866,     0,  1868,     0,  1868,     0,  1832,
    3863             :        0,  1858,  1834,  1853,  1836,  1842,     0,  1884,  2431,  1893,
    3864             :        0,  1812,  1769,     0,  2280,  1125,     0,  1771,  1793,  1792,
    3865             :        0,  1782,     0,  1821,  1779,  1662,  1646,     0,  1637,  1624,
    3866             :     1626,  1625,     0,     0,  1627,  2348,     0,  1637,  1619,     0,
    3867             :     1670,     0,     0,  1897,     0,  1669,     0,  1961,  1146,  1147,
    3868             :        0,  1170,     0,  1089,  1090,     0,  1088,     0,     0,     0,
    3869             :      546,   549,     0,  1534,     0,  1401,  1318,   696,     0,     0,
    3870             :        0,     0,   711,   670,   712,   714,     0,     0,   713,   716,
    3871             :      719,  1330,     0,   295,  1304,     0,  1365,  1178,     0,     0,
    3872             :     1135,     0,     0,     0,     0,     0,  1106,   536,  1105,     0,
    3873             :        0,     0,   825,     0,   825,     0,     0,   541,     0,   491,
    3874             :      488,   328,   327,     0,     0,     0,     0,   385,     0,   306,
    3875             :      319,   383,   325,     0,   360,     0,   331,     0,   323,   346,
    3876             :      338,   347,   339,   359,   361,     0,   730,   731,   729,   725,
    3877             :        0,   732,   734,     0,   374,     0,     0,     0,   392,   354,
    3878             :      391,     0,  1387,     0,  1330,     0,   291,  1300,     0,  1363,
    3879             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3880             :        0,     0,  1368,     0,     0,     0,     0,   770,     0,   767,
    3881             :        0,   574,     0,  1415,     0,  1412,  1410,   574,     0,     0,
    3882             :      156,   155,     0,   162,     0,     0,     0,     0,     0,     0,
    3883             :     1424,  1425,  1426,     0,     0,     0,     0,     0,     0,   396,
    3884             :        0,   298,   300,   299,     0,     0,     0,     0,     0,     0,
    3885             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3886             :        0,   403,   367,     0,   883,     0,     0,     0,   405,     0,
    3887             :        0,  1379,     0,     0,     0,     0,     0,  1386,  1283,  2128,
    3888             :     2129,  2126,  1766,  2343,     0,     0,     0,   987,     0,     0,
    3889             :        0,     0,   416,   417,   150,   415,   440,     0,   825,     0,
    3890             :        0,   861,   866,   874,  2672,  2266,  2267,   872,   867,   869,
    3891             :      871,   873,   870,     0,     0,     0,     0,   516,   520,     0,
    3892             :        0,     0,   500,     0,     0,   510,   493,   496,   497,     0,
    3893             :        0,   688,   691,   689,   690,     0,   710,     0,   472,   525,
    3894             :      588,     0,   166,     0,     0,   167,   165,     0,     0,   376,
    3895             :      772,     0,   769,  1405,     0,   192,     0,   742,     0,     0,
    3896             :        0,     0,     0,  1213,   680,     0,   879,   881,   853,     0,
    3897             :      722,     0,     0,   637,     0,   555,  1612,   620,     0,   590,
    3898             :      472,   588,   597,     0,     0,   605,   375,     0,     0,   625,
    3899             :      376,     0,     0,  1106,     0,   875,     0,     0,  1142,     0,
    3900             :        0,     0,  1195,  1200,  1196,     0,  1175,  1157,     0,  1197,
    3901             :        0,     0,  1203,  1128,  1177,  1129,  1447,  1448,  1445,  1446,
    3902             :        0,     0,     0,     0,     0,     0,  1694,     0,     0,  1521,
    3903             :        0,   929,     0,   912,     0,   914,   145,   759,     0,   145,
    3904             :        0,     0,     0,     0,     0,     0,  1049,     0,  1043,  1045,
    3905             :     1070,     0,     0,  1084,  1083,     0,  1074,  1082,  1080,  1081,
    3906             :     1079,     0,     0,  1656,  1654,   623,     0,     0,   145,  1084,
    3907             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3908             :     2303,     0,  2334,  2330,     0,  2137,  2304,  2384,  2400,  2402,
    3909             :     2190,  2392,     0,     0,     0,  2415,     0,     0,  2393,  2353,
    3910             :     2407,  2406,     0,     0,  2405,  2393,  2393,  2353,  2192,  2353,
    3911             :        0,     0,     0,  2259,     0,     0,  2089,  2101,  2102,  2103,
    3912             :     2319,     0,  2108,     0,  2098,  2099,  2100,  2092,  2093,  2094,
    3913             :     2095,  2096,  2097,  2104,  2323,  2322,     0,     0,  2164,  2165,
    3914             :     2166,  2325,  2173,     0,  2510,  2216,     0,  2177,  2206,  2205,
    3915             :        0,     0,     0,  2180,     0,     0,  2202,     0,  2260,  2448,
    3916             :     2023,     0,     0,  2050,  2329,  2068,     0,  2084,  2086,  2046,
    3917             :     2279,     0,     0,     0,     0,     0,  2055,     0,     0,  2256,
    3918             :        0,     0,     0,  2238,  2235,     0,     0,     0,     0,  1746,
    3919             :     1745,  1751,  1812,  2125,  1812,     0,     0,  1939,     0,  1839,
    3920             :     1835,  1837,  1843,     0,  2874,     0,  1844,  1851,     0,  1831,
    3921             :        0,  1867,  1863,     0,  1864,     0,     0,  1865,     0,     0,
    3922             :     1833,     0,  1851,     0,  1891,  1758,     0,  2227,     0,  1770,
    3923             :     1123,  1124,  1780,     0,  1783,  2541,  1895,  1639,  1645,     0,
    3924             :        0,     0,  1629,  1635,  1617,     0,     0,     0,  1666,  1637,
    3925             :     1667,  1167,     0,     0,  1159,  1095,     0,  1096,  1099,  1097,
    3926             :     1094,  1098,     0,     0,     0,   825,   828,   834,     0,     0,
    3927             :        0,   826,   145,  1279,     0,     0,     0,     0,   671,  1399,
    3928             :     1280,     0,     0,     0,     0,  1179,  1333,     0,     0,  1303,
    3929             :      825,     0,     0,     0,   569,     0,  1119,  1119,   559,   303,
    3930             :      539,   553,   543,   610,   553,   490,   489,     0,   487,   722,
    3931             :        0,     0,   310,   320,     0,   315,     0,  1331,     0,     0,
    3932             :        0,     0,   314,   317,   316,   387,     0,   384,     0,   145,
    3933             :      145,   362,   727,   373,   378,   379,   382,  1338,     0,     0,
    3934             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3935             :        0,   906,   891,     0,     0,   907,   908,     0,     0,     0,
    3936             :     1236,  1237,  1235,  1370,  1371,  1377,  1374,  1372,  1376,  1378,
    3937             :     1375,     0,  1286,     0,     0,   763,  1334,  1407,  1409,  1408,
    3938             :        0,  1411,   160,   157,   158,   161,  1335,  1316,  1297,  1360,
    3939             :      619,     0,     0,     0,  1295,     0,  1353,     0,  1312,  1306,
    3940             :        0,     0,     0,     0,     0,  1398,  1326,  1358,  1397,  1324,
    3941             :     1356,  1323,  1355,  1325,  1357,  1317,     0,     0,  1902,   888,
    3942             :        0,     0,     0,   145,   145,   886,   761,  1299,     0,  1362,
    3943             :     1308,     0,     0,     0,   979,     0,     0,     0,   981,   421,
    3944             :      441,   150,     0,   781,   847,     0,     0,   863,     0,   498,
    3945             :        0,   504,   511,     0,     0,   518,   519,   517,   521,   551,
    3946             :     1213,   555,  1213,   814,   815,     0,     0,   837,     0,   686,
    3947             :        0,     0,   470,     0,   522,     0,     0,   474,   169,   168,
    3948             :        0,     0,     0,   776,   780,   778,   777,   779,   774,     0,
    3949             :      765,   194,  2602,     0,     0,     0,     0,   617,   611,   614,
    3950             :     1420,   854,     0,  1901,   755,     0,   376,   633,     0,     0,
    3951             :        0,   470,   625,     0,   475,   480,   481,   494,     0,   598,
    3952             :      589,     0,   590,   599,   600,     0,   607,  1495,     0,   626,
    3953             :      607,     0,     0,     0,   878,     0,   877,     0,  1145,  1162,
    3954             :     1163,     0,     0,  1205,     0,     0,  1207,  1202,     0,     0,
    3955             :      794,   797,   790,   673,   145,     0,  1524,   145,   145,  1262,
    3956             :        0,   923,  1064,  1065,  1066,  1063,  1062,   665,     0,  1068,
    3957             :     1027,  1077,   753,     0,   624,     0,  1028,   145,  1004,   996,
    3958             :     1003,   992,   995,   997,     0,   999,  1000,   994,   991,   993,
    3959             :     2333,  2154,     0,  2399,  2401,  2188,  2412,  2411,  2187,  2418,
    3960             :        0,     0,  2381,  2409,  2408,     0,     0,  2393,  2393,  2157,
    3961             :     2168,     0,  2258,  2289,     0,     0,  2109,     0,     0,     0,
    3962             :     2163,  2869,     0,     0,  2220,  2221,     0,  2217,  2218,  2213,
    3963             :     2214,  2179,     0,  2659,  2197,     0,     0,  2212,  2072,  2070,
    3964             :     2069,  2054,     0,     0,  2052,  2048,     0,  2077,  2222,  2255,
    3965             :     2289,  2224,     0,  1766,  1750,  1749,  1748,  1747,  2227,  2445,
    3966             :     2227,   239,  1737,     0,  1887,     0,  1890,     0,     0,  1841,
    3967             :        0,     0,  1845,     0,     0,  1847,  1849,     0,     0,     0,
    3968             :        0,     0,     0,  2434,     0,  1811,     0,  1766,     0,  1781,
    3969             :        0,     0,     0,  1621,     0,  1622,  1628,     0,     0,     0,
    3970             :        0,     0,  1671,  1664,  1160,  1168,  1100,     0,     0,     0,
    3971             :      548,   830,   829,   832,   827,   833,   831,  1535,     0,   704,
    3972             :      705,   708,  1305,     0,  1366,  1314,     0,  1660,   538,   305,
    3973             :        0,   564,     0,     0,     0,  1112,   140,  1111,     0,     0,
    3974             :        0,     0,     0,   486,   485,   494,   313,     0,     0,     0,
    3975             :      307,   386,     0,   388,   308,   312,   367,   330,   322,     0,
    3976             :        0,     0,  1301,     0,  1364,  1310,  1337,  1389,  1284,  1348,
    3977             :        0,     0,   897,     0,     0,     0,     0,  1390,  1285,  1349,
    3978             :        0,     0,     0,     0,     0,  1660,     0,     0,     0,     0,
    3979             :        0,     0,     0,     0,  1544,     0,     0,   366,   885,   884,
    3980             :      367,   404,  1328,     0,  2127,     0,   980,   985,   986,   984,
    3981             :        0,   410,   418,   421,     0,     0,  1253,  1253,     0,     0,
    3982             :      495,   512,     0,     0,   499,   609,   568,   609,     0,     0,
    3983             :        0,     0,     0,   723,     0,     0,     0,     0,     0,     0,
    3984             :        0,     0,     0,     0,   768,   767,   191,     0,   470,     0,
    3985             :      722,     0,   882,     0,     0,     0,   625,   472,     0,     0,
    3986             :     1609,   471,     0,     0,   483,     0,   601,   590,   598,     0,
    3987             :        0,   622,     0,  1488,     0,   628,     0,     0,     0,   824,
    3988             :     1201,     0,  1215,     0,  1156,  1126,  1210,     0,  1742,  1894,
    3989             :        0,     0,     0,     0,   807,     0,   677,  1254,  1522,   913,
    3990             :      915,   760,  1071,     0,  1084,  1076,   998,  2383,  2417,  2352,
    3991             :     2354,     0,     0,  2375,  2368,  2371,  2369,  2370,  2372,     0,
    3992             :     2367,     0,  2185,  2416,  2365,  2379,  2318,  2260,  2106,     0,
    3993             :     2321,  2320,  2324,     0,  2174,     0,  2175,  2219,  2181,  2198,
    3994             :        0,  2182,  2210,     0,     0,  2073,  2071,  2056,  2257,     0,
    3995             :     2242,  1720,  1719,     0,  1740,  1923,  1892,     0,     0,  1886,
    3996             :        0,     0,  1917,     0,     0,     0,  1852,  1870,     0,  1848,
    3997             :     1846,     0,  1859,     0,  1861,  2540,  2830,  2728,     0,  1798,
    3998             :     1800,  1803,  1805,  1804,  1806,  1802,  2226,  2228,     0,  1777,
    3999             :     2281,  1896,     0,  1636,     0,     0,     0,  1107,     0,     0,
    4000             :     1637,  1673,  1685,  1685,  1668,  1072,     0,   145,   700,     0,
    4001             :        0,   284,  1119,     0,  1213,   570,  2672,   571,  1118,  1122,
    4002             :      139,  2689,     0,   552,   564,   564,   482,     0,   311,   321,
    4003             :        0,   369,   381,     0,  1660,     0,     0,   895,   904,   904,
    4004             :      892,     0,     0,   909,  1287,   764,     0,   573,     0,   279,
    4005             :     1313,  1307,     0,     0,     0,  1546,  1547,     0,     0,     0,
    4006             :        0,     0,  1336,   145,  1309,   988,     0,   443,   451,   422,
    4007             :      426,  1538,     0,  1538,     0,   423,   427,  1538,  1538,   420,
    4008             :     1894,   439,  1253,     0,  1250,  1249,   551,   639,     0,   550,
    4009             :        0,   502,     0,   579,   501,     0,   838,     0,     0,   721,
    4010             :        0,   472,   588,     0,   535,   526,   527,   528,   529,   531,
    4011             :      530,   532,   533,   534,   524,   523,     0,   722,   901,   376,
    4012             :     1495,   762,     0,     0,   735,     0,   722,     0,  1612,   621,
    4013             :      590,   472,   588,   476,   494,     0,   605,   598,   601,     0,
    4014             :      602,     0,   606,     0,     0,     0,   625,  1548,  1106,     0,
    4015             :        0,   825,  1214,  1175,     0,     0,  1204,  1208,  1209,     0,
    4016             :        0,     0,     0,  1257,   801,   802,   796,   798,     0,   809,
    4017             :      813,   672,     0,     0,   676,   667,   722,   145,     0,     0,
    4018             :     2366,  2373,  2374,     0,  2195,     0,     0,  2391,     0,     0,
    4019             :        0,  2107,     0,     0,  2200,  2199,  2211,  2183,  2237,     0,
    4020             :        0,     0,     0,     0,     0,     0,  1731,     0,  2353,  1885,
    4021             :     1888,     0,  1920,     0,     0,     0,     0,  1905,     0,  1850,
    4022             :        0,     0,  1860,     0,     0,     0,  1807,     0,     0,     0,
    4023             :     1816,  1644,  1643,     0,  1640,     0,     0,  1634,  1894,     0,
    4024             :     1631,     0,  1680,     0,  1672,  1674,     0,     0,     0,  1091,
    4025             :        0,  1092,  1315,     0,  1113,     0,   609,     0,  1125,  1122,
    4026             :      558,     0,  1213,  1213,   639,     0,     0,   324,     0,   292,
    4027             :     1311,     0,     0,   893,   894,     0,     0,     0,     0,     0,
    4028             :        0,   398,     0,     0,  1540,     0,  1541,  1542,  1545,   406,
    4029             :      419,     0,   449,   448,     0,   446,   445,   447,     0,   436,
    4030             :        0,     0,     0,     0,     0,     0,   409,  1248,  1252,  1251,
    4031             :      503,     0,   505,     0,     0,   565,   566,   567,     0,   507,
    4032             :      575,   576,   835,     0,   840,     0,   724,     0,     0,   722,
    4033             :      587,   746,     0,     0,     0,  1489,     0,     0,   612,   756,
    4034             :     1495,   625,   598,     0,   590,   484,     0,   607,   601,   605,
    4035             :      603,   604,     0,  1492,     0,   627,     0,  1115,   823,     0,
    4036             :     1205,  1216,  1211,  1206,  1451,     0,     0,   799,   804,   803,
    4037             :     1538,   808,     0,     0,     0,   675,   674,   750,  1029,  2355,
    4038             :     2356,  2380,     0,     0,     0,  2359,     0,  2357,     0,     0,
    4039             :     2379,     0,  2196,  2317,  2203,  2176,  2201,  2817,  2541,  2787,
    4040             :        0,  2254,  2243,  2254,  2254,  2234,     0,     0,     0,  1922,
    4041             :        0,     0,     0,  1918,  1919,  1903,     0,     0,  1907,  1857,
    4042             :     1883,     0,     0,     0,  1801,  2229,  2230,  2464,  1638,     0,
    4043             :        0,  1623,  1633,  1108,     0,  1682,  1684,     0,     0,     0,
    4044             :     1660,     0,   574,     0,  1109,  1125,   561,   609,   609,   318,
    4045             :      309,   368,     0,     0,     0,   902,   911,   910,   766,  1660,
    4046             :        0,   394,   393,     0,   397,     0,   444,   454,     0,   452,
    4047             :      424,   429,     0,   435,   434,   431,   430,   425,   428,     0,
    4048             :      515,     0,     0,     0,     0,   577,     0,   578,     0,   839,
    4049             :        0,     0,     0,   748,   900,     0,     0,   470,   722,  1490,
    4050             :     1610,   601,   590,   598,     0,     0,   592,  1119,  1119,   457,
    4051             :      605,   607,  1493,  1494,     0,     0,   510,     0,  1127,  1450,
    4052             :     1449,  1742,     0,     0,     0,   810,   811,   806,     0,     0,
    4053             :     2360,     0,  2363,     0,  2364,  2358,  2388,  2390,     0,  2376,
    4054             :     2377,     0,  2247,  2246,  2245,  2249,  2248,     0,  2241,  2239,
    4055             :     2240,     0,     0,     0,     0,  1889,     0,  1906,  1909,     0,
    4056             :        0,     0,  1915,     0,  1908,  1910,     0,  1869,     0,  1881,
    4057             :     1809,     0,  1808,  1641,  1642,  1894,     0,  1687,     0,     0,
    4058             :     1675,  1676,     0,     0,  1677,   145,   285,   563,   825,   572,
    4059             :     1110,     0,   568,   825,   825,  1660,   896,     0,   280,     0,
    4060             :      399,  1543,   450,     0,   433,   432,   638,   513,   514,   506,
    4061             :      608,   584,     0,   583,     0,   581,   580,   836,   841,     0,
    4062             :      722,   890,  1495,   736,   605,   598,   601,     0,   591,     0,
    4063             :      140,   140,   607,   455,     0,     0,   376,     0,  1433,  1742,
    4064             :     1432,  1434,  1442,  1439,  1441,  1440,  1438,     0,  1260,  1261,
    4065             :      800,   805,     0,     0,  2361,  2362,     0,     0,  2194,     0,
    4066             :        0,     0,  2251,     0,  2252,     0,     0,     0,     0,     0,
    4067             :     1912,  1913,  1914,  1916,  1911,  1856,     0,  1810,  1630,  1681,
    4068             :     1683,  1678,     0,  1679,     0,     0,     0,     0,  1688,  1093,
    4069             :      544,   559,   579,   542,   540,   293,   903,     0,   453,   582,
    4070             :      555,   555,   722,   747,  1491,   607,   601,   605,  1119,   593,
    4071             :      595,   594,   459,  1115,  1116,     0,   607,   813,     0,  1443,
    4072             :     1437,  1718,  1705,     0,     0,   812,     0,     0,     0,     0,
    4073             :     2244,  2250,  2253,     0,     0,     0,     0,  2652,     0,  1924,
    4074             :        0,     0,     0,  1686,  1692,     0,     0,     0,     0,   825,
    4075             :        0,   586,   585,   749,   458,   605,   607,   140,   510,  1114,
    4076             :        0,  1894,     0,  1435,  1742,     0,     0,   818,  2387,  2389,
    4077             :     2378,  1736,  1735,  2835,     0,     0,  1739,  1932,     0,  2381,
    4078             :        0,     0,  1935,     0,  1882,     0,     0,     0,   560,   545,
    4079             :      395,   607,   456,   596,   376,  1117,  1101,     0,  1436,     0,
    4080             :        0,   820,     0,   816,   819,   821,   822,     0,     0,     0,
    4081             :        0,  1925,  1926,  1935,     0,  2365,  1935,  1904,  1689,  1693,
    4082             :        0,  1690,   460,   607,     0,     0,     0,   784,     0,  1766,
    4083             :        0,     0,     0,  1921,  2381,  1934,  2391,  2365,     0,  1894,
    4084             :        0,     0,     0,   817,     0,     0,     0,     0,  1929,  2379,
    4085             :     2391,     0,  1102,   818,  1258,  1259,     0,  1738,     0,     0,
    4086             :     1927,  2379,  1691,     0,     0,  1930,  1928,   785,     0,  1931
    4087             : };
    4088             : 
    4089             :   /* YYPGOTO[NTERM-NUM].  */
    4090             : static const yytype_int16 yypgoto[] =
    4091             : {
    4092             :    -5950, -5950, -5950,  4198,  -387, -1747, -5168, -1141,  -767, -5950,
    4093             :    -5950,  -975,   561,  3443, -1136, -5950, -5950, -5950,  1356, -5950,
    4094             :    -5950, -5950, -5950,  4185, -5950, -2962, -5950, -5950,   208,  4125,
    4095             :    -1400,   168,  3752,  1712, -5950, -1016, -5950, -5950,  -656,     1,
    4096             :    -5950,  4128,   498, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    4097             :    -5950,  -786,  2176, -5950,  2276,  1510, -3518, -5950, -5950, -1543,
    4098             :    -3810, -5950,   758, -5950,   785, -4173, -5950, -4870,  -927, -5950,
    4099             :    -5950, -5950,  2166, -5950, -5950, -5950,  2113,  1300,  -273, -5950,
    4100             :    -5950, -5950, -5950, -5950, -5950,  -750, -5950, -5950, -1060,     4,
    4101             :     -658, -2963, -4373, -5950, -5950,   604,  -315, -1520, -5950,   800,
    4102             :    -5950,   801, -5950, -4892, -5950,   102, -2791, -2523, -5950, -5950,
    4103             :    -5950, -5950,  -285, -1529,  1549, -5950,  1612,  -527,   257,  -733,
    4104             :    -1157, -1128, -5950, -3096, -2867, -1027, -5950,  -166, -3621, -1125,
    4105             :     -752,  -749,  -910, -4428, -4953, -5950, -5950, -1059, -3836, -5254,
    4106             :    -5497, -4966, -5197,  1561, -5950,    81,   617, -5950,     6, -3687,
    4107             :    -3817,     7,   593, -5950,     8,    11, -5950,   609,  -679,  -976,
    4108             :    -1616, -5950,  -799, -5950, -5950, -5950, -3484, -5950, -5950, -5950,
    4109             :      171, -5950, -5950, -5950, -5950,   653, -5950, -5950, -5950, -5950,
    4110             :    -5950, -5950, -3237,  2147,  2149, -5950, -4371, -5950,  -957, -5950,
    4111             :      819, -3538,  1546, -5950, -5950,  1306,  4210,   639, -5950, -5950,
    4112             :    -5950, -5950, -5950, -5950, -1798, -5950, -5950, -5950, -5950,   108,
    4113             :     -246, -5950, -5950, -5950, -5950, -5950, -5950, -5950,    13, -5950,
    4114             :     1271,   583, -5950, -5950,  -556, -5950, -5950, -5950, -5950, -5950,
    4115             :    -5950, -1108, -5253, -1238, -1212, -5950, -3488, -5950, -5950, -5950,
    4116             :     -211, -5950, -5950, -5950, -5950, -5950,  -887, -5950,  1372, -4180,
    4117             :    -5950, -5950,   624, -5950, -5950, -5950, -5950, -5950,  -869,  -146,
    4118             :     3398, -5950,  -411, -5950, -5950, -5950,  -147, -5950, -5950, -5950,
    4119             :    -5950, -5950,  -522, -1270,  5242,  4596, -1126, 16399,  -842,  -557,
    4120             :    -5950, -5950, -5950, -2783, -5950, -5950, -4283, -5950,  5233,  2363,
    4121             :     1642,    16, -5950,   -12,   103,  4028, -5950,  1242, -1173, -3155,
    4122             :      587,  -370, -5950, -5950, -5950,   586, -5950, -1961, -5950, -5950,
    4123             :    -5950, -5950, -4165,    20, -5950, -4438, -5258, -4669, -4210, -1071,
    4124             :    -5950, -4508, -5233, -4143, -5950,  2189, -5950, -5950,  -553,  -192,
    4125             :     3366, -5950, -1495,  2542, -1415, -5950, -2519,   647,  1728,  3373,
    4126             :    -3300,  -113,  3369, -3043, -5950,  -691,  1312, -5950,  -235, -3844,
    4127             :    -5950, -5950, -5950, -2804,  -498, -5950, -5950,  1582, -1110, -5950,
    4128             :    -5950, -5950, -5950,  -643,  3374,  -209, -5950, -5950,  4569, -5950,
    4129             :    -5054, -5950,  4540, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    4130             :    -5950, -5950, -1503,  1481, -5950,  -792, -5950, -5950,  2296,   861,
    4131             :    -5950, -5950, -5950, -5950,  1574,  -376, -5950, -5950, -5950, -5950,
    4132             :    -5950, -5950, -5950,  -849, -1091, -5950, -5950, -5687, -5950, -5950,
    4133             :    -5950, -5950, -5950,  2520,  -961,  -759,  4445,  -210,    27, -5466,
    4134             :    -5950, -5950, -1161, -5950,  3780, -5950, -5950, -5950, -5950, -5950,
    4135             :      646,   651, -5950, -5950, -5950, -5950, -4496, -5950, -5950, -5128,
    4136             :    -5950, -5950,  2284, -5950, -5950,  1447,     5,  3489, -5950, -5950,
    4137             :    -5950,    -9, -5950, -5950, -1023,  2637, -5950, -2394, -5950,  -582,
    4138             :    -5950, -5950, -1915,    31, -4426, -5950,    60, -5950, -5950, -5123,
    4139             :    -1010,   441, -5950, -5950, -4145, -5950, -5950,  -745, -5950,    61,
    4140             :    -5950, -5950, -5950, -5950, -5110, -5950,    69, -5665,  1016, -3383,
    4141             :    -5950,    15, -5950,  -310, -5950, -5950,  -312, -5950, -5950, -5950,
    4142             :    -4166,    33,   122, -5950, -5950,    82,   382,   -46,   -30,   -26,
    4143             :       21,   188,  3897, -5950, -5950, -5950, -5088,  3944, -5950,     9,
    4144             :     -863,  5284,  5286, -5950,  -924,  -144,   600,  1835,  -680, -2638,
    4145             :     3849,  3864, -5950,  1821,  2641, -2461, -2459, -5950,  -913,  -720,
    4146             :     -523, -5950, -5950, -5950, -5950, -1502,  -669, -2641, -5950,  3865,
    4147             :    -5950, -5950, -5950, -2366, -3421, -3251,  1860, -3335, -3172, -5950,
    4148             :     1100,  1081,  -875,    32,    43, -1485,  -802,  1890, -5950, -5950,
    4149             :     1867,  -245, -5950, -5950,  -242, -3332,  1038, -5950, -4621, -2848,
    4150             :     1873, -1025,  -699, -5950,  -843, -5950,  -496,  1880, -5950, -4102,
    4151             :    -1057, -5950, -3618, 10883,  3921,  -846, -5950, -5950,  -800,  8724,
    4152             :    -5950, -5950, -5950, 10620, 10665, -5950, -5950, 10916, 12045, -5950,
    4153             :     -528, 12518,  7144,  -801, -1950,   401, 13586, 18285, -1965,  2743,
    4154             :      365, -5950, -2991, -1549, -5950, -5950, -5950,  -208,  1196,   804,
    4155             :    -5950, -5950, -4684, -4485, -5950,  2771, -1894, -5950,  -495,  1953,
    4156             :     -492, -5950, -5950, -5950, -3022, -5633, -3190,  2778, -5950, -5950,
    4157             :    -5950,  -199, -5950, 18053, -3284, -5950,  -785, -1032, -1609,  3285,
    4158             :    -3110, -1924, -5950, -5950, -5950, -3138, -5950, -5950, -5950,  -717,
    4159             :     1979, -5950, -5950,  2108, -5950, -5950, -5950,  -982,  2344,  -737,
    4160             :    -1196,  1984, -4533, -5950,  -431, -4545, -5058, -5950, -5574, -5218,
    4161             :    -1897, -1034, -3042, -5949, -1935,  1997, -3135, -5950, -1948,  2077,
    4162             :     1286, -5950,  1217, -5950,  4466,  -796,  2786,  -804, 16099,  -689,
    4163             :    10414, -1299, -5950,  1178, -4921,  6287,  6555,    36,  -119,  6314,
    4164             :     -608,  2703,  2820, -5950, -5950,    -6,  8160,  -662,  -876, -5950,
    4165             :     4723, 14731, 15031, -3735, -5950
    4166             : };
    4167             : 
    4168             :   /* YYDEFGOTO[NTERM-NUM].  */
    4169             : static const yytype_int16 yydefgoto[] =
    4170             : {
    4171             :        0,    57,    58,    59,    60,  1111,  1116,  1915,  1934,    61,
    4172             :       62,  1635,  3073,  2926,  3902,  3903,    63,    64,  1631,    65,
    4173             :       66,    67,    68,  1545,    69,  1887,  3087,    70,  2758,   853,
    4174             :      854,   855,  2623,  2624,  3018,  2625,  2613,  1397,  1833,  1567,
    4175             :      827,   828,  1527,  1568,    72,    73,  1391,  2604,    74,    75,
    4176             :       76,  1598,  1694,  1599,  1600,  1539,  5048,  5897,  3688,  2881,
    4177             :     3950,  3689,  3690,  4380,  4381,  3768,  4409,  4471,  5911,  5912,
    4178             :       77,  1710,  1711,    78,    79,  3055,  3868,  4524,  5441,  5442,
    4179             :     5709,   672,  5071,  5072,  5696,  5697,  5926,  6098,  6099,  3088,
    4180             :      703,  3945,  4609,  3893,  5143,  3894,  5144,  3895,  5145,  4938,
    4181             :     4939,  4369,  4370,  3879,  4556,  4557,  2091,  5084,  6239,  4558,
    4182             :     3896,  5104,  5744,  3897,  2847,  2773,  2774,  5454,  5371,  3122,
    4183             :     2006,  5369,  6222,  2004,  5644,  5723,  4923,  4924,  4445,  5949,
    4184             :     5950,  5951,  6245,  5106,  5149,  5150,  6135,  6136,  3948,  4615,
    4185             :     5156,  5501,  5721,  3646,    81,  3921,  3922,    82,   766,  1909,
    4186             :     4049,   767,  3125,   704,   768,  3089,    87,  3115,  5942,  3116,
    4187             :     1663,  2940,  4537,  4025,    88,  1139,  4332,  5526,  5804,  5805,
    4188             :      757,    89,  1895,    90,    91,  3068,  3886,    92,  2791,  3593,
    4189             :       93,    94,  3612,  3613,  3614,    95,  4566,  5462,  1601,  3677,
    4190             :     3678,  3679,  3680,  4401,    96,  1890,  3096,  3097,    97,    98,
    4191             :       99,  3227,  3228,   100,  3004,   101,   102,   103,   104,  4439,
    4192             :     5005,  5120,  3719,  3909,  4582,  5118,   105,  3872,  3090,  3143,
    4193             :     3983,  3984,  5524,  5796,  5797,  5798,  6000,  6280,  5800,  6002,
    4194             :     6157,  6004,  5095,  6432,  6433,  5781,  4321,  4901,   107,  5096,
    4195             :     5097,  5955,   108,  2789,   109,   110,  1864,  3061,  3062,  4538,
    4196             :     3132,  3958,  3959,  4595,  4596,   111,  3808,   112,  4981,  4982,
    4197             :      705,  5963,  5903,   113,   114,  4985,  4986,   115,   116,   117,
    4198             :      118,   119,   758,  1073,  1074,   760,  1194,  1195,  3554,  1156,
    4199             :      120,  2633,   121,  3848,   122,  1269,  5209,   123,   792,  1210,
    4200             :     1211,  3091,   125,   802,  3246,   804,  3211,  3212,  2022,  4029,
    4201             :     4030,  4683,   126,   127,  4033,  4034,  4690,  3224,   128,  1532,
    4202             :     2768,  2769,  4892,  3092,   706,  3639,  5626,  5365,  5627,  6146,
    4203             :     6345,  5366,  3498,  4277,   130,   707,  1573,  2830,  1162,  1163,
    4204             :     3136,  3963,  2738,  2739,  1733,  4636,  2741,  3965,  2742,  1506,
    4205             :     2743,  1149,  1150,  3971,  3972,  3973,  3974,  4632,  4642,  4643,
    4206             :     5518,  5789,  4639,  1883,  5512,  5513,   131,  1570,  2827,   132,
    4207             :      133,   134,  1614,   997,  1172,  1173,   135,   719,   720,   136,
    4208             :     5714,   137,  1152,   138,  5522,   139,   140,  1254,  1255,   819,
    4209             :      141,   142,  2851,  4383,   143,  1571,   144,   145,  3713,  3714,
    4210             :     4997,   146,   147,   148,  2912,  2913,   149,   150,   151,   152,
    4211             :      153,  6270,  6348,  6349,  6350,  4650,  6151,   154,  1242,   155,
    4212             :      156,   157,   158,   196,  1038,  1039,  1040,   950,  3093,  5503,
    4213             :      160,   161,  1528,  1529,  1530,  1531,  2763,   162,   163,   164,
    4214             :     3993,  3994,   165,   166,   167,   168,  1867,   169,   170,  5687,
    4215             :      171,   172,  1837,   173,   174,  1047,  1048,  1049,  1050,  1835,
    4216             :     3442,   666,   872,  1422,  1428,  1471,  1472,  1473,   176,   770,
    4217             :      177,  1245,  1078,   771,  1203,   179,   772,  2720,  3528,  4292,
    4218             :     4293,  4294,  4297,  5329,  4868,  5322,  5863,  5864,  5865,   773,
    4219             :     3524,   182,  2029,  3233,  3236,  3520,   774,  3534,  3535,  3536,
    4220             :     4301,   775,  5630,  5631,  5632,  5633,  5877,  6210,  6211,  6214,
    4221             :     6318,   776,   794,  1142,  3147,   777,  1356,   188,   189,   190,
    4222             :      930,   875,   876,  3447,  5584,  5836,   192,  2597,  3425,   811,
    4223             :     1477,   918,   919,   920,   939,  3028,  2686,  2687,  2711,  2712,
    4224             :     1486,  1487,  2699,  2703,  2704,  3511,  3504,  2692,  4271,  5609,
    4225             :     5610,  5611,  5612,  5613,  5614,  4857,  2707,  2708,  1489,  1490,
    4226             :     1491,  2716,   193,  2676,  3477,  3478,  3479,  4247,  4248,  6197,
    4227             :     4262,  4258,  4842,  5305,  3480,   864,  1240,  1498,  4850,  6199,
    4228             :     3481,  5294,  5295,  5589,  4267,  3490,  4288,  3933,  3934,  3935,
    4229             :     3482,  5846,  5847,  6194,  6195,  5591,  5592,  3483,  5838,  6368,
    4230             :     6369,  6408,  6445,  2744,  1451,   903,  1357,   904,  1464,  1358,
    4231             :     1438,   906,  1359,  1360,  1361,   909,  1362,  1363,  1364,   912,
    4232             :     1430,  1365,  1366,  1447,  1460,  1461,  1367,  1423,  5593,  1369,
    4233             :     1370,  1371,  3485,  1372,  4786,  5266,  5252,  3347,  3348,  2620,
    4234             :     5574,  4782,  4160,  4776,  2590,  2594,  5317,  5616,  5617,  3418,
    4235             :     4209,  4813,  5283,  5832,  6031,  6032,  6178,  1373,  1374,  1375,
    4236             :     3410,  2584,  1000,  1376,  4540,  2586,  3338,  3316,  1736,  3317,
    4237             :     2032,  2054,  3265,  3281,  3282,  3386,  3318,  3326,  3331,  3339,
    4238             :     3372,  1377,  3267,  3268,  4071,  2056,  1378,  1044,  1739,  1045,
    4239             :     1466,  3367,  5232,  5539,  5540,  5817,  5818,  5550,  5819,  5551,
    4240             :     5541,  4082,  4083,  6020,  3292,  3387,  4086,  3300,  3301,  4104,
    4241             :     4093,  3293,  1379,  4095,  1387,  1388,  1381,  2023,   865,  5301,
    4242             :     1198,  1820,   808,  1382,  1383,  1384,  1385,  1607,   971,  1165,
    4243             :     1166,   921,   923,   924,  2680,   662,   654,   973,  3681,  2587,
    4244             :      663,   656,   657,  1825,  2588
    4245             : };
    4246             : 
    4247             :   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
    4248             :      positive, shift that token.  If negative, reduce the rule whose
    4249             :      number is the opposite.  If YYTABLE_NINF, syntax error.  */
    4250             : static const yytype_int16 yytable[] =
    4251             : {
    4252             :      653,    71,   998,  1051,    80,   175,    83,    84,    85,  1735,
    4253             :      929,    86,   999,   106,   963,   184,   124,   805,  1492,   807,
    4254             :      129,   191,  1004,   813,   831,  1009,   769,   159,   821,   829,
    4255             :      833,   178,   836,   185,  1832,   829,   829,  1662,   866,  1392,
    4256             :      869,  1949,   191,  1105,  1380,   940,  2953,   925,   925,   925,
    4257             :     2846,  1443,  2875,  3645,   867,  1715,  1145,  1667,   796,  2845,
    4258             :      180,   181,  1143,  1826,   796,  1419,  1231,  1232,  1233,   183,
    4259             :     1197,  2003,  1237,  1478,  1463,  1480,  3521,  2831,  1727,  2051,
    4260             :     3522,  2858,   186,  3248,   951,  1434,  1435,   863,  1424,  2043,
    4261             :     2740,  1406,  4051,  1892,  3975,  1442,  4219,  1007,  4221,  1449,
    4262             :     1237,  4016,  4286,  1051,  3110,  1204,  2035,  4446,  3923,  3892,
    4263             :     2037,  1029,  1511,  2038,  2039,  1865,  4594,  4620,  3239,  1870,
    4264             :     3323,  3022,  3914,  3303,  1874,  4607,   803,  4338,  3264,  1418,
    4265             :      660,  4645,  4859,  1178,  1884,  3299,  4396,   711,  4398,   832,
    4266             :     2914,  2914,  3805,  4542,  2914,  1072,  4261,  1191,  1904,  4925,
    4267             :     4300,  5298,  4874,  4894,  2983,  2984,  1051,  2740,  4367,  3356,
    4268             :     4372,   942,  2822,  2672,  3773,   943,   934,  1821,  3129,  3287,
    4269             :     3291,  3294,  3295,   232,  5549,  3304,  3177,  3306,  3307,  1938,
    4270             :     5142,  1606,  1205,  5152,  1145,  5163,  1176,  1602,  2979,  1180,
    4271             :     1399,   653,   954,   954,  5505,  5103,   954,  1188,  5649,  5498,
    4272             :      965,  5624,   866,   826,  5237,  1001,  5238,  5727,   965,  1051,
    4273             :      860,   965,  1624,  4275,   866,  3011,   954,  1641,  1877,   866,
    4274             :     3547,  3549,  2822,   954,  4244,   866,  4965,  1661,  1574,  5134,
    4275             :     5310,  3428,  5312,  5466,  1901,  3430,  1693,  5151,   878,  2822,
    4276             :     3440,  3513,  5766,  4306,  4188,  3516,  1720,  5641,  4088,   852,
    4277             :     5779,  1834,  4191,  4604,  3851,  5494,  3854,  3855,  5367,  1485,
    4278             :     5724,  3859,  3860,  3861, -2586,  3863,  3864,  3865,  1022,  5977,
    4279             :     1488,  1051,  1569,   778, -2628,  2802,  3911, -2654, -2002, -2473,
    4280             :     4299,  5497,  4090, -2697,  5965,  1900,  5020,  3492, -2473, -2473,
    4281             :     5257, -2474,  3244,   670,  5689,  5690,  6012,  3882, -1994, -2438,
    4282             :    -2474, -2474,  4177,  1931,  1931,  5679, -2885,  1931,  4259, -1961,
    4283             :     4264,  4265,  6016,  1569, -1974, -2885, -2885,  1418,  1569, -2506,
    4284             :     1541, -2002,  4101,  2859,  4124,  3365,  2631, -1999,  2990,  4630,
    4285             :      778,  6161, -2590, -2019, -1989,  5113,  6163,   949,  3107,  5902,
    4286             :      717,  3684,  6314,   778,  1263,  2996,   717,  6013,  1212,  2112,
    4287             :     4053,  1857,   717,  1931, -2437,  1431,  1432,   717,  1862,  4559,
    4288             :      717,  1216,  1408,  3832,  2760,   935,  1441, -1933,  5717,  2849,
    4289             :     4687,   651,  1931,  2993,  1603,  2781,  4339,   778,  5945,  5811,
    4290             :      778,  2637,   187,  2610,  4640,  1603,   717,  4334,  1145,  1941,
    4291             :     2677,   778,   870,  5715,  6171,  1945,  2914,  3053,  1034,  6205,
    4292             :     3685,  2675,  2112,   187,  -150,  1956,  4124,  1500,   717,  1959,
    4293             :     -150,  3365,  3883,  1962,  2639,  1964,  5888,  1984,  5211,  5212,
    4294             :     5213,  1972,  5215,  5216,  5217,  5218,  5219,  1978,   937,  3071,
    4295             :     1981,  5114,  4978,   936,  2637,  1542,  1826,  6443,   928,  2970,
    4296             :     3363, -2434,   784,  3587,  5164,  1727,  6168,  5093,  1879,  3340,
    4297             :      668,  2683,   784,  1931,  1227,   784,  5640,  1931,   834,  1077,
    4298             :     1396,   784,  5254,  5854,  6272,  4867,   785,  2639,   778,  5459,
    4299             :     1235,  3076,  4043,  1481,  1541,  3463,   785,  5572,  4351,   785,
    4300             :     1034,  3495,  6141,  5656,  2679,   785,  3767,   999,  6018,  6237,
    4301             :     5364,  4469,   838,  1434,  1435,  1931,  1554,   784,  3240,  5998,
    4302             :     2611,  4124,  3225,  1035,  6129,  5370,  2779,   194,  4290,  5082,
    4303             :      784,  1018,  3445,  2907,  5979,  3686,  5794,  6479, -2651,  4688,
    4304             :     2849,   785,  4065,  5115,  1097,  1442,  1098,  2648,   937,  5946,
    4305             :     2931,  6491,  2850,  4530,   785,  1449,  5083,   999,  3446,   717,
    4306             :     4591,  5795,  1019,  4470,  5767,  3108,  6315,  4291,  2782,  5999,
    4307             :     3197,  1201,  6238,   195,  5899,   194,  4352,  6019,  4044,  4091,
    4308             :     5573,  1483,  1236,   194,  4979,  1099,  1957,  4178,  5375,  1036,
    4309             :     2105,  1109,  3496,   941, -2264,  3803,  2849,  3407,  5629,  5255,
    4310             :    -2283, -2264,  6272,  1123,  3408,  1035,  1821, -2283,  2977,  1542,
    4311             :     1947,  5460,  1826,  1947,  2849,  2065,  3077,  1457,   839,  4102,
    4312             :     2849,   195,   891,  3226,  2632,  2614,  1145,  3341,  5947,   195,
    4313             :     2626,  2626,  2048,  6444,  1932,  1932,  5755,  5094,  1932,  2106,
    4314             :      712,  1132,  1863,  2849,  3884,  1267,  1987,  2024,  1501,  3364,
    4315             :     2849,  3222,  1409,  1037,  3072,  4465,  2849,  2612,  2034,  2849,
    4316             :     2112,  3222,  1228,  6262,  5812,  2783,   718,  6373,  2653,  2600,
    4317             :     4339,  1036,  3026,  3222,  4179,  2044,  6075,  6360,  5937,  2876,
    4318             :     1054,  4689,  2860,  2674,  1932,  1042,   866,  3054,   954,  1043,
    4319             :      954,  4542,  2637,   954,  4335,  4980,  2861,   938,  2862,  -442,
    4320             :     1001,  2948,  6112,  1932,  2951,  1112,  1082,   954,  1405,  6072,
    4321             :     5603,  4560,   191,   954,  3687,  6407,  3020,  3021,  1543,  5000,
    4322             :     4069,  6316,  5116,  1613,  3064,  2639,  1236,  6272,  4641,  5718,
    4323             :     1410,  2958,  1236,  3366,  2726,  1037,  1863,   653,  3885,   929,
    4324             :     1274,  6014,  1260,  4124,  6140,  3109,   965,  4125,  4126,  4127,
    4325             :     1001,  1079,  1080,   965,  5333,  4631,   965,  3010,  2650,  1145,
    4326             :     1081,  3833,  2920,  4180,  2863,  2608,  2997,  1145,  1145,   871,
    4327             :     1266,  2809,   954,  1083,  1431,  1432,  6015,  6335,  6317,  2991,
    4328             :     1208,  2816,  2807,  4302,  1932,  3019,  1544,  5376,  1932,  5112,
    4329             :     1533,  2028,  6017,  5567,  1429,   671,  2998,  5117,  5385,  3260,
    4330             :     1933,  1940,  3588,  1863,  1944,   191,  6334,  6095, -2651,  1444,
    4331             :     1445,  6162,  1441,  4081,  2971,  2972,  6164,  3457,  1493,  4195,
    4332             :     2937,  4092,  5159, -2586,  2994,   866,  1932,  5972,  1446, -2473,
    4333             :     5160,  3027,  2717, -2628,  1256,  1209, -2654,  1214,  2893,  1218,
    4334             :     5007, -2474, -2697,  2718,  2892,  1222,  5011,  1042, -1994, -2438,
    4335             :     1955,  1043,  1444,  1445,  1386,  1386, -2885,   866,   829,  1433,
    4336             :     6386,  4103,   829,  4139,  1437,  3195,   790,   791,  2938,  1977,
    4337             :     3179,  1448,  2941,  2942,  1239,  1848,   866, -1999, -2506,   790,
    4338             :      791,   866,  2780,  2066, -1989,   999, -2651,  1386,  2583,  1844,
    4339             :     2108, -2590,  5975,  1849,  4930,  1850,  4932,  6254, -2651,  2826,
    4340             :     6223,  6224,  2598,  3205, -2437,  1534,  6264,  3433,  6421,  4542,
    4341             :     6437,  1863,  1633,   790,   791,  3220,  1604,  1605,  1726,  2877,
    4342             :      942,  2678,  4592,  4261,   943,  6490,  6283,  1604,  1605,  1042,
    4343             :     1239,  2655,  2656,  1043,  1386,  1225,  1634,  6496,  2580,  2581,
    4344             :     2582,  2583,  4136,  4137,  4138,  4139,  -150,  -150,   866,   713,
    4345             :     1980,  5536,  2826,    71,  1947,  4129,    80,   175,    83,    84,
    4346             :       85,   866,  1839,    86,  2978,   106,  1042,   184,   124,  2826,
    4347             :     1043,  4585,   129,   191,  4522,  4523,   866,  1526, -2264,   159,
    4348             :     6216,  3409,  3616,   178, -2283,   185,  4460,  4461,  3702,  4735,
    4349             :     4736,  4462,  4682,  5884,  2901,   866,  4740,  1474,  4592,  6228,
    4350             :      954,   954,  1137,  4604,   790,   791,  1947,  3063,  1515,   714,
    4351             :     1497,  4466,   180,   181,  3392,  3081,  4685,  2836,  4503,  4839,
    4352             :     3229,   183,  6337,  4843,  4911,  1548,  3274,  4970,  4682,   717,
    4353             :     4883,  6139,   829,   829,   186,  4134,  4135,  4136,  4137,  4138,
    4354             :     4139,  6133,  4130,  2801,  5344,  5070,  2950,  4308,  6113,  4309,
    4355             :      717,   715,  3694,   716,  4039,  1386,  1386,  1699,  3298,  4041,
    4356             :     5074,  3513,  1896,  5073,  4280,  4721,  3041,  3266,  4226,   653,
    4357             :     5345,   954,  1395,   187,  4798,   965,  1403,  2876,  1001,   965,
    4358             :     2027,   965,  1425,  6277,  6207,  4829,   954,  4831,  4832,  2679,
    4359             :     1931,  1535,  3870,  4517,  2878,  6208,  1516,   961,  3222,  4356,
    4360             :     1700,   717,  6385,  2595,  3979,  1897,   717,  6121,  4573,  1095,
    4361             :      866,   944,  6340,  6341,  5327,  1264,  4695,   954,   954,  2840,
    4362             :     1881,  6291,  1625,  6132,  3413,  2879,  4583,     3,     4,  5754,
    4363             :     5101,  6289,  1159,  1536,  5760,  6325,  2817,  1966,  3275,   866,
    4364             :      866,   866,  5870,   954,  1826,   653,  3486,   653,   653,  1274,
    4365             :     1517,  2880,  4124,  3230,  2690,  4101,  4125,  4126,  4127,  3393,
    4366             :     5824,  5418,  4090,  1724,  3394,  3518,   187,   928,  1537,   717,
    4367             :     4998,  4646,  4925,  2876,  2578,  2579,  2580,  2581,  2582,  2583,
    4368             :     1967,   954,  2899,   954,   954,  5419,  1051,  3717,  4303,  5520,
    4369             :     5128,  5183,  2874,   763,  6454,  6263,  3980,  3607,  3123,  6255,
    4370             :     4424,  6277,  3161,   945,   652,  6292,   826,  1685,  2876,  2876,
    4371             :     3168,  6440,  6375,    15,  4406,  3395,  1386,  3276,  3799,  5872,
    4372             :     1401,    35,  5861,   806,  1453,  5928,  4407,  5930,  3206,  5662,
    4373             :     3734,  5934,  5935,   667,  3217,  3218,  2818,  1626,  2842,  6423,
    4374             :     6041,  1538,  2005,  2606,  2005,  3119,  5873,  5862,   866,   191,
    4375             :      805,    20,  2923,  3800,  4131,  4132,  4133,  4134,  4135,  4136,
    4376             :     4137,  4138,  4139,  4647,  2770,  1518,  6478,  3718,  6149,  2691,
    4377             :     2917,   937,  3120,  2921,  2041,  3414,   866,  3362,  3519,  2876,
    4378             :     2047,  1274,  5031,  3695,  4124,  3261,  6241,  3263,  4125,  4126,
    4379             :     4127,  2843,  4696,  3270,  1386,  3277,  3608,  1701,  3278,  3284,
    4380             :     3285,  4574,  1898,  1454,  4040,  1274,  4791,  6293,  4124,  4042,
    4381             :     3181,  3308, -3012, -3012, -3012,  4425,  6342,  2877,  3735,  5871,
    4382             :     3871,  3328,  3617,  1249,  5958,  6040,  6277,  3343,  2900,   929,
    4383             :     1923,  2759,   941,  5496,   187,  5102,  1386,  3636,  1230,  3204,
    4384             :     5328,  4128,  2956,  3209,  3546,  5490,  5484,  6468,  3216,  5515,
    4385             :     1725,  3219,  5971,  1989,  5974,  1991,  3912,  1993,  3158,  1995,
    4386             :     5986,  1997,  1998,  1999,  4129,  1386,  1386,  1386,  2001,  1386,
    4387             :     3396,  5549,  3170,  3736,   944,  4121,  4122,  1968,  5957,  4539,
    4388             :     4141,  1455,  3231,  5825,  1456,  3176,  2106, -1794,  4926,  6384,
    4389             :     1386,  4108,  2876,  3847,  3469,   952,  5961,  5346,  4450,  5829,
    4390             :     6391,  1932,  3154,  3232,   964,  5969,  3223,  3703,  5973,  1702,
    4391             :     3156,  2844,   964,  2877,  1899,   964,  1250,  3279,  2028,   962,
    4392             :     2596,  4172,  4173,  1627,  3188,  3169,  5549,  5340,  3171,   866,
    4393             :     6209,  1096,  4102,  2635,  3175,  3981,  3737,  3842,   999,  4091,
    4394             :     6422,  1882,  4648,  1523,  2980,  2822,  1524,  1386,  2877,  2877,
    4395             :     3982,  4130,  5358,  1947,  1160,  6007,  6150,   947,    32,  5521,
    4396             :     3314,  5208,  2090,  6294,  6405,  1628,   945,  2684,  2685,  4637,
    4397             :     2689,   943,   943,  3525,   943,  6452,  5420,  3121,  3208,  2999,
    4398             :     5032,  5678,  3214,  3215,  3611,  2772,  3795,  3551,  2876,  1969,
    4399             :       40,  5880,  2878,  1386,  1646,  3835,  4129,  1386,  1386,  3568,
    4400             :     1629,  4426,  2775,  1457,  4224,  5874, -1961,  6469,   866,   866,
    4401             :      866,  2724,  6242,  1386,  5332,  3207,  1647,  4649,   946,  2877,
    4402             :     2953,  5299,  6299,  2879,  6154,  3080,  2764,  1453,  3796,    44,
    4403             :     2776,  1924,  5833,  2770,  3280,  6173,   829,  6460,  2765,  3140,
    4404             :     3012,  1131,  6450,  4427,   717,  1925,  5802,  3259,  3607,  2880,
    4405             :     3801,  5898,  5938,  2771,  2785,  2885,  2766,  1497,  1704,  1497,
    4406             :     3738,   778,  3141,  3797,  1705,  2786,  5830,  6183,  1648, -1794,
    4407             :     3486,  2813,  4251,    48,  2693,  3618,   829,   764,  4428,   954,
    4408             :     4983, -1795,  5463,  4130,  4463,  3802,  3429,    49,  2878, -1961,
    4409             :     2874,  3569,   866,  2848,  1914,  3638,  5831,  6243,  2618,  1251,
    4410             :     5769,   866,  1926,  5834,   954,  1132,  1454,  4130,  6123,  5302,
    4411             :      187,    50,  4120,  5173,  5306,  5770,   810,  5308,  1947,  2879,
    4412             :     1458,  3923,  2694,  2878,  2878,  3000,  6244,  3620,  4543,  4281,
    4413             :      765,  1001,  2877,   866,  4862,  3644,   829,  6330,  1826,  2916,
    4414             :     2916,  2619,  1252,  2916,  1253,  2880,  3704,  3608,  3460,  6260,
    4415             :     6261,  4252,  1526,   829,  2879,  2879,   866,  1526, -1106,   866,
    4416             :     3964,  1649,  4464,  4131,  4132,  4133,  4134,  4135,  4136,  4137,
    4417             :     4138,  4139,  -717,  1706,  4542,  4472,  4546,  3526,  2053,  6063,
    4418             :     2880,  2880,  5768,   954,  1455,  4253,  2874,  1456,  1947,  5759,
    4419             :     2695,  3739,  5087,  1133,  2878,  3607,  1863,  6316,  2062,  3740,
    4420             :     4254,   866,  3741,  2777,  3197,  6174,  2111,  1927,  3552,  2112,
    4421             :     5939,  3553,  4984,   954,   954,   954,   954,   866,  5088,  1650,
    4422             :      947,  2874,  2874,  4255,  1651,  2879,  3461,  3621,  2877,  1652,
    4423             :     3142,   866,  2767,  1526,  5803,  5139,  2740,  1526,  4549,  2696,
    4424             :     2740,  2637,  1386,  1386,  1386,  2952,  3119,  2787, -3012,    40,
    4425             :     2974,  2880,  4256,  5064,  2772,   816,  5139,  2103,  5068,  4458,
    4426             :      683,  1274,  5140, -1795,  4124,  6074,  3167,  3566,  4125,  4126,
    4427             :     4127,  5133,  3157,  3120,  2639,   999,   999,  6253,  1475,  1409,
    4428             :     1928,  1654,  5303,  5140,  5092, -1961,  4792,  1481,    44,  2788,
    4429             :     6212,  1034,  2874,  3199,  3608,  4131,  4132,  4133,  4134,  4135,
    4430             :     4136,  4137,  4138,  4139,  2697,  1274,  1457,  2878,  4124,  5130,
    4431             :     3742,  4282,  4125,  4126,  4127,  6331,  4863,  1821,  5771, -3012,
    4432             :    -3012, -3012,  4134,  4135,  4136,  4137,  4138,  4139,  6363,  1656,
    4433             :     5272,  3609,    48,    40,   685,  3611,  6189,  6364,  2879,  3819,
    4434             :     3150,   866,  2602,  4252,  -630,  1705,    49,  4174,  1457,  5449,
    4435             :     6387,  4257,   866,  1657,  4552,  4468,  3085,  1410,   982,  1707,
    4436             :      954,   954,  5296,  1134,  2880,   983,   984,   985,  5089,  1260,
    4437             :       50,  6213,    44,  3610,  1659,  1483,   954,  4253,  2943,   941,
    4438             :      941,  5085,   941,  1929,  1476,  2112,  3439,  3448,  5661,  3527,
    4439             :     2693,  3742,  4845, -3012,   866,  2916,  1035,  2876, -3012,  6333,
    4440             :     1135,  1708,  4553,  2878,   999,  2874,  1615,  4539,  4968,  1443,
    4441             :      954,   954,   954,   954,  6309,  4255,    48,  2603,  4554,   866,
    4442             :     6466,   952,  2886,  1458,   817,  1660,   866,  1484,   778,  3130,
    4443             :      964,  3517,  5693,   818,  2879,  4996,  1709,   964,  2694,  6310,
    4444             :      964,  3086,  6480,  3486,   653,  5304,  3486,   653,  1459, -3012,
    4445             :     2639,  5978,  6220,  6190,  3820,   837,  5086,   965,   965,  5964,
    4446             :     2880,  5341,  1036,  3200,  1136,  3197,  1137,  5141,  1001,  1001,
    4447             :     1138,  3662,   965,    56,  3197,   965,  4129,  1591,  5478,  5985,
    4448             :     3753,  6383,  3611,  1616,  3567,  4751,  4969,  4752,  6127,  1664,
    4449             :      954,   954,  5688,  6236,  3486, -1961,  3201,   954,  2776,   866,
    4450             :      784,  2874,  3486, -1961,   664,  1433, -1961,  1462,  2644, -1961,
    4451             :     3202,  1882,  3489,  5773,  2876,  2876,  2005,   696,  3691,   697,
    4452             :     4129,  5774,  4555,   954,   785,   965,  1037,   191,  3213,   965,
    4453             :      965,  1665,   866,   866,  2944,   954,  5342,  3663,  4942,  2945,
    4454             :      664,  3290,   866,  4257,  3715,  3664,   701,  6084,  3203,   866,
    4455             :     3245,  4896,   866,  3130,  3997,  2696,   805,   665,  3726,   805,
    4456             :     3250,  5801,  4302,  4130,  1386,  2854,  1386,  2855,  1082,  3633,
    4457             :     5534,  1386,  1386,  4943,   191,  6344,  5599,  4897,  1386,  1386,
    4458             :     1386,  1386,  1386,  1386,  1386,  1386,  1386,  1386,  1386,  1386,
    4459             :     1386,  3234,  4686,   933,  1386,   861,  1386,  1001,  1386,  1386,
    4460             :     1386,  1386,  1386,  1386, -3012,  2866,  1386,  4130,  1386,  1386,
    4461             :     4698,  3665,  1386,  1079,  1080,  5685,  3836,  3837,  3838,  3798,
    4462             :     2697,  1145,  1081,   873,  6085,  4539,  6191,  1386,  1386,  1386,
    4463             :     3189,  6192,  3190,  2856,  3191,  1083,  3192,  2877,  3193,  5686,
    4464             :     4898,  2867,  3194,  4753,  3715,  1386,  3644,  1666,  2740,  2924,
    4465             :     1439,  1440,  4374,  4350,  2927,  3923,  6131,  2953,  2740,  5465,
    4466             :     4273,  3754,  1980,  4710,  2112,  4860,  6148,  6193,  3249,  3757,
    4467             :     3752,  4944,  3760,  4722,  6130,  4734,  6461,  4168,  4726,  5476,
    4468             :     4747,  4748,  4749,  4750,  3941,   954,  4754,  4755,  4756,  4757,
    4469             :     4758,  4759,  4760,  4761,  4762,  4763,  2637,  3991,  5489,  3729,
    4470             :     6425,  3727,  5635,  3728,  5637,  1643,  5775,  5790,  3779,  4363,
    4471             :     3880, -3012,  5956,  1882,  5445,  4725,  3013,  3804,  4899,  6462,
    4472             :     4730,  4731,  4900,  2578,  2579,  2580,  2581,  2582,  2583,  2639,
    4473             :     3002,  4668,  1207,  2740,  3008,  1124,  3927,  3928,  3929,  3930,
    4474             :     5467,  3932,  4861,  3826,  5931,  3630,  3842,  1644,  5446,  5932,
    4475             :     4802,  4803,  4512,   952,  2877,  2877,  1481,  2962,  3014,   964,
    4476             :     1980,  2914,  1482,   964,  4505,   964,  3960,  4375, -1765,  6448,
    4477             :      948,  6451,  1125,  1502, -1765,  4131,  4132,  4133,  4134,  4135,
    4478             :     4136,  4137,  4138,  4139,  1101,  1248,  1102,  2963,  1512,  5468,
    4479             :     5685,  1124,  4016,  1386,  4467,  3770,  1646,  3771,  4681,   931,
    4480             :     5436,  3775,  5437,  5438,  5439,  5933,  5455,  1630,  5457,  1695,
    4481             :     1126,  3734,  2878,  5989,  5686,  1503,  1670,  6256,  1647,  4131,
    4482             :     4132,  4133,  4134,  4135,  4136,  4137,  4138,  4139,  1125,  1916,
    4483             :     1513,  1918,  1919,  4826,  3898,  6492,  2849,  1980,  1420,  6006,
    4484             :     1633,  4504,   932,  2879,  1483,  4682,  4278,  1386,  2857,  5485,
    4485             :     1504,  1696,   778,  6155,  5968,  1697, -1765,  4926,  1671,  4828,
    4486             :     1127,  4305,  5050,  5734,  1634,  1514,  4586,  4035,  4896,  2880,
    4487             :     1648,  4377,   988,   989,   990,   991,   992,   993,   994,   995,
    4488             :      996,  4913,  4972,  3789,  1636,  5051,  1698,  6156,   187,  3790,
    4489             :     6365,  4926,  2943,  1672,  4897,  6489,  1484,  1902,  5936,  3735,
    4490             :     1470,  4956,  3989,  1712,  1386,   793,  1716,  3995, -1765,  3996,
    4491             :     2874,   793,  6498,  3953,  4421,  6366,  1127,  5735,  6147,  4002,
    4492             :     5736,  1903,  4003,    40,  4004,  4005,  4616,  5737,  4007,  2878,
    4493             :     2878,  4024,  4010,  4251,  4011,   187,  1507,  4013,  5377,  6336,
    4494             :     4949,  1591,  1974,  1213,  1215,  1217,  5383,  3915,  1219,  1220,
    4495             :     1221, -1718,  5542,  2866,  3736,  5738,  4422,  4898,  1226,  1633,
    4496             :     2879,  2879,    44,  1649, -1718,  3082,  1975,  3024,  3025,  3289,
    4497             :    -1718,  6218,  3015, -2457,  1508,  5543,  6346,  -173,  1509,  5033,
    4498             :     5685,   949,  5544,  1634,  3016,  3112,  2880,  2880,  4158,  2867,
    4499             :     4312,  4423,   683,  3342,  4165,  1433,  5545,  2673,  3791,  4376,
    4500             :     4377,  4052,  -150,  5034,  5686,  1042,    48, -2438,  -173,  1043,
    4501             :     3899,  1646,  4252,  1510,  3017,  1274,  5739,  3737,  4124, -1718,
    4502             :       49,  1650,  4125,  4126,  4127,  4220,  1651,  2874,  2874,  5740,
    4503             :     4378,  1652,  5245,  1647,  5246,  4899,  4882,  4926,  4023,  4900,
    4504             :     5273,  1433,  5741,  2673,    50,   233,  4253,  2952,  2944,  1444,
    4505             :     1445,   669, -1718,  2945,  1444,  1445,  6062,  4123,  6169,   761,
    4506             :      763,  4254,  4653,    56,   957,  6170,   685,  4654,  1446,  4151,
    4507             :        3,     4,  2106,  1448,  4066,  5890,  5901,   835,   959,  4067,
    4508             :       15,  5905,  5906,  1654,  4255,  1648,  1673,   980,    40,  1386,
    4509             :     1386,  1386,  1386,  1386,  1386,  1386,  1386,  1386,  1633,  1386,
    4510             :     1433,  5081,  1462,  5167, -1718,  4175,  1623,  3600,  4654,   866,
    4511             :     1386,  1640,  1386,  4256, -1718,   981,  5296,   999,    20,   866,
    4512             :     1042,  1033,  1634,  3597,  1043,  3601,  3602,    44, -2430,  1827,
    4513             :     5546,  1656,  1828,  1042,  6453,  1230,  4150,  1043,  4152,  4153,
    4514             :     2052,  3738,    56,  4875,  3377,  3378,  3379,  3380,   866,  4206,
    4515             :     1386,  1092,  1674,   954,  1386,  1657,  2626,  1386, -2431,  1386,
    4516             :     3441,  4473,  1386,  1042,  1024,  1230,  1386,  1043,  1433,  -468,
    4517             :     2673,    48,  5695,  4231,  4232,  1041,  1659,  4340,  1649,  1986,
    4518             :     2036,  1085,  1828,  1828,  3792,    49,  3371,  2634,  3900,  3488,
    4519             :     1828, -1718,  1087,  4222,  1675,   866,   866,  1474,  1106,  3594,
    4520             :     2647,  1676,  -629,  2648, -1718,  1677,  1386,  1120,  2681,    50,
    4521             :    -1718,  1828,  4257,  4382,  3185,  1386,  1386,  2648,  1444,  1445,
    4522             :     3196,  3486,  4307,  3197,  1128,  3486,  3793,  1660,    56,   866,
    4523             :     4129,  3198,  3237,  3629,  3197,  3238,  1650,  3532,  1130,  3537,
    4524             :     3901,  1651,  5200,  1129,  1474,  1474,  1652,  3514,  3515,   696,
    4525             :     6320,   697, -1789, -1789,  5742,  6323,  6324,  5743,  5207, -1718,
    4526             :     5990,  3794,  2952, -1718,  1147,  3444,  4193,  1826,  1980, -1793,
    4527             :    -1793,  4268,  3739,  3570,  2674,  3573, -1792, -1792,  1878,   805,
    4528             :     3740,   805,  4955,  3741,  1151,  3449,  3538,  5547,  2648,  2648,
    4529             :     5324,  1579, -1718,  1145,  -468,  1386,  1158,  1580,  1654,  5548,
    4530             :     3627,  4602,  3709,  3628,  4251,  3710,   653,  5892,  5893,   965,
    4531             :     1001,   965,   965,  5230,  1167,   954,  3876,  4130,   866,  3877,
    4532             :     5235,  5236,  3529,  5135,  4015,    32,  3733,  3197,  6033,  6034,
    4533             :     3486,  4323,  1042,  1174,  4064,  1467,  1043,  2648,  4073,   829,
    4534             :     4079,  2648,  1582,  2648, -1718,  6464,  1656,    40,  6467,  4343,
    4535             :     3145,  2848,  3146,  4945, -1718,  4952,  4080,    40,  4912,  2648,
    4536             :     5886,  4929,    40,  6179,  6180,  3650,   866,  3615,  1185,   664,
    4537             :     1657,  1988,  3661,  4084,  1990,  4085,  1992,  1168,  1994,  4099,
    4538             :     1996,   866,  3835,  4252,  2000,  4110,    44,  1678,  2648,  4143,
    4539             :     4539,  1659,  2648,  6308,   926,   927,    44,  4697,  4926,  1583,
    4540             :     1192,    44,  4316,   866,   778,  4157,  1584,  3823,  2648,  1202,
    4541             :     1585,  6419,  4386,  1238,  4388,  2740,  4589,  4253,  4162,  4229,
    4542             :     3349,  4163,  2648,  3352,   866,  1679,  4561,  1229,  1234,  1680,
    4543             :       48,  4971,  4254,  4399,  6215,  4416,  4400,   829,  4404,  1586,
    4544             :       48,  4405,  1660,  4432,    49,    48,  4433,  1241,  4501,  4625,
    4545             :     1145,  4433,  4626,  1230,    49,  4255,  4327,  1244,  2111,    49,
    4546             :      954,  2112,  1246,   954,  1681, -3012, -3012, -3012,    50,  4628,
    4547             :     1247,  1682,  4629,  3724,  4659,  1587,  4772,  4660,    50,  4773,
    4548             :     4313,  4314,  4783,    50,  4256,  4784,  4211,    56,  4212,   866,
    4549             :      866,  4794,  4870,  2637,  2648,  4871,  4876,    56,  1257,  4877,
    4550             :     2638,  5860,    56, -1718,  3806,  6137,  3809,  3811,  4531,  1258,
    4551             :     1260,  4441,  5782,  1259,  4885,  4881,  4447,  5136,  3553,  3769,
    4552             :     3197,  3063,  6268,    29,  5202,  5242,  2639,  2028,  2648,  4131,
    4553             :     4132,  4133,  4134,  4135,  4136,  4137,  4138,  4139,  1386,  1386,
    4554             :     1386,  1262,  1261,  3371,  1386,  3373,  5279,  3374,  5335,  2648,
    4555             :     5361,  3553,   954,  5362,  5491,  1690,  1268,  5492,  4491,  1589,
    4556             :     3484,  1270,  3486,  3486,  4498,   954,  5528,  1404,  1407,  4660,
    4557             :     1590,  1386,  1042,   954,  3375,  1411,  1043,  3476,  4886,  6426,
    4558             :     1591,  1412,  4057,  4257,  4059,  4060,  2848,  3462,  3464,  3465,
    4559             :     5153,   866,  1592,  5564,  1413,  1421,  5565,  3913, -1718,  5146,
    4560             :      805,  5566,  5586,  5596,  2648,  5587,  1980,  5602,  6077,  6078,
    4561             :     4599, -1718,   954,  3924,  4213,  1417,  4214, -1718,  1274,  4872,
    4562             :     1426,  4124,   187,  3806,    40,  4125,  4126,  4127,   952,  5604,
    4563             :     4437,   952,  4599,   954,  1718,  3946,  1427,  1594,  1595,  3376,
    4564             :     5729,   964,   964,  5730,  5749,  2640,  5845,  3197,  5783,  1429,
    4565             :     2641,  5784,  4453,  4613,  3964,  4614,   964,  6482,  4054,   964,
    4566             :     1436,  5843,  5849,    44,  5844,  1980, -1718,  5852,  5868,  1719,
    4567             :     4599,  5869,  5920,  4926,   954,  5921,   954,  5960,   954,  5987,
    4568             :     2605,  1433,  5869,  6024,  5489,  6025,  4163,  6045,  2648,  6049,
    4569             :     6046,  5075,  1980,  5076,  4579,  3377,  3378,  3379,  3380, -1718,
    4570             :     1437,  2643,  3381,  3382,  1450,  1452,  2679,    48,  3383,   964,
    4571             :      999,  2005,  6050,   964,   964,  2648,  6058,  4887,  1467,  6059,
    4572             :     3942,    49, -1131,  4928,  4888,  6083,  4931,  6086,  3238,  4934,
    4573             :     3238,  4889,  6087,  6090,  2740,  3238,  2648,  6091,  1468,  6057,
    4574             :     2648,  1145,  1597,  1145,  1479,    50, -3011,  4562,  1494,  4564,
    4575             :     4661, -1718,  4663,  1495,  4665,  4691,  4593,  1496,  1462,  6092,
    4576             :     2644, -1718,  6093,  1575,  6269,   653,   954,  1577,   965,  4890,
    4577             :      965,   965,  6119,   954,  6185,  6120,  5815,  4599,  5816,  4704,
    4578             :     1386,  1727,  1546,  6200,  6202,  1386,  2648,  2648,  6137,  3365,
    4579             :     6217,  1578,  4891,  3197,  4926,  6232,   929,  6258,  6233,  5558,
    4580             :     6259,  6393,  1618,  6394,  3486,  4778,  1826,  1467,  1499, -1706,
    4581             :     4572,  3486,  4575,   683,  1505,  1572,  3486,  2111,  4274,  3486,
    4582             :     2112,  6307,  5554,  5555,  5857,  1145,  4822,  6343,  4824,  1515,
    4583             :     5869,  4634, -2475,  4129,  1386,  1386,  1386, -1104,  6389,  1386,
    4584             :     5288,  6390,  5290,  2679,   929, -3011,  1613,  1386,  1386,  1386,
    4585             :     1386,  6409,  2637,  4676,  6410,  4744,  2646,  1617,  6417, -3012,
    4586             :     4955,  4871,  1619,  1386,  1274,  3384,  1386,  4124,  1386,  1632,
    4587             :     1630,  4125,  4126,  4127,  1642,  6266,  6420,  3385,  1645,  2648,
    4588             :     1386,  1386,  1669,  6447,  1386,  2639,  6046,   685,  6449,  4771,
    4589             :     6457,  2648,  6495,  6458,  6497,  6410,  1686,  6458,  6499, -3011,
    4590             :     4844,  6410,  4847,  1001,  2719,  1386,  2722,  1386,  1687,  1386,
    4591             :    -1718,  1703, -3011, -1717,  5581,  1713,  5582,  1516, -3011,  4926,
    4592             :     4130,  5359,  4946,  1714, -3011,  1717, -1717,  1722,  1386,  1836,
    4593             :    -3011,  4210, -1717, -3011,  1723,   866,  1838, -3011,  1840,  1845,
    4594             :     4810,  1851,  1856,  1859,  1861,   687,  1866,  1869,  1871,   929,
    4595             :     1863,  4216,  4217,  4218,  1885,  1880,   866,  1886,  4192,  -137,
    4596             :       29,  1889,  1888,  2574,  1891,  4699,  1894, -3011,  1893, -3011,
    4597             :     1905,  1517, -3012, -3012, -3012,  2578,  2579,  2580,  2581,  2582,
    4598             :     2583, -1717,  1912,  1914,  3484,  1917,   653,  5699,  1921,  3488,
    4599             :     4249,   213,  1930,  1935,  4249,  4263,  4249,  4249,  1936,  1937,
    4600             :    -3011,   929,  1939,  1386, -3012,  1474,   935,  1942,  1386, -3012,
    4601             :     4181,  4908,  4182,  1943, -1717,  5180,  1946,  1947,  1954, -1766,
    4602             :      187,  1958,  1960,  1386,  1961, -1766,  1963,  2674,  1965,  1970,
    4603             :     1971,  1973,  1976,  1983,  5700,  1985,  1979,  3488,  1982,  4183,
    4604             :     2002,  4295,  2033,  2040,  4298,  3488,  2049,  3537,  2042,  3691,
    4605             :     2111,  4966, -3011,  2112,  2045,  2050, -3011, -1965, -1972,  5701,
    4606             :    -3012,    40, -3011,  2059,  2057,  5056, -1717,  2058, -1962,  5069,
    4607             :      696,  2060,   697,  2061,   936,    56, -1717,  3715,  5702, -3012,
    4608             :     2063,  2064,  2065, -1131,  5703,  2637,  1518, -1963,  1386,  2067,
    4609             :     2068, -1966, -3012,  5807,  2069,  2070,   700,  3486,  2071,  1878,
    4610             :       44, -1964,  2072,  2073,  3376,  2074,  5704, -1766,  5061,  2075,
    4611             :     5705,  2076,   954,   954,  5821,  2077,  2078,  6424,  2639,  2644,
    4612             :     2079,  2080, -3011,  2082,  2083,  5706,  2084,  2085,  2086,  2087,
    4613             :     2088,  2089,  4131,  4132,  4133,  4134,  4135,  4136,  4137,  4138,
    4614             :     4139,  2092,  2090,  2093,    48,  5842,  2094,  2095,  1386,  2096,
    4615             :     2097,  2098,  1519,  2099,  2589,  4995,  4362,  2593,    49, -1766,
    4616             :     3377,  3378,  3379,  3380,  2595,  2591,  4130,  4184,  2596,   937,
    4617             :     2609,  2605,  2621,  4185,  2629,  2651,  2657,  3366,  2111,  2652,
    4618             :     2659,  2112,    50,  2660,  2663,  2113,  2114,  2115,  2666,  2664,
    4619             :     1520,  4801,  2667,  2668,  1521,  2669,  2670,  2675,    35,  4274,
    4620             :     1482,    56, -1444,  2636, -1444,  1484,  4410,  2713,  2715,  2725,
    4621             :     2682, -3011,  2727,  2637,  2728, -3012,  2729,  2730,  2746,  2747,
    4622             :     2638,  2748,  2749,  2750,  2103, -1717,  2673,  2751,  2752,  1522,
    4623             :      866,  5707,  2753,  2754,  2755,  2756, -3011, -3012, -3011, -3011,
    4624             :     2916,  2762, -3012,  2778,  2784,  2804,  2639,  2808,  2811,  2790,
    4625             :     2812,  2810,  2814,  2815,  2828,  2833,  2832,  2834,  2852,  2853,
    4626             :    -3011,  2868,  2870,  2871,  1523,  2872,  2864,  1524,  2873,  2874,
    4627             :     2882,  2883,  2103,  2111,  2884,  2889,  2112,  5511,  3486,  2887,
    4628             :     2113,  2114,  2115, -3011,  2888, -3011, -3011,  5708,  2898,  2908,
    4629             :     2922,  2894,  2932, -3012,  2895,  2904,  3371,  2905,  2636,  3486,
    4630             :     2918,  2939,  2946,  2949,  2964,  1591,  2975,  2966,  2637,  2919,
    4631             :     2925,  2968,  4202,  2928,  2976,  2638,  2992,  2929,   938,  1525,
    4632             :     3001,  3023, -3012,  2973,  3035,  3037,  3038,  2934,  3039,  4035,
    4633             :     4186,  2935,  2947,  3486,  2578,  2579,  2580,  2581,  2582,  2583,
    4634             :     2954,  2639,  4187,  2955,  3030,  2960,  2961,  3040,  2967,  1386,
    4635             :     2969,  2981,  2644,  2982,  2995,  1386,  3044,  3484,  3006,  3045,
    4636             :     3484,  3046,  3052,  3048,  3051,  2640,   954,  3049,  3050,  3057,
    4637             :     2641,  3056,  3058,   652,  4237,  3059,  3066,  4243,  4131,  4132,
    4638             :     4133,  4134,  4135,  4136,  4137,  4138,  4139,  3067,   678,  3070,
    4639             :     3075,  3083,  3094,  2642,  2306,  3098,  1666,  3111,  5197,  3099,
    4640             :     3102,  3114,  3117,   866,   866,   866,  3118,  3127,  3484,  3138,
    4641             :     2679,  3144,  3487,  3148,  3160,  3162,  3484,  3163,  3164,  5189,
    4642             :      866,  2643,  5191,  3131,  3135,  3476,  3153,  3210,  3178,   928,
    4643             :     3221,  3247,  3165,  3476,  1386,  3266,  3344,  3271,  3235,  3350,
    4644             :     2112,  3391,  3411,  3437,  3311,  3417,  3432,  3438, -3012,  3452,
    4645             :     3451,  5206,  2005,   866,   866,  3354,  3370,  3389,   866,  3416,
    4646             :     2640,  5267,  3436,  3453,  2373,  2641,  3435,  3450,  3454,  3455,
    4647             :      866,  3459,  1457,  3467,  5472,  3468,  3489,  3506,  3523,  3486,
    4648             :     2644,  3507,   936,  5146,  3508,  5108,  5109,  3494,  2642,  2306,
    4649             :      952,  3530,  3509,   964,  3542,   964,   964,  3531,  3543,  3545,
    4650             :     3571,  3562,  5192,  5193,  5194,  5195,  5196,  3574,  5253,  3576,
    4651             :     3579,  3584,  5314,  3589,  3603,  3590,  2643,  3595,  3592,  4623,
    4652             :     3619,  1401,  3640,  1405,  3624,  3626,   954,  3643,  3634,  3641,
    4653             :     3642,  3653,  3666,  3672,  3671,  3692,  3698,  3705,  3699,  3700,
    4654             :     3213,  4679,  3708,  3725,  3807,  3747,  3726,  3834,  3716,  3723,
    4655             :     3763,   866,  1882,  3822,  4619, -3012,  3746,   937,  3486,  2373,
    4656             :     3830,  3831,  3843,  3850,   866,  3856,  3857,  2578,  2579,  2580,
    4657             :     2581,  2582,  2583,  3862,  3878,  2644,  2646,  3867,  2645,  4808,
    4658             :     3858,  3889,  3890,  1386,  3904,  3908,  3910,  3906,  3918,  3931,
    4659             :     4656,  3936,  1386,  3937,  3938,  3939,  3940,  3925,  3944,  3949,
    4660             :     1239,  3947,  3951,  3952,  3955,  3956,  1386,  3961,  3976,  3977,
    4661             :     1386,  1386,  1386,  3986,  3978,  3987,  5443,  1386,  3988,  3990,
    4662             :     1386,  3992,  4006,  1386,  4008,  4012,  4009,  5889,  4014,  1386,
    4663             :     4017,  1386,  4018,  4019,  1386,  4020,  4021,  1980,  1549,  1386,
    4664             :     1386,  1386,  1386,  4027,  4032,  1386,  1386,  1386,  1386,  1386,
    4665             :     1386,  1386,  1386,  1386,  1386,  5347,  1977,  4022,  1386,  1386,
    4666             :     1386,  1944,  4038,  4026,  4036,  4037,  4045,  5381,  1386,  4050,
    4667             :     1236,  2646,  4048,  1386,  1550,   929,  4058,  1386,  4078,  4081,
    4668             :     4094,  4098,  4075,  2574,  3288,  1386,  4076,  4120,  1386, -2256,
    4669             :     1386,  4077,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,
    4670             :     2583,  4156,  4159,  4089,  4176,  4171,  1386,  4100,  4190,  1386,
    4671             :     1386,  4096,  5387,  5388,  1386,  1386,  4227,  4207,  4111,  1386,
    4672             :     4106,  1386,  4814,  4109,  4112,  4116,  3486,  4274,  4233,  3835,
    4673             :      866,   866,   866,  4118,  4119,  5318,  4142,  4147,  1551,  4148,
    4674             :     4815,  4816,  4817,  4818,  6300,  6301,  2648,  2706,  6303,  4200,
    4675             :     1386,  4249,  4263,  4249,  4249,  4274,  1386,  4249,  4155,  4201,
    4676             :     4837,  4241,  4270,  1082,  3488,  4170,   722,  4203,  3488,   191,
    4677             :     4250,  3251,  4285,  4283,  4852,  1552,  4289,  4287,  2574,  4296,
    4678             :     4304,  4205,  4266,  4228,  4234,  4310,  2066,  2575,  2576,  2577,
    4679             :     2578,  2579,  2580,  2581,  2582,  2583,  4235,   652,  4236,  4276,
    4680             :     4315,  1386,  4242,  4318,  4097,  4317,  5431,  5432,  1079,  1080,
    4681             :     4322,  4324,  4347,  4348,  4336,  4349,  3537,  1081,  1386,  4361,
    4682             :     4337,  4353,   725,  3252,  4355,  1553,  4359,  4360,  4365,  5356,
    4683             :     1083,  4368,  4366,  4371,  4385,  4373,  3487,  4384,  4387,   726,
    4684             :     3486,  4395,  4393,  4403,  4411,  4394,  4420,  4434,  4436,  4438,
    4685             :     4440,  4442,  4444,  4448,   187,  4449,  4452,  1059,  4454,  4455,
    4686             :     4459,  5421,  5422,  4456,  5424,  1554,  4457,  4474,  4476,  1555,
    4687             :     4477,  4478,  4475,  4927,  2005,  2848,  4481,  2005,  5456,  5580,
    4688             :     2005,  3253,  4936,  4490,  4479,  4484,  4486,  4488,  4493,  5511,
    4689             :      187,  4480,  4482,  4483,  4495,   729,  4497,  2990,  2993,  4485,
    4690             :     4487,  4960,  1556,  1557,   730,  4489,  4499,  4500,  4506,  4516,
    4691             :     4521,  4527,  4509,  5619,  4510,  4513,  4511,   731,  4529,  4565,
    4692             :     4570,  4577,  4571,  3254,  4580,  4581,  4584,  4588,  4598,  4599,
    4693             :     4601,  4608,  4617,  5414,  4611,  4618,  4621,  5527,  4622,  4624,
    4694             :     5529,  5530,  4638,  4652,  1558,  4274,  4655,  3486,    35,   952,
    4695             :     1062,  4662,   964,  1559,   964,   964,  5009,  4658,  4664,  4670,
    4696             :     5535,  4671,  1560,  4672,  4673,  4677,  4693,  4674,  4675,  4692,
    4697             :     4700,  1561,  4694,  4701,  4702,  4703,  4705,  4706,  4713,  1562,
    4698             :     4718,  4723,  4707,  4717,  4708,  4709,  4719,  4724,  3255,  2052,
    4699             :     4727,  4732,  1563,  4720,  4124, -2255,  4733,  4785,  4796,  4738,
    4700             :     4797,  1564,  4827,  4768,  5012,  4745,  1565,  4769,  4770,  4777,
    4701             :      735,  5053,  4800,  2953,  4811,  3769,  4823,  4825,  4833,  4840,
    4702             :     4836,  4841,  4848,  4838,  4849,  4853,  4854,  4855,  4856,  4864,
    4703             :     4858,  5474,  4867,  4869,  4873,  4893,  4904,  4884,  4914,  4907,
    4704             :     4905,  4906,  4915,  4917,   954,  4921,  5623,  4918,  4937,  4940,
    4705             :     4941,  4958,  4961,  4974,  4977,  3638,  4973,  4989,   954,  4975,
    4706             :     1386,  4976,  4987,  4988,  1566,  4990,  4991,  4992,   866,  5003,
    4707             :     5001,  5010,  5021,  5022,  5098,  5027,  5030,  5046,  5047,  5004,
    4708             :     5049,  5914,  4947,  5916,  5698,  2848,  5052,  5062,  5078,  5063,
    4709             :     5065,  5066,   213,  3256,  5067,  5090,   740,  5100,  5105,  5111,
    4710             :      866,  5119,  5126,  2103,  5132,  3488,  3924,  5125,  5138,  5131,
    4711             :     5148,  5154,  5155,  3806,  4543,  3486,  5165,  5174,  5176,  5190,
    4712             :     4544,  5198,  5147,  1066,  3222,  5204,  3257,  5172,  5171,  5184,
    4713             :      187,  5595,   866,   744,  4545,  3484,  5178,  5179,  5175,  3484,
    4714             :      745,  5205,  5595,   746,  1386,  1386,  5222,  5223,  5214,  5221,
    4715             :     5224,  5226,  3476,  5225,  2111,  1386,  3476,  2112,  5227,  5228,
    4716             :     5233,  5244,  4546,   747,  4547,  5234,  2005,   866,  5239,  5250,
    4717             :      652,  1068,  5282,   652,  5256,  5261,  5297,  5265,   749,   999,
    4718             :    -2257,  1069,  5259,  5260,   866,  5746,   751,  5278,  5292,  2637,
    4719             :     4548,  5316,  5307,  5320,  5300,  5293, -3012,  5321,  6038,  5311,
    4720             :     5331,  3258,  5925,  5336,  5334,  5339,  5319,  5363,  5343,  3487,
    4721             :     5337,  5364,  3487,  5378,  5379,  3966,  5380,  5382,  5368,  5157,
    4722             :     5389,   652,  2639,  5384,  4549,  1386,  5390,  5391,   756,   652,
    4723             :     3486,  5410,  5412,  5403,  5416,  5406,  3486,  5425,  5417,  1549,
    4724             :     5647,  1386,  5426,  5434,  3484,  5433,  5435,  5440,  6071,   655,
    4725             :     5444,  5447,  5451,  4550,  5452,  5453,  5461,  5464,  5469,  1386,
    4726             :     3487, -2774,  5473,  5477,  5479,  5488,  5471,  5493,  3487,  5495,
    4727             :     5470,  5483,  5499,  5500,  5502,  1550,  5504,  5506,  5668,  5517,
    4728             :     5508,  5507,  3197,  5523,  5525,  5532,  5533,  1386,  5559,  5569,
    4729             :     1386,  5570,  5579,  5588,   917,  6104,  6106,  5625,  1386,  1386,
    4730             :     5823,  5538,  5663,  5552,  5563,  1386,  1386,  5583,  5553,  5571,
    4731             :     1386,  5594,  5598,  5636,  5828,  1386,  5628,  5643,  1386,  1386,
    4732             :     5601,  5639,  5620,  5622,  5653,  1386,  5657,  5658,  5659,   866,
    4733             :      866,   866,   866,  3297,  3297,  4551,  5851,  5638,  5665,  1551,
    4734             :     4552, -3012,  5652,  2105,  5654,  5655, -3012,   653,  3324,  5660,
    4735             :     4249,  5671,  5713,  5672,  3488,  5676,  5691,  3345,  5682,  3488,
    4736             :    -2774,  3486,  3488,   653,  5683,  3806,  5684,  5313,  5719,  5720,
    4737             :     1386,  5089,  1001,  5722,  5725,  5728,  1552,  5732,  5733,  5752,
    4738             :     5753,  5757,  5762,  5764,  5780,  4295,  5785,  5799,  4553,  1386,
    4739             :     5881,  3537,  5791,  5793,  5792,  5808,  5809, -3012, -2776,  2111,
    4740             :     5826,  5338,  2112,  5813,  4554,  5835,  5859,   805,  5866,  5814,
    4741             :     5876,  5883,  5827,  5841, -2774,  5853,  5855,  5909,  5910,  5927,
    4742             :     5885,  3967,  5857,  5858,  5891,  5896,  1553, -2774,  6097,  5850,
    4743             :     5894,  5887,  5902, -2774,  2637,  2848,  1386,  5941,  5944, -2774,
    4744             :      655, -3012,  5908,  5952,  5948, -2774,  5919,  5954, -2774,   655,
    4745             :      974,  5374, -2774,  6010,  5962,  5967,  2644,   655,  5982,   974,
    4746             :      655,  5980,  5976,  5981,  5983,  6235,  5984,  2639,  5993,  5994,
    4747             :     1555,  5323,  5325,   974,  6005,  5995,  3484,  3484,  5996,  6001,
    4748             :     6003,  6011, -2774,  6021,  6022,  6109,  6026,  6035,  6036,  6044,
    4749             :     6037,  6042,  6052,  3476,  5231,  4208,  3769, -2776,  6060,  6064,
    4750             :     6065,  6067,  6068,  6069,  1557,  6082,  6102,  3769,  4555,  6114,
    4751             :     6116,  6118,  6122,  2111,  6111, -2774,  2112,  1386,  6125,   187,
    4752             :     6126,  6145,  5918,  6144,  1386,  6142,  6143,  6152,  6153,  6158,
    4753             :     6159,  6160,  6165,  6166,  6172,  6177,  6167,  6181,  6182,  6184,
    4754             :     4804,  6198,  5913,  6188,  6295,  6296,   954,  6196,  2637,    35,
    4755             :     6206, -2776, -3012,  6219,  3968, -3012,  1145,  6227,  6221,  6229,
    4756             :     6008,   954,  6112,  1560, -2776,  5698,  6113, -2774,  6247,  6248,
    4757             :    -2776, -2774,  1561,  6265,  6249,  6267, -2776, -2774,  6286,  6284,
    4758             :     2825,  2639, -2776,  6285,  6321, -2776, -3012,  6287,  6051, -2776,
    4759             :     6053, -3012,  1386,  1563,  6290,  6302,  6288,  6298,  6311,  6312,
    4760             :     6306,  6313,  1564,  6329,  6327,  6347,  6353,  1565,  6357,   653,
    4761             :     6359,  6358,  6361,  6362,  6371,  6374,  2848,  6396,  6354, -2776,
    4762             :     6376,  6397,  6400,  6395,  6398,  2005,  2111,  6399,  3969,  2112,
    4763             :     6415,  4302,  6427,  6429,  6418, -2019,  6438, -2774,  6430,  6442,
    4764             :     3924,  6455, -3012,  6316,  6444,  6471,  6456,  6472,  6488,  6475,
    4765             :     1469,  5787, -2776,   954,  4805,  3946,  6463,  6477,  6483, -3012,
    4766             :     6481,  2637,  6486,  6494,  1684,  1566,  1683,  4225, -3012,  3970,
    4767             :     3780,  2578,  2579,  2580,  2581,  2582,  2583,  1576,  3007,  3697,
    4768             :     4379,   866,  2628,  4964,   999,  4957,  6230,  3821,  3869,  4526,
    4769             :     5710,  6096,   866,  6328,  2639,  5107,   810,  5763,  4953,  4954,
    4770             :    -3012,  2644,  5450,  5745, -2776, -3012,  4357,  4320, -2776,  5940,
    4771             :     4274,  5372,  5669,  6378, -2776,  6322,  5645,  6379,  3484,  6117,
    4772             :     6339,  6115,   999,  6246,  4364,  3484, -2774,  5481,  5667,  5129,
    4773             :     3484,  5158,  5137,  3484,  5099,  6079,  3887,  6097,  3888,  4962,
    4774             :     5486,  4397,  3476,  4587,  1668,  1386,  5124,  3476,  5475,  5751,
    4775             :     3476, -2774,  4627, -2774, -2774,  1386, -3012,  5182,  1386,  6392,
    4776             :     5997,  1386,  1386,  1386,  6073,  6493,  6473,  5276,  5726,  4532,
    4777             :     5166,   187,   187,  5712, -2776, -2774,  6251,  5670,  5904,  5673,
    4778             :      759,   812,  1145,  1075,  2025,  5879,  1386,  1386,  4678,  5199,
    4779             :     1386,  5201,  6388,  3074,  3916, -2774,  5168, -3012, -2774, -2774,
    4780             :    -2774,  4311,  3548,  5788,  4644,  3137,  5991,  1386,  1146,  3133,
    4781             :     4496,  1386,  1186, -3012,  4993,  2644,  3818,  1386, -3012,  3149,
    4782             :     4443,  3488,  6271,  6428,  5185,  5313,  1414,  6377,  1386,  2761,
    4783             :     5618,  5186,  5326,   810,  6203,  3846,  1386,  3032,  4878,  3493,
    4784             :     5875,  5878,  4927,  2649,   840,  1386,   841,  5229,  3166,  4272,
    4785             :     4284,  2601,  6201,  3503,  6054,  4245,  2710,  4846,  4830,  4238,
    4786             :     5600,  4879,  5840, -2776,  5839,  4239,  6413,  6187,  6043, -3012,
    4787             :     2709,  6304,  4240,  6441,  2714,  5822,  4927,  1001,   954,  4779,
    4788             :      954,  3412,  2005,  6055,  2658,  4204,  3966,  6056, -2776,  3415,
    4789             :    -2776, -2776,  3330,  4198,  3845,  4070,  4196,  6009,  6446,  4189,
    4790             :     4105,  4728,  3427,  3491, -3012,     0,  1465,     0,   974,     0,
    4791             :     1549, -3012, -2776,     0,   965,  1001,  2578,  2579,  2580,  2581,
    4792             :     2582,  2583,     0,     0,     0,  6459,     0,   974,  2644,     0,
    4793             :        0,     0, -2776,   974,     0, -2776, -2776, -2776,     0,     0,
    4794             :        0,     0,     0,     0,     0,   974,  1550,     0,   652,     0,
    4795             :        0,  5913,   652,     0,     0,  3505,     0,     0,     0,   965,
    4796             :        0,   974,  5621,     0,     0,     0,   655,     0,  6319,     0,
    4797             :        0,   917,     0,  5098,     0,   655,   974,     0,   866,     0,
    4798             :        0,     0,   655,   866,   974,   655,     0,  3487,     0,     0,
    4799             :        0,  3487,  2848,     0,     0,     0,     0,   917,   974,     0,
    4800             :        0,     0,   866,     0,     0,     0,  5147,     0,   974,  5765,
    4801             :     1551,  3484,     0,     0,     0,     0,     0,     0, -3012,     0,
    4802             :      954,   866,  4927,     0, -3012,     0,     0,     0,     0,     0,
    4803             :     2578,  2579,  2580,  2581,  2582,  2583,     0,     0,     0,    71,
    4804             :      187,  6436,    80,   175,    83,    84,    85,  1552,     0,    86,
    4805             :        0,   106,     0,   184,   124,  6474,  1386,   652,   129,   191,
    4806             :        0,   974,  6380,     0,     0,   159,     0,     0,     0,   178,
    4807             :     5778,   185,     0,  1386,     0,  5750,     0,  1386,     0,  1386,
    4808             :        0,     0,   929,   655,   655,     0,     0,     0,     0,   974,
    4809             :        0,  1145,  3967,  1386,     0,     0,  3487,  1553,   180,   181,
    4810             :        0,   653,  6436,     0,  1386,     0,  5776,   183,  5848,     0,
    4811             :        0,  6416,     0,     0,   974,  1386,   655,  6381,  6382,     0,
    4812             :      186,     0,  1386,     0,     0,     0,     0,  6436,     0,     0,
    4813             :        0, -3012,     0,     0,     0,     0,     0,     0,     0,     0,
    4814             :      917,  1555,     0,  2578,  2579,  2580,  2581,  2582,  2583,     0,
    4815             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4816             :        0,     0,     0,   655,     0,  2005,     0,     0,     0,     0,
    4817             :        0,     0,     0,  1579,  1386,  1557,   974,     0,     0,  1580,
    4818             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4819             :     1386,     0,  3484,     0,  1688,     0,  1386,  1386,     0,     0,
    4820             :        0,   954,   954,   954,   954,     0,     0,     0,   999,  3476,
    4821             :        0,     0,     0,  3484,     0,     0,     0,     0,     0,     0,
    4822             :       35,     0,     0,     0,  1582,  1559,     0,     0,     0,     0,
    4823             :        0,     0,  1386,     0,  1560,     0,     0,     0,     0,     0,
    4824             :        0,   653,     0,  1561,     0,     0,     0,  3484,     0,     0,
    4825             :        0,  2825,     0,     0,     0,     0,     0,     0,     0,     0,
    4826             :        0,     0,     0,     0,  1563,     0,   866,     0,     0,  3488,
    4827             :        0,     0,     0,  1564,     0,     0,     0,     0,  1565,  1689,
    4828             :        0,  1583,     0,     0,   655,   655,  1822,     0,  1584,   652,
    4829             :      652,     0,  1585,   974,   866,     0,     0,     0,   655,  3969,
    4830             :        0,     0,     0,   917,   655,     0,     0,     0,   655,     0,
    4831             :      655,     0,     0,     0,   917,     0,     0,     0,     0,     0,
    4832             :        0,  1586,  1386,     0,     0,     0,     0,     0,  3487,  3487,
    4833             :      917,     0,     0,     0,  1386,     0,  1566,     0,     0,     0,
    4834             :     3970,     0,     0,  1386,  1386,  1386,     0,     0,     0,  2005,
    4835             :        0,     0,     0,     0,     0,  3806,     0,  1587,  1386,  5970,
    4836             :        0,     0,     0,     0,     0,     0,     0,  1386,     0,  1386,
    4837             :        0,  1386,  5618,     0,   655,   187,   655,   655,     0,     0,
    4838             :        0,     0,     0,  4927,     0,     0,     0,     0,     0,     0,
    4839             :     1386,     0,     0,  3484,     0,     0,     0,     0,     0,  2005,
    4840             :        0,  1001,     0,     0,     0,   866,   187,     0,     0,     0,
    4841             :     1386,  6226,     0,     0,     0,     0,     0,   974,     0,     0,
    4842             :      187,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4843             :        0,     0,     0,     0,     0,     0,     0,  1690,     0,     0,
    4844             :        0,  1589,     0,     0,     0,   655,  2005,  2005,     0,     0,
    4845             :        0,     0,  1590,     0,     0,     0,     0,     0,     0,     0,
    4846             :        0,     0,  1591,     0,     0,     0,     0,     0,  6061,     0,
    4847             :        0,     0,  3484,     0,  1592,     0,   954,     0,   974,     0,
    4848             :     6278,  6279,     0,     0,     0,     0,     0,   917,     0,   974,
    4849             :     6138,  1579,     0,     0,     0,     0,     0,  1580,     0,     0,
    4850             :        0,     0,     0,     0,     0,     0,   974,     0,     0,     0,
    4851             :     2103,   974,  1581,     0,     0,     0,  1691,     0,     0,  1594,
    4852             :     1595,     0,     0,   655,     0,     0,     0,     0,     0,     0,
    4853             :        0,   652,     0,     0,     0,     0,     0,     0,   652,     0,
    4854             :        0,  1386,  1582,   652,     0,     0,   652,  5309,     0,     0,
    4855             :        0,  1692,     0,     0,     0,     0,  1386,     0,     0,     0,
    4856             :     5848,     0,     0,     0,     0,   655,  1386,     0,     0,     0,
    4857             :     3487,     0,     0,     0,  6204,     0,     0,  3487,  3537,     0,
    4858             :        0,     0,  3487,  3324,  3324,  3487,     0,     0,  3324,     0,
    4859             :        0,     0,     0,     0,   655,   655,   655,   965,   655,  1583,
    4860             :        0,     0,     0,     0,     0,     0,  1584,     0,     0,   954,
    4861             :     1585,     0,     0,     0,     0,     0,  2005,     0,     0,   655,
    4862             :        0,     0,     0,     0,  1597,     0,     0,     0,     0,  3324,
    4863             :     3324,     0,     0,     0,     0,     0,     0,     0,     0,  1586,
    4864             :     3484,  2848,     0,     0,   974,     0,     0,     0,  1386,     0,
    4865             :        0,     0,   974,   974,     0,     0,     0,  3476,  4927,   187,
    4866             :        0,     0,     0,     0,     0,     0,   965,   965,  6281,     0,
    4867             :        0,     0,  1386,     0,     0,  1587,   655,     0,     0,     0,
    4868             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4869             :        0,     0,   191,     0,     0,  2005,  2005,  6297,     0,     0,
    4870             :        0,     0,     0,  1386,  1386,  1822,     0,  1386,     0,     0,
    4871             :     6305,     0,     0,     0,     0,     0,  2111,     0,     0,  2112,
    4872             :        0,     0,   655,  2113,  2114,  2115,   655,   655,  6252,     0,
    4873             :        0,  6273,  6274,     0,     0,  2005,     0,     0,     0,     0,
    4874             :     6275,   954,   655,  6352,     0,     0,     0,     0,   917,     0,
    4875             :        0,  2637,     0,  6276,  3484,  1588,     0,     0,  2638,  1589,
    4876             :        0,     0,  1549,     0,     0,     0,     0,     0,   187,     0,
    4877             :     1590,     0,     0,  6138,   954,   954,     0,     0,     0,  4927,
    4878             :     1591,     0,     0,     0,  2639,     0,     0,     0,     0,     0,
    4879             :        0,     0,  1592,  5458,     0,     0,     0,   653,  1550,  6484,
    4880             :     6485,     0,     0,     0,  1386,     0,     0,     0,     0,     0,
    4881             :      191,     0,  6370,     0,     0,   917,     0,     0,     0,     0,
    4882             :     1386,     0,     0,     0,   652,     0,  3537,     0,     0,   795,
    4883             :        0,  4295,     0,     0,  1593,   795,     0,  1594,  1595,     0,
    4884             :        0,  1386,     0,     0,     0,     0,     0,     0,     0,  6273,
    4885             :     6274,     0,     0,     0,     0,     0,   917,     0,  6275,     0,
    4886             :        0,  3484,  1551,  3487,     0,  2111,     0,     0,  2112,  1596,
    4887             :        0,  6276,  2113,  2114,  2115,     0,     0,  6401,  6402,   653,
    4888             :     6406,     0,     0,     0,     0,  5848,     0,     0,     0,   917,
    4889             :     1386,     0,     0,     0,     0,     0,     0,     0,     0,  1552,
    4890             :     2637,   954,     0,  2640,  4927,     0,     0,  2638,  2641,     0,
    4891             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4892             :        0,     0,     0,     0,  6370,     0,     0,     0,     0,     0,
    4893             :        0,  2642,  2306,  2639,     0,   191,     0,     0,     0,     0,
    4894             :        0,     0,  1597,     0,     0,     0,     0,     0,     0,  1553,
    4895             :        0,  1386,   653,     0,     0,     0,   974,     0,     0,  2643,
    4896             :        0,     0,     0,     0,     0,     0,     0,     0,   653,     0,
    4897             :    -2793,   655,   655,   655,  6273,  6274,     0,     0,     0,     0,
    4898             :        0,     0,     0,  6275,     0,   965,   965,     0,     0,  6487,
    4899             :        0,  6370,     0,  1555,     0,     0,  6276,     0,     0,     0,
    4900             :        0,     0,  2373,     0,     0,   652,     0,     0,  6370,     0,
    4901             :        0,     0,     0,     0,     0,     0,     0,     0,  2644,     0,
    4902             :        0,     0,     0,     0,     0,     0,   652,  1557,   187,  3484,
    4903             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4904             :        0,   972,     0,     0,  3487,     0,     0,     0,     0,     0,
    4905             :     1008,     0,  2640,   187,     0,     0,     0,  2641,     0,     0,
    4906             :      652,     0,     0,     0,  1030,  3487,     0,     0,     0, -2793,
    4907             :        0,   974,    35,     0,  2824,     0,     0,  1559,     0,     0,
    4908             :    -3012, -3012,     0,   917,     0,     0,  1560,     0,     0,     0,
    4909             :        0,     0,   721,     0,   917,  1561,     0,     0,   964,  3487,
    4910             :        0,   809,     0,  2825,     0,     0,  1822,     0,  2643,     0,
    4911             :      917,     0,     0,     0,  2646,     0,  1563,     0,     0,     0,
    4912             :        0,     0,     0, -2793,     0,  1564,     0,     0,     0,   974,
    4913             :     1565,     0,     0,     0,     0,     0, -2793,   974,     0,     0,
    4914             :        0,     0, -2793,   964,  3484,   974,     0,     0, -2793,     0,
    4915             :     3484, -3012,     0,     0, -2793,     0,     0, -2793,     0,     0,
    4916             :        0, -2793,     0,     0,   917,     0,     0,  2644,     0,     0,
    4917             :        0,  6351,     0,   655,     0,     0,   655,     0,     0,   917,
    4918             :        0,     0,   917,   917,     0,     0,   655,   655,  1566,   974,
    4919             :      974, -2793,     0,     0,     0,     0,     0,     0,     0,     0,
    4920             :        0,   655,     0,   974,   655,     0,   652,     0,     0,     0,
    4921             :        0,     0,     0,   917,   917,     0,   974,   974,     0,     0,
    4922             :        0,  2574,     0,     0, -2793,     0,     0,     0,     0,     0,
    4923             :     2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,
    4924             :        0,     0,     0,     0,     0,  3487,     0,     0,     0,     0,
    4925             :        0,     0,     0,     0,   655,     0,     0,     0,   655,   655,
    4926             :        0,     0,     0,  2646,     0,     0,     0,     0,     0,     0,
    4927             :        0,     0,     0,     0,     0,  3484, -2793,     0,     0,     0,
    4928             :    -2793,     0,     0,     0,     0,   652, -2793,     0,     0,     0,
    4929             :        0,     0,     0,   655,     0,   655,   187,     0,     0,     0,
    4930             :      655,   655,     0,     0,     0,     0,     0,   655,   655,   655,
    4931             :      655,   655,   655,   655,   655,   655,   655,   655,   655,   655,
    4932             :        0,     0,     0,   655,  3487,   655,     0,   655,   655,   655,
    4933             :      655,   655,   655,     0,     0,   655,     0,   655,   655,     0,
    4934             :        0,   655,     0,     0,     0,     0, -2793,     0,     0,     0,
    4935             :        0,     0,     0,     0,     0,   917,   655,   655,   655,     0,
    4936             :        0,     0,  1579,     0,     0,     0,  3297,     0,  1580,     0,
    4937             :     2574,     0,     0,     0,   655,     0,  1822,     0,     0,  2575,
    4938             :     2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,  3324,  3324,
    4939             :     3324,  3324,     0,     0,  3324,  3324,  3324,  3324,  3324,  3324,
    4940             :     3324,  3324,  3324,  3324,  1646,   810,     0,     0,     0,     0,
    4941             :        0,     0,     0,  1582,     0,     0,     0,     0,     0,     0,
    4942             :        0,     0,  4775,     0,     0,  5953,  1647,     0,     0,     0,
    4943             :        0,     0,     0,     0,     0, -2793,     0,     0,     0,     0,
    4944             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4945             :        0,     0,  4937,   652,     0,     0,     0,     0,  3324,  3324,
    4946             :    -2793,     0, -2793, -2793,     0,     0,     0,     0,     0,     0,
    4947             :     1583,     0,     0,     0,     0,     0,     0,  1584,  1648,  4947,
    4948             :        0,  1585,     0,     0, -2793,     0,  2781,     0,     0,     0,
    4949             :        0,     0,  3487,     0,     0,     0,     0,     0,     0,     0,
    4950             :        0,     0,     0,     0, -2793,  4835,     0, -2793, -2793, -2793,
    4951             :     1586,     0,     0,     0,     0,     0,     0,     0,  1100,     0,
    4952             :        0,     0,   655,     0,  1100,     0,  4948,     0,     0,     0,
    4953             :        0,  2111,     0,     0,  2112,     0,  1100,     0,  2113,  2114,
    4954             :     2115,     0,     0,     0,     0,     0,  1587,     0,  4949,     0,
    4955             :        0,     0,     0,     0,     0,     0,  2636,     0,     0,     0,
    4956             :        0,     0,     0,     0,     0,     0,  2637,   652,     0,     0,
    4957             :        0,  1649,     0,  2638,     0,     0,   655,     0,     0,     0,
    4958             :        0,  1579,     0,     0,     0,     0,   795,  1580,   795,     0,
    4959             :      795,     0,     0,     0,     0,     0,   795,  1223,  1224,  2639,
    4960             :        0,     0,  1688,     0,     0,     0,  3487,     0,     0,     0,
    4961             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4962             :        0,     0,     0,     0,     0,     0,  1690,     0,     0,  1650,
    4963             :     1589,     0,  1582,   655,  1651,     0,     0,     0,     0,  1652,
    4964             :        0,  1590,     0,     0,     0,     0,     0,     0,     0,     0,
    4965             :        0,  1591,     0,     0,     0,  2952,     0,     0,     0,  4950,
    4966             :        0,     0,     0,  1592,     0,     0,     0,     0,     0,     0,
    4967             :        0,     0,     0,     0,   652,     0,     0,     0,     0,     0,
    4968             :        0,     0,     0,     0,     0,     0,     0,  1689,     0,  1583,
    4969             :        0,  1654,     0,     0,     0,     0,  1584,     0,     0,     0,
    4970             :     1585,     0,     0,     0,     0,  2805,     0,     0,  1594,  1595,
    4971             :        0,     0,     0,  3487,     0,   914,     0,     0,  2640,     0,
    4972             :        0,     0,     0,  2641,     0,     0,     0,     0,     0,  1586,
    4973             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  1656,
    4974             :     2806,     0,     0,  1076,     0,     0,  2642,  2306,     0,     0,
    4975             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4976             :        0,     0,     0,  1657,     0,  1587,     0,     0,     0,     0,
    4977             :        0,     0,     0,     0,  2643,     0,     0,     0,     0,     0,
    4978             :        0,   964,     0,     0,  1659,     0,  4951,   795,     0,  4368,
    4979             :        0,     0,     0,  1144,   721,     0,     0,     0,     0,     0,
    4980             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  3324,
    4981             :        0,     0,     0,  1597,     0,     0,     0,  2373,   655,   655,
    4982             :      655,   655,   655,   655,   655,   655,   655,     0,   655,     0,
    4983             :        0,     0,     0,  2644,     0,  1660,  2645,     0,     0,   655,
    4984             :        0,   655,   652,     0,     0,  1690,     0,     0,     0,  1589,
    4985             :      964,   964,     0,     0,     0,     0,     0,   795,     0,     0,
    4986             :     1590,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4987             :     1591,     0,     0,     0,     0,     0,     0,     0,     0,   655,
    4988             :        0,  3487,  1592,   655,     0,     0,   655,     0,   655,  1243,
    4989             :        0,   655,     0,     0,     0,   655,     0,     0,     0,     0,
    4990             :        0,     0,  2874,     0,     0,     0,     0,     0,     0,  1265,
    4991             :        0,     0,     0,     0,     0,     0,  1822,  1389,   655,     0,
    4992             :     1398,  1144,  1400,     0,  3777,     0,     0,  1594,  1595,  2646,
    4993             :        0,     0,     0,     0,     0,   655,     0,     0,     0,     0,
    4994             :        0,     0,     0,     0,   655,   655,     0,     0,     0,     0,
    4995             :        0,     0,     0,     0,     0,     0,     0,   652,     0,  3778,
    4996             :        0,     0,     0,   652,     0,     0,     0,     0,     0,     0,
    4997             :        0,   974,     0,     0,     0,     0,     0,     0,   917,     0,
    4998             :        0,  6356,   917,   917,     0,     0,     0,     0,     0,   974,
    4999             :        0,     0,     0,   974,     0,     0,  3487,   974,     0,     0,
    5000             :        0,     0,  3487,     0,     0,     0,   974,     0,     0,     0,
    5001             :        0,     0,     0,     0,     0,     0,  1579,     0,     0,     0,
    5002             :        0,   974,  1580,     0,   655,     0,     0,     0,     0,     0,
    5003             :        0,     0,  1597,     0,     0,   655,  2574,   917,   655,  5258,
    5004             :      655,   655,     0,   917,     0,  2575,  2576,  2577,  2578,  2579,
    5005             :     2580,  2581,  2582,  2583,     0,   974,     0,     0,  4113,     0,
    5006             :        0,  4114,     0,  6404,     0,     0,     0,  1582,     0,     0,
    5007             :        0,     0,     0,     0,     0,   974,   974,     0,     0,     0,
    5008             :        0,     0,     0,     0,     0,     0,     0,     0,   652,     0,
    5009             :        0,   917,     0,     0,     0,     0,     0,     0,     0,     0,
    5010             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5011             :        0,     0,     0,  1822,   974,     0,     0,  1822,     0,     0,
    5012             :        0,     0,     0,     0,  1583,  1144,     0,  3487,     0,     0,
    5013             :        0,  1584,     0,     0,     0,  1585,  6404,     0,     0,     0,
    5014             :        0,   974,     0,  1822,     0,     0,     0,   974,     0,     0,
    5015             :        0,     0,  6470,     0,     0,     0,     0,     0,     0,     0,
    5016             :        0,   974,     0,     0,  1586,     0,     0,     0,   974,   964,
    5017             :      964,   974,     0,     0,  1579,     0,     0,   974,     0,     0,
    5018             :     1580,     0,     0,     0,  2111,     0,     0,  2112,     0,     0,
    5019             :        0,  2113,  2114,  2115,     0,     0,     0,   974,     0,     0,
    5020             :     1587,     0,     0,   974,     0,     0,     0,     0,     0,  2636,
    5021             :      974,   795,     0,     0,     0,     0,   795,   795,     0,  2637,
    5022             :        0,     0,     0,     0,   974,  1582,  2638,     0,     0,     0,
    5023             :        0,     0,     0,     0,     0,     0,     0,     0,   974,     0,
    5024             :        0,     0,     0,  1822,  2654,     0,     0,     0,     0,   974,
    5025             :        0,     0,  2639,  2661,     0,  2662,     0,     0,     0,  2665,
    5026             :        0,     0,     0,     0,     0,     0,  2671,   655,   655,   655,
    5027             :        0,     0,     0,   655,     0,     0,     0,     0,     0,     0,
    5028             :     1588,     0,  1583,     0,  1589,     0,     0,     0,     0,  1584,
    5029             :        0,     0,     0,  1585,     0,  1590,     0,     0,     0,     0,
    5030             :      655,   917,     0,     0,     0,  1591,     0,     0,     0,  1822,
    5031             :        0,     0,     0,     0,     0,     0,  2030,  1592,     0,     0,
    5032             :        0,     0,  1586,     0,     0,     0,     0,     0,     0,     0,
    5033             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5034             :        0,     0,   655,  1144,     0,     0,     0,     0,     0,     0,
    5035             :        0,     0,     0,     0,     0,     0,     0,   795,  1587,  2890,
    5036             :        0,     0,  1594,  1595,     0,     0,     0,   795,     0,     0,
    5037             :        0,  2640,     0,     0,   917,     0,  2641,     0,   917,     0,
    5038             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5039             :        0,     0,   914,     0,  2891,     0,     0,     0,     0,  2642,
    5040             :     2306,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5041             :        0,  1223,  1224,     0,     0,     0,     0,     0,   914,     0,
    5042             :        0,     0,     0,     0,     0,     0,     0,  2643,     0,     0,
    5043             :        0,     0,  2107,     0,     0,     0,     0,     0,  1690,     0,
    5044             :        0,  2109,  1589,     0,     0,     0,     0,     0,     0,     0,
    5045             :        0,     0,     0,  1590,   795,     0,     0,  2599,   795,   795,
    5046             :        0,     0,     0,  1591,   974,     0,  1822,  1597,     0,     0,
    5047             :     2373,     0,     0,     0,     0,  1592,  1144,     0,     0,  2616,
    5048             :     2617,   917,     0,   974,  1144,  1144,  2644,     0,     0,  2645,
    5049             :      974,     0,     0,     0,   655,     0,   917,   655,     0,   655,
    5050             :      655,   917,     0,     0,     0,     0,     0,  3324,     0,   655,
    5051             :        0,     0,     0,     0,   655,     0,     0,  3632,     0,     0,
    5052             :     1594,  1595,     0,     0,     0,     0,     0,     0,     0,     0,
    5053             :        0,   917,     0,     0,     0,     0,     0,     0,     0,     0,
    5054             :        0,     0,     0,     0,     0,     0,     0,  3005,     0,     0,
    5055             :        0,     0,  1596,     0,     0,     0,     0,     0,     0,     0,
    5056             :     3324,   914,     0,   655,   655,   655,     0,     0,   655,     0,
    5057             :        0,     0,     0,     0,     0,     0,   655,   655,   655,   655,
    5058             :        0,     0,  2646,     0,     0,     0,     0,  1822,     0,     0,
    5059             :        0,     0,   655,  1822,     0,   655,     0,   655,     0,     0,
    5060             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   655,
    5061             :      655,  1579,     0,   655,     0,     0,     0,  1580,     0,     0,
    5062             :        0,     0,     0,     0,     0,  1597,     0,     0,     0,     0,
    5063             :        0,  1579,     0,     0,   655,     0,   655,  1580,   655,     0,
    5064             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5065             :        0,     0,   795,     0,     0,     0,     0,   655,     0,     0,
    5066             :        0,  1579,  1582,     0,     0,     0,     0,  1580,     0,     0,
    5067             :        0,     0,     0,     0,     0,     0,     0,     0,   974,     0,
    5068             :        0,     0,  1582,     0,     0,     0,     0,     0,     0,  2574,
    5069             :        0,     0,     0,     0,     0,     0,     0,     0,  2575,  2576,
    5070             :     2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,     0,     0,
    5071             :        0,     0,  1582,     0,  4115,   655,     0,     0,   655,  1583,
    5072             :     3084,     0,     0,     0,   914,     0,  1584,     0,  3101,     0,
    5073             :     1585,   916,   655,     0,     0,   914,  3005,   655,     0,  1583,
    5074             :        0,  2957,     0,     0,     0,     0,  1584,     0,     0,  2965,
    5075             :     1585,   914,   655,     0,     0,     0,     0,     0,     0,  1586,
    5076             :        0,     0,     0,     0,     0,     0,   655,     0,     0,  1583,
    5077             :        0,     0,     0,     0,   655,     0,  1584,     0,     0,  1586,
    5078             :     1585,  3159,     0,     0,     0,     0,   917,     0,     0,   917,
    5079             :     -136,   917,     0,     0,     0,  1587,   917,     0,     0,     0,
    5080             :        0,     0,     0,     0,     0,     0,     0,     0,  3005,  1586,
    5081             :        1,   974,   974,     0,     0,  1587,     0,   655,     0,     0,
    5082             :        0,     2,  3324,     3,     4,     0,     0,     0,     0,     0,
    5083             :        0,     0,   974,     0,     0,   974,     0,     0,   917,     0,
    5084             :        0,     5,     0,     0,     0,  1587,   917,     0,     0,     0,
    5085             :        0,     6,     0,  3324,     0,     0,     0,     0,     0,     0,
    5086             :        0,     0,     0,     7,     0,     8,     9,  3272,  3273,     0,
    5087             :        0,   917,    10,     0,    11,  1690,     0,   655,     0,  1589,
    5088             :        0,     0,     0,     0,  3309,  3310,     0,    12,     0,    13,
    5089             :     1590,     0,     0,     0,     0,  1690,     0,     0,     0,  1589,
    5090             :     1591,     0,     0,     0,     0,     0,    14,     0,   914,    15,
    5091             :     1590,     0,  1592,     0,     0,  3355,     0,  1822,  1822,  1822,
    5092             :     1591,     0,     0,     0,    16,  1690,    17,     0,     0,  1589,
    5093             :       18,     0,  1592,     0,     0,     0,     0,    19,     0,     0,
    5094             :     1590,     0,   974,     0,     0,     0,     0,    20,     0,    21,
    5095             :     1591,   917,     0,   917,  3824,     0,    22,  1594,  1595,     0,
    5096             :        0,   974,  1592,     0,  3095,     0,     0,     0,  3100,     0,
    5097             :        0,     0,     0,     0,    23,     0,     0,  1594,  1595,     0,
    5098             :        0,     0,     0,   974,     0,     0,     0,     0,     0,  3825,
    5099             :        0,    24,     0,     0,     0,     0,     0,     0,     0,     0,
    5100             :        0,     0,     0,     0,  4341,     0,     0,  1594,  1595,  1596,
    5101             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5102             :        0,     0,  2111,     0,     0,  2112,     0,     0,     0,  2113,
    5103             :     2114,  2115,     0,     0,     0,     0,     0,     0,     0,  4342,
    5104             :        0,     0,     0,     0,     0,    25,    26,  2636,     0,   917,
    5105             :        0,    27,     0,     0,     0,     0,     0,  2637,     0,     0,
    5106             :        0,     0,  1597,     0,  2638,     0,    28,     0,  2615,     0,
    5107             :        0,     0,     0,   974,     0,     0,     0,     0,   655,     0,
    5108             :        0,     0,  1597,     0,   655,    29,     0,     0,     0,     0,
    5109             :     2639,     0,     0,   917,     0,     0,     0,     0,     0,     0,
    5110             :        0,     0,     0,     0,     0,     0,     0,  3324,     0,     0,
    5111             :        0,     0,  1597,     0,     0,     0,     0,     0,     0,     0,
    5112             :     1822,   917,     0,     0,     0,     0,   974,     0,   974,     0,
    5113             :        0,     0,     0,     0,    30,     0,     0,     0,  3283,     0,
    5114             :        0,   974,     0,   974,     0,     0,     0,     0,     0,    31,
    5115             :        0,     0,     0,     0,    32,    33,     0,    34,     0,     0,
    5116             :        0,     0,    35,   655,     0,     0,     0,     0,    36,   914,
    5117             :        0,    37,     0,     0,     0,     0,     0,     0,    38,     0,
    5118             :        0,     0,     0,     0,     0,    39,    40,     0,     0,   917,
    5119             :        0,     0,     0,    41,     0,     0,     0,    42,     0,     0,
    5120             :        0,     0,     0,     0,     0,     0,     0,     0,    43,  2640,
    5121             :      974,   917,     0,     0,  2641,     0,     0,     0,     0,     0,
    5122             :        0,     0,     0,     0,     0,    44,     0,     0,     0,     0,
    5123             :        0,     0,     0,   917,     0,     0,   914,  2642,  2306,     0,
    5124             :        0,     0,     0,     0,     0,     0,    45,     0,     0,     0,
    5125             :        0,     0,   974,     0,     0,     0,     0,     0,    46,     0,
    5126             :        0,     0,     0,     0,    47,  2643,     0,     0,     0,    48,
    5127             :        0,   974,     0,     0,     0,   974,     0,   914,     0,     0,
    5128             :        0,     0,     0,    49,     0,     0,     0,     0,     0,     0,
    5129             :        0,     0,     0,     0,     0,   905,   974,     0,     0,     0,
    5130             :        0,     0,     0,     0,     0,  6186,     0,    50,  2373,     0,
    5131             :      914,     0,   655,     0,     0,   917,     0,     0,     0,     0,
    5132             :        0,   655,     0,     0,  2644,     0,    56,  2645,     0,  -136,
    5133             :        0,     0,     0,     0,     0,   655,     0,     0,     0,   655,
    5134             :      655,   655,     0,     0,     0,     0,   655,     0,     0,   655,
    5135             :        0,     0,   655,     0,     0,     0,     0,     0,   655,     0,
    5136             :      655,     0,     0,   655,     0,     0,     0,   917,   655,   655,
    5137             :      655,   655,     0,     0,   655,   655,   655,   655,   655,   655,
    5138             :      655,   655,   655,   655,     0,     0,     0,   655,   655,   655,
    5139             :        0,     0,   917,     0,     0,     0,     0,   655,     0,     0,
    5140             :        0,     0,   655,     0,  1822,     0,   655,     0,   916,     0,
    5141             :        0,     0,     0,     0,   655,     0,     0,   655,     0,   655,
    5142             :     2646,     0,     0,     0,  2111,     0,     0,  2112,     0,     0,
    5143             :        0,  2113,  2114,  2115,   916,   655,     0,     0,   655,   655,
    5144             :        0,     0,     0,   655,   655,     0,     0,     0,   655,  2636,
    5145             :      655,     0,  3324,  3324,     0,     0,  3324,     0,     0,  2637,
    5146             :        0,     0,     0,     0,     0,     0,  2638,     0,     0,     0,
    5147             :     3456,  3458,     0,     0,     0,     0,  3466,     0,     0,   655,
    5148             :        0,     0,     0,     0,     0,   655,     0,     0,     0,     0,
    5149             :        0,     0,  2639,   655,     0,     0,     0,   655,     0,     0,
    5150             :        0,     0,     0,     0,   914,     0,     0,     0,  3512,  3512,
    5151             :        0,     0,     0,     0,     0,   914,     0,     0,     0,     0,
    5152             :        0,     0,     0,     0,     0,     0,     0,  2574,     0,     0,
    5153             :      655,   914,     0,     0,     0,     0,  2575,  2576,  2577,  2578,
    5154             :     2579,  2580,  2581,  2582,  2583,     0,     0,   655,     0,     0,
    5155             :        0,     0,  4166,   917,     0,     0,     0,     0,     0,     0,
    5156             :        0,     0,  3539,     0,     0,     0,     0,     0,     0,     0,
    5157             :      795,     0,     0,     0,     0,     0,     0,   916,     0,   974,
    5158             :     3555,     0,     0,     0,  3558,   914,     0,     0,  3561,     0,
    5159             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5160             :      914,     0,   655,   914,   914,     0,     0,     0,     0,     0,
    5161             :        0,  2640,  3580,     0,     0,     0,  2641,  2111,     0,     0,
    5162             :     2112,     0,     0,     0,  2113,  2114,  2115,     0,     0,     0,
    5163             :        0,     0,     0,     0,   914,   914,     0,     0,     0,  2642,
    5164             :     2306,     0,  2636,  1822,     0,     0,  3622,     0,  1822,   917,
    5165             :     1822,     0,  2637,     0,     0,     0,     0,     0,  3649,  2638,
    5166             :        0,     0,     0,     0,     0,     0,  1100,  2643,     0,     0,
    5167             :        0,     0,     0,     0,     0,     0,  1822,   917,     0,     0,
    5168             :        0,     0,     0,     0,     0,  2639,     0,     0,     0,  2111,
    5169             :     3434,     0,  2112,     0,     0,     0,  2113,  2114,  2115,     0,
    5170             :        0,     0,     0,     0,     0,  3682,     0,     0,     0,     0,
    5171             :     2373,     0,     0,     0,  2636,     0,     0,     0,     0,     0,
    5172             :        0,  1737,   974,     0,  2637,   974,  2644,     0,     0,  2645,
    5173             :        0,  2638,  3711,     0,     0,     0,     0,     0,  3720,     0,
    5174             :      916,     0,     0,     0,     0,     0,     0,   795,     0,     0,
    5175             :        0,   916,  3730,     0,     0,   795,     0,  2639,   795,  1100,
    5176             :        0,     0,  3743,     0,     0,     0,     0,   916,  3748,     0,
    5177             :      795,     0,     0,     0,     0,     0,   914,     0,     0,     0,
    5178             :        0,     0,     0,     0,     0,     0,     0,     0,  3761,   655,
    5179             :        0,     0,     0,     0,  3764,     0,     0,     0,     0,     0,
    5180             :        0,  3772,     0,     0,  2640,     0,     0,     0,     0,  2641,
    5181             :        0,     0,     0,     0,     0,  3787,   974,   974,     0,     0,
    5182             :      917,     0,  2646,     0,     0,     0,     0,   974,     0,  3813,
    5183             :        0,     0,  2642,  2306,   655,   655,     0,     0,  1144,     0,
    5184             :     1100,     0,     0,     0,   974,     0,     0,     0,     0,     0,
    5185             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5186             :     2643,     0,     0,     0,     0,     0,     0,   917,     0,     0,
    5187             :        0,     0,   917,   655,   655,     0,  2640,     0,     0,     0,
    5188             :        0,  2641,     0,     0,   655,     0,     0,     0,     0,     0,
    5189             :        0,     0,     0,     0,  1400,     0,     0,     0,     0,     0,
    5190             :        0,     0,     0,  2373,  2642,  2306,     0,     0,     0,     0,
    5191             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2644,
    5192             :        0,     0,  2645,     0,   916,   974,     0,     0,  1822,  2574,
    5193             :        0,     0,  2643,     0,     0,     0,     0,     0,  2575,  2576,
    5194             :     2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,     0,     0,
    5195             :        0,  3353,     0,     0,   655,     0,  1579,     0,     0,     0,
    5196             :        0,     0,  1580,     0,     0,     0,     0,     0,     0,     0,
    5197             :      655,     0,   905,     0,     0,  2373,     0,     0,     0,     0,
    5198             :        0,  1400,     0,     0,     0,     0,     0,     0,   655,     0,
    5199             :        0,  2644,     0,     0,  2645,     0,     0,     0,   905,     0,
    5200             :        0,     0,     0,     0,     0,  1400,     0,  1582,     0,     0,
    5201             :        0,     0,     0,     0,     0,  2646,   655,   795,     0,   655,
    5202             :        0,     0,     0,     0,     0,     0,     0,   655,   655,     0,
    5203             :      917,     0,     0,     0,   655,   655,     0,     0,     0,   655,
    5204             :        0,     0,     0,     0,   655,     0,     0,   655,   655,     0,
    5205             :        0,     0,     0,     0,   655,  4031,     0,     0,     0,     0,
    5206             :        0,     0,     0,     0,  1583,     0,     0,     0,     0,  3812,
    5207             :        0,  1584,     0,  3816,  4047,  1585,   655,     0,     0,     0,
    5208             :        0,  4031,     0,   655,     0,     0,     0,  2646,   655,     0,
    5209             :        0,   655,   655,     0,     0,     0,     0,     0,     0,   655,
    5210             :        0,     0,     0,     0,  1586,     0,     0,     0,     0,     0,
    5211             :     3849,     0,  3849,     0,  3849,  3849,     0,     0,   655,  3849,
    5212             :     3849,  3849,  2574,  3849,  3849,  3849,     0,     0,     0,     0,
    5213             :        0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,
    5214             :     1587,   905,     0,     0,  4107,     0,     0,   917,     0,     0,
    5215             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5216             :      974,     0,     0,     0,     0,   655,     0,     0,     0,     0,
    5217             :        0,     0,     0,     0,     0,     0,     0,  3926,     0,     0,
    5218             :        0,     0,     0,     0,     0,  2745,     0,     0,     0,     0,
    5219             :        0,     0,     0,     0,  2574,     0,     0,     0,     0,     0,
    5220             :        0,   917,  3954,  2575,  2576,  2577,  2578,  2579,  2580,  2581,
    5221             :     2582,  2583,     0,     0,     0,     0,  4528,     0,   974,  2111,
    5222             :     1690,     0,  2112,   917,  1589,     0,  2113,  2114,  2115,     0,
    5223             :      974,     0,     0,     0,     0,  1590,     0,     0,     0,     0,
    5224             :     4223,     0,   795,     0,  2636,  1591,   655,     0,     0,     0,
    5225             :        0,     0,  2745,   655,  2637,     0,     0,  1592,  4230,     0,
    5226             :        0,  2638,     0,     0,   974,     0,     0,     0,     0,     0,
    5227             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5228             :        0,     0,     0,     0,     0,     0,     0,  2639,     0,     0,
    5229             :        0,     0,     0,   916,     0,   917,     0,     0,     0,  4414,
    5230             :        0,     0,  1594,  1595,   905,     0,     0,     0,  4279,  4279,
    5231             :        0,     0,     0,     0,     0,   905,     0,     0,     0,     0,
    5232             :        0,   655,     0,     0,     0,     0,   916,     0,     0,     0,
    5233             :        0,   905,     0,     0,  4415,     0,     0,     0,   655,  1549,
    5234             :        0,     0,     0,  1822,     0,     0,     0,     0,     0,     0,
    5235             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5236             :        0,     0,   974,     0,     0,     0,     0,     0,     0,   655,
    5237             :        0,     0,     0,     0,     0,  1550,     0,     0,     0,     0,
    5238             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5239             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   914,
    5240             :        0,     0,     0,   914,   914,     0,  2640,  1597,  1737,  1737,
    5241             :     1737,  2641,     0,     0,     0,   917,     0,   917,     0,     0,
    5242             :        0,     0,     0,  4325,     0,     0,   722,     0,     0,     0,
    5243             :        0,   723,     0,     0,  2642,  2306,     0,     0,     0,  1551,
    5244             :        0,     0,     0,     0,     0,     0,     0,     0,   974,     0,
    5245             :        0,     0,     0,     0,     0,     0,     0,     0,   914,     0,
    5246             :        0,     0,  2643,     0,   914,     0,     0,     0,     0,   724,
    5247             :        0,     0,     0,     0,   655,     0,  1552,     0,     0,     0,
    5248             :        0,     0,   725,     0,   655,     0,     0,   655,   905,     0,
    5249             :      655,   655,   655,     0,     0,     0,     0,     0,     0,   726,
    5250             :        0,     0,     0,     0,     0,  2373,     0,     0,     0,     0,
    5251             :     1144,     0,   914,     0,     0,   655,   655,   727,     0,   655,
    5252             :      916,  2644,     0,     0,  2645,     0,  1553,     0,     0,     0,
    5253             :        0,   916,     0,  4412,     0,     0,   655,     0,     0,     0,
    5254             :      655,   728,     0,     0,     0,     0,   655,   916,     0,     0,
    5255             :      655,     0,     0,     0,     0,   729,   917,   655,     0,     0,
    5256             :        0,     0,     0,     0,   730,   655,  1554,     0,     0,     0,
    5257             :     1555,   655,     0,     0,   655,     0,     0,   731,     0,     0,
    5258             :      974,     0,   974,   732,     0,     0,     0,     0,     0,     0,
    5259             :      733,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5260             :        0,   916,     0,  1620,  1557,   655,     0,     0,     0,     0,
    5261             :      734,     0,     0,     0,     0,     0,   916,  2646,     0,   916,
    5262             :      916,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5263             :        0,     0,   917,   974,     0,     0,     0,     0,     0,     0,
    5264             :        0,     0,     0,   655,     0,  1621,     0,     0,     0,    35,
    5265             :      916,   916,     0,     0,  1559,     0,     0,     0,     0,     0,
    5266             :        0,     0,     0,  1560,  4507,     0,     0,  1144,     0,     0,
    5267             :      735,     0,  1561,     0,     0,     0,     0,     0,     0,     0,
    5268             :     1622,     0,     0,  1822,     0,   795,     0,     0,   655,     0,
    5269             :        0,     0,     0,  1563,     0,     0,     0,     0,     0,     0,
    5270             :        0,     0,  1564,     0,     0,     0,     0,  1565,  4576,     0,
    5271             :        0,     0,     0,     0,     0,   736,     0,     0,     0,     0,
    5272             :        0,     0,   914,     0,  2574,     0,     0,     0,   737,     0,
    5273             :        0,     0,     0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,
    5274             :     2582,  2583,   738,     0,     0,     0,  4715,     0,     0,   905,
    5275             :     1737,   655,   213,   739,   917,  4402,   740,     0,     0,     0,
    5276             :        0,     0,     0,     0,  1737,  1566,     0,  1737,     0,     0,
    5277             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5278             :        0,     0,     0,   741,     0,   655,   742,     0,     0,     0,
    5279             :      743,     0,   916,   744,     0,   914,     0,     0,     0,   914,
    5280             :      745,     0,   655,   746,     0,     0,   655,     0,   655,     0,
    5281             :        0,     0,     0,  4451,     0,     0,   905,     0,     0,     0,
    5282             :        0,     0,   655,   747,     0,     0,     0,     0,     0,     0,
    5283             :      655,   748,     0,   655,     0,     0,     0,     0,   749,     0,
    5284             :        0,   750,     0,  3005,   655,     0,   751,     0,     0,     0,
    5285             :        0,   655,     0,     0,   752,     0,   753,   905,     0,     0,
    5286             :        0,   754,  4680,     0,     0,   795,  4684,     0,     0,     0,
    5287             :        0,     0,     0,     0,     0,   755,     0,     0,     0,     0,
    5288             :        0,     0,     0,  4494,     0,     0,     0,     0,   756,     0,
    5289             :      905,     0,     0,     0,  1549,     0,     0,     0,     0,     0,
    5290             :        0,     0,   914,   655,     0,     0,     0,     0,     0,   917,
    5291             :        0,     0,     0,     0,   917,   917,     0,   914,     0,   655,
    5292             :        0,     0,   914,     0,     0,   655,   655,   974,     0,     0,
    5293             :     1550,  3849,     0,     0,     0,     0,     0,     0,     0,     0,
    5294             :        0,   974,   661,  4525,  4525,     0,     0,     0,   710,   661,
    5295             :        0,     0,   914,  4541,   762,     0,   661,     0,  1144,     0,
    5296             :     1144,   655,   661,     0,   815,     0,     0,     0,     0,     0,
    5297             :      655,     0,     0,  1822,     0,     0,     0,     0,     0,     0,
    5298             :        0,     0,     0,   877,   877,     0,     0,     0,     0,     0,
    5299             :        0,     0,     0,     0,  1551,     0,     0,     0,   655,     0,
    5300             :        0,     0,     0,     0,     0,     0,  4597,     0,     0,     0,
    5301             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5302             :        0,     0,     0,     0,     0,     0,     0,   917,   917,     0,
    5303             :        0,  1552,     0,     0,     0,     0,  2111,     0,     0,  2112,
    5304             :        0,  4633,  1144,  2113,  2114,  2115,     0,     0,     0,     0,
    5305             :        0,   655,  1822,     0,     0,     0,     0,     0,     0,     0,
    5306             :        0,  2636,     0,   655,     0,     0,     0,     0,     0,     0,
    5307             :        0,  2637,   655,   655,   655,     0,     0,     0,  2638,     0,
    5308             :        0,  1553,     0,     0,   905,     0,     0,   655,  1822,     0,
    5309             :        0,   917,     0,     0,     0,   905,   655,     0,   655,     0,
    5310             :      655,     0,     0,     0,  2639,     0,     0,     0,     0,     0,
    5311             :        0,   905,   655,     0,     0,     0,     0,     0,     0,   655,
    5312             :        0,  1554,     0,     0,     0,  1555,     0,     0,     0,     0,
    5313             :        0,     0,     0,     0,   956,     0,     0,     0,   960,   655,
    5314             :        0,     0,     0,     0,     0,     0,  1003,     0,     0,  1005,
    5315             :        0,     0,  1010,  1011,     0,  1014,     0,  1017,  1637,  1557,
    5316             :     1023,     0,  1025,     0,  1822,   905,     0,   974,     0,     0,
    5317             :     4909,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5318             :      905,     0,     0,   905,   905,     0,     0,     0,     0,     0,
    5319             :        0,   907,     0,     0,     0,     0,     0,     0,     0,     0,
    5320             :     1638,     0,     0,     0,    35,     0,     0,   914,     0,  1559,
    5321             :      914,     0,   914,   795,   905,   905,     0,   914,  1560,   655,
    5322             :        0,     0,     0,  2640,     0,     0,     0,  1561,  2641,     0,
    5323             :        0,     0,     0,     0,     0,  1639,   908,     0,     0,     0,
    5324             :        0,   795,     0,     0,     0,  4789,     0,     0,  1563,     0,
    5325             :        0,  2642,  2306,     0,     0,   795,     0,  1564,     0,   914,
    5326             :        0,     0,  1565,     0,     0,     0,   795,   914,     0,     0,
    5327             :      655,     0,     0,     0,     0,     0,     0,     0,  1737,  2643,
    5328             :        0,     0,     0,     0,     0,   655,     0,     0,     0,     0,
    5329             :        0,     0,   914,     0,     0,   655,     0,     0,     0,     0,
    5330             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5331             :        0,     0,   974,  5035,     0,     0,  5038,     0,     0,     0,
    5332             :     1566,     0,  2373,     0,     0,     0,   655,     0,     0,     0,
    5333             :        0,     0,     0,     0,     0,     0,   974,     0,  2644,     0,
    5334             :        0,  2645,  1223,  1224,  2111,     0,     0,  2112,     0,     0,
    5335             :        0,  2113,  2114,  2115,     0,     0,   905,     0,     0,     0,
    5336             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2636,
    5337             :        0,     0,   914,     0,   914,     0,     0,   655,     0,  2637,
    5338             :        0,     0,     0,     0,     0,     0,  2638,   655,     0,     0,
    5339             :        0,     0,     0,     0,     0,   655,   655,     0,     0,     0,
    5340             :        0,   655,     0,     0,     0,     0,     0,     0,     0,     0,
    5341             :        0,     0,  2639,     0,     0,  3544,     0,     0,  5121,  2745,
    5342             :     3550,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5343             :        0,   795,   655,   655,  2646,  3005,   655,     0,     0,     0,
    5344             :        0,     0,     0,     0,  2111,     0,     0,  2112,     0,     0,
    5345             :        0,  2113,  2114,  2115,   902,     0,     0,     0,     0,     0,
    5346             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2636,
    5347             :      914,     0,     0,     0,   916,     0,   974,     0,     0,  2637,
    5348             :      916,  4541,     0,     0,   795,     0,  2638,   910,     0,     0,
    5349             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5350             :        0,     0,   655,     0,     0,     0,     0,     0,   655,  4999,
    5351             :        0,     0,  2639,     0,   914,     0,  4031,     0,     0,     0,
    5352             :        0,     0,     0,     0,  5013,     0,   655,  5014,   916,  5015,
    5353             :        0,  2640,     0,   655,     0,     0,  2641,     0,     0,     0,
    5354             :        0,  2574,   914,     0,     0,     0,     0,     0,     0,   655,
    5355             :     2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,  2642,
    5356             :     2306,     0,     0,  4788,     0,     0,     0,     0,     0,     0,
    5357             :      655,     0,     0,     0,     0,  5055,     0,     0,     0,     0,
    5358             :        0,     0,     0,     0,     0,     0,     0,  2643,     0,     0,
    5359             :        0,  3849,     0,     0,     0,     0,  3849,     0,     0,     0,
    5360             :     1053,     0,     0,     0,     0,     0,     0,     0,   655,     0,
    5361             :      914,  1090,     0,   917,     0,  1094,     0,     0,     0,   655,
    5362             :        0,     0,  1107,  1108,     0,     0,  1114,     0,  1118,  1119,
    5363             :     2373,  2640,   914,   655,     0,     0,  2641,     0,     0,     0,
    5364             :     1822,     0,     0,  1141,     0,     0,  2644,     0,     0,  2645,
    5365             :        0,     0,     0,     0,   914,     0,     0,     0,     0,  2642,
    5366             :     2306,  1154,     0,     0,     0,     0,     0,     0,     0,     0,
    5367             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5368             :      655,   655,  1182,     0,  1184,     0,     0,  2643,     0,     0,
    5369             :        0,     0,     0,     0,  1200,     0,  5161,   655,     0,  4541,
    5370             :        0,  1822,     0,     0,     0,     0,  1737,     0,     0,     0,
    5371             :        0,     0,     0,     0,   655,   655,     0,     0,     0,     0,
    5372             :        0,     0,     0,     0,     0,     0,  1822,   661,     0,     0,
    5373             :     2373,     0,     0,     0,     0,     0,   914,     0,   916,     0,
    5374             :        0,     0,  2646,     0,     0,     0,  2644,   795,     0,  2645,
    5375             :        0,     0,     0,   795,     0,     0,     0,     0,   795,     0,
    5376             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5377             :        0,     0,     0,     0,     0,  5210,  5210,  5210,  5210,     0,
    5378             :     5210,  5210,  5210,  5210,  5210,  5400,  5401,     0,   914,     0,
    5379             :     5404,  5405,     0,     0,     0,     0,     0,     0,     0,     0,
    5380             :        0,     0,     0,     0,     0,     0,     0,     0,   877,  5397,
    5381             :        0,  2745,     0,   914,     0,  2745,     0,     0,     0,     0,
    5382             :        0,  5407,     0,     0,     0,     0,     0,     0,     0,     0,
    5383             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5384             :        0,     0,  2646,     0,     0,     0,     0,     0,     0,  2574,
    5385             :        0,     0,     0,     0,     0,     0,     0,     0,  2575,  2576,
    5386             :     2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,   907,     0,
    5387             :        0,  4895,     0,     0,     0,     0,     0,     0,     0,     0,
    5388             :     2111,     0,     0,  2112,     0,     0,     0,  2113,  2114,  2115,
    5389             :        0,     0,     0,  1540,   907,     0,     0,     0,  5289,     0,
    5390             :     5291,  2111,     0,     0,  2112,  2636,     0,     0,  2113,  2114,
    5391             :     2115,     0,     0,   908,     0,  2637,     0,     0,   916,     0,
    5392             :        0,     0,  2638,     0,     0,     0,  2636,     0,     0,     0,
    5393             :        0,     0,     0,   916,     0,     0,  2637,     0,   916,   908,
    5394             :        0,     0,     0,  2638,     0,     0,     0,     0,  2639,  2574,
    5395             :        0,     0,     0,     0,     0,     0,     0,     0,  2575,  2576,
    5396             :     2577,  2578,  2579,  2580,  2581,  2582,  2583,  1721,   916,  2639,
    5397             :        0,  4920,     0,     0,   914,     0,     0,     0,     0,   905,
    5398             :        0,     0,     0,   905,   905,     0,     0,     0,     0,     0,
    5399             :        0,     0,  1842,     0,     0,     0,     0,     0,     0,     0,
    5400             :        0,     0,     0,     0,     0,     0,     0,  1854,     0,  1855,
    5401             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  1858,
    5402             :        0,     0,     0,     0,     0,     0,  1868,     0,     0,     0,
    5403             :        0,     0,     0,     0,     0,     0,     0,   907,   905,  4031,
    5404             :        0,     0,     0,     0,   905,     0,     0,     0,     0,     0,
    5405             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5406             :        0,     0,     0,     0,     0,     0,     0,  2640,     0,  1920,
    5407             :      914,  1922,  2641,     0,     0,     0,     0,     0,     0,     0,
    5408             :        0,     0,   908,     0,     0,     0,     0,     0,  2640,     0,
    5409             :        0,     0,   905,  2641,     0,  2642,  2306,     0,   914,     0,
    5410             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5411             :        0,     0,     0,     0,     0,     0,  2642,  2306,     0,     0,
    5412             :        0,     0,     0,  2643,     0,  5428,  5429,     0,     0,     0,
    5413             :        0,  1157,     0,     0,     0,     0,     0,     0,  3849,     0,
    5414             :     3849,  3849,  3849,     0,  2643,   661,     0,   661,     0,   661,
    5415             :        0,   661,     0,   661,   661,   661,     0,  1157,     0,     0,
    5416             :      661,     0,     0,     0,   910,     0,  2373,  2111,     0,     0,
    5417             :     2112,  4031,  2026,  4031,  2113,  2114,  2115,     0,     0,     0,
    5418             :        0,     0,  2644,     0,     0,  2645,     0,  2373,     0,     0,
    5419             :      910,     0,  2636,     0,     0,     0,   795,     0,     0,     0,
    5420             :      907,     0,  2637,  2644,     0,     0,  2645,  5482,     0,  2638,
    5421             :        0,   907,     0,     0,     0,     0,     0,     0,     0,     0,
    5422             :        0,     0,  2111,  2745,     0,  2112,  3550,   907,  3550,  2113,
    5423             :     2114,  2115,     0,  2745,     0,  2639,     0,     0,     0,     0,
    5424             :        0,   914,     0,     0,     0,   908,  5510,  2636,     0,     0,
    5425             :        0,     0,     0,     0,     0,     0,   908,  2637,     0,     0,
    5426             :        0,     0,     0,     0,  2638,     0,     0,     0,     0,     0,
    5427             :        0,     0,   908,     0,     0,   916,     0,     0,  2646,     0,
    5428             :        0,     0,     0,   916,     0,     0,     0,     0,   914,  5210,
    5429             :     2639,     0,     0,   914,     0,     0,     0,  2111,     0,  2646,
    5430             :     2112,     0,   905,     0,  2113,  2114,  2115,     0,  2745,     0,
    5431             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5432             :        0,     0,  2636,     0,     0,     0,     0,     0,     0,     0,
    5433             :        0,     0,  2637,   910,     0,     0,     0,     0,     0,  2638,
    5434             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5435             :        0,     0,     0,     0,  2640,     0,     0,     0,     0,  2641,
    5436             :      877,     0,     0,     0,     0,  2639,     0,     0,     0,     0,
    5437             :        0,     0,     0,     0,     0,   905,     0,     0,     0,   905,
    5438             :        0,     0,  2642,  2306,   907,  2574,     0,     0,   916,     0,
    5439             :      916,     0,     0,     0,  2575,  2576,  2577,  2578,  2579,  2580,
    5440             :     2581,  2582,  2583,     0,     0,     0,  2574,  5127,     0,  2640,
    5441             :     2643,     0,     0,     0,  2641,  2575,  2576,  2577,  2578,  2579,
    5442             :     2580,  2581,  2582,  2583,     0,     0,     0,     0,  5240,   908,
    5443             :        0,     0,     0,     0,     0,     0,     0,  2642,  2306,     0,
    5444             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5445             :        0,   914,     0,  2373,     0,     0,     0,     0,     0,     0,
    5446             :        0,     0,     0,  1843,  4541,  2643,     0,     0,     0,  2644,
    5447             :        0,     0,  2645,     0,  1852,     0,     0,     0,     0,     0,
    5448             :     2803,     0,   905,     0,  2640,     0,   916,     0,     0,  2641,
    5449             :     1860,     0,     0,     0,     0,     0,   910,   905,     0,     0,
    5450             :        0,     0,   905,     0,     0,   795,     0,   910,  2373,     0,
    5451             :     3849,     0,  2642,  2306,     0,  1737,     0,     0,     0,  5711,
    5452             :        0,  1737,     0,   910,  2644,     0,     0,  2645,     0,     0,
    5453             :      916,     0,   905,     0,     0,     0,     0,     0,     0,     0,
    5454             :     2643,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5455             :        0,     0,  2902,     0,     0,     0,     0,     0,  3550,     0,
    5456             :        0,     0,     0,     0,     0,  2646,     0,     0,   914,     0,
    5457             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5458             :        0,     0,     0,  2373,     0,     0,     0,     0,     0,     0,
    5459             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2644,
    5460             :        0,     0,  2645,     0,     0,     0,     0,     0,     0,     0,
    5461             :        0,     0,     0,     0,     0,     0,   911,     0,     0,     0,
    5462             :     2646,     0,   914,     0,     0,     0,   916,     0,     0,     0,
    5463             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5464             :        0,     0,     0,     0,   914,   907,     0,  2031,  3550,     0,
    5465             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5466             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5467             :      916,     0,  2574,     0,     0,     0,     0,     0,     0,     0,
    5468             :      910,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,
    5469             :      908,     0,     0,     0,  5277,  2646,     0,     0,     0,     0,
    5470             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5471             :        0,     0,   907,     0,     0,     0,   914,     0,     0,     0,
    5472             :     6094,     0,     0,     0,     0,     0,     0,  2574,     0,     0,
    5473             :        0,     0,     0,     0,     0,     0,  2575,  2576,  2577,  2578,
    5474             :     2579,  2580,  2581,  2582,  2583,     0,     0,     0,     0,  5281,
    5475             :        0,     0,   916,   907,     0,     0,     0,   908,     0,     0,
    5476             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5477             :     3033,     0,     0,  1144,     0,     0,     0,  5929,     0,     0,
    5478             :        0,     0,     0,     0,     0,     0,   907,   905,     0,     0,
    5479             :      905,     0,   905,     0,     0,     0,     0,   905,   908,     0,
    5480             :        0,     0,  2574,     0,   916,  3069,     0,     0,     0,     0,
    5481             :        0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,
    5482             :        0,     0,     0,     0,  5557,     0,     0,     0,     0,   916,
    5483             :        0,   908,     0,     0,     0,     0,     0,     0,   914,   905,
    5484             :        0,     0,     0,     0,     0,     0,     0,   905,     0,     0,
    5485             :        0,  3134,     0,     0,     0,     0,     0,     0,     0,     0,
    5486             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5487             :        0,  3152,   905,     0,     0,     0,     0,     0,     0,     0,
    5488             :        0,     0,     0,  2111,     0,     0,  2112,     0,     0,     0,
    5489             :     2113,  2114,  2115,     0,     0,     0,     0,  3172,     0,  3173,
    5490             :        0,     0,     0,  4031,     0,     0,     0,     0,  2636,     0,
    5491             :        0,     0,     0,     0,  3182,     0,  3183,     0,  2637,     0,
    5492             :        0,     0,   661,     0,   661,  2638,   661,     0,   661,     0,
    5493             :      661,     0,     0,     0,   661,     0,     0,     0,     0,     0,
    5494             :        0,   910,     0,     0,     0,     0,     0,     0,     0,     0,
    5495             :        0,  2639,   905,     0,   905,     0,     0,     0,     0,     0,
    5496             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5497             :        0,  3242,     0,     0,     0,     0,     0,   914,     0,     0,
    5498             :      907,     0,     0,     0,     0,     0,  2111,     0,     0,  2112,
    5499             :     2745,   907,     0,  2113,  2114,  2115,     0,     0,     0,  1144,
    5500             :        0,     0,     0,  6100,     0,  6101,     0,   907,   910,  6107,
    5501             :     6108,  2636,     0,     0,     0,     0,  2897,     0,     0,     0,
    5502             :        0,  2637,     0,     0,     0,   908,     0,     0,  2638,     0,
    5503             :        0,     0,     0,     0,     0,     0,   908,     0,     0,     0,
    5504             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   910,
    5505             :      905,     0,   908,   914,  2639,     0,     0,     0,     0,     0,
    5506             :        0,   907,     0,     0,     0,     0,     0,     0,     0,     0,
    5507             :     2640,     0,     0,     0,     0,  2641,   907,     0,     0,   907,
    5508             :      907,     0,   910,     0,     0,     0,  3550,     0,     0,   913,
    5509             :        0,     0,     0,     0,   905,     0,     0,     0,  2642,  2306,
    5510             :        0,     0,     0,     0,     0,     0,   908,     0,     0,     0,
    5511             :      907,   907,     0,     0,  3550,     0,     0,     0,     0,     0,
    5512             :        0,   908,   905,     0,   908,   908,  2643,     0,     0,     0,
    5513             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5514             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5515             :        0,     0,     0,     0,     0,   908,   908,     0,     0,     0,
    5516             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2373,
    5517             :        0,     0,     0,  2640,     0,   914,     0,     0,  2641,     0,
    5518             :        0,     0,     0,     0,     0,  2644,     0,     0,  2645,     0,
    5519             :      905,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5520             :        0,  2642,  2306,     0,  6434,     0,     0,     0,     0,     0,
    5521             :        0,     0,   905,     0,     0,     0,     0,     0,     0,     0,
    5522             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2643,
    5523             :        0,     0,     0,     0,   905,     0,     0,     0,     0,     0,
    5524             :        0,     0,  2111,  3036,     0,  2112,     0,     0,     0,  2113,
    5525             :     2114,  2115,   907,     0,  3047,     0,     0,   916,     0,     0,
    5526             :        0,     0,     0,     0,     0,  6434,     0,  2636,     0,     0,
    5527             :     3065,     0,  2373,     0,     0,     0,   910,  2637,     0,     0,
    5528             :        0,  2646,     0,     0,  2638,     0,     0,   910,  2644,     0,
    5529             :     6434,  2645,     0,   911,     0,     0,     0,   908,     0,     0,
    5530             :        0,     0,     0,   910,  3550,     0,     0,     0,  1144,  2745,
    5531             :     2639,     0,     0,     0,     0,     0,   905,     0,     0,   911,
    5532             :        0,     0,     0,     0,  3139,     0,     0,     0,     0,     0,
    5533             :      914,     0,     0,     0,     0,   914,   914,     0,     0,  3151,
    5534             :        0,     0,  1157,  3155,     0,     0,     0,     0,     0,     0,
    5535             :        0,     0,     0,     0,     0,     0,     0,   910,     0,     0,
    5536             :        0,     0,     0,     0,     0,     0,     0,     0,   905,     0,
    5537             :        0,     0,   910,  3174,  1157,   910,   910,     0,     0,     0,
    5538             :        0,     0,     0,     0,  2646,     0,     0,     0,  2574,     0,
    5539             :        0,     0,     0,   905,     0,     0,     0,  2575,  2576,  2577,
    5540             :     2578,  2579,  2580,  2581,  2582,  2583,   910,   910,     0,     0,
    5541             :     5568,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5542             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2640,
    5543             :        0,     0,     0,     0,  2641,     0,     0,     0,     0,     0,
    5544             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   914,
    5545             :        0,     0,     0,     0,     0,     0,     0,  2642,  2306,     0,
    5546             :        0,     0,   911,     0,     0,     0,     0,   916,     0,     0,
    5547             :        0,     0,  6435,     0,     0,     0,     0,     0,     0,  2599,
    5548             :        0,     0,     0,  6439,     0,  2643,     0,     0,     0,     0,
    5549             :        0,  2574,     0,     0,     0,     0,     0,     0,     0,     0,
    5550             :     2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,
    5551             :        0,     0,   914,  5578,     0,  3357,     0,     0,     0,  6465,
    5552             :        0,     0,     0,     0,     0,     0,     0,     0,  2373,     0,
    5553             :        0,     0,     0,  6435,     0,     0,     0,     0,     0,     0,
    5554             :        0,     0,     0,     0,  2644,     0,     0,  2645,   910,     0,
    5555             :        0,     0,     0,     0,   905,     0,     0,     0,  6435,     0,
    5556             :        0,  5289,     0,     0,     0,     0,     0,     0,     0,     0,
    5557             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5558             :        0,     0,     0,     0,   916,     0,     0,     0,     0,     0,
    5559             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5560             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5561             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5562             :        0,     0,     0,     0,     0,   911,     0,     0,     0,     0,
    5563             :        0,     0,     0,     0,     0,     0,   911,     0,   916,     0,
    5564             :     2646,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5565             :      905,     0,   911,     0,     0,     0,     0,     0,     0,     0,
    5566             :      916,     0,     0,  3540,  3541,     0,     0,     0,     0,     0,
    5567             :        0,     0,     0,     0,     0,     0,     0,     0,   905,     0,
    5568             :        0,     0,  3556,  3557,     0,  3559,  3560,     0,     0,     0,
    5569             :     3563,  3564,     0,     0,     0,     0,     0,     0,     0,     0,
    5570             :        0,     0,     0,     0,     0,  3575,     0,     0,     0,  3578,
    5571             :        0,     0,     0,  3581,  3582,     0,     0,  3585,  3586,     0,
    5572             :        0,     0,     0,     0,  3591,     0,     0,     0,     0,     0,
    5573             :        0,     0,   916,     0,     0,     0,  3606,     0,     0,     0,
    5574             :        0,     0,     0,     0,     0,     0,     0,  2574,  3623,     0,
    5575             :        0,     0,     0,  3625,     0,     0,  2575,  2576,  2577,  2578,
    5576             :     2579,  2580,  2581,  2582,  2583,     0,   913,     0,  3631,  5642,
    5577             :        0,     0,  3637,     0,     0,     0,     0,     0,     0,     0,
    5578             :        0,     0,     0,     0,  3648,     0,     0,  3652,     0,  3654,
    5579             :     3657,  3659,   913,     0,     0,     0,  3667,  3670,     0,     0,
    5580             :        0,     0,     0,   722,     0,     0,  3683,     0,  1055,   911,
    5581             :        0,     0,  3693,     0,     0,     0,  3696,     0,     0,     0,
    5582             :        0,   905,     0,     0,     0,     0,     0,     0,  3706,  3707,
    5583             :        0,     0,     0,  3712,     0,     0,     0,     0,     0,  3721,
    5584             :     3722,     0,     0,     0,     0,     0,  1056,     0,     0,     0,
    5585             :        0,     0,  5514,  3731,   916,     0,  3732,     0,     0,   725,
    5586             :     1057,     0,     0,  3744,  3745,     0,     0,     0,   905,  3749,
    5587             :        0,     0,  1058,   905,     0,   907,   726,     0,     0,   907,
    5588             :      907,  3756,     0,     0,  3759,     0,     0,     0,     0,  3762,
    5589             :        0,     0,     0,     0,  1059,  3765,  3766,     0,     0,     0,
    5590             :        0,     0,     0,  3774,     0,     0,     0,  3776,     0,     0,
    5591             :        0,  3783,  3784,  3785,  3786,     0,  3788,     0,  1060,     0,
    5592             :      908,     0,     0,     0,   908,   908,     0,     0,     0,     0,
    5593             :     3814,  3815,   729,  3817,   907,   913,     0,     0,     0,     0,
    5594             :      907,   730,     0,     0,  3827,  3828,  3829,     0,     0,     0,
    5595             :        0,     0,     0,     0,   731,     0,     0,     0,     0,     0,
    5596             :     1061,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5597             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   908,
    5598             :        0,     0,     0,     0,     0,   908,     0,  1062,   907,     0,
    5599             :        0,     0,     0,   916,     0,     0,     0,     0,     0,     0,
    5600             :        0,  3881,     0,     0,     0,     0,     0,     0,     0,  3905,
    5601             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5602             :        0,     0,     0,     0,     0,  1063,     0,     0,  3917,     0,
    5603             :        0,   905,     0,   908,   914,     0,     0,     0,     0,     0,
    5604             :        0,     0,     0,     0,     0,     0,     0,   735,     0,     0,
    5605             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5606             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  3550,
    5607             :      911,     0,     0,     0,     0,     0,     0,     0,  3985,     0,
    5608             :        0,     0,     0,     0,     0,     0,  2111,     0,     0,  2112,
    5609             :        0,     0,  1064,  2113,  2114,  2115,     0,  3999,   913,  4001,
    5610             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   913,
    5611             :        0,  2636,     0,     0,     0,     0,     0,     0,     0,   738,
    5612             :        0,  2637,     0,     0,     0,   913,     0,     0,  2638,   213,
    5613             :     1065,     0,     0,   740,     0,     0,     0,   911,     0,     0,
    5614             :        0,     0,     0,     0,     0,     0,     0,     0,   905,     0,
    5615             :        0,     0,     0,     0,  2639,     0,     0,   915,     0,     0,
    5616             :     1066,     0,     0,  1067,     0,     0,     0,   743,     0,     0,
    5617             :      744,   910,     0,     0,     0,   910,   910,   745,   911,     0,
    5618             :      746,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5619             :        0,  3550,     0,     0,  4063,     0,     0,  3596,   907,     0,
    5620             :      747,     0,   905,  3604,     0,     0,     0,     0,  1068,     0,
    5621             :        0,   911,     0,     0,     0,   749,     0,     0,  1069,     0,
    5622             :        0,     0,     0,   751,   905,     0,     0,     0,     0,     0,
    5623             :      910,  1070,  2111,   753,     0,  2112,   910,     0,  1071,  2113,
    5624             :     2114,  2115,     0,   908,     0,     0,     0,     0,     0,     0,
    5625             :        0,  3647,     0,     0,     0,     0,     0,  2636,     0,     0,
    5626             :        0,     0,     0,     0,     0,   756,     0,  2637,     0,     0,
    5627             :        0,   907,     0,  2640,  2638,   907,     0,     0,  2641,     0,
    5628             :        0,     0,   913,     0,   910,     0,     0,     0,     0,     0,
    5629             :        0,     0,     0,     0,     0,     0,   905,     0,     0,     0,
    5630             :     2639,  2642,  2306,     0,     0,     0,     0,     0,     0,     0,
    5631             :        0,     0,     0,     0,     0,     0,   908,     0,     0,     0,
    5632             :      908,     0,     0,     0,     0,     0,     0,     0,     0,  2643,
    5633             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5634             :        0,     0,     0,     0,     0,     0,   916,     0,     0,     0,
    5635             :        0,   916,   916,     0,     0,     0,     0,     0,     0,     0,
    5636             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5637             :        0,     0,  2373,     0,     0,     0,     0,     0,   907,     0,
    5638             :        0,     0,     0,     0,     0,     0,     0,     0,  2644,     0,
    5639             :        0,  2645,     0,   907,     0,     0,     0,     0,   907,     0,
    5640             :        0,     0,     0,     0,     0,   911,     0,     0,     0,     0,
    5641             :        0,     0,     0,     0,     0,     0,   911,     0,   905,  2640,
    5642             :        0,     0,     0,   908,  2641,     0,     0,     0,   907,     0,
    5643             :        0,     0,   911,     0,     0,     0,     0,     0,   908,     0,
    5644             :        0,     0,     0,   908,     0,     0,     0,  2642,  2306,     0,
    5645             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5646             :        0,  3874,     0,     0,  5514,   916,     0,     0,     0,     0,
    5647             :        0,     0,     0,   908,     0,  2643,     0,     0,     0,     0,
    5648             :        0,     0,     0,     0,  2646,     0,   911,     0,     0,     0,
    5649             :        0,     0,     0,     0,   910,     0,     0,     0,     0,     0,
    5650             :        0,   911,     0,     0,   911,   911,     0,     0,     0,     0,
    5651             :        0,     0,     0,     0,     0,     0,     0,     0,  2373,     0,
    5652             :        0,     0,     0,     0,  4326,     0,     0,     0,   916,     0,
    5653             :        0,     0,     0,     0,  2644,   911,   911,  2645,     0,     0,
    5654             :        0,  4333,     0,   913,     0,  4333,     0,     0,     0,     0,
    5655             :     4344,  4345,  4346,     0,     0,     0,     0,   905,     0,     0,
    5656             :        0,     0,     0,     0,     0,     0,     0,   910,     0,     0,
    5657             :        0,   910,  4358,     0,     0,     0,     0,     0,     0,     0,
    5658             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5659             :        0,  2574,     0,     0,     0,     0,  4389,  4390,  4391,  4392,
    5660             :     2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,
    5661             :      913,     0,     0,  5675,     0,     0,     0,     0,     0,     0,
    5662             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5663             :     2646,     0,     0,   905,  4413,     0,  4417,  4418,  4419,     0,
    5664             :        0,  4046,     0,     0,     0,     0,     0,     0,     0,     0,
    5665             :        0,   913,     0,     0,     0,     0,  4056,     0,     0,     0,
    5666             :        0,  4061,     0,     0,     0,     0,     0,     0,     0,     0,
    5667             :        0,     0,     0,     0,   910,     0,     0,   911,     0,     0,
    5668             :        0,     0,     0,   907,   913,     0,   907,     0,   907,   910,
    5669             :        0,  4087,     0,   907,   910,     0,     0,     0,     0,     0,
    5670             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5671             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5672             :        0,     0,     0,     0,   910,     0,     0,     0,   908,     0,
    5673             :        0,   908,     0,   908,     0,   907,     0,  2574,   908,     0,
    5674             :        0,     0,     0,   907,     0,     0,  2575,  2576,  2577,  2578,
    5675             :     2579,  2580,  2581,  2582,  2583,   905,  4502,     0,     0,  5677,
    5676             :        0,     0,     0,     0,     0,  4508,     0,     0,   907,     0,
    5677             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5678             :      908,     0,     0,     0,     0,     0,     0,     0,   908,     0,
    5679             :        0,  4518,  4519,     0,     0,     0,  4520,     0,     0,     0,
    5680             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5681             :        0,     0,     0,   908,     0,     0,     0,     0,  4563,     0,
    5682             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5683             :        0,     0,     0,     0,   915,     0,     0,     0,     0,     0,
    5684             :        0,     0,     0,     0,     0,     0,     0,     0,   907,     0,
    5685             :      907,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5686             :      915,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5687             :     4600,     0,     0,     0,     0,  4606,     0,     0,   913,     0,
    5688             :        0,  4612,     0,     0,     0,     0,     0,     0,     0,   913,
    5689             :        0,     0,     0,   908,     0,   908,     0,     0,     0,     0,
    5690             :        0,     0,     0,     0,     0,   913,     0,     0,     0,     0,
    5691             :      905,  4651,     0,     0,     0,   905,   905,     0,     0,     0,
    5692             :        0,     0,     0,     0,     0,     0,     0,  2111,     0,     0,
    5693             :     2112,     0,     0,     0,  2113,  2114,  2115,     0,     0,     0,
    5694             :     4666,     0,  4667,     0,     0,     0,   907,     0,     0,     0,
    5695             :        0,     0,  2636,     0,     0,     0,     0,     0,     0,   913,
    5696             :        0,     0,  2637,     0,     0,     0,     0,     0,     0,  2638,
    5697             :        0,     0,     0,     0,   913,     0,     0,   913,   913,   910,
    5698             :        0,     0,   910,     0,   910,     0,     0,     0,     0,   910,
    5699             :      907,   908,     0,     0,     0,  2639,     0,     0,  4328,     0,
    5700             :        0,     0,     0,   915,     0,     0,  4331,     0,   913,   913,
    5701             :        0,     0,     0,     0,     0,     0,     0,     0,   907,     0,
    5702             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   905,
    5703             :        0,   910,     0,     0,     0,   908,     0,     0,     0,   910,
    5704             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5705             :      916,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5706             :        0,     0,     0,   908,   910,     0,     0,     0,     0,     0,
    5707             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5708             :        0,     0,     0,     0,     0,     0,   907,     0,     0,     0,
    5709             :        0,     0,   905,     0,     0,     0,     0,     0,     0,     0,
    5710             :        0,     0,     0,     0,     0,     0,     0,     0,   907,     0,
    5711             :        0,  4429,     0,  4431,  2640,     0,     0,  1737,     0,  2641,
    5712             :        0,     0,     0,     0,     0,     0,  2111,     0,     0,  2112,
    5713             :      907,   908,     0,  2113,  2114,  2115,     0,     0,     0,     0,
    5714             :        0,     0,  2642,  2306,   910,     0,   910,     0,     0,     0,
    5715             :      913,  2636,     0,   908,     0,     0,     0,     0,     0,     0,
    5716             :        0,  2637,     0,     0,     0,     0,   915,     0,  2638,     0,
    5717             :     2643,     0,     0,     0,     0,   908,     0,   915,     0,     0,
    5718             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5719             :        0,     0,     0,   915,  2639,     0,     0,     0,     0,     0,
    5720             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  4492,
    5721             :        0,     0,   907,  2373,     0,     0,     0,     0,     0,     0,
    5722             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2644,
    5723             :        0,     0,  2645,     0,     0,     0,     0,     0,     0,     0,
    5724             :        0,     0,   910,     0,     0,     0,     0,     0,     0,     0,
    5725             :        0,     0,     0,  4514,     0,     0,  4902,   908,  4903,     0,
    5726             :        0,     0,     0,     0,   907,     0,     0,     0,     0,     0,
    5727             :        0,  4910,     0,     0,     0,     0,     0,     0,     0,     0,
    5728             :        0,     0,     0,  4916,     0,     0,   910,  4919,     0,   907,
    5729             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  4933,
    5730             :      911,     0,     0,     0,   911,   911,     0,     0,     0,   908,
    5731             :        0,     0,     0,  2640,   910,     0,     0,     0,  2641,  4959,
    5732             :        0,     0,     0,     0,     0,  2646,     0,     0,     0,     0,
    5733             :        0,     0,     0,     0,   908,     0,     0,  4963,     0,     0,
    5734             :        0,  2642,  2306,     0,     0,  4967,     0,     0,     0,  3647,
    5735             :      915,     0,     0,     0,     0,     0,     0,     0,     0,   911,
    5736             :        0,     0,     0,     0,     0,   911,     0,     0,     0,  2643,
    5737             :     5002,     0,     0,     0,  5006,     0,     0,     0,     0,     0,
    5738             :        0,     0,   910,     0,     0,     0,     0,     0,     0,  5016,
    5739             :     5017,  5018,  5019,  4657,     0,     0,     0,     0,     0,  5023,
    5740             :     5024,  5025,  5026,     0,   910,     0,     0,     0,  5028,  5029,
    5741             :        0,     0,  2373,   911,  5036,  5037,     0,  5039,  5040,  5041,
    5742             :     5042,  5043,  5044,  5045,     0,     0,   910,     0,  2644,     0,
    5743             :        0,  2645,  2574,  5054,     0,     0,     0,  5057,  5058,  5059,
    5744             :     5060,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,
    5745             :      907,     0,     0,     0,  5716,     0,     0,     0,   975,     0,
    5746             :        0,  4333,     0,     0,     0,     0,     0,   975,     0,     0,
    5747             :        0,     0,     0,     0,     0,  4714,     0,     0,     0,  5080,
    5748             :        0,   975,     0,     0,     0,     0,     0,     0,     0,     0,
    5749             :        0,     0,     0,     0,     0,   908,     0,     0,     0,     0,
    5750             :        0,     0,     0,     0,     0,     0,     0,     0,   910,     0,
    5751             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5752             :        0,     0,     0,     0,  2646,     0,     0,  4746,     0,     0,
    5753             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5754             :        0,     0,     0,     0,     0,     0,   907,     0,     0,     0,
    5755             :        0,     0,  4767,     0,     0,     0,  5162,     0,     0,     0,
    5756             :      910,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5757             :        0,     0,     0,     0,   907,     0,     0,     0,     0,     0,
    5758             :        0,     0,     0,     0,     0,   910,     0,     0,     0,  4333,
    5759             :        0,   908,     0,     0,     0,     0,  5187,     0,  5188,     0,
    5760             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5761             :        0,   915,     0,     0,   905,     0,     0,     0,     0,   908,
    5762             :        0,     0,     0,   911,     0,     0,  5203,     0,     0,     0,
    5763             :        0,  2574,     0,     0,     0,     0,     0,     0,     0,     0,
    5764             :     2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,
    5765             :        0,     0,     0,  6080,     0,     0,     0,     0,     0,     0,
    5766             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5767             :        0,     0,     0,     0,     0,     0,     0,     0,   915,     0,
    5768             :        0,  2111,     0,     0,  2112,     0,     0,     0,  2113,  2114,
    5769             :     2115,     0,     0,     0,     0,     0,   911,     0,     0,     0,
    5770             :      911,     0,     0,     0,     0,     0,  2636,     0,     0,     0,
    5771             :        0,     0,     0,     0,     0,     0,  2637,   907,     0,   915,
    5772             :        0,     0,     0,  2638,     0,     0,     0,     0,  2111,     0,
    5773             :        0,  2112,     0,     0,     0,  2113,  2114,  2115,     0,     0,
    5774             :        0,     0,     0,     0,     0,     0,   910,     0,     0,  2639,
    5775             :        0,     0,   915,  2636,     0,     0,     0,   966,   976,     0,
    5776             :        0,     0,   908,  2637,   907,   966,     0,   976,   966,   907,
    5777             :     2638,     0,     0,   913,     0,     0,     0,   913,   913,     0,
    5778             :        0,   976,     0,     0,     0,     0,     0,     0,     0,     0,
    5779             :        0,     0,     0,     0,     0,     0,  2639,     0,     0,     0,
    5780             :        0,     0,     0,   911,     0,     0,     0,     0,     0,   908,
    5781             :        0,     0,     0,     0,   908,     0,     0,     0,   911,     0,
    5782             :        0,     0,     0,   911,     0,     0,     0,     0,     0,     0,
    5783             :        0,     0,   913,     0,     0,     0,     0,     0,   913,  5349,
    5784             :     5350,  5351,   910,     0,     0,  5352,  5353,  5354,  5355,     0,
    5785             :        0,     0,  5357,   911,     0,     0,     0,     0,     0,     0,
    5786             :        0,     0,     0,     0,     0,     0,     0,     0,  2640,     0,
    5787             :      910,     0,     0,  2641,     0,     0,     0,     0,     0,     0,
    5788             :        0,     0,     0,     0,     0,     0,   913,     0,     0,     0,
    5789             :        0,     0,     0,     0,     0,     0,  2642,  2306,     0,     0,
    5790             :        0,     0,     0,     0,  5392,  5393,  5394,  5395,  5396,     0,
    5791             :     5398,  5399,     0,     0,     0,  2640,   975,     0,     0,     0,
    5792             :     2641,     0,  5408,  5409,  2643,     0,     0,   907,     0,     0,
    5793             :        0,     0,     0,     0,     0,   975,     0,     0,     0,     0,
    5794             :        0,   975,     0,  2642,  2306,     0,   915,     0,     0,     0,
    5795             :        0,     0,     0,   975,     0,     0,  5415,   915,     0,     0,
    5796             :        0,     0,     0,     0,     0,     0,     0,  2373,     0,   975,
    5797             :        0,  2643,   908,   915,     0,     0,     0,     0,     0,     0,
    5798             :     5110,     0,     0,  2644,   975,     0,  2645,     0,     0,     0,
    5799             :        0,     0,   975,     0,     0,     0,     0,     0,     0,     0,
    5800             :        0,     0,     0,     0,     0,     0,   975,     0,     0,     0,
    5801             :        0,     0,     0,   910,  2373,     0,   975,     0,     0,     0,
    5802             :        0,     0,     0,     0,     0,     0,     0,   915,     0,     0,
    5803             :     2644,     0,     0,  2645,     0,     0,     0,     0,     0,     0,
    5804             :        0,     0,   915,     0,   907,   915,   915,     0,     0,     0,
    5805             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  5480,
    5806             :      910,     0,     0,     0,     0,   910,     0,     0,     0,   975,
    5807             :        0,     0,     0,     0,     0,     0,   915,   915,     0,  2646,
    5808             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   908,
    5809             :        0,     0,     0,     0,     0,     0,   913,   975,   907,     0,
    5810             :        0,     0,     0,     0,     0,     0,     0,     0,   911,     0,
    5811             :        0,   911,     0,   911,     0,     0,     0,     0,   911,     0,
    5812             :      907,     0,   975,     0,  5531,     0,  2646,     0,     0,     0,
    5813             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5814             :        0,     0,     0,   908,     0,     0,     0,     0,     0,     0,
    5815             :        0,     0,     0,     0,     0,     0,  5537,     0,     0,     0,
    5816             :      911,     0,     0,     0,     0,   908,     0,     0,   911,   913,
    5817             :        0,     0,     0,   913,     0,     0,     0,     0,     0,     0,
    5818             :        0,     0,     0,     0,   975,     0,  2574,     0,     0,     0,
    5819             :        0,     0,   907,   911,     0,  2575,  2576,  2577,  2578,  2579,
    5820             :     2580,  2581,  2582,  2583,     0,     0,     0,     0,  6088,     0,
    5821             :        0,     0,     0,     0,     0,     0,   976,     0,   915,     0,
    5822             :        0,     0,     0,   910,     0,     0,     0,     0,     0,     0,
    5823             :        0,     0,     0,  2574,     0,   976,     0,   908,     0,     0,
    5824             :        0,   976,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,
    5825             :     2583,     0,     0,   976,   661,  6110,     0,     0,     0,     0,
    5826             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   976,
    5827             :        0,     0,     0,   911,     0,   911,   913,     0,     0,     0,
    5828             :        0,     0,     0,   966,   976,     0,     0,     0,     0,     0,
    5829             :      966,   913,   976,   966,  1823,     0,   913,     0,     0,     0,
    5830             :        0,   975,     0,     0,     0,     0,   976,  5348,     0,     0,
    5831             :        0,     0,     0,     0,   907,     0,   976,     0,     0,     0,
    5832             :        0,     0,     0,     0,     0,  5664,   913,     0,     0,     0,
    5833             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5834             :      910,     0,     0,     0,  5674,     0,     0,     0,     0,     0,
    5835             :     5680,  5681,     0,     0,     0,     0,     0,     0,     0,   908,
    5836             :     5692,  5386,     0,     0,     0,     0,     0,  5694,     0,   976,
    5837             :        0,   911,     0,     0,     0,     0,     0,     0,     0,     0,
    5838             :        0,     0,     0,  5402,     0,     0,  1579,     0,     0,     0,
    5839             :        0,     0,  1580,  2111,   910,     0,  2112,   976,     0,  1646,
    5840             :     2113,  2114,  2115,     0,  5747,  5748,     0,     0,     0,     0,
    5841             :        0,     0,     0,     0,     0,   911,   910,  5756,  2636,  5758,
    5842             :        0,  1647,   976,     0,     0,   975,     0,     0,  2637,     0,
    5843             :        0,     0,     0,     0,  5772,  2638,     0,  1582,     0,     0,
    5844             :        0,     0,     0,   911,     0,     0,     0,     0,     0,     0,
    5845             :        0,     0,     0,   907,     0,  5430,     0,     0,     0,  4333,
    5846             :        0,  2639,     0,     0,     0,     0,     0,  5806,     0,     0,
    5847             :        0,     0,     0,  1648,     0,     0,     0,     0,     0,     0,
    5848             :        0,     0,     0,     0,   976,     0,   975,     0,   910,     0,
    5849             :        0,     0,     0,     0,  1583,     0,     0,   975,   908,     0,
    5850             :        0,  1584,     0,     0,     0,  1585,     0,     0,     0,     0,
    5851             :        0,   911,     0,     0,   975,     0,     0,     0,     0,   975,
    5852             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   907,
    5853             :        0,     0,     0,   911,  1586,     0,     0,     0,     0,     0,
    5854             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5855             :        0,     0,     0,     0,     0,   911,     0,     0,     0,  5867,
    5856             :        0,     0,     0,     0,     0,     0,  1649,     0,     0,     0,
    5857             :     1587,     0,     0,  5882,   908,     0,     0,  5516,     0,     0,
    5858             :     2640,   913,     0,     0,   913,  2641,   913,     0,     0,     0,
    5859             :        0,   913,     0,     0,  1824,     0,     0,     0,     0,  5900,
    5860             :        0,   976,     0,     0,     0,     0,     0,     0,  2642,  2306,
    5861             :      910,     0,   966,     0,     0,     0,   966,     0,   966,     0,
    5862             :        0,     0,     0,     0,  1650,     0,     0,     0,     0,  1651,
    5863             :        0,     0,     0,   913,  1652,     0,  2643,   911,     0,     0,
    5864             :        0,   913,     0,     0,     0,     0,     0,     0,     0,     0,
    5865             :     1653,   907,   975,     0,  1589,     0,     0,     0,     0,     0,
    5866             :      975,   975,     0,     0,     0,  1590,   913,  5959,     0,     0,
    5867             :        0,     0,     0,     0,     0,  1591,     0,     0,     0,  2373,
    5868             :        0,     0,     0,     0,     0,     0,  1654,  1592,     0,   911,
    5869             :        0,     0,     0,     0,     0,  2644,   908,     0,  2645,     0,
    5870             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5871             :        0,     0,     0,  1823,   911,     0,  4492,     0,     0,     0,
    5872             :        0,     0,     0,     0,     0,   976,     0,     0,     0,  1655,
    5873             :        0,     0,  1594,  1595,  1656,     0,     0,  4333,     0,     0,
    5874             :        0,     0,     0,     0,     0,     0,   913,     0,   913,   910,
    5875             :        0,     0,  2111,     0,     0,  2112,     0,     0,  1657,  2113,
    5876             :     2114,  2115,     0,     0,  1658,     0,     0,     0,     0,     0,
    5877             :        0,  6039,     0,     0,     0,     0,     0,  2636,     0,  1659,
    5878             :        0,     0,     0,     0,     0,     0,   976,  2637,     0,     0,
    5879             :        0,  2646,     0,     0,  2638,     0,     0,   976,     0,     0,
    5880             :        0,     0,     0,     0,     0,     0,   907,     0,     0,     0,
    5881             :        0,   907,   907,     0,   976,     0,     0,  6070,     0,   976,
    5882             :     2639,     0,     0,     0,     0,   910,     0,   979,     0,     0,
    5883             :     1660,     0,     0,     0,     0,     0,     0,  1597,     0,  1013,
    5884             :        0,   915,  6089,     0,   913,   915,   915,     0,     0,     0,
    5885             :     1032,   908,     0,     0,     0,     0,   908,   908,     0,     0,
    5886             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5887             :        0,     0,     0,     0,     0,   911,     0,     0,     0,     0,
    5888             :        0,     0,     0,     0,     0,     0,     0,     0,   913,     0,
    5889             :        0,     0,     0,     0,     0,     0,     0,     0,  2574,     0,
    5890             :      915,  6128,     0,     0,     0,     0,   915,  2575,  2576,  2577,
    5891             :     2578,  2579,  2580,  2581,  2582,  2583,   913,     0,     0,     0,
    5892             :     6338,     0,     0,     0,     0,   907,     0,     0,     0,     0,
    5893             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2640,
    5894             :        0,     0,     0,     0,  2641,     0,     0,   910,     0,     0,
    5895             :        0,     0,   976,     0,   915,     0,     0,     0,     0,     0,
    5896             :      976,   976,     0,     0,   975,     0,     0,  2642,  2306,     0,
    5897             :      908,   911,     0,     0,     0,     0,     0,     0,     0,     0,
    5898             :        0,     0,     0,     0,   913,     0,     0,     0,   907,     0,
    5899             :        0,     0,     0,     0,     0,  2643,     0,     0,     0,   911,
    5900             :        0,     0,     0,     0,     0,     0,   913,     0,     0,     0,
    5901             :        0,     0,     0,  1824,     0,     0,  6225,  2111,     0,     0,
    5902             :     2112,     0,     0,     0,  2113,  2114,  2115,     0,   913,     0,
    5903             :        0,     0,     0,   908,     0,     0,     0,     0,  2373,     0,
    5904             :        0,     0,  2636,     0,     0,  6240,     0,     0,     0,     0,
    5905             :        0,     0,  2637,     0,  2644,     0,  6250,  2645,     0,  2638,
    5906             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2031,
    5907             :        0,     0,     0,     0,  2031,  2031,     0,     0,     0,   975,
    5908             :        0,     0,     0,     0,     0,  2639,     0,     0,     0,     0,
    5909             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5910             :        0,     0,   910,     0,     0,     0,     0,   910,   910,     0,
    5911             :      913,     0,     0,     0,  1823,     0,     0,   953,   955,     0,
    5912             :        0,   958,     0,     0,     0,     0,     0,     0,     0,     0,
    5913             :        0,     0,     0,     0,     0,     0,     0,   975,     0,     0,
    5914             :        0,  1016,   911,     0,     0,   975,     0,     0,  1026,     0,
    5915             :     2646,     0,     0,   975,     0,     0,     0,     0,     0,     0,
    5916             :        0,     0,   913,     0,   915,     0,     0,     0,     0,     0,
    5917             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5918             :        0,     0,     0,  6332,     0,     0,     0,   913,  5992,   911,
    5919             :        0,     0,     0,     0,   911,     0,     0,   975,   975,     0,
    5920             :        0,     0,     0,     0,  2640,     0,     0,     0,     0,  2641,
    5921             :        0,   975,     0,     0,     0,     0,     0,     0,     0,     0,
    5922             :        0,   910,     0,     0,   975,   975,     0,     0,     0,     0,
    5923             :        0,     0,  2642,  2306,     0,     0,     0,   915,     0,     0,
    5924             :        0,   915,     0,     0,     0,     0,     0,     0,     0,     0,
    5925             :        0,  6048,     0,     0,     0,     0,     0,  2574,     0,     0,
    5926             :     2643,     0,     0,     0,   976,     0,  2575,  2576,  2577,  2578,
    5927             :     2579,  2580,  2581,  2582,  2583,     0,     0,     0,     0,  6355,
    5928             :        0,     0,     0,     0,   910,  1052,     0,     0,     0,     0,
    5929             :        0,  1084,     0,     0,     0,     0,     0,     0,     0,     0,
    5930             :        0,     0,     0,  2373,     0,     0,     0,     0,     0,     0,
    5931             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2644,
    5932             :        0,     0,  2645,     0,     0,     0,     0,     0,     0,     0,
    5933             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5934             :        0,     0,     0,     0,   915,     0,     0,     0,   913,     0,
    5935             :        0,     0,   911,     0,     0,     0,     0,     0,     0,   915,
    5936             :        0,     0,     0,     0,   915,     0,     0,     0,     0,     0,
    5937             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   976,
    5938             :        0,     0,     0,     0,  1823,     0,     0,     0,     0,     0,
    5939             :        0,     0,     0,     0,   915,  6476,     0,     0,     0,     0,
    5940             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5941             :        0,     0,     0,     0,  1824,  2646,     0,     0,     0,     0,
    5942             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5943             :        0,     0,     0,     0,     0,     0,     0,   976,     0,     0,
    5944             :        0,     0,     0,     0,   913,   976,     0,     0,     0,     0,
    5945             :        0,     0,     0,   976,     0,     0,     0,     0,     0,     0,
    5946             :        0,     0,  1393,     0,     0,     0,     0,     0,     0,   911,
    5947             :        0,     0,   913,     0,     0,     0,     0,     0,     0,     0,
    5948             :        0,  1416,     0,     0,     0,     0,     0,     0,     0,     0,
    5949             :        0,     0,     0,     0,   966,   966,     0,   976,   976,     0,
    5950             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   966,
    5951             :      907,   976,   966,     0,     0,     0,     0,     0,     0,     0,
    5952             :        0,     0,  2574,   911,   976,   976,     0,     0,     0,     0,
    5953             :        0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,
    5954             :     2111,     0,     0,  2112,  6414,   911,     0,  2113,  2114,  2115,
    5955             :        0,     0,     0,     0,     0,   908,     0,     0,     0,     0,
    5956             :        0,     0,   966,     0,     0,  2636,   966,   966,     0,     0,
    5957             :        0,     0,     0,     0,     0,  2637,     0,     0,     0,     0,
    5958             :        0,     0,  2638,     0,     0,     0,     0,     0,     0,     0,
    5959             :        0,     0,     0,  1086,     0,  1089,     0,     0,  1091,     0,
    5960             :     1610,     0,     0,     0,     0,     0,     0,     0,  2639,     0,
    5961             :        0,     0,  1117,  2111,     0,   913,  2112,   911,  1121,     0,
    5962             :     2113,  2114,  2115,     0,     0,     0,     0,     0,     0,     0,
    5963             :        0,     0,     0,     0,     0,     0,     0,     0,  2636,     0,
    5964             :        0,     0,     0,     0,     0,     0,     0,     0,  2637,   915,
    5965             :        0,     0,   915,     0,   915,  2638,     0,     0,     0,   915,
    5966             :        0,     0,   913,     0,     0,     0,     0,   913,     0,     0,
    5967             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5968             :        0,  2639,     0,     0,  1824,     0,     0,     0,     0,     0,
    5969             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5970             :        0,   915,     0,     0,     0,     0,     0,     0,     0,   915,
    5971             :        0,     0,     0,     0,     0,  1873,     0,     0,     0,     0,
    5972             :        0,     0,     0,     0,     0,     0,     0,  2640,     0,     0,
    5973             :        0,     0,  2641,     0,   915,     0,     0,     0,     0,   911,
    5974             :        0,     0,     0,     0,  1907,  1910,  1911,     0,     0,     0,
    5975             :        0,     0,     0,     0,     0,  2642,  2306,     0,     0,     0,
    5976             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5977             :        0,     0,     0,  6412,     0,  4144,     0,     0,     0,     0,
    5978             :        0,  4145,     0,  2643,     0,     0,     0,     0,     0,     0,
    5979             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5980             :     2640,     0,     0,     0,     0,  2641,   910,     0,     0,     0,
    5981             :        0,     0,     0,     0,   915,     0,   915,     0,     0,     0,
    5982             :        0,     0,     0,     0,     0,   913,  2373,     0,  2642,  2306,
    5983             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5984             :        0,     0,  2644,     0,     0,  2645,     0,     0,     0,     0,
    5985             :        0,     0,     0,  1393,     0,  2111,  2643,     0,  2112,     0,
    5986             :        0,     0,  2113,  2114,  2115,     0,     0,     0,     0,     0,
    5987             :        0,     0,     0,     0,     0,     0,     0,     0,   911,     0,
    5988             :     2636,  1393,     0,     0,  3495,     0,     0,     0,     0,     0,
    5989             :     2637,     0,     0,     0,     0,     0,     0,  2638,     0,  2373,
    5990             :        0,     0,     0,     0,     0,  1611,  1612,     0,     0,     0,
    5991             :        0,     0,   915,     0,     0,  2644,     0,     0,  2645,     0,
    5992             :        0,     0,     0,  2639,  1823,     0,     0,     0,     0,     0,
    5993             :        0,     0,     0,     0,     0,     0,     0,     0,  2646,     0,
    5994             :        0,     0,   913,     0,     0,     0,     0,     0,     0,     0,
    5995             :        0,     0,     0,     0,   911,     0,   915,     0,     0,     0,
    5996             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5997             :        0,     0,     0,     0,     0,  3496,  1841,     0,     0,   975,
    5998             :        0,     0,     0,     0,   915,     0,     0,     0,     0,     0,
    5999             :        0,  1853,     0,     0,     0,     0,   913,   975,     0,     0,
    6000             :        0,   975,     0,     0,     0,   975,     0,     0,     0,     0,
    6001             :        0,  4146,     0,     0,   975,     0,     0,     0,   913,     0,
    6002             :        0,     0,  1875,  1876,     0,     0,     0,     0,     0,   975,
    6003             :        0,     0,     0,     0,  2630,     0,     0,     0,     0,     0,
    6004             :        0,     0,  2640,     0,     0,  2574,     0,  2641,  1913,     0,
    6005             :        0,     0,   915,     0,  2575,  2576,  2577,  2578,  2579,  2580,
    6006             :     2581,  2582,  2583,   975,     0,  3029,     0,     0,     0,     0,
    6007             :     2642,  2306,     0,     0,   915,     0,   911,     0,     0,     0,
    6008             :        0,     0,     0,   975,   975,     0,     0,     0,  1951,  1953,
    6009             :      913,     0,     0,     0,     0,     0,   915,     0,  2643,     0,
    6010             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6011             :        0,     0,     0,     0,  2721,     0,     0,     0,  2574,     0,
    6012             :        0,  1823,   975,     0,     0,  1823,     0,  2575,  2576,  2577,
    6013             :     2578,  2579,  2580,  2581,  2582,  2583,     0,     0,     0,     0,
    6014             :        0,  2373,     0,     0,     0,     0,     0,     0,     0,   975,
    6015             :        0,  1823,     0,     0,     0,   975,     0,  2644,     0,     0,
    6016             :     2645,     0,     0,     0,     0,     0,     0,     0,     0,   975,
    6017             :        0,     0,     0,     0,     0,     0,   975,     0,   915,   975,
    6018             :        0,     0,     0,     0,     0,   975,     0,     0,     0,     0,
    6019             :        0,     0,     0,     0,     0,     0,     0,  2835,     0,     0,
    6020             :        0,     0,     0,     0,     0,   975,  2865,     0,     0,     0,
    6021             :        0,   975,   913,     0,     0,     0,     0,     0,   975,     0,
    6022             :        0,     0,     0,     0,  1824,     0,     0,     0,     0,     0,
    6023             :      915,   911,   975,     0,     0,     0,   911,   911,  2903,     0,
    6024             :        0,     0,     0,     0,  2915,  2915,   975,     0,  2915,     0,
    6025             :        0,  1823,     0,  2646,     0,   915,     0,   975,     0,     0,
    6026             :        0,  2933,     0,     0,  2936,     0,     0,     0,     0,     0,
    6027             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   976,
    6028             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6029             :        0,     0,     0,     0,     0,     0,     0,   976,     0,     0,
    6030             :        0,   976,     0,     0,     0,   976,     0,     0,     0,     0,
    6031             :        0,     0,     0,     0,   976,     0,     0,  1823,  3497,     0,
    6032             :        0,     0,  2989,     0,     0,     0,     0,     0,     0,   976,
    6033             :        0,     0,     0,     0,     0,     0,  3009,     0,     0,     0,
    6034             :        0,     0,     0,     0,     0,     0,   966,     0,   966,   966,
    6035             :      911,   913,     0,     0,     0,     0,     0,     0,     0,     0,
    6036             :     2574,     0,     0,   976,     0,     0,     0,     0,     0,  2575,
    6037             :     2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,     0,
    6038             :        0,     0,     0,   976,   976,     0,     0,     0,     0,     0,
    6039             :        0,     0,     0,     0,     0,     0,     0,     0,  2111,     0,
    6040             :        0,  2112,     0,     0,     0,  2113,  2114,  2115,     0,     0,
    6041             :        0,     0,     0,   911,     0,     0,   915,     0,     0,     0,
    6042             :        0,  1824,   976,  2636,     0,  1824,     0,   913,     0,     0,
    6043             :        0,     0,     0,  2637,     0,     0,     0,     0,     0,     0,
    6044             :     2638,     0,     0,     0,     0,     0,  3031,     0,     0,   976,
    6045             :        0,  1824,     0,     0,     0,   976,     0,  3034,     0,     0,
    6046             :        0,     0,     0,     0,     0,     0,  2639,     0,     0,   976,
    6047             :        0,     0,   975,     0,  1823,     0,   976,     0,     0,   976,
    6048             :        0,     0,     0,     0,  2823,   976,     0,     0,     0,     0,
    6049             :        0,   975,     0,     0,     0,     0,     0,     0,   975,  3078,
    6050             :     2915,     0,     0,     0,     0,   976,     0,     0,     0,  2869,
    6051             :        0,   976,   915,     0,     0,     0,     0,     0,   976,     0,
    6052             :        0,     0,     0,     0,  3113,     0,     0,     0,     0,     0,
    6053             :        0,  3126,   976,     0,     0,     0,     0,     0,     0,     0,
    6054             :      915,     0,     0,     0,     0,     0,   976,     0,     0,   913,
    6055             :        0,  1824,     0,     0,     0,     0,     0,   976,     0,  6175,
    6056             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6057             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6058             :        0,     0,     0,     0,     0,  2640,     0,     0,  2959,     0,
    6059             :     2641,     0,     0,     0,     0,  1823,     0,     0,     0,     0,
    6060             :        0,  1823,     0,     0,  3187,     0,     0,     0,     0,     0,
    6061             :        0,     0,     0,  2642,  2306,     0,     0,  1824,  2985,  2986,
    6062             :     2987,  2988,     0,     0,     0,     0,     0,     0,     0,     0,
    6063             :        0,     0,     0,     0,     0,     0,     0,  1393,  1393,     0,
    6064             :        0,  2643,     0,     0,     0,     0,     0,     0,     0,     0,
    6065             :        0,     0,     0,     0,  3241,  2111,     0,  3243,  2112,     0,
    6066             :        0,     0,  2113,  2114,  2115,     0,     0,     0,     0,     0,
    6067             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6068             :     2636,     0,     0,   915,  2373,     0,   975,     0,     0,     0,
    6069             :     2637,     0,     0,     0,     0,     0,     0,  2638,     0,     0,
    6070             :     2644,     0,     0,  2645,   913,     0,     0,     0,     0,   913,
    6071             :      913,     0,     0,     0,     0,     0,     0,     0,  2111,     0,
    6072             :        0,  2112,     0,  2639,     0,  2113,  2114,  2115,     0,  6176,
    6073             :      915,     0,     0,     0,     0,   915,     0,     0,     0,     0,
    6074             :        0,     0,     0,  2636,     0,     0,  4072,     0,     0,     0,
    6075             :        0,     0,     0,  2637,     0,     0,     0,     0,     0,     0,
    6076             :     2638,     0,     0,     0,     0,  3042,  3043,     0,     0,     0,
    6077             :        0,     0,   976,     0,  1824,     0,     0,     0,     0,     0,
    6078             :        0,  3060,     0,     0,     0,     0,  2639,     0,     0,     0,
    6079             :        0,   976,     0,     0,     0,     0,  2646,     0,   976,     0,
    6080             :        0,     0,     0,     0,     0,   966,     0,   966,   966,     0,
    6081             :        0,     0,     0,     0,     0,  3103,  3104,  3105,  3106,   975,
    6082             :      975,     0,     0,   913,  2111,     0,     0,  2112,     0,     0,
    6083             :        0,  2113,  2114,  2115,     0,     0,     0,     0,     0,     0,
    6084             :      975,     0,  2640,   975,     0,     0,     0,  2641,     0,  2636,
    6085             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2637,
    6086             :        0,     0,     0,     0,     0,     0,  2638,     0,     0,     0,
    6087             :     2642,  2306,     0,     0,     0,     0,     0,     0,     0,     0,
    6088             :        0,     0,     0,     0,     0,     0,   913,     0,     0,     0,
    6089             :        0,     0,  2639,   915,     0,  1824,  3180,     0,  2643,     0,
    6090             :        0,  1824,  3184,  2574,     0,  2640,     0,     0,     0,     0,
    6091             :     2641,     0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,
    6092             :     2583,     0,     0,     0,     0,  1823,  1823,  1823,     0,     0,
    6093             :        0,     0,     0,  2642,  2306,   911,     0,     0,     0,     0,
    6094             :        0,  2373,     0,     0,     0,     0,     0,     0,     0,     0,
    6095             :      975,     0,     0,     0,     0,     0,     0,  2644,     0,     0,
    6096             :     2645,  2643,     0,     0,     0,     0,     0,     0,     0,   975,
    6097             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6098             :        0,     0,     0,     0,     0,     0,   976,     0,  4780,     0,
    6099             :        0,   975,     0,     0,     0,     0,     0,     0,     0,     0,
    6100             :        0,     0,     0,     0,  2373,     0,  1579,     0,     0,     0,
    6101             :      915,  2640,  1580,     0,     0,     0,  2641,     0,     0,  1646,
    6102             :     2644,     0,     0,  2645,     0,     0,     0,     0,     0,     0,
    6103             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2642,
    6104             :     2306,  1647,     0,     0,     0,     0,     0,     0,     0,     0,
    6105             :        0,     0,     0,  2646,     0,     0,     0,  1582,     0,     0,
    6106             :        0,     0,     0,     0,   915,     0,     0,  2643,     0,     0,
    6107             :        0,     0,  4781,     0,     0,     0,     0,     0,     0,     0,
    6108             :        0,   975,     0,     0,     0,     0,   915,     0,     0,     0,
    6109             :     3368,     0,     0,  1648,     0,     0,     0,     0,     0,     0,
    6110             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6111             :     2373,     0,     0,     0,  1583,     0,  2646,     0,     0,   976,
    6112             :      976,  1584,     0,     0,     0,  1585,  2644,     0,  1823,  2645,
    6113             :        0,     0,     0,     0,   975,     0,   975,     0,     0,     0,
    6114             :      976,     0,     0,   976,     0,     0,     0,     0,     0,   975,
    6115             :        0,   975,     0,     0,  1586,     0,     0,     0,   915,     0,
    6116             :     2574,     0,     0,     0,     0,     0,     0,     0,     0,  2575,
    6117             :     2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,     0,
    6118             :        0,     0,     0,     0,     0,     0,  1649,     0,     0,     0,
    6119             :     1587,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6120             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6121             :        0,     0,     0,     0,  3426,     0,     0,     0,   975,     0,
    6122             :        0,     0,  2646,  2574,  3431,  1824,  1824,  1824,     0,     0,
    6123             :        0,     0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,
    6124             :     2583,     0,     0,     0,  1650,     0,     0,     0,     0,  1651,
    6125             :      976,     0,     0,     0,  1652,     0,     0,     0,     0,     0,
    6126             :      975,     0,     0,     0,     0,     0,     0,     0,     0,   976,
    6127             :     1653,     0,     0,     0,  1589,     0,     0,     0,     0,   975,
    6128             :      915,     0,     0,   975,     0,  1590,     0,     0,     0,     0,
    6129             :        0,   976,     0,     0,     0,  1591,     0,     0,     0,     0,
    6130             :        0,     0,     0,     0,   975,     0,  1654,  1592,     0,     0,
    6131             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6132             :        0,     0,     0,     0,     0,     0,     0,     0,  4081,  2574,
    6133             :        0,     0,     0,     0,  1393,     0,     0,     0,  2575,  2576,
    6134             :     2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,     0,  3750,
    6135             :        0,     0,  1594,  1595,  1656,  2111,     0,     0,  2112,     0,
    6136             :        0,     0,  2113,  2114,  2115,     0,     0,     0,     0,     0,
    6137             :        0,     0,     0,     0,     0,     0,     0,     0,  1657,     0,
    6138             :     2636,   976,     0,     0,  3751,     0,     0,     0,     0,     0,
    6139             :     2637,     0,     0,     0,     0,     0,     0,  2638,     0,  1659,
    6140             :        0,     0,     0,     0,     0,     0,     0,     0,   913,     0,
    6141             :        0,     0,  1823,     0,     0,     0,     0,     0,     0,   915,
    6142             :        0,     0,     0,  2639,     0,     0,     0,  -136,  1824,     0,
    6143             :        0,     0,     0,     0,   976,     0,   976,     0,     0,     0,
    6144             :        0,     0,     0,     0,     0,     0,     0,     1,     0,   976,
    6145             :     1660,   976,     0,     0,     0,     0,     0,  1597,     2,     0,
    6146             :        3,     4,     0,     0,     0,     0,     0,     0,     0,     0,
    6147             :        0,  3651,     0,     0,     0,     0,     0,     0,     5,     0,
    6148             :        0,     0,     0,     0,     0,     0,  3673,     0,     6,     0,
    6149             :        0,     0,     0,     0,     0,   915,     0,     0,     0,     0,
    6150             :        7,     0,     8,     9,     0,     0,     0,     0,  3701,    10,
    6151             :        0,    11,     0,     0,     0,     0,     0,     0,   976,     0,
    6152             :        0,     0,     0,     0,    12,     0,    13,     0,     0,     0,
    6153             :        0,  2111,     0,     0,  2112,     0,     0,     0,  2113,  2114,
    6154             :     2115,     0,  2640,    14,     0,     0,    15,  2641,     0,     0,
    6155             :        0,     0,     0,     0,     0,     0,  2636,     0,  3368,  4149,
    6156             :      976,    16,     0,    17,     0,     0,  2637,    18,     0,     0,
    6157             :     2642,  2306,     0,  2638,    19,     0,     0,     0,     0,   976,
    6158             :        0,     0,     0,   976,    20,     0,    21,   975,     0,     0,
    6159             :        0,     0,     0,    22,  3781,  3782,     0,     0,  2643,  2639,
    6160             :        0,     0,     0,     0,   976,     0,     0,     0,     0,     0,
    6161             :        0,    23,     0,     0,     0,     0,     0,   915,     0,     0,
    6162             :        0,     0,     0,     0,     0,     0,     0,     0,    24,     0,
    6163             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6164             :        0,  2373,     0,     0,     0,  1368,  1368,     0,     0,     0,
    6165             :        0,  1823,     0,     0,     0,     0,  1823,  2644,  1823,     0,
    6166             :     2645,     0,     0,     0,     0,     0,     0,     0,     0,  2111,
    6167             :        0,     0,  2112,     0,     0,     0,  2113,  2114,  2115,     0,
    6168             :        0,  4117,    25,    26,  1823,     0,     0,     0,    27,     0,
    6169             :        0,     0,     0,     0,  2636,     0,  3907,     0,     0,     0,
    6170             :        0,     0,     0,    28,  2637,     0,     0,     0,     0,     0,
    6171             :        0,  2638,  1824,     0,     0,     0,     0,     0,  2640,     0,
    6172             :     3605,     0,    29,  2641,     0,  1368,     0,     0,     0,     0,
    6173             :      975,     0,     0,   975,     0,     0,     0,  2639,     0,     0,
    6174             :        0,     0,     0,     0,     0,     0,  2642,  2306,     0,     0,
    6175             :        0,     0,     0,  2646,     0,     0,     0,     0,     0,     0,
    6176             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6177             :        0,    30,   915,     0,  2643,     0,     0,   915,   915,     0,
    6178             :        0,     0,     0,     0,     0,     0,    31,     0,     0,     0,
    6179             :        0,    32,    33,     0,    34,     0,     0,     0,     0,    35,
    6180             :        0,     0,     0,     0,     0,    36,     0,     0,    37,     0,
    6181             :        0,     0,     0,     0,     0,    38,     0,  2373,     0,     0,
    6182             :        0,     0,    39,    40,   975,   975,     0,     0,     0,     0,
    6183             :       41,     0,     0,  2644,    42,   975,  2645,  4154,     0,     0,
    6184             :        0,     0,     0,     0,     0,    43,  1734,  1738,     0,     0,
    6185             :        0,     0,   975,     0,     0,     0,  2640,     0,     0,     0,
    6186             :     2574,  2641,    44,     0,     0,  3755,     0,     0,  3758,  2575,
    6187             :     2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,     0,
    6188             :        0,     0,     0,    45,  2642,  2306,     0,   976,     0,     0,
    6189             :        0,   915,     0,     0,     0,    46,     0,     0,     0,     0,
    6190             :        0,    47,     0,     0,     0,     0,    48,     0,     0,     0,
    6191             :        0,     0,  2643,     0,     0,     0,     0,     0,  2111,     0,
    6192             :       49,  2112,     0,     0,     0,  2113,  2114,  2115,     0,  2646,
    6193             :        0,     0,     0,   975,     0,     0,  1823,     0,     0,     0,
    6194             :        0,  2585,     0,  2636,    50,     0,    51,    52,    53,    54,
    6195             :       55,  1824,     0,  2637,   915,  2373,  1824,  3853,  1824,     0,
    6196             :     2638,     0,     0,    56,     0,     0,  -136,     0,     0,     0,
    6197             :     3866,  2644,     0,     0,  2645,     0,     0,     0,  3875,     0,
    6198             :        0,     0,     0,     0,  1824,     0,  2639,     0,     0,     0,
    6199             :        0,     0,     0,     0,     0,     0,  2585,     0,     0,     0,
    6200             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6201             :        0,     0,     0,     0,     0,     0,     0,  3919,     0,     0,
    6202             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6203             :      976,     0,     0,   976,     0,     0,  2574,     0,  3943,     0,
    6204             :     4215,     0,     0,     0,     0,  2575,  2576,  2577,  2578,  2579,
    6205             :     2580,  2581,  2582,  2583,     0,     0,     0,     0,     0,     0,
    6206             :        0,  2111,     0,     0,  2112,     0,     0,  2646,  2113,  2114,
    6207             :     2115,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6208             :        0,  3998,     0,  4000,     0,  2055,  2636,     0,     0,  4161,
    6209             :        0,     0,     0,     0,     0,     0,  2637,     0,     0,     0,
    6210             :        0,     0,     0,  2638,     0,  2640,     0,     0,     0,     0,
    6211             :     2641,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6212             :        0,     0,     0,     0,   976,   976,     0,  2081,     0,  2639,
    6213             :        0,     0,     0,  2642,  2306,   976,     0,     0,     0,     0,
    6214             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6215             :        0,     0,   976,     0,     0,     0,  2100,  2101,  2102,     0,
    6216             :     2104,  2643,     0,     0,     0,     0,     0,     0,   975,     0,
    6217             :        0,  4055,     0,     0,  2574,     0,     0,     0,  4062,     0,
    6218             :        0,  2592,     0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,
    6219             :     2582,  2583,     0,     0,     0,     0,     0,     0,     0,  2111,
    6220             :        0,     0,  2112,     0,  2373,     0,  2113,  2114,  2115,     0,
    6221             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6222             :     2644,     0,     0,  2645,  2636,     0,   975,  4787,     0,     0,
    6223             :        0,     0,     0,   976,  2637,     0,  1824,     0,   975,     0,
    6224             :        0,  2638,     0,     0,     0,     0,     0,     0,  2640,     0,
    6225             :        0,     0,     0,  2641,     0,     0,     0,     0,     0,     0,
    6226             :        0,     0,     0,     0,     0,     0,     0,  2639,     0,     0,
    6227             :        0,     0,   975,     0,     0,     0,  2642,  2306,     0,     0,
    6228             :        0,     0,     0,     0,  2688,     0,     0,  2111,  2700,  2705,
    6229             :     2112,     0,     0,     0,  2113,  2114,  2115,     0,     0,     0,
    6230             :        0,     0,     0,     0,  2643,     0,     0,  2585,     0,     0,
    6231             :        0,  2585,  2636,     0,     0,     0,  2646,     0,     0,     0,
    6232             :        0,     0,  2637,     0,     0,     0,     0,     0,     0,  2638,
    6233             :        0,     0,     0,     0,     0,  4435,     0,     0,     0,     0,
    6234             :        0,     0,     0,     0,     0,  2915,     0,  2373,     0,     0,
    6235             :        0,  1823,  4711,     0,     0,  2639,     0,     0,     0,     0,
    6236             :        0,     0,     0,  2644,     0,     0,  2645,     0,     0,     0,
    6237             :      975,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6238             :        0,     0,     0,     0,     0,     0,  2640,     0,     0,     0,
    6239             :        0,  2641,     0,     0,     0,     0,     0,     0,     0,     0,
    6240             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6241             :        0,     0,     0,     0,  2642,  2306,     0,     0,     0,     0,
    6242             :        0,     0,     0,  2574,     0,     0,     0,     0,     0,     0,
    6243             :        0,     0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,
    6244             :     2583,     0,  2643,     0,     0,  2111,     0,     0,  2112,     0,
    6245             :        0,     0,  2113,  2114,  2115,     0,   975,     0,     0,  2646,
    6246             :        0,     0,     0,     0,     0,     0,     0,     0,   976,     0,
    6247             :     2636,     0,     0,     0,  2640,     0,   915,     0,     0,  2641,
    6248             :     2637,     0,     0,     0,     0,  2373,     0,  2638,     0,     0,
    6249             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6250             :        0,  2644,  2642,  2306,  2645,     0,     0,     0,  4567,  4568,
    6251             :     4569,     0,     0,  2639,     0,     0,     0,  4329,  4330,     0,
    6252             :        0,     0,     0,     0,     0,  4578,   976,     0,     0,     0,
    6253             :     2643,     0,     0,  1734,  1734,  1734,     0,     0,   976,     0,
    6254             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6255             :        0,     0,     0,     0,     0,     0,     0,     0,  4603,  4605,
    6256             :        0,     0,     0,  4610,     0,     0,  2574,     0,     0,     0,
    6257             :        0,     0,   976,  2373,     0,  2575,  2576,  2577,  2578,  2579,
    6258             :     2580,  2581,  2582,  2583,     0,     0,     0,     0,   975,  2644,
    6259             :      975,     0,  2645,     0,     0,     0,  2111,  2646,     0,  2112,
    6260             :        0,     0,     0,  2113,  2114,  2115,     0,     0,     0,  5231,
    6261             :        0,     0,     0,  5241,     0,     0,     0,     0,     0,     0,
    6262             :        0,  2636,     0,     0,     0,     0,     0,     0,  2585,     0,
    6263             :        0,  2637,  2640,     0,     0,     0,     0,  2641,  2638,     0,
    6264             :        0,   975,     0,     0,     0,     0,     0,     0,     0,     0,
    6265             :        0,  1824,     0,     0,  2585,     0,     0,     0,  3325,     0,
    6266             :     2642,  2306,     0,     0,  2639,     0,     0,     0,     0,  1393,
    6267             :      976,     0,     0,  2585,  2585,  2585,     0,  2585,     0,     0,
    6268             :        0,     0,     0,     0,     0,  2646,     0,     0,  2643,     0,
    6269             :        0,  1823,     0,     0,     0,     0,     0,     0,     0,  2111,
    6270             :        0,     0,  2112,     0,  2574,     0,  2113,  2114,  2115,     0,
    6271             :        0,     0,     0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,
    6272             :     2582,  2583,     0,     0,  2636,     0,     0,     0,     0,     0,
    6273             :        0,  2373,     0,     0,  2637,     0,     0,     0,     0,     0,
    6274             :        0,  2638,     0,     0,     0,     0,     0,  2644,     0,     0,
    6275             :     2645,     0,     0,     0,     0,     0,   976,     0,     0,     0,
    6276             :        0,     0,     0,     0,  5247,     0,     0,  2639,     0,     0,
    6277             :        0,  4515,     0,     0,     0,     0,     0,     0,     0,     0,
    6278             :        0,     0,     0,  2640,     0,     0,     0,     0,  2641,     0,
    6279             :        0,     0,  2574,     0,     0,     0,     0,     0,     0,     0,
    6280             :        0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,
    6281             :        0,  2642,  2306,     0,     0,     0,     0,     0,     0,     0,
    6282             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6283             :        0,     0,     0,     0,     0,  4819,  4820,  4821,     0,  2643,
    6284             :        0,     0,     0,  2646,     0,     0,     0,     0,     0,     0,
    6285             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6286             :        0,  5248,  3269,     0,     0,     0,     0,     0,     0,     0,
    6287             :        0,  3286,  3286,  3286,  3286,  3296,  3302,  3286,  3305,  3286,
    6288             :     3286,     0,  2373,     0,     0,  3312,  2640,  3313,   976,  3315,
    6289             :      976,  2641,  3329,  3332,  3337,     0,     0,     0,  2644,     0,
    6290             :     3346,  2645,     0,  3351,     0,     0,     0,     0,     0,     0,
    6291             :        0,     0,     0,     0,  2642,  2306,     0,     0,  3358,  3359,
    6292             :     3360,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6293             :        0,  4669,     0,     0,     0,   975,  3361,     0,     0,     0,
    6294             :        0,   976,  2643,     0,     0,     0,     0,     0,     0,   975,
    6295             :     2574,   966,     0,     0,     0,     0,     0,     0,     0,  2575,
    6296             :     2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,     0,
    6297             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6298             :        0,  1823,     0,     0,     0,  2373,     0,     0,     0,     0,
    6299             :        0,  1824,     0,     0,  2646,     0,   966,     0,     0,     0,
    6300             :        0,  2644,     0,     0,  2645,     0,     0,  2111,     0,     0,
    6301             :     2112,     0,     0,     0,  2113,  2114,  2115,     0,     0,     0,
    6302             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6303             :        0,     0,  2636,     0,     0,     0,     0,     0,     0,     0,
    6304             :        0,     0,  2637,     0,     0,     0,     0,     0,     0,  2638,
    6305             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6306             :     1823,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6307             :        0,     0,     0,     0,     0,  2639,     0,     0,     0,     0,
    6308             :        0,     0,     0,     0,  3369,     0,     0,     0,     0,     0,
    6309             :        0,     0,     0,     0,     0,     0,  1823,  2646,     0,     0,
    6310             :        0,  2574,     0,     0,     0,     0,     0,     0,     0,     0,
    6311             :     2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,
    6312             :        0,  2111,     0,     0,  2112,     0,     0,     0,  2113,  2114,
    6313             :     2115,     0,     0,     0,     0,     0,     0,     0,  3388,     0,
    6314             :        0,     0,     0,     0,     0,     0,  2636,     0,  5249,     0,
    6315             :        0,     0,     0,     0,     0,     0,  2637,     0,     0,     0,
    6316             :        0,     0,     0,  2638,     0,  2585,     0,     0,     0,     0,
    6317             :        0,     0,  1823,  5091,     0,   975,     0,     0,     0,     0,
    6318             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2639,
    6319             :        0,     0,     0,     0,  2640,  3390,     0,     0,     0,  2641,
    6320             :        0,     0,     0,     0,  2574,  5123,     0,     0,     0,     0,
    6321             :        0,     0,     0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,
    6322             :     2582,  2583,  2642,  2306,     0,     0,     0,     0,     0,     0,
    6323             :        0,     0,     0,     0,     0,   976,     0,  3126,     0,     0,
    6324             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   976,
    6325             :     2643,     0,     0,     0,     0,  2111,     0,     0,  2112,     0,
    6326             :        0,  2585,  2113,  2114,  2115,     0,     0,     0,     0,     0,
    6327             :        0,     0,  5181,  2585,     0,     0,     0,     0,  2585,     0,
    6328             :     2636,  1824,     0,     0,     0,     0,     0,     0,     0,  3187,
    6329             :     2637,     0,     0,  2373,     0,     0,     0,  2638,     0,     0,
    6330             :        0,     0,     0,     0,     0,     0,     0,     0,  2640,  2644,
    6331             :        0,     0,  2645,  2641,     0,     0,     0,     0,     0,     0,
    6332             :      975,     0,     0,  2639,     0,     0,     0,     0,     0,     0,
    6333             :        0,     0,     0,     0,     0,     0,  2642,  2306,     0,     0,
    6334             :        0,     0,     0,     0,   975,     0,     0,     0,     0,     0,
    6335             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6336             :     1824,     0,     0,     0,  2643,     0,     0,     0,     0,     0,
    6337             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6338             :     3397,  3398,  3399,  3400,  3401,  3402,  3403,  3404,  3405,     0,
    6339             :     3406,     0,     0,     0,     0,     0,  1824,     0,     0,     0,
    6340             :        0,  1368,     0,  1734,     0,  2646,     0,  2373,     0,     0,
    6341             :        0,     0,     0,     0,     0,     0,     0,  5820,     0,     0,
    6342             :        0,     0,     0,  2644,     0,     0,  2645,     0,     0,     0,
    6343             :        0,     0,     0,     0,  5284,  5285,  5286,  5287,     0,     0,
    6344             :        0,  3361,  2640,     0,     0,  3369,     0,  2641,  3388,  5077,
    6345             :     3390,     0,     0,  3443,     0,     0,     0,     0,     0,     0,
    6346             :        0,     0,     0,  5079,     0,     0,     0,     0,     0,     0,
    6347             :     2642,  2306,  1824,     0,     0,   976,     0,     0,     0,     0,
    6348             :        0,     0,     0,     0,   975,     0,     0,     0,     0,     0,
    6349             :        0,     0,     0,     0,     0,     0,     0,     0,  2643,     0,
    6350             :        0,     0,     0,     0,     0,     0,  2101,  2102,     0,     0,
    6351             :        0,     0,  2574,     0,     0,     0,     0,     0,     0,  2646,
    6352             :        0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,
    6353             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6354             :        0,  2373,     0,     0,     0,     0,  2111,     0,     0,  2112,
    6355             :        0,     0,     0,  2113,  2114,  2115,     0,  2644,     0,     0,
    6356             :     2645,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6357             :        0,  2636,     0,     0,  5837,     0,     0,     0,     0,     0,
    6358             :        0,  2637,     0,     0,     0,     0,  3583,     0,  2638,     0,
    6359             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6360             :     5629,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6361             :        0,     0,     0,     0,  2639,     0,     0,     0,     0,     0,
    6362             :      976,     0,     0,     0,     0,     0,  2574,     0,     0,     0,
    6363             :        0,     0,     0,     0,   966,  2575,  2576,  2577,  2578,  2579,
    6364             :     2580,  2581,  2582,  2583,   976,     0,     0,     0,  1823,     0,
    6365             :        0,     0,     0,  2646,     0,     0,     0,  2111,     0,     0,
    6366             :     2112,     0,     0,     0,  2113,  2114,  2115,     0,     0,     0,
    6367             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6368             :        0,     0,  2636,     0,     0,     0,     0,     0,     0,     0,
    6369             :        0,     0,  2637,     0,     0,     0,     0,     0,     0,  2638,
    6370             :        0,     0,     0,   966,   966,     0,     0,     0,     0,  1823,
    6371             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6372             :        0,     0,     0,     0,     0,  2639,     0,     0,     0,     0,
    6373             :        0,     0,     0,  2640,  1823,     0,     0,     0,  2641,     0,
    6374             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6375             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6376             :     2574,  2642,  2306,     0,     0,     0,     0,     0,     0,  2575,
    6377             :     2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,     0,
    6378             :        0,     0,     0,     0,   976,     0,  5509,     0,     0,  2643,
    6379             :        0,     0,     0,     0,     0,     0,     0,  5519,     0,     0,
    6380             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6381             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6382             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  3839,
    6383             :     3840,  1734,  2373,     0,     0,  3844,     0,     0,     0,     0,
    6384             :        0,     0,  2585,     0,  2640,     0,     0,     0,  2644,  2641,
    6385             :        0,  2645,     0,     0,     0,     0,     0,     0,     0,  2585,
    6386             :        0,     0,  3873,     0,     0,     0,     0,     0,     0,  2585,
    6387             :        0,     0,  2642,  2306,     0,  2585,     0,     0,  2585,     0,
    6388             :        0,     0,     0,     0,     0,  2585,  2585,     0,  2585,     0,
    6389             :        0,     0,     0,  3325,  3325,     0,  4140,     0,  3325,     0,
    6390             :     2643,     0,  2585,     0,     0,  2585,     0,     0,     0,     0,
    6391             :     2585,     0,     0,     0,     0,     0,     0,     0,     0,  2585,
    6392             :        0,     0,     0,     0,  2585,     0,     0,     0,     0,     0,
    6393             :        0,  2585,  2585,  2585,  2585,     0,     0,     0,     0,  3325,
    6394             :     3325,     0,  2585,  2373,  2646,     0,     0,     0,  1824,     0,
    6395             :        0,  5423,     0,     0,     0,     0,     0,     0,     0,  2644,
    6396             :        0,  2585,  2645,  2585,     0,     0,  5427,     0,     0,     0,
    6397             :     2585,  2585,  2585,  2585,  2585,  2585,  2585,  2585,  2585,  2585,
    6398             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6399             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6400             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  1824,
    6401             :        0,     0,     0,     0,     0,     0,  2585,     0,     0,     0,
    6402             :        0,     0,   966,   966,     0,     0,     0,     0,     0,     0,
    6403             :        0,     0,     0,     0,  1824,     0,     0,     0,     0,     0,
    6404             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6405             :        0,  2574,     0,     0,     0,  2646,     0,     0,  5487,     0,
    6406             :     2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,
    6407             :        0,  4068,     0,     0,     0,     0,  4074,     0,     0,     0,
    6408             :        0,     0,     0,  5731,     0,     0,     0,     0,  1393,     0,
    6409             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6410             :        0,     0,     0,     0,     0,     1,     0,  5761,     0,     0,
    6411             :        0,     0,     0,     0,     0,     0,     2,     0,     3,     4,
    6412             :        0,     0,     0,     0,     0,     0,     0,  2104,     0,     0,
    6413             :        0,     0,     0,     0,     0,     0,     0,     0,  3337,     0,
    6414             :     3337,  3337,     0,     0,     0,     0,     6,     0,     0,     0,
    6415             :        0,     0,     0,     0,  4164,     0,  2585,  4167,     7,  4169,
    6416             :        8,     9,  2574,     0,     0,     0,     0,    10,     0,    11,
    6417             :        0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,
    6418             :        0,     0,    12,     0,    13,     0,     0,     0,     0,     0,
    6419             :        0,     0,     0,   673,     0,     0,  4194,     0,  4197,     0,
    6420             :     4199,    14,     0,     0,    15,     0,     0,     0,     0,     0,
    6421             :        0,   674,     0,     0,     0,     0,     0,     0,     0,    16,
    6422             :        0,    17,     0,     0,     0,    18,     0,     0,     0,     0,
    6423             :        0,     0,  5786,     0,     0,     0,   675,     0,     0,     0,
    6424             :        0,     0,    20,     0,    21,     0,     0,     0,     0,   676,
    6425             :        0,    22,     0,     0,     0,     0,     0,     0,     0,     0,
    6426             :        0,     0,     0,     0,     0,     0,  -899,     0,     0,    23,
    6427             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6428             :        0,     0,     0,  5648,   677,  5650,    24,     0,     0,     0,
    6429             :      678,     0,     0,     0,  4269,     0,     0,     0,     0,  2688,
    6430             :        0,     0,     0,     0,     0,     0,     0,     0,   679,     0,
    6431             :        0,     0,     0,     0,  2705,     0,     0,     0,     0,     0,
    6432             :        0,     0,   680,     0,     0,     0,     0,     0,     0,     0,
    6433             :        0,   681,     0,     0,     0,     0,     0,     0,     0,     0,
    6434             :       25,    26,     0,     0,   682,     0,    27,     0,     0,     0,
    6435             :        0,     0,     0,   683,     0,     0,     0,   684,     0,     0,
    6436             :        0,    28,     0,     0,     0,     0,     0,     0,     0,     0,
    6437             :        0,  5966,     0,     0,     0,     0,     0, -1104,     0,  4319,
    6438             :       29,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6439             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  5988,
    6440             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6441             :        0,     0,  2585,  2585,     0,     0,     0,  2585,     0,     0,
    6442             :        0,     0,     0,     0,     0,  5777,     0,   685,     0,    30,
    6443             :        0,     0,     0,     0,     0,     0,     0,  -630,     0,  4354,
    6444             :        0,     0,     0,     0,    31,     0,  2585,     0,     0,    32,
    6445             :       33,     0,    34,     0,     0,     0,     0,    35,     0,     0,
    6446             :     4641,     0,     0,    36,     0,     0,    37,     0,     0,     0,
    6447             :        0,     0,     0,    38,     0,     0,     0,     0,     0,     0,
    6448             :       39,    40,   686,     0,     0,   687,     0,     0,    41,     0,
    6449             :        0,     0,    42,     0,     0,     0,     0,     0,     0,     0,
    6450             :        0,     0,     0,    43,     0,     0,     0,     0,     0,   688,
    6451             :     6076,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6452             :       44,     0,     0,   689,     0,     0,     0,     0,     0,     0,
    6453             :     -468,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6454             :        0,    45,     0,     0,     0,     0,     0,     0,     0,     0,
    6455             :      690,     0,     0,    46,     0,     0,     0,     0,     0,    47,
    6456             :      691,     0,     0,     0,    48,     0,     0,  -468,     0,     0,
    6457             :      692,     0,     0,     0,     0,     0,     0,     0,    49,     0,
    6458             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6459             :      693,     0,     0,     0,     0,     0,     0,     0,   694,     0,
    6460             :        0,     0,    50,     0,     0,  -468,     0,  5915,   695,  5917,
    6461             :      696,     0,   697,   698,     0,     0,     0,     0,     0,     0,
    6462             :        0,    56,     0,     0,  -136,     0,     0,     0,   699,     0,
    6463             :        0,     0,     0,     0,     0,     0,   700,     0,     0,   701,
    6464             :     1734,  2585,   702,     0,     0,     0,  1734,  2585,     0,     0,
    6465             :        0,     0,     0,     0,     0,  -468,     0,     0,     0,     0,
    6466             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6467             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6468             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6469             :        0,     0,     0,     0,  4140,  4140,     0,     0,  3325,  3325,
    6470             :     3325,  3325,     0,     0,  3325,  3325,  3325,  3325,  3325,  3325,
    6471             :     3325,  3325,  3325,  3325,  4140,     0,     0,     0,     0,     0,
    6472             :        0,   722,     0,     0,     0,  4590,  2792,     0,     0,     0,
    6473             :        0,     0,     0,     0,     0,     0,     0,  2585,     0,     0,
    6474             :     2585,     0,  2585,     0,     0,  4140,  4140,     0,     0,     0,
    6475             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6476             :        0,     0,     0,     0,  2793,     0,     0,  2585,  3325,  3325,
    6477             :     2585,     0,  2585,     0,     0,     0,     0,   725,     0,     0,
    6478             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6479             :        0,     0,     0,     0,   726,     0,     0,     0,     0,     0,
    6480             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6481             :        0,     0,  1059,     0,     0,     0,     0,     0,     0,     0,
    6482             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6483             :        0,     0,     0,     0,     0,     0,  2794,     0,     0,     0,
    6484             :        0,     0,  2585,     0,     0,     0,     0,     0,     0,     0,
    6485             :      729,     0,     0,     0,     0,     0,     0,     0,     0,   730,
    6486             :        0,     0,     0,     0,     0,     0,     0,   197,     0,     0,
    6487             :        0,     0,   731,     0,  4712,     0,     0,     0,  2795,     0,
    6488             :        0,  6124,     0,  4716,     0,     0,     0,     0,     0,     0,
    6489             :        0,     0,  2585,     0,     0,     0,     0,  3286,     0,     0,
    6490             :        0,  4729,  3286,  3286,     0,  1062,     0,     0,  3302,     0,
    6491             :        0,  4737,     0,     0,  4739,     0,     0,     0,   198,     0,
    6492             :     4741,     0,  4742,     0,     0,     0,     0,  2585,     0,     0,
    6493             :        0,     0,     0,     0,     0,   199,     0,     0,     0,     0,
    6494             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  4764,
    6495             :     4765,  4766,     0,   200,     0,     0,     0,     0,     0,   201,
    6496             :        0,     0,     0,     0,     0,   735,     0,     0,  3346,     0,
    6497             :        0,     0,     0,     0,     0,     0,  4790,   202,     0,  4793,
    6498             :        0,  4795,     0,     0,     0,     0,     0,     0,     0,     0,
    6499             :        0,   203,     0,     0,     0,     0,     0,  4799,     0,     0,
    6500             :      204,     0,     0,     0,     0,  4806,  4807,     0,     0,     0,
    6501             :     2796,     0,  4812,   205,  6231,     0,     0,     0,     0,   206,
    6502             :        0,     0,     0,     0,     0,     0,   207,     0,     0,     0,
    6503             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6504             :        0,  3286,     0,     0,     0,     0,   208,   213,  2797,     0,
    6505             :        0,   740,     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,  1066,     0,
    6508             :        0,  2798,     0,     0,   209,     0,     0,     0,   744,     0,
    6509             :        0,     0,  4866,     0,     0,   745,     0,     0,   746,     0,
    6510             :        0,     0,     0,     0,     0,     0,   210,     0,     0,  4880,
    6511             :        0,     0,     0,     0,     0,     0,     0,     0,   747,  3325,
    6512             :        0,     0,     0,     0,     0,     0,  1068,     0,     0,     0,
    6513             :        0,     0,     0,   749,     0,     0,  1069,     0,     0,     0,
    6514             :        0,   751,     0,     0,     0,     0,  6326,     0,     0,  2799,
    6515             :        0,   211,     0,     0,     0,     0,  2800,     0,     0,     0,
    6516             :        0,     0,     0,  2585,     0,     0,     0,     0,     0,     0,
    6517             :        0,     0,     0,     0,     0,     0,     0,     0,   212,  1117,
    6518             :     1117,     0,     0,   756,     0,     0,     0,     0,   213,   214,
    6519             :        0,     0,   215,     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,   216,
    6522             :        0,     0,   217,     0,     0,     0,   218,     0,     0,   219,
    6523             :        0,     0,     0,     0,     0,     0,   220,     0,     0,   221,
    6524             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6525             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   222,
    6526             :        0,     0,     0,     0,     0,     0,     0,   223,     0,     0,
    6527             :        0,     0,   224,     0,   225,     0,     0,   226,     0,     0,
    6528             :        0,     0,   227,     0,     0,  2585,     0,     0,     0,  2585,
    6529             :        0,     0,   228,     0,     0,     0,     0,   229,     0,     0,
    6530             :        0,     0,  2585,     0,     0,     0,  1117,     0,     0,     0,
    6531             :     2585,   230,  2585,     0,  2585,  2585,     0,     0,     0,     0,
    6532             :     4140,  4140,  4140,  4140,   231,     0,     0,  4140,  4140,  4140,
    6533             :     4140,  4140,  4140,  4140,  4140,  4140,  4140,  2585,  2585,  2585,
    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,  2585,     0,  2585,     0,
    6537             :        0,     0,  2585,     0,     0,  4140,  4140,     0,     0,  2585,
    6538             :     2585,     0,     0,     0,     0,  2585,     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,     0,     0,     0,     0,     0,     0,
    6542             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6543             :        0,     0,     0,     0,     0,  5169,  5170,     0,     0,  2585,
    6544             :        0,     0,     0,     0,     0,     0,  5177,     0,     0,     0,
    6545             :        0,     0,     0,  2585,     0,     0,     0,     0,     0,     0,
    6546             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6547             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6548             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6549             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6550             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6551             :        0,     0,     0,     0,     0,     0,  5220,     0,     0,     0,
    6552             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6553             :        0,     0,  2688,     0,     0,     0,     0,     0,     0,     0,
    6554             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6555             :     5243,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6556             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6557             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6558             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  5262,
    6559             :     5264,     0,     0,     0,     0,     0,  5268,  5269,     0,     0,
    6560             :        0,  5270,     0,     0,     0,     0,  5271,     0,     0,  5274,
    6561             :     5275,     0,     0,     0,     0,     0,  5280,     0,     0,     0,
    6562             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6563             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6564             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6565             :        0,     0,     0,     0,  4140,     0,     0,     0,     0,     0,
    6566             :        0,  5315,     0,     0,     0,     0,     0,     0,     0,     0,
    6567             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6568             :     5330,     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,  5360,     0,     0,
    6573             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6574             :        0,     0,  2585,  2585,     0,     0,     0,     0,     0,     0,
    6575             :     2585,     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,     0,     0,     0,
    6578             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6579             :        0,     0,     0,  2585,     0,     0,     0,     0,     0,     0,
    6580             :        0,     0,     0,     0,     0,     0,     0,     0,  5411,     0,
    6581             :        0,     0,     0,     0,     0,  5413,  2585,  3325,     0,     0,
    6582             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6583             :        0,     0,     0,     0,     0,  2585,     0,  2585,     0,     0,
    6584             :        0,  2585,  2585,  2585,  2585,     0,     0,  2585,  2585,     0,
    6585             :        0,     0,     0,  2585,     0,     0,     0,     0,     0,     0,
    6586             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6587             :     3325,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6588             :        0,     0,     0,  5448,     0,     0,     0,     0,  2585,     0,
    6589             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6590             :        0,     0,     0,  2585,     0,     0,     0,     0,     0,     0,
    6591             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6592             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6593             :        0,     0,     0,  2585,     0,     0,     0,     0,     0,     0,
    6594             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6595             :        0,     0,     0,     0,     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,  2585,     0,  2585,     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,  2585,     0,     0,     0,     0,     0,     0,     0,     0,
    6603             :        0,     0,     0,     0,     0,     0,  3286,     0,     0,     0,
    6604             :        0,     0,     0,     0,     0,     0,  5556,     0,     0,     0,
    6605             :        0,     0,  5560,  5561,  5562,     0,     0,     0,     0,     0,
    6606             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6607             :        0,     0,     0,     0,     0,     0,     0,  5575,  5576,     0,
    6608             :        0,  5577,     0,     0,     0,     0,     0,     0,     0,     0,
    6609             :        0,     0,     0,     0,     0,     0,     0,     0,  5585,     0,
    6610             :        0,     0,     0,     0,     0,     0,     0,     0,  5597,     0,
    6611             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  5615,
    6612             :        0,     0,     0,     0,     0,     0,     0,  1368,     0,  2585,
    6613             :        0,  4140,  3325,  2585,  2585,  2585,  5634,     0,     0,     0,
    6614             :        0,     0,     0,     0,     0,     0,     0,     0,  2585,  2585,
    6615             :     2585,     0,     0,     0,     0,     0,     0,     0,  2585,     0,
    6616             :        0,     0,     0,  3325,     0,     0,  4140,     0,     0,     0,
    6617             :     2585,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6618             :        0,     0,     0,     0,     0,     0,     0,     0,  2585,     0,
    6619             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6620             :        0,     0,     0,     0,     0,     0,     0,  2585,     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             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6627             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6628             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6629             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6630             :        0,     0,     0,     0,     0,     0,     0,     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,  5810,     0,     0,
    6635             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6636             :        0,     0,     0,     0,     0,     0,     0,     0,  3346,     0,
    6637             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6638             :        0,     0,     0,  2585,     0,     0,     0,     0,     0,     0,
    6639             :        0,     0,     0,     0,  4140,     0,     0,     0,     0,     0,
    6640             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6641             :        0,     0,     0,  2104,     0,  4140,     0,  3325,     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,  5895,     0,     0,  2585,     0,
    6647             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6648             :     2585,  5907,     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,     0,
    6651             :        0,     0,     0,     0,     0,     0,  2585,     0,     0,     0,
    6652             :        0,     0,     0,  5943,     0,     0,     0,     0,     0,     0,
    6653             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6654             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6655             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6656             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6657             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6658             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6659             :        0,     0,     0,     0,     0,     0,  2585,     0,     0,     0,
    6660             :        0,     0,     0,  2585,     0,     0,     0,     0,     0,     0,
    6661             :        0,     0,     0,  3286,     0,     0,     0,     0,     0,     0,
    6662             :        0,     0,     0,     0,     0,  6023,     0,     0,     0,     0,
    6663             :        0,     0,     0,     0,  6030,  6030,  6030,     0,     0,  2585,
    6664             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6665             :        0,     0,     0,     0,  2585,     0,     0,     0,     0,     0,
    6666             :        0,     0,  5615,     0,     0,     0,     0,     0,     0,     0,
    6667             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6668             :        0,  6066,     0,     0,     0,     0,     0,     0,     0,     0,
    6669             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6670             :        0,  6081,     0,     0,     0,     0,     0,     0,     0,     0,
    6671             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6672             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6673             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6674             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6675             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6676             :        0,     0,  3325,  3325,     0,     0,  3325,     0,     0,     0,
    6677             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6678             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6679             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6680             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6681             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6682             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6683             :     2585,     0,  6030,     0,     0,     0,     0,     0,     0,     0,
    6684             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6685             :        0,     0,     0,     0,     0,  2585,     0,  5615,     0,     0,
    6686             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6687             :        0,     0,     0,  4140,  4140,     0,  4140,     0,     0,     0,
    6688             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6689             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6690             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6691             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6692             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6693             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  6257,
    6694             :        0,     0,     0,     0,     0,  2585,     0,     0,     0,     0,
    6695             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6696             :        0,     0,     0,  6282,     0,     0,     0,     0,     0,     0,
    6697             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6698             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6699             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6700             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6701             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6702             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6703             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6704             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6705             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6706             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6707             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   234,
    6708             :        0,  1271,   717,     0,  1272,  1273,  1274,   778,  1275,     0,
    6709             :        0,     0,     0,     0,     0,  6030,   235,   236,   237,   238,
    6710             :      239,   240,   241,   242,   243,  1728,   244,   245,   246,     0,
    6711             :        0,  6372,     0,  1276,     0,     0,   247,   248,   249,     0,
    6712             :      250,   251,   252,   253,   254,   255,   256,   257,   258,  1277,
    6713             :      260,  1278,  1279,     0,   263,   264,   265,   266,   267,   268,
    6714             :      269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,   275,
    6715             :      276,   277,   278,  1284,     0,  1285,     0,   281,   282,   283,
    6716             :      284,   285,   286,   287,   288,   289,   290,   291,     0,   292,
    6717             :      293,   294,   295,   296,   297,     0,   298,   299,   300,   301,
    6718             :     1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,   305,
    6719             :      306,   307,   308,  1293,  1294,   311,  1295,   312,     0,   313,
    6720             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
    6721             :      323,  1729,     0,   324,   325,   887,   327,   328,     0,   329,
    6722             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
    6723             :      338,   339,   340,   341,  1296,   343,   344,   345,   346,  1297,
    6724             :     1298,   348,  1734,   349,   350,   351,  1299,   353,     0,   354,
    6725             :        0,   355,   356,   357,     0,   358,   359,   360,   361,   362,
    6726             :        0,   363,  1300,     0,  1301,   366,   367,     0,   368,   369,
    6727             :      370,   371,   372,   373,   374,   375,   376,   377,     0,   378,
    6728             :      379,   380,   381,   382,   383,   384,   385,     0,   386,   387,
    6729             :      388,   389,   390,   391,   392,  1302,  1303,     0,  1304,     0,
    6730             :      396,   397,   398,   399,   400,  1305,  1306,  1307,  1308,  1309,
    6731             :     1310,  1311,  1312,  1313,   410,  1314,   412,   413,   414,   415,
    6732             :      416,   417,   418,     0,     0,   419,  1315,   421,   422,   423,
    6733             :        0,   424,   425,   426,  1316,  1317,   427,   428,   429,   430,
    6734             :      431,   432,   433,   434,   435,   436,  1318,   438,   439,   440,
    6735             :      441,   442,   443,   444,   445,  1319,   447,  1320,   449,   450,
    6736             :      451,   452,   453,   454,   455,   456,   457,  1321,   459,  1322,
    6737             :      460,   461,   462,   463,  1323,  1324,   465,  1325,   467,   468,
    6738             :      469,   470,     0,   471,   472,   473,     0,     0,  1326,   475,
    6739             :      476,     0,     0,   477,   478,   479,   480,   481,   482,  1327,
    6740             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
    6741             :      494,   495,     0,   496,   497,   498,  1328,   500,   501,   502,
    6742             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
    6743             :      512,   513,   514,   515,  1329,   517,   518,   519,     0,   520,
    6744             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
    6745             :      531,   532,     0,   533,   534,   535,   536,   537,   538,   539,
    6746             :      540,  1330,   542,   543,   544,   545,   546,   547,   548,   549,
    6747             :      550,   551,     0,   552,   553,   554,   555,   556,  1331,   557,
    6748             :      558,   559,   560,   561,   562,   563,   564,  1332,   566,     0,
    6749             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
    6750             :      577,   578,   579,   580,   581,  1333,   583,     0,   584,   585,
    6751             :     1334,     0,   586,   587,   588,   589,   590,   591,   592,   593,
    6752             :        0,   594,  1335,  1336,     0,     0,   597,   598,  1337,   600,
    6753             :     1338,  1339,   602,   603,   604,   605,   606,   607,   608,   609,
    6754             :      610,     0,  1340,   611,   612,   613,   614,   615,  1341,     0,
    6755             :      616,   617,   618,   619,   620,   621,  1342,  1730,   623,   624,
    6756             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
    6757             :      631,   632,   633,   634,   635,   636,   637,  1343,  1344,  1345,
    6758             :     1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,   650,
    6759             :        0,  1351,     0,     0,     0,     0,     0,     0,     0,     0,
    6760             :        0,     0,     0,  1352,  1353,  1731,     0,     0,     0,     0,
    6761             :        0,     0,  1355,  1732,   234,     0,  1271,   717,     0,  1272,
    6762             :     1273,  1274,   778,  1275,     0,     0,     0,     0,     0,     0,
    6763             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    6764             :        0,   244,   245,   246,     0,     0,     0,     0,  1276,     0,
    6765             :        0,   247,   248,   249,     0,   250,   251,   252,   253,   254,
    6766             :      255,   256,   257,   258,  1277,   260,  1278,  1279,     0,   263,
    6767             :      264,   265,   266,   267,   268,   269,  1280,  1281,   270,   271,
    6768             :     1282,  1283,   274,     0,   275,   276,   277,   278,  1284,     0,
    6769             :     1285,     0,   281,   282,   283,   284,   285,   286,   287,   288,
    6770             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    6771             :        0,   298,   299,   300,   301,  1286,  1287,  1288,  1289,  1290,
    6772             :     1291,  1292,   303,   304,   305,   306,   307,   308,  1293,  1294,
    6773             :      311,  1295,   312,     0,   313,   314,   315,   316,   317,   318,
    6774             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    6775             :      887,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    6776             :      334,   335,   336,   337,     0,   338,   339,   340,   341,  1296,
    6777             :      343,   344,   345,   346,  1297,  1298,   348,     0,   349,   350,
    6778             :      351,  1299,   353,     0,   354,     0,   355,   356,   357,     0,
    6779             :      358,   359,   360,   361,   362,     0,   363,  1300,     0,  1301,
    6780             :      366,   367,     0,   368,   369,   370,   371,   372,   373,   374,
    6781             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
    6782             :      384,   385,     0,   386,   387,   388,   389,   390,   391,   392,
    6783             :     1302,  1303,     0,  1304,     0,   396,   397,   398,   399,   400,
    6784             :     1305,  1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,   410,
    6785             :     1314,   412,   413,   414,   415,   416,   417,   418,     0,     0,
    6786             :      419,  1315,   421,   422,   423,     0,   424,   425,   426,  1316,
    6787             :     1317,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    6788             :      436,  1318,   438,   439,   440,   441,   442,   443,   444,   445,
    6789             :     1319,   447,  1320,   449,   450,   451,   452,   453,   454,   455,
    6790             :      456,   457,  1321,   459,  1322,   460,   461,   462,   463,  1323,
    6791             :     1324,   465,  1325,   467,   468,   469,   470,     0,   471,   472,
    6792             :      473,     0,     0,  1326,   475,   476,     0,     0,   477,   478,
    6793             :      479,   480,   481,   482,  1327,   484,   485,   486,   487,   488,
    6794             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
    6795             :      498,  1328,   500,   501,   502,   503,   504,     0,   505,   506,
    6796             :      507,   508,   509,   510,   511,   512,   513,   514,   515,  1329,
    6797             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    6798             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    6799             :      535,   536,   537,   538,   539,   540,  1330,   542,   543,   544,
    6800             :      545,   546,   547,   548,   549,   550,   551,    40,   552,   553,
    6801             :      554,   555,   556,  1331,   557,   558,   559,   560,   561,   562,
    6802             :      563,   564,  1332,   566,     0,   567,   568,   569,   570,   571,
    6803             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    6804             :     1333,   583,     0,   584,   585,  1334,    44,   586,   587,   588,
    6805             :      589,   590,   591,   592,   593,     0,   594,  1335,  1336,     0,
    6806             :        0,   597,   598,  1337,   600,  1338,  1339,   602,   603,   604,
    6807             :      605,   606,   607,   608,   609,   610,     0,  1340,   611,   612,
    6808             :      613,   614,   615,  1341,     0,   616,   617,   618,   619,   620,
    6809             :     1206,  1342,     0,   623,   624,   625,   626,   627,   628,   629,
    6810             :        0,     0,   630,     0,    49,   631,   632,   633,   634,   635,
    6811             :      636,   637,  1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,
    6812             :     1350,   647,   648,   649,   650,     0,  1351,     0,    50,     0,
    6813             :        0,     0,     0,     0,     0,     0,     0,     0,  1352,  1353,
    6814             :        0,     0,     0,     0,     0,     0,     0,  1355,  5856,   234,
    6815             :        0,  1271,   717,     0,  1272,  1273,  1274,   778,  1275,     0,
    6816             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
    6817             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
    6818             :        0,     0,     0,  1276,     0,     0,   247,   248,   249,     0,
    6819             :      250,   251,   252,   253,   254,   255,   256,   257,   258,  1277,
    6820             :      260,  1278,  1279,     0,   263,   264,   265,   266,   267,   268,
    6821             :      269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,   275,
    6822             :      276,   277,   278,  1284,     0,  1285,     0,   281,   282,   283,
    6823             :      284,   285,   286,   287,   288,   289,   290,   291,     0,   292,
    6824             :      293,   294,   295,   296,   297,     0,   298,   299,   300,   301,
    6825             :     1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,   305,
    6826             :      306,   307,   308,  1293,  1294,   311,  1295,   312,     0,   313,
    6827             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
    6828             :      323,     0,     0,   324,   325,   887,   327,   328,     0,   329,
    6829             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
    6830             :      338,   339,   340,   341,  1296,   343,   344,   345,   346,  1297,
    6831             :     1298,   348,     0,   349,   350,   351,  1299,   353,     0,   354,
    6832             :        0,   355,   356,   357,     0,   358,   359,   360,   361,   362,
    6833             :        0,   363,  1300,     0,  1301,   366,   367,     0,   368,   369,
    6834             :      370,   371,   372,   373,   374,   375,   376,   377,     0,   378,
    6835             :      379,   380,   381,   382,   383,   384,   385,     0,   386,   387,
    6836             :      388,   389,   390,   391,   392,  1302,  1303,     0,  1304,     0,
    6837             :      396,   397,   398,   399,   400,  1305,  1306,  1307,  1308,  1309,
    6838             :     1310,  1311,  1312,  1313,   410,  1314,   412,   413,   414,   415,
    6839             :      416,   417,   418,     0,     0,   419,  1315,   421,   422,   423,
    6840             :        0,   424,   425,   426,  1316,  1317,   427,   428,   429,   430,
    6841             :      431,   432,   433,   434,   435,   436,  1318,   438,   439,   440,
    6842             :      441,   442,   443,   444,   445,  1319,   447,  1320,   449,   450,
    6843             :      451,   452,   453,   454,   455,   456,   457,  1321,   459,  1322,
    6844             :      460,   461,   462,   463,  1323,  1324,   465,  1325,   467,   468,
    6845             :      469,   470,     0,   471,   472,   473,     0,     0,  1326,   475,
    6846             :      476,     0,     0,   477,   478,   479,   480,   481,   482,  1327,
    6847             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
    6848             :      494,   495,     0,   496,   497,   498,  1328,   500,   501,   502,
    6849             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
    6850             :      512,   513,   514,   515,  1329,   517,   518,   519,     0,   520,
    6851             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
    6852             :      531,   532,     0,   533,   534,   535,   536,   537,   538,   539,
    6853             :      540,  1330,   542,   543,   544,   545,   546,   547,   548,   549,
    6854             :      550,   551,     0,   552,   553,   554,   555,   556,  1331,   557,
    6855             :      558,   559,   560,   561,   562,   563,   564,  1332,   566,     0,
    6856             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
    6857             :      577,   578,   579,   580,   581,  1333,   583,     0,   584,   585,
    6858             :     1334,     0,   586,   587,   588,   589,   590,   591,   592,   593,
    6859             :        0,   594,  1335,  1336,     0,     0,   597,   598,  1337,   600,
    6860             :     1338,  1339,   602,   603,   604,   605,   606,   607,   608,   609,
    6861             :      610,     0,  1340,   611,   612,   613,   614,   615,  1341,     0,
    6862             :      616,   617,   618,   619,   620,   621,  1342,     0,   623,   624,
    6863             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
    6864             :      631,   632,   633,   634,   635,   636,   637,  1343,  1344,  1345,
    6865             :     1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,   650,
    6866             :        0,  1351,     0,     0,     0,     0,     0,     0,     0,     0,
    6867             :        0,     0,     0,  1352,  1353,     0,     0,     0,     0,     0,
    6868             :        0,     0,  1355,  3327,   234,     0,  1271,   717,     0,  1272,
    6869             :     1273,  1274,   778,  1275,     0,     0,     0,     0,     0,     0,
    6870             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    6871             :        0,   244,   245,   246,     0,     0,     0,     0,  1276,     0,
    6872             :        0,   247,   248,   249,     0,   250,   251,   252,   253,   254,
    6873             :      255,   256,   257,   258,  1277,   260,  1278,  1279,     0,   263,
    6874             :      264,   265,   266,   267,   268,   269,  1280,  1281,   270,   271,
    6875             :     1282,  1283,   274,     0,   275,   276,   277,   278,  1284,     0,
    6876             :     1285,     0,   281,   282,   283,   284,   285,   286,   287,   288,
    6877             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    6878             :        0,   298,   299,   300,   301,  1286,  1287,  1288,  1289,  1290,
    6879             :     1291,  1292,   303,   304,   305,   306,   307,   308,  1293,  1294,
    6880             :      311,  1295,   312,     0,   313,   314,   315,   316,   317,   318,
    6881             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    6882             :      887,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    6883             :      334,   335,   336,   337,     0,   338,   339,   340,   341,  1296,
    6884             :      343,   344,   345,   346,  1297,  1298,   348,     0,   349,   350,
    6885             :      351,  1299,   353,     0,   354,     0,   355,   356,   357,     0,
    6886             :      358,   359,   360,   361,   362,     0,   363,  1300,     0,  1301,
    6887             :      366,   367,     0,   368,   369,   370,   371,   372,   373,   374,
    6888             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
    6889             :      384,   385,     0,   386,   387,   388,   389,   390,   391,   392,
    6890             :     1302,  1303,     0,  1304,     0,   396,   397,   398,   399,   400,
    6891             :     1305,  1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,   410,
    6892             :     1314,   412,   413,   414,   415,   416,   417,   418,     0,     0,
    6893             :      419,  1315,   421,   422,   423,     0,   424,   425,   426,  1316,
    6894             :     1317,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    6895             :      436,  1318,   438,   439,   440,   441,   442,   443,   444,   445,
    6896             :     1319,   447,  1320,   449,   450,   451,   452,   453,   454,   455,
    6897             :      456,   457,  1321,   459,  1322,   460,   461,   462,   463,  1323,
    6898             :     1324,   465,  1325,   467,   468,   469,   470,     0,   471,   472,
    6899             :      473,     0,     0,  1326,   475,   476,     0,     0,   477,   478,
    6900             :      479,   480,   481,   482,  1327,   484,   485,   486,   487,   488,
    6901             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
    6902             :      498,  1328,   500,   501,   502,   503,   504,     0,   505,   506,
    6903             :      507,   508,   509,   510,   511,   512,   513,   514,   515,  1329,
    6904             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    6905             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    6906             :      535,   536,   537,   538,   539,   540,  1330,   542,   543,   544,
    6907             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
    6908             :      554,   555,   556,  1331,   557,   558,   559,   560,   561,   562,
    6909             :      563,   564,  1332,   566,     0,   567,   568,   569,   570,   571,
    6910             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    6911             :     1333,   583,     0,   584,   585,  1334,     0,   586,   587,   588,
    6912             :      589,   590,   591,   592,   593,     0,   594,  1335,  1336,     0,
    6913             :        0,   597,   598,  1337,   600,  1338,  1339,   602,   603,   604,
    6914             :      605,   606,   607,   608,   609,   610,     0,  1340,   611,   612,
    6915             :      613,   614,   615,  1341,     0,   616,   617,   618,   619,   620,
    6916             :      621,  1342,     0,   623,   624,   625,   626,   627,   628,   629,
    6917             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
    6918             :      636,   637,  1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,
    6919             :     1350,   647,   648,   649,   650,     0,  1351,     0,     0,     0,
    6920             :        0,     0,     0,     0,     0,     0,     0,     0,  1352,  1353,
    6921             :        0,     0,     0,     0,     0,     0,     0,  1355,  4743,   234,
    6922             :        0,  1271,   717,     0,  1272,  1273,  1274,   778,  1275,     0,
    6923             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
    6924             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
    6925             :        0,     0,     0,  1276,     0,     0,   247,   248,   249,     0,
    6926             :      250,   251,   252,   253,   254,   255,   256,   257,   258,  1277,
    6927             :      260,  1278,  1279,     0,   263,   264,   265,   266,   267,   268,
    6928             :      269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,   275,
    6929             :      276,   277,   278,  1284,     0,  1285,     0,   281,   282,   283,
    6930             :      284,   285,   286,   287,   288,   289,   290,   291,     0,   292,
    6931             :      293,   294,   295,   296,   297,     0,   298,   299,   300,   301,
    6932             :     1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,   305,
    6933             :      306,   307,   308,  1293,  1294,   311,  1295,   312,     0,   313,
    6934             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
    6935             :      323,     0,     0,   324,   325,   887,   327,   328,     0,   329,
    6936             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
    6937             :      338,   339,   340,   341,  1296,   343,   344,   345,   346,  1297,
    6938             :     1298,   348,     0,   349,   350,   351,  1299,   353,     0,   354,
    6939             :        0,   355,   356,   357,     0,   358,   359,   360,   361,   362,
    6940             :        0,   363,  1300,     0,  1301,   366,   367,     0,   368,   369,
    6941             :      370,   371,   372,   373,   374,   375,   376,   377,     0,   378,
    6942             :      379,   380,   381,   382,   383,   384,   385,     0,   386,   387,
    6943             :      388,   389,   390,   391,   392,  1302,  1303,     0,  1304,     0,
    6944             :      396,   397,   398,   399,   400,  1305,  1306,  1307,  1308,  1309,
    6945             :     1310,  1311,  1312,  1313,   410,  1314,   412,   413,   414,   415,
    6946             :      416,   417,   418,     0,     0,   419,  1315,   421,   422,   423,
    6947             :        0,   424,   425,   426,  1316,  1317,   427,   428,   429,   430,
    6948             :      431,   432,   433,   434,   435,   436,  1318,   438,   439,   440,
    6949             :      441,   442,   443,   444,   445,  1319,   447,  1320,   449,   450,
    6950             :      451,   452,   453,   454,   455,   456,   457,  1321,   459,  1322,
    6951             :      460,   461,   462,   463,  1323,  1324,   465,  1325,   467,   468,
    6952             :      469,   470,     0,   471,   472,   473,     0,     0,  1326,   475,
    6953             :      476,     0,     0,   477,   478,   479,   480,   481,   482,  1327,
    6954             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
    6955             :      494,   495,     0,   496,   497,   498,  1328,   500,   501,   502,
    6956             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
    6957             :      512,   513,   514,   515,  1329,   517,   518,   519,     0,   520,
    6958             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
    6959             :      531,   532,     0,   533,   534,   535,   536,   537,   538,   539,
    6960             :      540,  1330,   542,   543,   544,   545,   546,   547,   548,   549,
    6961             :      550,   551,     0,   552,   553,   554,   555,   556,  1331,   557,
    6962             :      558,   559,   560,   561,   562,   563,   564,  1332,   566,     0,
    6963             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
    6964             :      577,   578,   579,   580,   581,  1333,   583,     0,   584,   585,
    6965             :     1334,     0,   586,   587,   588,   589,   590,   591,   592,   593,
    6966             :        0,   594,  1335,  1336,     0,     0,   597,   598,  1337,   600,
    6967             :     1338,  1339,   602,   603,   604,   605,   606,   607,   608,   609,
    6968             :      610,     0,  1340,   611,   612,   613,   614,   615,  1341,     0,
    6969             :      616,   617,   618,   619,   620,   621,  1342,     0,   623,   624,
    6970             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
    6971             :      631,   632,   633,   634,   635,   636,   637,  1343,  1344,  1345,
    6972             :     1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,   650,
    6973             :        0,  1351,     0,     0,     0,     0,     0,   658,     0,     0,
    6974             :        0,     0,     0,  1352,  1353,     0,     0,     0,     0,     0,
    6975             :        0,     0,  1355,  4809,   235,   236,   237,   238,   239,   240,
    6976             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
    6977             :        0,     0,  4246,     0,   247,   248,   249,     0,   250,   251,
    6978             :      252,   253,     0,   255,   256,   257,   258,   259,     0,   261,
    6979             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
    6980             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
    6981             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
    6982             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
    6983             :      295,   296,   297,     0, -1855,   299,   300,   301,     0,     0,
    6984             :        0,     0,     0,     0,     0,   303,   304,   305,   306,   307,
    6985             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
    6986             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
    6987             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
    6988             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
    6989             :      340,   341,   342,   343,   344,   345,   346,   347,     0,   348,
    6990             :        0,   349,   350,   351,   352,   353,     0,   354,     0,   355,
    6991             :      356,     0,     0, -1855,   359,   360,   361,   362,     0,   363,
    6992             :      364,     0,   365,   366,   367,     0,   368,   369,   370,   371,
    6993             :      372,     0,   374,   375,   376,   377,     0,   378,   379,   380,
    6994             :      381,   382,   383,   384,   385,     0,   386, -1855,   388,   389,
    6995             :      390,   391,   392,   393,   394,     0,   395,     0,   396,     0,
    6996             :        0,   399, -1855,   401,   402,   403,   404,   405,   406,   407,
    6997             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
    6998             :      418,     0,     0,   419,   420, -1855,   422,     0,     0,   424,
    6999             :      425,   426,     0,     0,   427,   428,   429,   430,   431,   432,
    7000             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
    7001             :      443,   444,   445,   446, -1855,   448,   449,   450,   451,   452,
    7002             :      453,   454,   455,   456,   457,   458,   459,     0,   460,   461,
    7003             :        0,   463,     0,   464,   465,   466,   467,   468,   469,   470,
    7004             :        0,   471,   472,   473,     0,     0,   474,   475,   476,     0,
    7005             :        0,   477,   478,   479,     0,   481,     0,   483,   484,   485,
    7006             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
    7007             :        0,   496,   497,   498,   499,   500,   501,   502,   503,   504,
    7008             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
    7009             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
    7010             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
    7011             :        0,   533,   534, -1855,   536,   537,   538,   539,   540,   541,
    7012             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
    7013             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   559,
    7014             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
    7015             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
    7016             :      579,   580,   581,   582,   583,     0,   584,   585,     0,     0,
    7017             :      586,     0,   588,   589,   590,   591,   592,   593,     0,   594,
    7018             :      595,   596,     0,     0,   597,   598,   599,   600,   601,     0,
    7019             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
    7020             :        0,   611,   612,   613,   614,   615,     0,     0,   616,   617,
    7021             :      618,   619,   620,   621,   622,     0,   623,     0,   625,   626,
    7022             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
    7023             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
    7024             :      643,   644,   645,   646,   647,   648,   649,   650,     0,     0,
    7025             :        0,     0,     0,     0,     0,   879,     0,     0,     0,     0,
    7026             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    7027             :        0,  1467,   235,   236,   237,   238,   239,   240,   241,   242,
    7028             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
    7029             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
    7030             :      254,   255,   256,   257,     0,   880,   260,   881,   882,     0,
    7031             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
    7032             :      271,   883,   884,   274,     0,   275,   276,   277,   278,     0,
    7033             :        0,   280,     0,   281,   282,   283,   284,   285,   286,   287,
    7034             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
    7035             :      297,     0,   298,   299,   300,   301,     0,     0,     0,   302,
    7036             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   885,
    7037             :      886,   311,     0,   312,     0,   313,   314,   315,   316,   317,
    7038             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
    7039             :      325,   887,   327,   328,     0,   329,   330,   331,   332,     0,
    7040             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
    7041             :        0,   343,   344,   345,   346,     0,     0,   348,     0,   349,
    7042             :      350,   351,   888,   353,     0,   354,     0,   355,   356,   357,
    7043             :        0,   358,   359,   360,   361,   362,     0,   363,     0,     0,
    7044             :        0,   366,   367,     0,   368,   369,   370,   371,   372,   373,
    7045             :      374,   375,   376,   377,  2731,   378,   379,   380,   381,   382,
    7046             :      383,   384,   385,     0,   386,   387,  2732,   389,   390,   391,
    7047             :      392,   889,   890,     0,   891,     0,   396,   397,   398,   399,
    7048             :      400,   892,     0,     0,     0,     0,     0,     0,     0,     0,
    7049             :        0,     0,   412,   413,   414,   415,   416,   417,   418,     0,
    7050             :        0,   419,     0,   421,   422,   423,     0,   424,   425,   426,
    7051             :        0,     0,   427,   428,   429,   430,   431,   432,   433,   434,
    7052             :      435,   436,     0,   438,   439,   440,   441,   442,   443,   444,
    7053             :      445,   893,   447,   894,   449,   450,   451,   452,   453,   454,
    7054             :      455,   456,     0,     0,   459,     0,   460,   461,   462,   463,
    7055             :        0,     0,   465,   895,   467,   468,   469,   470,     0,   471,
    7056             :      472,   473,     0,     0,   474,   475,   476,     0,     0,   477,
    7057             :      478,  2734,   480,   481,   482,     0,   484,   485,   486,   487,
    7058             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
    7059             :      497,   498,     0,   500,     0,   502,   503,   504,     0,   505,
    7060             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
    7061             :      896,   517,   518,   519,     0,   520,   521,   522,   523,   524,
    7062             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
    7063             :      534,   535,   536,   537,   538,   539,   540,     0,   542,   543,
    7064             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
    7065             :      553,   554,   555,   556,     0,   557,   558,  2735,   560,   561,
    7066             :      562,   563,   564,   898,   566,     0,   567,   568,   569,   570,
    7067             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
    7068             :      581,     0,   583,     0,   584,   585,     0,     0,   586,   587,
    7069             :      588,   589,   590,   591,   592,   593,     0,   594,   899,   900,
    7070             :        0,     0,   597,   598,     0,   600,     0,     0,   602,   603,
    7071             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
    7072             :      612,   613,   614,   615,     0,     0,   616,   617,   618,   619,
    7073             :      620,     0,   901,  2736,   623,   624,   625,   626,   627,   628,
    7074             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
    7075             :      635,   636,     0,   879,     0,     0,     0,     0,     0,     0,
    7076             :        0,     0,     0,   648,   649,   650,     0,     0,     0,     0,
    7077             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
    7078             :      244,   245,   246,     0,     0,     0,     0,     0,     0,  2829,
    7079             :      247,   248,   249,     0,   250,   251,   252,   253,   254,   255,
    7080             :      256,   257,     0,   880,   260,   881,   882,     0,   263,   264,
    7081             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   883,
    7082             :      884,   274,     0,   275,   276,   277,   278,     0,     0,   280,
    7083             :        0,   281,   282,   283,   284,   285,   286,   287,   288,   289,
    7084             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
    7085             :      298,   299,   300,   301,     0,     0,     0,   302,     0,     0,
    7086             :        0,   303,   304,   305,   306,   307,   308,   885,   886,   311,
    7087             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
    7088             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   887,
    7089             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
    7090             :      335,   336,   337,     0,   338,   339,   340,   341,     0,   343,
    7091             :      344,   345,   346,     0,     0,   348,     0,   349,   350,   351,
    7092             :      888,   353,     0,   354,     0,   355,   356,   357,     0,   358,
    7093             :      359,   360,   361,   362,     0,   363,     0,     0,     0,   366,
    7094             :      367,     0,   368,   369,   370,   371,   372,   373,   374,   375,
    7095             :      376,   377,  2731,   378,   379,   380,   381,   382,   383,   384,
    7096             :      385,     0,   386,   387,  2732,   389,   390,   391,   392,   889,
    7097             :      890,     0,   891,     0,   396,   397,   398,   399,   400,   892,
    7098             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    7099             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
    7100             :        0,   421,   422,   423,     0,   424,   425,   426,     0,     0,
    7101             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
    7102             :        0,   438,   439,   440,   441,   442,   443,   444,   445,   893,
    7103             :      447,   894,   449,   450,   451,   452,   453,   454,   455,   456,
    7104             :        0,     0,   459,     0,   460,   461,   462,   463,     0,     0,
    7105             :      465,   895,   467,   468,   469,   470,     0,   471,   472,   473,
    7106             :        0,     0,   474,   475,   476,     0,     0,   477,   478,  2734,
    7107             :      480,   481,   482,     0,   484,   485,   486,   487,   488,   489,
    7108             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
    7109             :        0,   500,     0,   502,   503,   504,     0,   505,   506,   507,
    7110             :      508,   509,   510,   511,   512,   513,   514,   515,   896,   517,
    7111             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
    7112             :      527,   528,   529,   530,   531,   532,     0,   533,   534,   535,
    7113             :      536,   537,   538,   539,   540,     0,   542,   543,   544,   545,
    7114             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
    7115             :      555,   556,     0,   557,   558,  2735,   560,   561,   562,   563,
    7116             :      564,   898,   566,     0,   567,   568,   569,   570,   571,   572,
    7117             :      573,   574,   575,   576,   577,   578,   579,   580,   581,     0,
    7118             :      583,     0,   584,   585,     0,     0,   586,   587,   588,   589,
    7119             :      590,   591,   592,   593,     0,   594,   899,   900,     0,     0,
    7120             :      597,   598,     0,   600,     0,     0,   602,   603,   604,   605,
    7121             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
    7122             :      614,   615,     0,     0,   616,   617,   618,   619,   620,     0,
    7123             :      901,  2736,   623,   624,   625,   626,   627,   628,   629,     0,
    7124             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
    7125             :        0,   234,     0,  1271,   717,     0,  1272,  1273,  1274,   778,
    7126             :     1275,   648,   649,   650,     0,     0,     0,     0,   235,   236,
    7127             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
    7128             :      246,     0,     0,     0,     0,  1276,     0,  3962,   247,   248,
    7129             :      249,     0,   250,   251,   252,   253,   254,   255,   256,   257,
    7130             :      258,  1277,   260,  1278,  1279,     0,   263,   264,   265,   266,
    7131             :      267,   268,   269,  1280,  1281,   270,   271,  1282,  1283,   274,
    7132             :        0,   275,   276,   277,   278,  1284,     0,  1285,     0,   281,
    7133             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
    7134             :        0,   292,   293,   294,   295,   296,   297,     0,   298,   299,
    7135             :      300,   301,  1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,
    7136             :      304,   305,   306,   307,   308,  1293,  1294,   311,  1295,   312,
    7137             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
    7138             :      321,   322,   323,     0,     0,   324,   325,   887,   327,   328,
    7139             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
    7140             :      337,     0,   338,   339,   340,   341,  1296,   343,   344,   345,
    7141             :      346,  1297,  1298,   348,     0,   349,   350,   351,  1299,   353,
    7142             :        0,   354,     0,   355,   356,   357,     0,   358,   359,   360,
    7143             :      361,   362,     0,   363,  1300,     0,  1301,   366,   367,     0,
    7144             :      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
    7145             :        0,   378,   379,   380,   381,   382,   383,   384,   385,     0,
    7146             :      386,   387,   388,   389,   390,   391,   392,  1302,  1303,     0,
    7147             :     1304,     0,   396,   397,   398,   399,   400,  1305,  1306,  1307,
    7148             :     1308,  1309,  1310,  1311,  1312,  1313,   410,  1314,   412,   413,
    7149             :      414,   415,   416,   417,   418,     0,     0,   419,  1315,   421,
    7150             :      422,   423,     0,   424,   425,   426,  1316,  1317,   427,   428,
    7151             :      429,   430,   431,   432,   433,   434,   435,   436,  1318,   438,
    7152             :      439,   440,   441,   442,   443,   444,   445,  1319,   447,  1320,
    7153             :      449,   450,   451,   452,   453,   454,   455,   456,   457,  1321,
    7154             :      459,  1322,   460,   461,   462,   463,  1323,  1324,   465,  1325,
    7155             :      467,   468,   469,   470,     0,   471,   472,   473,     0,     0,
    7156             :     1326,   475,   476,     0,     0,   477,   478,   479,   480,   481,
    7157             :      482,  1327,   484,   485,   486,   487,   488,   489,   490,   491,
    7158             :      492,   493,   494,   495,     0,   496,   497,   498,  1328,   500,
    7159             :      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
    7160             :      510,   511,   512,   513,   514,   515,  1329,   517,   518,   519,
    7161             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
    7162             :      529,   530,   531,   532,  3288,   533,   534,   535,   536,   537,
    7163             :      538,   539,   540,  1330,   542,   543,   544,   545,   546,   547,
    7164             :      548,   549,   550,   551,    40,   552,   553,   554,   555,   556,
    7165             :     1331,   557,   558,   559,   560,   561,   562,   563,   564,  1332,
    7166             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
    7167             :      575,   576,   577,   578,   579,   580,   581,  1333,   583,     0,
    7168             :      584,   585,  1334,    44,   586,   587,   588,   589,   590,   591,
    7169             :      592,   593,     0,   594,  1335,  1336,     0,     0,   597,   598,
    7170             :     1337,   600,  1338,  1339,   602,   603,   604,   605,   606,   607,
    7171             :      608,   609,   610,     0,  1340,   611,   612,   613,   614,   615,
    7172             :     1341,     0,   616,   617,   618,   619,   620,  1206,  1342,     0,
    7173             :      623,   624,   625,   626,   627,   628,   629,     0,     0,   630,
    7174             :        0,    49,   631,   632,   633,   634,   635,   636,   637,  1343,
    7175             :     1344,  1345,  1346,   642,  1347,  1348,  1349,  1350,   647,   648,
    7176             :      649,   650,     0,  1351,     0,    50,     0,     0,     0,     0,
    7177             :        0,     0,     0,     0,     0,  1352,  1353,     0,     0,     0,
    7178             :      234,     0,  1271,   717,  1355,  1272,  1273,  1274,   778,  1275,
    7179             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
    7180             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
    7181             :        0,     0,     0,     0,  1276,     0,     0,   247,   248,   249,
    7182             :        0,   250,   251,   252,   253,   254,   255,   256,   257,   258,
    7183             :     1277,   260,  1278,  1279,     0,   263,   264,   265,   266,   267,
    7184             :      268,   269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,
    7185             :      275,   276,   277,   278,  1284,     0,  1285,     0,   281,   282,
    7186             :      283,   284,   285,   286,   287,   288,   289,   290,   291,     0,
    7187             :      292,   293,   294,   295,   296,   297,     0,   298,   299,   300,
    7188             :      301,  1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,
    7189             :      305,   306,   307,   308,  1293,  1294,   311,  1295,   312,     0,
    7190             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
    7191             :      322,   323,     0,     0,   324,   325,   887,   327,   328,     0,
    7192             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
    7193             :        0,   338,   339,   340,   341,  1296,   343,   344,   345,   346,
    7194             :     1297,  1298,   348,     0,   349,   350,   351,  1299,   353,     0,
    7195             :      354,     0,   355,   356,   357,     0,   358,   359,   360,   361,
    7196             :      362,     0,   363,  1300,     0,  1301,   366,   367,     0,   368,
    7197             :      369,   370,   371,   372,   373,   374,   375,   376,   377,     0,
    7198             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
    7199             :      387,   388,   389,   390,   391,   392,  1302,  1303,     0,  1304,
    7200             :        0,   396,   397,   398,   399,   400,  1305,  1306,  1307,  1308,
    7201             :     1309,  1310,  1311,  1312,  1313,   410,  1314,   412,   413,   414,
    7202             :      415,   416,   417,   418,     0,     0,   419,  1315,   421,   422,
    7203             :      423,     0,   424,   425,   426,  1316,  1317,   427,   428,   429,
    7204             :      430,   431,   432,   433,   434,   435,   436,  1318,   438,   439,
    7205             :      440,   441,   442,   443,   444,   445,  1319,   447,  1320,   449,
    7206             :      450,   451,   452,   453,   454,   455,   456,   457,  1321,   459,
    7207             :     1322,   460,   461,   462,   463,  1323,  1324,   465,  1325,   467,
    7208             :      468,   469,   470,     0,   471,   472,   473,     0,     0,  1326,
    7209             :      475,   476,     0,     0,   477,   478,   479,   480,   481,   482,
    7210             :     1327,   484,   485,   486,   487,   488,   489,   490,   491,   492,
    7211             :      493,   494,   495,     0,   496,   497,   498,  1328,   500,   501,
    7212             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
    7213             :      511,   512,   513,   514,   515,  1329,   517,   518,   519,     0,
    7214             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
    7215             :      530,   531,   532,     0,   533,   534,   535,   536,   537,   538,
    7216             :      539,   540,  1330,   542,   543,   544,   545,   546,   547,   548,
    7217             :      549,   550,   551,    40,   552,   553,   554,   555,   556,  1331,
    7218             :      557,   558,   559,   560,   561,   562,   563,   564,  1332,   566,
    7219             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
    7220             :      576,   577,   578,   579,   580,   581,  1333,   583,     0,   584,
    7221             :      585,  1334,    44,   586,   587,   588,   589,   590,   591,   592,
    7222             :      593,     0,   594,  1335,  1336,     0,     0,   597,   598,  1337,
    7223             :      600,  1338,  1339,   602,   603,   604,   605,   606,   607,   608,
    7224             :      609,   610,     0,  1340,   611,   612,   613,   614,   615,  1341,
    7225             :        0,   616,   617,   618,   619,   620,  1206,  1342,     0,   623,
    7226             :      624,   625,   626,   627,   628,   629,     0,     0,   630,     0,
    7227             :       49,   631,   632,   633,   634,   635,   636,   637,  1343,  1344,
    7228             :     1345,  1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,
    7229             :      650,     0,  1351,     0,    50,     0,     0,     0,     0,     0,
    7230             :        0,     0,     0,     0,  1352,  1353,     0,     0,     0,   234,
    7231             :        0,  1271,   717,  1355,  1272,  1273,  1274,   778,  1275,     0,
    7232             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
    7233             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
    7234             :        0,     0,     0,  1276,     0,     0,   247,   248,   249,     0,
    7235             :      250,   251,   252,   253,   254,   255,   256,   257,   258,  1277,
    7236             :      260,  1278,  1279,  3333,   263,   264,   265,   266,   267,   268,
    7237             :      269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,   275,
    7238             :      276,   277,   278,  1284,     0,  1285,     0,   281,   282,   283,
    7239             :      284,   285,   286,   287,   288,   289,   290,   291,     0,   292,
    7240             :      293,   294,   295,   296,   297,     0,   298,   299,   300,   301,
    7241             :     1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,   305,
    7242             :      306,   307,   308,  1293,  1294,   311,  1295,   312,     0,   313,
    7243             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
    7244             :      323,     0,     0,   324,   325,   887,   327,   328,     0,   329,
    7245             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
    7246             :      338,   339,   340,   341,  1296,   343,   344,   345,   346,  1297,
    7247             :     1298,   348,     0,   349,   350,   351,  1299,   353,     0,   354,
    7248             :        0,   355,   356,   357,  3334,   358,   359,   360,   361,   362,
    7249             :        0,   363,  1300,     0,  1301,   366,   367,     0,   368,   369,
    7250             :      370,   371,   372,   373,   374,   375,   376,   377,     0,   378,
    7251             :      379,   380,   381,   382,   383,   384,   385,     0,   386,   387,
    7252             :      388,   389,   390,   391,   392,  1302,  1303,     0,  1304,     0,
    7253             :      396,   397,   398,   399,   400,  1305,  1306,  1307,  1308,  1309,
    7254             :     1310,  1311,  1312,  1313,   410,  1314,   412,   413,   414,   415,
    7255             :      416,   417,   418,     0,  3335,   419,  1315,   421,   422,   423,
    7256             :        0,   424,   425,   426,  1316,  1317,   427,   428,   429,   430,
    7257             :      431,   432,   433,   434,   435,   436,  1318,   438,   439,   440,
    7258             :      441,   442,   443,   444,   445,  1319,   447,  1320,   449,   450,
    7259             :      451,   452,   453,   454,   455,   456,   457,  1321,   459,  1322,
    7260             :      460,   461,   462,   463,  1323,  1324,   465,  1325,   467,   468,
    7261             :      469,   470,     0,   471,   472,   473,     0,     0,  1326,   475,
    7262             :      476,     0,     0,   477,   478,   479,   480,   481,   482,  1327,
    7263             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
    7264             :      494,   495,     0,   496,   497,   498,  1328,   500,   501,   502,
    7265             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
    7266             :      512,   513,   514,   515,  1329,   517,   518,   519,     0,   520,
    7267             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
    7268             :      531,   532,     0,   533,   534,   535,   536,   537,   538,   539,
    7269             :      540,  1330,   542,   543,   544,   545,   546,   547,   548,   549,
    7270             :      550,   551,     0,   552,   553,   554,   555,   556,  1331,   557,
    7271             :      558,   559,   560,   561,   562,   563,   564,  1332,   566,     0,
    7272             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
    7273             :      577,   578,   579,   580,   581,  1333,   583,     0,   584,   585,
    7274             :     1334,     0,   586,   587,   588,   589,   590,   591,   592,   593,
    7275             :        0,   594,  1335,  1336,     0,  3336,   597,   598,  1337,   600,
    7276             :     1338,  1339,   602,   603,   604,   605,   606,   607,   608,   609,
    7277             :      610,     0,  1340,   611,   612,   613,   614,   615,  1341,     0,
    7278             :      616,   617,   618,   619,   620,   621,  1342,     0,   623,   624,
    7279             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
    7280             :      631,   632,   633,   634,   635,   636,   637,  1343,  1344,  1345,
    7281             :     1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,   650,
    7282             :        0,  1351,     0,     0,     0,     0,     0,     0,     0,     0,
    7283             :        0,     0,     0,  1352,  1353,     0,     0,     0,   234,     0,
    7284             :     1271,   717,  1355,  1272,  1273,  1274,   778,  1275,     0,     0,
    7285             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
    7286             :      240,   241,   242,   243, -2286,   244,   245,   246,     0,     0,
    7287             :        0, -2286,  1276,     0,     0,   247,   248,   249,     0,   250,
    7288             :      251,   252,   253,   254,   255,   256,   257,   258,  1277,   260,
    7289             :     1278,  1279,     0,   263,   264,   265,   266,   267,   268,   269,
    7290             :     1280,  1281,   270,   271,  1282,  1283,   274,     0,   275,   276,
    7291             :      277,   278,  1284,     0,  1285,     0,   281,   282,   283,   284,
    7292             :      285,   286,   287,   288,   289,   290,   291,     0,   292,   293,
    7293             :      294,   295,   296,   297,     0,   298,   299,   300,   301,  1286,
    7294             :     1287,  1288,  1289,  1290,  1291,  1292,   303,   304,   305,   306,
    7295             :      307,   308,  1293,  1294,   311,  1295,   312,     0,   313,   314,
    7296             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
    7297             :        0,     0,   324,   325,   887,   327,   328,     0,   329,   330,
    7298             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
    7299             :      339,   340,   341,  1296,   343,   344,   345,   346,  1297,  1298,
    7300             :      348,     0,   349,   350,   351,  1299,   353,     0,   354,     0,
    7301             :      355,   356,   357,     0,   358,   359,   360,   361,   362,     0,
    7302             :      363,  1300,     0,  1301,   366,   367,     0,   368,   369,   370,
    7303             :      371,   372,   373,   374,   375,   376,   377,     0,   378,   379,
    7304             :      380,   381,   382,   383,   384,   385,     0,   386,   387,   388,
    7305             :      389,   390,   391,   392,  1302,  1303,     0,  1304,     0,   396,
    7306             :      397,   398,   399,   400,  1305,  1306,  1307,  1308,  1309,  1310,
    7307             :     1311,  1312,  1313,   410,  1314,   412,   413,   414,   415,   416,
    7308             :      417,   418,     0,     0,   419,  1315,   421,   422,   423,     0,
    7309             :      424,   425,   426,  1316,  1317,   427,   428,   429,   430,   431,
    7310             :      432,   433,   434,   435,   436,  1318,   438,   439,   440,   441,
    7311             :      442,   443,   444,   445,  1319,   447,  1320,   449,   450,   451,
    7312             :      452,   453,   454,   455,   456,   457,  1321,   459,  1322,   460,
    7313             :      461,   462,   463,  1323,  1324,   465,  1325,   467,   468,   469,
    7314             :      470,     0,   471,   472,   473,     0,     0,  1326,   475,   476,
    7315             :        0,     0,   477,   478,   479,   480,   481,   482,  1327,   484,
    7316             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
    7317             :      495,     0,   496,   497,   498,  1328,   500,   501,   502,   503,
    7318             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
    7319             :      513,   514,   515,  1329,   517,   518,   519,     0,   520,   521,
    7320             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
    7321             :      532,     0,   533,   534,   535,   536,   537,   538,   539,   540,
    7322             :     1330,   542,   543,   544,   545,   546,   547,   548,   549,   550,
    7323             :      551,     0,   552,   553,   554,   555,   556,  1331,   557,   558,
    7324             :      559,   560,   561,   562,   563,   564,  1332,   566, -2286,   567,
    7325             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
    7326             :      578,   579,   580,   581,  1333,   583,     0,   584,   585,  1334,
    7327             :        0,   586,   587,   588,   589,   590,   591,   592,   593,     0,
    7328             :      594,  1335,  1336,     0,     0,   597,   598,  1337,   600,  1338,
    7329             :     1339,   602,   603,   604,   605,   606,   607,   608,   609,   610,
    7330             :        0,  1340,   611,   612,   613,   614,   615,  1341,     0,   616,
    7331             :      617,   618,   619,   620,   621,  1342,     0,   623,   624,   625,
    7332             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
    7333             :      632,   633,   634,   635,   636,   637,  1343,  1344,  1345,  1346,
    7334             :      642,  1347,  1348,  1349,  1350,   647,   648,   649,   650,     0,
    7335             :     1351,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    7336             :        0,     0,  1352,  1353,     0,     0,     0,   234,     0,  1271,
    7337             :      717,  1355,  1272,  1273,  1274,   778,  1275,     0,     0,     0,
    7338             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
    7339             :      241,   242,   243, -2284,   244,   245,   246,     0,     0,     0,
    7340             :    -2284,  1276,     0,     0,   247,   248,   249,     0,   250,   251,
    7341             :      252,   253,   254,   255,   256,   257,   258,  1277,   260,  1278,
    7342             :     1279,     0,   263,   264,   265,   266,   267,   268,   269,  1280,
    7343             :     1281,   270,   271,  1282,  1283,   274,     0,   275,   276,   277,
    7344             :      278,  1284,     0,  1285,     0,   281,   282,   283,   284,   285,
    7345             :      286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
    7346             :      295,   296,   297,     0,   298,   299,   300,   301,  1286,  1287,
    7347             :     1288,  1289,  1290,  1291,  1292,   303,   304,   305,   306,   307,
    7348             :      308,  1293,  1294,   311,  1295,   312,     0,   313,   314,   315,
    7349             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
    7350             :        0,   324,   325,   887,   327,   328,     0,   329,   330,   331,
    7351             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
    7352             :      340,   341,  1296,   343,   344,   345,   346,  1297,  1298,   348,
    7353             :        0,   349,   350,   351,  1299,   353,     0,   354,     0,   355,
    7354             :      356,   357,     0,   358,   359,   360,   361,   362,     0,   363,
    7355             :     1300,     0,  1301,   366,   367,     0,   368,   369,   370,   371,
    7356             :      372,   373,   374,   375,   376,   377,     0,   378,   379,   380,
    7357             :      381,   382,   383,   384,   385,     0,   386,   387,   388,   389,
    7358             :      390,   391,   392,  1302,  1303,     0,  1304,     0,   396,   397,
    7359             :      398,   399,   400,  1305,  1306,  1307,  1308,  1309,  1310,  1311,
    7360             :     1312,  1313,   410,  1314,   412,   413,   414,   415,   416,   417,
    7361             :      418,     0,     0,   419,  1315,   421,   422,   423,     0,   424,
    7362             :      425,   426,  1316,  1317,   427,   428,   429,   430,   431,   432,
    7363             :      433,   434,   435,   436,  1318,   438,   439,   440,   441,   442,
    7364             :      443,   444,   445,  1319,   447,  1320,   449,   450,   451,   452,
    7365             :      453,   454,   455,   456,   457,  1321,   459,  1322,   460,   461,
    7366             :      462,   463,  1323,  1324,   465,  1325,   467,   468,   469,   470,
    7367             :        0,   471,   472,   473,     0,     0,  1326,   475,   476,     0,
    7368             :        0,   477,   478,   479,   480,   481,   482,  1327,   484,   485,
    7369             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
    7370             :        0,   496,   497,   498,  1328,   500,   501,   502,   503,   504,
    7371             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
    7372             :      514,   515,  1329,   517,   518,   519,     0,   520,   521,   522,
    7373             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
    7374             :        0,   533,   534,   535,   536,   537,   538,   539,   540,  1330,
    7375             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
    7376             :        0,   552,   553,   554,   555,   556,  1331,   557,   558,   559,
    7377             :      560,   561,   562,   563,   564,  1332,   566, -2284,   567,   568,
    7378             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
    7379             :      579,   580,   581,  1333,   583,     0,   584,   585,  1334,     0,
    7380             :      586,   587,   588,   589,   590,   591,   592,   593,     0,   594,
    7381             :     1335,  1336,     0,     0,   597,   598,  1337,   600,  1338,  1339,
    7382             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
    7383             :     1340,   611,   612,   613,   614,   615,  1341,     0,   616,   617,
    7384             :      618,   619,   620,   621,  1342,     0,   623,   624,   625,   626,
    7385             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
    7386             :      633,   634,   635,   636,   637,  1343,  1344,  1345,  1346,   642,
    7387             :     1347,  1348,  1349,  1350,   647,   648,   649,   650,     0,  1351,
    7388             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    7389             :        0,  1352,  1353,     0,     0,     0,   234,     0,  1271,   717,
    7390             :     1355,  1272,  1273,  1274,   778,  1275,     0,     0,     0,     0,
    7391             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
    7392             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
    7393             :     1276,     0,     0,   247,   248,   249,     0,   250,   251,   252,
    7394             :      253,   254,   255,   256,   257,   258,  1277,   260,  1278,  1279,
    7395             :        0,   263,   264,   265,   266,   267,   268,   269,  1280,  1281,
    7396             :      270,   271,  1282,  1283,   274,     0,   275,   276,   277,   278,
    7397             :     1284,     0,  1285,     0,   281,   282,   283,   284,   285,   286,
    7398             :      287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
    7399             :      296,   297,     0,   298,   299,   300,   301,  1286,  1287,  1288,
    7400             :     1289,  1290,  1291,  1292,   303,   304,   305,   306,   307,   308,
    7401             :     1293,  1294,   311,  1295,   312,     0,   313,   314,   315,   316,
    7402             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
    7403             :      324,   325,   887,   327,   328,     0,   329,   330,   331,   332,
    7404             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
    7405             :      341,  1296,   343,   344,   345,   346,  1297,  1298,   348,     0,
    7406             :      349,   350,   351,  1299,   353,     0,   354,     0,   355,   356,
    7407             :      357,     0,   358,   359,   360,   361,   362,     0,   363,  1300,
    7408             :        0,  1301,   366,   367,     0,   368,   369,   370,   371,   372,
    7409             :      373,   374,   375,   376,   377,     0,   378,   379,   380,   381,
    7410             :      382,   383,   384,   385,     0,   386,   387,   388,   389,   390,
    7411             :      391,   392,  1302,  1303,     0,  1304,     0,   396,   397,   398,
    7412             :      399,   400,  1305,  1306,  1307,  1308,  1309,  1310,  1311,  1312,
    7413             :     1313,   410,  1314,   412,   413,   414,   415,   416,   417,   418,
    7414             :        0,     0,   419,  1315,   421,   422,   423,     0,   424,   425,
    7415             :      426,  1316,  1317,   427,   428,   429,   430,   431,   432,   433,
    7416             :      434,   435,   436,  1318,   438,   439,   440,   441,   442,   443,
    7417             :      444,   445,  1319,   447,  1320,   449,   450,   451,   452,   453,
    7418             :      454,   455,   456,   457,  1321,   459,  1322,   460,   461,   462,
    7419             :      463,  1323,  1324,   465,  1325,   467,   468,   469,   470,     0,
    7420             :      471,   472,   473,     0,     0,  1326,   475,   476,     0,     0,
    7421             :      477,   478,   479,   480,   481,   482,  1327,   484,   485,   486,
    7422             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
    7423             :      496,   497,   498,  1328,   500,   501,   502,   503,   504,     0,
    7424             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
    7425             :      515,  1329,   517,   518,   519,     0,   520,   521,   522,   523,
    7426             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
    7427             :      533,   534,   535,   536,   537,   538,   539,   540,  1330,   542,
    7428             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
    7429             :      552,   553,   554,   555,   556,  1331,   557,   558,   559,   560,
    7430             :      561,   562,   563,   564,  1332,   566,     0,   567,   568,   569,
    7431             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
    7432             :      580,   581,  1333,   583,     0,   584,   585,  1334,     0,   586,
    7433             :      587,   588,   589,   590,   591,   592,   593,     0,   594,  1335,
    7434             :     1336,     0,     0,   597,   598,  1337,   600,  1338,  1339,   602,
    7435             :      603,   604,   605,   606,   607,   608,   609,   610,     0,  1340,
    7436             :      611,   612,   613,   614,   615,  1341,     0,   616,   617,   618,
    7437             :      619,   620,   621,  1342,     0,   623,   624,   625,   626,   627,
    7438             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
    7439             :      634,   635,   636,   637,  1343,  1344,  1345,  1346,   642,  1347,
    7440             :     1348,  1349,  1350,   647,   648,   649,   650,     0,  1351,     0,
    7441             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    7442             :     1352,  1353,     0,     0,     0,     0,     0,  2052,  3262,  1355,
    7443             :      234,     0,  1271,   717,     0,  1272,  1273,  1274,   778,  1275,
    7444             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
    7445             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
    7446             :        0,     0,     0,     0,  1276,     0,     0,   247,   248,   249,
    7447             :        0,   250,   251,   252,   253,   254,   255,   256,   257,   258,
    7448             :     1277,   260,  1278,  1279,     0,   263,   264,   265,   266,   267,
    7449             :      268,   269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,
    7450             :      275,   276,   277,   278,  1284,     0,  1285,     0,   281,   282,
    7451             :      283,   284,   285,   286,   287,   288,   289,   290,   291,     0,
    7452             :      292,   293,   294,   295,   296,   297,     0,   298,   299,   300,
    7453             :      301,  1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,
    7454             :      305,   306,   307,   308,  1293,  1294,   311,  1295,   312,     0,
    7455             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
    7456             :      322,   323,     0,     0,   324,   325,   887,   327,   328,     0,
    7457             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
    7458             :        0,   338,   339,   340,   341,  1296,   343,   344,   345,   346,
    7459             :     1297,  1298,   348,     0,   349,   350,   351,  1299,   353,     0,
    7460             :      354,     0,   355,   356,   357,     0,   358,   359,   360,   361,
    7461             :      362,     0,   363,  1300,     0,  1301,   366,   367,     0,   368,
    7462             :      369,   370,   371,   372,   373,   374,   375,   376,   377,     0,
    7463             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
    7464             :      387,   388,   389,   390,   391,   392,  1302,  1303,     0,  1304,
    7465             :        0,   396,   397,   398,   399,   400,  1305,  1306,  1307,  1308,
    7466             :     1309,  1310,  1311,  1312,  1313,   410,  1314,   412,   413,   414,
    7467             :      415,   416,   417,   418,     0,     0,   419,  1315,   421,   422,
    7468             :      423,     0,   424,   425,   426,  1316,  1317,   427,   428,   429,
    7469             :      430,   431,   432,   433,   434,   435,   436,  1318,   438,   439,
    7470             :      440,   441,   442,   443,   444,   445,  1319,   447,  1320,   449,
    7471             :      450,   451,   452,   453,   454,   455,   456,   457,  1321,   459,
    7472             :     1322,   460,   461,   462,   463,  1323,  1324,   465,  1325,   467,
    7473             :      468,   469,   470,     0,   471,   472,   473,     0,     0,  1326,
    7474             :      475,   476,     0,     0,   477,   478,   479,   480,   481,   482,
    7475             :     1327,   484,   485,   486,   487,   488,   489,   490,   491,   492,
    7476             :      493,   494,   495,     0,   496,   497,   498,  1328,   500,   501,
    7477             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
    7478             :      511,   512,   513,   514,   515,  1329,   517,   518,   519,     0,
    7479             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
    7480             :      530,   531,   532,     0,   533,   534,   535,   536,   537,   538,
    7481             :      539,   540,  1330,   542,   543,   544,   545,   546,   547,   548,
    7482             :      549,   550,   551,     0,   552,   553,   554,   555,   556,  1331,
    7483             :      557,   558,   559,   560,   561,   562,   563,   564,  1332,   566,
    7484             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
    7485             :      576,   577,   578,   579,   580,   581,  1333,   583,     0,   584,
    7486             :      585,  1334,     0,   586,   587,   588,   589,   590,   591,   592,
    7487             :      593,     0,   594,  1335,  1336,     0,     0,   597,   598,  1337,
    7488             :      600,  1338,  1339,   602,   603,   604,   605,   606,   607,   608,
    7489             :      609,   610,     0,  1340,   611,   612,   613,   614,   615,  1341,
    7490             :        0,   616,   617,   618,   619,   620,   621,  1342,     0,   623,
    7491             :      624,   625,   626,   627,   628,   629,     0,     0,   630,     0,
    7492             :        0,   631,   632,   633,   634,   635,   636,   637,  1343,  1344,
    7493             :     1345,  1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,
    7494             :      650,     0,  1351,     0,     0,     0,     0,     0,     0,     0,
    7495             :        0,     0,     0,     0,  1352,  1353,  1354,     0,     0,   234,
    7496             :        0,  1271,   717,  1355,  1272,  1273,  1274,   778,  1275,     0,
    7497             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
    7498             :      239,   240,   241,   242,   243,  2698,   244,   245,   246,     0,
    7499             :        0,     0,     0,  1276,     0,     0,   247,   248,   249,     0,
    7500             :      250,   251,   252,   253,   254,   255,   256,   257,   258,  1277,
    7501             :      260,  1278,  1279,     0,   263,   264,   265,   266,   267,   268,
    7502             :      269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,   275,
    7503             :      276,   277,   278,  1284,     0,  1285,     0,   281,   282,   283,
    7504             :      284,   285,   286,   287,   288,   289,   290,   291,     0,   292,
    7505             :      293,   294,   295,   296,   297,     0,   298,   299,   300,   301,
    7506             :     1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,   305,
    7507             :      306,   307,   308,  1293,  1294,   311,  1295,   312,     0,   313,
    7508             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
    7509             :      323,     0,     0,   324,   325,   887,   327,   328,     0,   329,
    7510             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
    7511             :      338,   339,   340,   341,  1296,   343,   344,   345,   346,  1297,
    7512             :     1298,   348,     0,   349,   350,   351,  1299,   353,     0,   354,
    7513             :        0,   355,   356,   357,     0,   358,   359,   360,   361,   362,
    7514             :        0,   363,  1300,     0,  1301,   366,   367,     0,   368,   369,
    7515             :      370,   371,   372,   373,   374,   375,   376,   377,     0,   378,
    7516             :      379,   380,   381,   382,   383,   384,   385,     0,   386,   387,
    7517             :      388,   389,   390,   391,   392,  1302,  1303,     0,  1304,     0,
    7518             :      396,   397,   398,   399,   400,  1305,  1306,  1307,  1308,  1309,
    7519             :     1310,  1311,  1312,  1313,   410,  1314,   412,   413,   414,   415,
    7520             :      416,   417,   418,     0,     0,   419,  1315,   421,   422,   423,
    7521             :        0,   424,   425,   426,  1316,  1317,   427,   428,   429,   430,
    7522             :      431,   432,   433,   434,   435,   436,  1318,   438,   439,   440,
    7523             :      441,   442,   443,   444,   445,  1319,   447,  1320,   449,   450,
    7524             :      451,   452,   453,   454,   455,   456,   457,  1321,   459,  1322,
    7525             :      460,   461,   462,   463,  1323,  1324,   465,  1325,   467,   468,
    7526             :      469,   470,     0,   471,   472,   473,     0,     0,  1326,   475,
    7527             :      476,     0,     0,   477,   478,   479,   480,   481,   482,  1327,
    7528             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
    7529             :      494,   495,     0,   496,   497,   498,  1328,   500,   501,   502,
    7530             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
    7531             :      512,   513,   514,   515,  1329,   517,   518,   519,     0,   520,
    7532             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
    7533             :      531,   532,     0,   533,   534,   535,   536,   537,   538,   539,
    7534             :      540,  1330,   542,   543,   544,   545,   546,   547,   548,   549,
    7535             :      550,   551,     0,   552,   553,   554,   555,   556,  1331,   557,
    7536             :      558,   559,   560,   561,   562,   563,   564,  1332,   566,     0,
    7537             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
    7538             :      577,   578,   579,   580,   581,  1333,   583,     0,   584,   585,
    7539             :     1334,     0,   586,   587,   588,   589,   590,   591,   592,   593,
    7540             :        0,   594,  1335,  1336,     0,     0,   597,   598,  1337,   600,
    7541             :     1338,  1339,   602,   603,   604,   605,   606,   607,   608,   609,
    7542             :      610,     0,  1340,   611,   612,   613,   614,   615,  1341,     0,
    7543             :      616,   617,   618,   619,   620,   621,  1342,     0,   623,   624,
    7544             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
    7545             :      631,   632,   633,   634,   635,   636,   637,  1343,  1344,  1345,
    7546             :     1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,   650,
    7547             :        0,  1351,     0,     0,     0,     0,     0,     0,     0,     0,
    7548             :        0,     0,     0,  1352,  1353,     0,     0,     0,   234,     0,
    7549             :     1271,   717,  1355,  1272,  1273,  1274,   778,  1275,     0,     0,
    7550             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
    7551             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
    7552             :        0,     0,  1276,     0,     0,   247,   248,   249,     0,   250,
    7553             :      251,   252,   253,   254,   255,   256,   257,   258,  1277,   260,
    7554             :     1278,  1279,     0,   263,   264,   265,   266,   267,   268,   269,
    7555             :     1280,  1281,   270,   271,  1282,  1283,   274,     0,   275,   276,
    7556             :      277,   278,  1284,     0,  1285,     0,   281,   282,   283,   284,
    7557             :      285,   286,   287,   288,   289,   290,   291,     0,   292,   293,
    7558             :      294,   295,   296,   297,     0,   298,   299,   300,   301,  1286,
    7559             :     1287,  1288,  1289,  1290,  1291,  1292,   303,   304,   305,   306,
    7560             :      307,   308,  1293,  1294,   311,  1295,   312,     0,   313,   314,
    7561             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
    7562             :        0,     0,   324,   325,   887,   327,   328,     0,   329,   330,
    7563             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
    7564             :      339,   340,   341,  1296,   343,   344,   345,   346,  1297,  1298,
    7565             :      348,     0,   349,   350,   351,  1299,   353,     0,   354,     0,
    7566             :      355,   356,   357,     0,   358,   359,   360,   361,   362,     0,
    7567             :      363,  1300,     0,  1301,   366,   367,     0,   368,   369,   370,
    7568             :      371,   372,   373,   374,   375,   376,   377,     0,   378,   379,
    7569             :      380,   381,   382,   383,   384,   385,     0,   386,   387,   388,
    7570             :      389,   390,   391,   392,  1302,  1303,     0,  1304,     0,   396,
    7571             :      397,   398,   399,   400,  1305,  1306,  1307,  1308,  1309,  1310,
    7572             :     1311,  1312,  1313,   410,  1314,   412,   413,   414,   415,   416,
    7573             :      417,   418,     0,     0,   419,  1315,   421,   422,   423,     0,
    7574             :      424,   425,   426,  1316,  1317,   427,   428,   429,   430,   431,
    7575             :      432,   433,   434,   435,   436,  1318,   438,   439,   440,   441,
    7576             :      442,   443,   444,   445,  1319,   447,  1320,   449,   450,   451,
    7577             :      452,   453,   454,   455,   456,   457,  1321,   459,  1322,   460,
    7578             :      461,   462,   463,  1323,  1324,   465,  1325,   467,   468,   469,
    7579             :      470,     0,   471,   472,   473,     0,     0,  1326,   475,   476,
    7580             :        0,     0,   477,   478,   479,   480,   481,   482,  1327,   484,
    7581             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
    7582             :      495,     0,   496,   497,   498,  1328,   500,   501,   502,   503,
    7583             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
    7584             :      513,   514,   515,  1329,   517,   518,   519,     0,   520,   521,
    7585             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
    7586             :      532,  3288,   533,   534,   535,   536,   537,   538,   539,   540,
    7587             :     1330,   542,   543,   544,   545,   546,   547,   548,   549,   550,
    7588             :      551,     0,   552,   553,   554,   555,   556,  1331,   557,   558,
    7589             :      559,   560,   561,   562,   563,   564,  1332,   566,     0,   567,
    7590             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
    7591             :      578,   579,   580,   581,  1333,   583,     0,   584,   585,  1334,
    7592             :        0,   586,   587,   588,   589,   590,   591,   592,   593,     0,
    7593             :      594,  1335,  1336,     0,     0,   597,   598,  1337,   600,  1338,
    7594             :     1339,   602,   603,   604,   605,   606,   607,   608,   609,   610,
    7595             :        0,  1340,   611,   612,   613,   614,   615,  1341,     0,   616,
    7596             :      617,   618,   619,   620,   621,  1342,     0,   623,   624,   625,
    7597             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
    7598             :      632,   633,   634,   635,   636,   637,  1343,  1344,  1345,  1346,
    7599             :      642,  1347,  1348,  1349,  1350,   647,   648,   649,   650,     0,
    7600             :     1351,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    7601             :        0,     0,  1352,  1353,     0,     0,     0,   234,     0,  1271,
    7602             :      717,  1355,  1272,  1273,  1274,   778,  1275,     0,     0,     0,
    7603             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
    7604             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
    7605             :        0,  1276,     0,     0,   247,   248,   249,     0,   250,   251,
    7606             :      252,   253,   254,   255,   256,   257,   258,  1277,   260,  1278,
    7607             :     1279,     0,   263,   264,   265,   266,   267,   268,   269,  1280,
    7608             :     1281,   270,   271,  1282,  1283,   274,     0,   275,   276,   277,
    7609             :      278,  1284,     0,  1285,     0,   281,   282,   283,   284,   285,
    7610             :      286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
    7611             :      295,   296,   297,     0,   298,   299,   300,   301,  1286,  1287,
    7612             :     1288,  1289,  1290,  1291,  1292,   303,   304,   305,   306,   307,
    7613             :      308,  1293,  1294,   311,  1295,   312,     0,   313,   314,   315,
    7614             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
    7615             :        0,   324,   325,   887,   327,   328,     0,   329,   330,   331,
    7616             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
    7617             :      340,   341,  1296,   343,   344,   345,   346,  1297,  1298,   348,
    7618             :        0,   349,   350,   351,  1299,   353,     0,   354,     0,   355,
    7619             :      356,   357,     0,   358,   359,   360,   361,   362,     0,   363,
    7620             :     1300,     0,  1301,   366,   367,     0,   368,   369,   370,   371,
    7621             :      372,   373,   374,   375,   376,   377,     0,   378,   379,   380,
    7622             :      381,   382,   383,   384,   385,     0,   386,   387,   388,   389,
    7623             :      390,   391,   392,  1302,  1303,     0,  1304,     0,   396,   397,
    7624             :      398,   399,   400,  1305,  1306,  1307,  1308,  1309,  1310,  1311,
    7625             :     1312,  1313,   410,  1314,   412,   413,   414,   415,   416,   417,
    7626             :      418,     0,     0,   419,  1315,   421,   422,   423,     0,   424,
    7627             :      425,   426,  1316,  1317,   427,   428,   429,   430,   431,   432,
    7628             :      433,   434,   435,   436,  1318,   438,   439,   440,   441,   442,
    7629             :      443,   444,   445,  1319,   447,  1320,   449,   450,   451,   452,
    7630             :      453,   454,   455,   456,   457,  1321,   459,  1322,   460,   461,
    7631             :      462,   463,  1323,  1324,   465,  1325,   467,   468,   469,   470,
    7632             :        0,   471,   472,   473,     0,     0,  1326,   475,   476,     0,
    7633             :        0,   477,   478,   479,   480,   481,   482,  1327,   484,   485,
    7634             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
    7635             :        0,   496,   497,   498,  1328,   500,   501,   502,   503,   504,
    7636             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
    7637             :      514,   515,  1329,   517,   518,   519,     0,   520,   521,   522,
    7638             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
    7639             :        0,   533,   534,   535,   536,   537,   538,   539,   540,  1330,
    7640             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
    7641             :        0,   552,   553,   554,   555,   556,  1331,   557,   558,   559,
    7642             :      560,   561,   562,   563,   564,  1332,   566,     0,   567,   568,
    7643             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
    7644             :      579,   580,   581,  1333,   583,     0,   584,   585,  1334,     0,
    7645             :      586,   587,   588,   589,   590,   591,   592,   593,     0,   594,
    7646             :     1335,  1336,     0,     0,   597,   598,  1337,   600,  1338,  1339,
    7647             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
    7648             :     1340,   611,   612,   613,   614,   615,  1341,     0,   616,   617,
    7649             :      618,   619,   620,   621,  1342,  3841,   623,   624,   625,   626,
    7650             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
    7651             :      633,   634,   635,   636,   637,  1343,  1344,  1345,  1346,   642,
    7652             :     1347,  1348,  1349,  1350,   647,   648,   649,   650,     0,  1351,
    7653             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    7654             :        0,  1352,  1353,     0,     0,     0,   234,     0,  1271,   717,
    7655             :     1355,  1272,  1273,  1274,   778,  1275,     0,     0,     0,     0,
    7656             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
    7657             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
    7658             :     1276,     0,     0,   247,   248,   249,     0,   250,   251,   252,
    7659             :      253,   254,   255,   256,   257,   258,  1277,   260,  1278,  1279,
    7660             :        0,   263,   264,   265,   266,   267,   268,   269,  1280,  1281,
    7661             :      270,   271,  1282,  1283,   274,     0,   275,   276,   277,   278,
    7662             :     1284,     0,  1285,     0,   281,   282,   283,   284,   285,   286,
    7663             :      287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
    7664             :      296,   297,     0,   298,   299,   300,   301,  1286,  1287,  1288,
    7665             :     1289,  1290,  1291,  1292,   303,   304,   305,   306,   307,   308,
    7666             :     1293,  1294,   311,  1295,   312,     0,   313,   314,   315,   316,
    7667             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
    7668             :      324,   325,   887,   327,   328,     0,   329,   330,   331,   332,
    7669             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
    7670             :      341,  1296,   343,   344,   345,   346,  1297,  1298,   348,     0,
    7671             :      349,   350,   351,  1299,   353,     0,   354,     0,   355,   356,
    7672             :      357,  3334,   358,   359,   360,   361,   362,     0,   363,  1300,
    7673             :        0,  1301,   366,   367,     0,   368,   369,   370,   371,   372,
    7674             :      373,   374,   375,   376,   377,     0,   378,   379,   380,   381,
    7675             :      382,   383,   384,   385,     0,   386,   387,   388,   389,   390,
    7676             :      391,   392,  1302,  1303,     0,  1304,     0,   396,   397,   398,
    7677             :      399,   400,  1305,  1306,  1307,  1308,  1309,  1310,  1311,  1312,
    7678             :     1313,   410,  1314,   412,   413,   414,   415,   416,   417,   418,
    7679             :        0,     0,   419,  1315,   421,   422,   423,     0,   424,   425,
    7680             :      426,  1316,  1317,   427,   428,   429,   430,   431,   432,   433,
    7681             :      434,   435,   436,  1318,   438,   439,   440,   441,   442,   443,
    7682             :      444,   445,  1319,   447,  1320,   449,   450,   451,   452,   453,
    7683             :      454,   455,   456,   457,  1321,   459,  1322,   460,   461,   462,
    7684             :      463,  1323,  1324,   465,  1325,   467,   468,   469,   470,     0,
    7685             :      471,   472,   473,     0,     0,  1326,   475,   476,     0,     0,
    7686             :      477,   478,   479,   480,   481,   482,  1327,   484,   485,   486,
    7687             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
    7688             :      496,   497,   498,  1328,   500,   501,   502,   503,   504,     0,
    7689             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
    7690             :      515,  1329,   517,   518,   519,     0,   520,   521,   522,   523,
    7691             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
    7692             :      533,   534,   535,   536,   537,   538,   539,   540,  1330,   542,
    7693             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
    7694             :      552,   553,   554,   555,   556,  1331,   557,   558,   559,   560,
    7695             :      561,   562,   563,   564,  1332,   566,     0,   567,   568,   569,
    7696             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
    7697             :      580,   581,  1333,   583,     0,   584,   585,  1334,     0,   586,
    7698             :      587,   588,   589,   590,   591,   592,   593,     0,   594,  1335,
    7699             :     1336,     0,     0,   597,   598,  1337,   600,  1338,  1339,   602,
    7700             :      603,   604,   605,   606,   607,   608,   609,   610,     0,  1340,
    7701             :      611,   612,   613,   614,   615,  1341,     0,   616,   617,   618,
    7702             :      619,   620,   621,  1342,     0,   623,   624,   625,   626,   627,
    7703             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
    7704             :      634,   635,   636,   637,  1343,  1344,  1345,  1346,   642,  1347,
    7705             :     1348,  1349,  1350,   647,   648,   649,   650,     0,  1351,     0,
    7706             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    7707             :     1352,  1353,     0,     0,     0,   234,     0,  1271,   717,  1355,
    7708             :     1272,  1273,  1274,   778,  1275,     0,     0,     0,     0,     0,
    7709             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
    7710             :      243,     0,   244,   245,   246,     0,     0,     0,     0,  1276,
    7711             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
    7712             :      254,   255,   256,   257,   258,  1277,   260,  1278,  1279,     0,
    7713             :      263,   264,   265,   266,   267,   268,   269,  1280,  1281,   270,
    7714             :      271,  1282,  1283,   274,     0,   275,   276,   277,   278,  1284,
    7715             :        0,  1285,     0,   281,   282,   283,   284,   285,   286,   287,
    7716             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
    7717             :      297,     0,   298,   299,   300,   301,  1286,  1287,  1288,  1289,
    7718             :     1290,  1291,  1292,   303,   304,   305,   306,   307,   308,  1293,
    7719             :     1294,   311,  1295,   312,     0,   313,   314,   315,   316,   317,
    7720             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
    7721             :      325,   887,   327,   328,     0,   329,   330,   331,   332,     0,
    7722             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
    7723             :     1296,   343,   344,   345,   346,  1297,  1298,   348,     0,   349,
    7724             :      350,   351,  1299,   353,     0,   354,     0,   355,   356,   357,
    7725             :        0,   358,   359,   360,   361,   362,     0,   363,  1300,     0,
    7726             :     1301,   366,   367,     0,   368,   369,   370,   371,   372,   373,
    7727             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
    7728             :      383,   384,   385,     0,   386,   387,   388,   389,   390,   391,
    7729             :      392,  1302,  1303,     0,  1304,     0,   396,   397,   398,   399,
    7730             :      400,  1305,  1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,
    7731             :      410,  1314,   412,   413,   414,   415,   416,   417,   418,     0,
    7732             :        0,   419,  1315,   421,   422,   423,     0,   424,   425,   426,
    7733             :     1316,  1317,   427,   428,   429,   430,   431,   432,   433,   434,
    7734             :      435,   436,  1318,   438,   439,   440,   441,   442,   443,   444,
    7735             :      445,  1319,   447,  1320,   449,   450,   451,   452,   453,   454,
    7736             :      455,   456,   457,  1321,   459,  1322,   460,   461,   462,   463,
    7737             :     1323,  1324,   465,  1325,   467,   468,   469,   470,     0,   471,
    7738             :      472,   473,     0,     0,  1326,   475,   476,     0,     0,   477,
    7739             :      478,   479,   480,   481,   482,  1327,   484,   485,   486,   487,
    7740             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
    7741             :      497,   498,  1328,   500,   501,   502,   503,   504,     0,   505,
    7742             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
    7743             :     1329,   517,   518,   519,     0,   520,   521,   522,   523,   524,
    7744             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
    7745             :      534,   535,   536,   537,   538,   539,   540,  1330,   542,   543,
    7746             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
    7747             :      553,   554,   555,   556,  1331,   557,   558,   559,   560,   561,
    7748             :      562,   563,   564,  1332,   566,     0,   567,   568,   569,   570,
    7749             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
    7750             :      581,  1333,   583,     0,   584,   585,  1334,     0,   586,   587,
    7751             :      588,   589,   590,   591,   592,   593,     0,   594,  1335,  1336,
    7752             :     3391,     0,   597,   598,  1337,   600,  1338,  1339,   602,   603,
    7753             :      604,   605,   606,   607,   608,   609,   610,     0,  1340,   611,
    7754             :      612,   613,   614,   615,  1341,     0,   616,   617,   618,   619,
    7755             :      620,   621,  1342,     0,   623,   624,   625,   626,   627,   628,
    7756             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
    7757             :      635,   636,   637,  1343,  1344,  1345,  1346,   642,  1347,  1348,
    7758             :     1349,  1350,   647,   648,   649,   650,     0,  1351,     0,     0,
    7759             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  1352,
    7760             :     1353,     0,     0,     0,   234,     0,  1271,   717,  1355,  1272,
    7761             :     1273,  1274,   778,  1275,     0,     0,     0,     0,     0,     0,
    7762             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    7763             :        0,   244,   245,   246,     0,     0,     0,     0,  1276,     0,
    7764             :        0,   247,   248,   249,     0,   250,   251,   252,   253,   254,
    7765             :      255,   256,   257,   258,  1277,   260,  1278,  1279,     0,   263,
    7766             :      264,   265,   266,   267,   268,   269,  1280,  1281,   270,   271,
    7767             :     1282,  1283,   274,     0,   275,   276,   277,   278,  1284,     0,
    7768             :     1285,     0,   281,   282,   283,   284,   285,   286,   287,   288,
    7769             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    7770             :        0,   298,   299,   300,   301,  1286,  1287,  1288,  1289,  1290,
    7771             :     1291,  1292,   303,   304,   305,   306,   307,   308,  1293,  1294,
    7772             :      311,  1295,   312,     0,   313,   314,   315,   316,   317,   318,
    7773             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    7774             :      887,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    7775             :      334,   335,   336,   337,     0,   338,   339,   340,   341,  1296,
    7776             :      343,   344,   345,   346,  1297,  1298,   348,     0,   349,   350,
    7777             :      351,  1299,   353,     0,   354,     0,   355,   356,   357,     0,
    7778             :      358,   359,   360,   361,   362,     0,   363,  1300,     0,  1301,
    7779             :      366,   367,     0,   368,   369,   370,   371,   372,   373,   374,
    7780             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
    7781             :      384,   385,     0,   386,   387,   388,   389,   390,   391,   392,
    7782             :     1302,  1303,     0,  1304,     0,   396,   397,   398,   399,   400,
    7783             :     1305,  1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,   410,
    7784             :     1314,   412,   413,   414,   415,   416,   417,   418,     0,     0,
    7785             :      419,  1315,   421,   422,   423,     0,   424,   425,   426,  1316,
    7786             :     1317,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    7787             :      436,  1318,   438,   439,   440,   441,   442,   443,   444,   445,
    7788             :     1319,   447,  1320,   449,   450,   451,   452,   453,   454,   455,
    7789             :      456,   457,  1321,   459,  1322,   460,   461,   462,   463,  1323,
    7790             :     1324,   465,  1325,   467,   468,   469,   470,     0,   471,   472,
    7791             :      473,     0,     0,  1326,   475,   476,     0,     0,   477,   478,
    7792             :      479,   480,   481,   482,  1327,   484,   485,   486,   487,   488,
    7793             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
    7794             :      498,  1328,   500,   501,   502,   503,   504,     0,   505,   506,
    7795             :      507,   508,   509,   510,   511,   512,   513,   514,   515,  1329,
    7796             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    7797             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    7798             :      535,   536,   537,   538,   539,   540,  1330,   542,   543,   544,
    7799             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
    7800             :      554,   555,   556,  1331,   557,   558,   559,   560,   561,   562,
    7801             :      563,   564,  1332,   566,     0,   567,   568,   569,   570,   571,
    7802             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    7803             :     1333,   583,     0,   584,   585,  1334,     0,   586,   587,   588,
    7804             :      589,   590,   591,   592,   593,     0,   594,  1335,  1336,     0,
    7805             :        0,   597,   598,  1337,   600,  1338,  1339,   602,   603,   604,
    7806             :      605,   606,   607,   608,   609,   610,     0,  1340,   611,   612,
    7807             :      613,   614,   615,  1341,     0,   616,   617,   618,   619,   620,
    7808             :      621,  1342,     0,   623,   624,   625,   626,   627,   628,   629,
    7809             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
    7810             :      636,   637,  1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,
    7811             :     1350,   647,   648,   649,   650,     0,  1351,     0,     0,     0,
    7812             :        0,     0,     0,     0,     0,     0,     0,     0,  1352,  1353,
    7813             :        0,     0,     0,   234,     0,  1271,   717,  1355,  1272,  1273,
    7814             :     1274,   778,  1275,     0,     0,     0,     0,     0,     0,     0,
    7815             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
    7816             :      244,   245,   246,     0,     0,     0,     0,  1276,     0,     0,
    7817             :      247,   248,   249,     0,   250,   251,   252,   253,   254,   255,
    7818             :      256,   257,   258,  1277,   260,  1278,  1279,     0,   263,   264,
    7819             :      265,   266,   267,   268,   269,  1280,  1281,   270,   271,  1282,
    7820             :     1283,   274,     0,   275,   276,   277,   278,  1284,     0,  1285,
    7821             :        0,   281,   282,   283,   284,   285,   286,   287,   288,   289,
    7822             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
    7823             :      298,   299,   300,   301,  1286,  1287,  1288,  1289,  1290,  1291,
    7824             :     1292,   303,   304,   305,   306,   307,   308,  1293,  1294,   311,
    7825             :     1295,   312,     0,   313,   314,   315,   316,   317,   318,   319,
    7826             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   887,
    7827             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
    7828             :      335,   336,   337,     0,   338,   339,   340,   341,  1296,   343,
    7829             :      344,   345,   346,  1297,  1298,   348,     0,   349,   350,   351,
    7830             :     1299,   353,     0,   354,     0,   355,   356,   357,     0,   358,
    7831             :      359,   360,   361,   362,     0,   363,  1300,     0,  1301,   366,
    7832             :      367,     0,   368,   369,   370,   371,   372,   373,   374,   375,
    7833             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
    7834             :      385,     0,   386,   387,   388,   389,   390,   391,   392,  1302,
    7835             :     1303,     0,  1304,     0,   396,   397,   398,   399,   400,  1305,
    7836             :     1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,   410,  1314,
    7837             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
    7838             :     1315,   421,   422,   423,     0,   424,   425,   426,  1316,  1317,
    7839             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
    7840             :     1318,   438,   439,   440,   441,   442,   443,   444,   445,  1319,
    7841             :      447,  1320,   449,   450,   451,   452,   453,   454,   455,   456,
    7842             :      457,  1321,   459,  1322,   460,   461,   462,   463,  1323,  1324,
    7843             :      465,  1325,   467,   468,   469,   470,     0,   471,   472,   473,
    7844             :        0,     0,  1326,   475,   476,     0,     0,   477,   478,   479,
    7845             :      480,   481,   482,  1327,   484,   485,   486,   487,   488,   489,
    7846             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
    7847             :     1328,   500,   501,   502,   503,   504,     0,   505,   506,   507,
    7848             :      508,   509,   510,   511,   512,   513,   514,   515,  1329,   517,
    7849             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
    7850             :      527,   528,   529,   530,   531,   532,     0,   533,   534,   535,
    7851             :      536,   537,   538,   539,   540,  1330,   542,   543,   544,   545,
    7852             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
    7853             :      555,   556,  1331,   557,   558,   559,   560,   561,   562,   563,
    7854             :      564,  1332,   566,     0,   567,   568,   569,   570,   571,   572,
    7855             :      573,   574,   575,   576,   577,   578,   579,   580,   581,  1333,
    7856             :      583,     0,   584,   585,  1334,     0,   586,   587,   588,   589,
    7857             :      590,   591,   592,   593,     0,   594,  1335,  1336,     0,     0,
    7858             :      597,   598,  1337,   600,  1338,  1339,   602,   603,   604,   605,
    7859             :      606,   607,   608,   609,   610,     0,  1340,   611,   612,   613,
    7860             :      614,   615,  1341,     0,   616,   617,   618,   619,   620,   621,
    7861             :     1342,     0,   623,   624,   625,   626,   627,   628,   629,     0,
    7862             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
    7863             :      637,  1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,  1350,
    7864             :      647,   648,   649,   650,     0,  1351,     0,     0,     0,     0,
    7865             :        0,     0,     0,     0,     0,     0,     0,  2701,  2702,     0,
    7866             :        0,     0,   234,     0,  3510,   717,  1355,  1272,  1273,  1274,
    7867             :      778,  1275,     0,     0,     0,     0,     0,     0,     0,   235,
    7868             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
    7869             :      245,   246,     0,     0,     0,     0,  1276,     0,     0,   247,
    7870             :      248,   249,     0,   250,   251,   252,   253,   254,   255,   256,
    7871             :      257,   258,  1277,   260,  1278,  1279,     0,   263,   264,   265,
    7872             :      266,   267,   268,   269,  1280,  1281,   270,   271,  1282,  1283,
    7873             :      274,     0,   275,   276,   277,   278,  1284,     0,  1285,     0,
    7874             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
    7875             :      291,     0,   292,   293,   294,   295,   296,   297,     0,   298,
    7876             :      299,   300,   301,  1286,  1287,  1288,  1289,  1290,  1291,  1292,
    7877             :      303,   304,   305,   306,   307,   308,  1293,  1294,   311,  1295,
    7878             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
    7879             :      320,   321,   322,   323,     0,     0,   324,   325,   887,   327,
    7880             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
    7881             :      336,   337,     0,   338,   339,   340,   341,  1296,   343,   344,
    7882             :      345,   346,  1297,  1298,   348,     0,   349,   350,   351,  1299,
    7883             :      353,     0,   354,     0,   355,   356,   357,     0,   358,   359,
    7884             :      360,   361,   362,     0,   363,  1300,     0,  1301,   366,   367,
    7885             :        0,   368,   369,   370,   371,   372,   373,   374,   375,   376,
    7886             :      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
    7887             :        0,   386,   387,   388,   389,   390,   391,   392,  1302,  1303,
    7888             :        0,  1304,     0,   396,   397,   398,   399,   400,  1305,  1306,
    7889             :     1307,  1308,  1309,  1310,  1311,  1312,  1313,   410,  1314,   412,
    7890             :      413,   414,   415,   416,   417,   418,     0,     0,   419,  1315,
    7891             :      421,   422,   423,     0,   424,   425,   426,  1316,  1317,   427,
    7892             :      428,   429,   430,   431,   432,   433,   434,   435,   436,  1318,
    7893             :      438,   439,   440,   441,   442,   443,   444,   445,  1319,   447,
    7894             :     1320,   449,   450,   451,   452,   453,   454,   455,   456,   457,
    7895             :     1321,   459,  1322,   460,   461,   462,   463,  1323,  1324,   465,
    7896             :     1325,   467,   468,   469,   470,     0,   471,   472,   473,     0,
    7897             :        0,  1326,   475,   476,     0,     0,   477,   478,   479,   480,
    7898             :      481,   482,  1327,   484,   485,   486,   487,   488,   489,   490,
    7899             :      491,   492,   493,   494,   495,     0,   496,   497,   498,  1328,
    7900             :      500,   501,   502,   503,   504,     0,   505,   506,   507,   508,
    7901             :      509,   510,   511,   512,   513,   514,   515,  1329,   517,   518,
    7902             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
    7903             :      528,   529,   530,   531,   532,     0,   533,   534,   535,   536,
    7904             :      537,   538,   539,   540,  1330,   542,   543,   544,   545,   546,
    7905             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
    7906             :      556,  1331,   557,   558,   559,   560,   561,   562,   563,   564,
    7907             :     1332,   566,     0,   567,   568,   569,   570,   571,   572,   573,
    7908             :      574,   575,   576,   577,   578,   579,   580,   581,  1333,   583,
    7909             :        0,   584,   585,  1334,     0,   586,   587,   588,   589,   590,
    7910             :      591,   592,   593,     0,   594,  1335,  1336,     0,     0,   597,
    7911             :      598,  1337,   600,  1338,  1339,   602,   603,   604,   605,   606,
    7912             :      607,   608,   609,   610,     0,  1340,   611,   612,   613,   614,
    7913             :      615,  1341,     0,   616,   617,   618,   619,   620,   621,  1342,
    7914             :        0,   623,   624,   625,   626,   627,   628,   629,     0,     0,
    7915             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
    7916             :     1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,  1350,   647,
    7917             :      648,   649,   650,     0,  1351,     0,     0,     0,     0,     0,
    7918             :        0,     0,     0,     0,     0,     0,  1352,  1353,     0,     0,
    7919             :        0,   234,     0,  1271,   717,  1355,  1272,  1273,  1274,   778,
    7920             :     1275,     0,     0,     0,     0,     0,     0,     0,   235,   236,
    7921             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
    7922             :      246,     0,     0,     0,     0,  1276,     0,     0,   247,   248,
    7923             :      249,     0,   250,   251,   252,   253,   254,   255,   256,   257,
    7924             :      258,  1277,   260,  1278,  1279,     0,   263,   264,   265,   266,
    7925             :      267,   268,   269,  1280,  1281,   270,   271,  1282,  1283,   274,
    7926             :        0,   275,   276,   277,   278,  1284,     0,  1285,     0,   281,
    7927             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
    7928             :        0,   292,   293,   294,   295,   296,   297,     0,   298,   299,
    7929             :      300,  4865,  1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,
    7930             :      304,   305,   306,   307,   308,  1293,  1294,   311,  1295,   312,
    7931             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
    7932             :      321,   322,   323,     0,     0,   324,   325,   887,   327,   328,
    7933             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
    7934             :      337,     0,   338,   339,   340,   341,  1296,   343,   344,   345,
    7935             :      346,  1297,  1298,   348,     0,   349,   350,   351,  1299,   353,
    7936             :        0,   354,     0,   355,   356,   357,     0,   358,   359,   360,
    7937             :      361,   362,     0,   363,  1300,     0,  1301,   366,   367,     0,
    7938             :      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
    7939             :        0,   378,   379,   380,   381,   382,   383,   384,   385,     0,
    7940             :      386,   387,   388,   389,   390,   391,   392,  1302,  1303,     0,
    7941             :     1304,     0,   396,   397,   398,   399,   400,  1305,  1306,  1307,
    7942             :     1308,  1309,  1310,  1311,  1312,  1313,   410,  1314,   412,   413,
    7943             :      414,   415,   416,   417,   418,     0,     0,   419,  1315,   421,
    7944             :      422,   423,     0,   424,   425,   426,  1316,  1317,   427,   428,
    7945             :      429,   430,   431,   432,   433,   434,   435,   436,  1318,   438,
    7946             :      439,   440,   441,   442,   443,   444,   445,  1319,   447,  1320,
    7947             :      449,   450,   451,   452,   453,   454,   455,   456,   457,  1321,
    7948             :      459,  1322,   460,   461,   462,   463,  1323,  1324,   465,  1325,
    7949             :      467,   468,   469,   470,     0,   471,   472,   473,     0,     0,
    7950             :     1326,   475,   476,     0,     0,   477,   478,   479,   480,   481,
    7951             :      482,  1327,   484,   485,   486,   487,   488,   489,   490,   491,
    7952             :      492,   493,   494,   495,     0,   496,   497,   498,  1328,   500,
    7953             :      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
    7954             :      510,   511,   512,   513,   514,   515,  1329,   517,   518,   519,
    7955             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
    7956             :      529,   530,   531,   532,     0,   533,   534,   535,   536,   537,
    7957             :      538,   539,   540,  1330,   542,   543,   544,   545,   546,   547,
    7958             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
    7959             :     1331,   557,   558,   559,   560,   561,   562,   563,   564,  1332,
    7960             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
    7961             :      575,   576,   577,   578,   579,   580,   581,  1333,   583,     0,
    7962             :      584,   585,  1334,     0,   586,   587,   588,   589,   590,   591,
    7963             :      592,   593,     0,   594,  1335,  1336,     0,     0,   597,   598,
    7964             :     1337,   600,  1338,  1339,   602,   603,   604,   605,   606,   607,
    7965             :      608,   609,   610,     0,  1340,   611,   612,   613,   614,   615,
    7966             :     1341,     0,   616,   617,   618,   619,   620,   621,  1342,     0,
    7967             :      623,   624,   625,   626,   627,   628,   629,     0,     0,   630,
    7968             :        0,     0,   631,   632,   633,   634,   635,   636,   637,  1343,
    7969             :     1344,  1345,  1346,   642,  1347,  1348,  1349,  1350,   647,   648,
    7970             :      649,   650,     0,  1351,     0,     0,     0,     0,     0,     0,
    7971             :        0,     0,     0,     0,     0,  1352,  1353,     0,     0,     0,
    7972             :      234,     0,  1271,   717,  1355,  1272,  1273,  1274,   778,  1275,
    7973             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
    7974             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
    7975             :        0,     0,     0,     0,  1276,     0,     0,   247,   248,   249,
    7976             :        0,   250,   251,   252,   253,   254,   255,   256,   257,   258,
    7977             :     1277,   260,  1278,  1279,     0,   263,   264,   265,   266,   267,
    7978             :      268,   269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,
    7979             :      275,   276,   277,   278,  1284,     0,  1285,     0,   281,   282,
    7980             :      283,   284,   285,   286,   287,   288,   289,   290,   291,     0,
    7981             :      292,   293,   294,   295,   296,   297,     0,   298,   299,   300,
    7982             :      301,  1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,
    7983             :      305,   306,   307,   308,  1293,  1294,   311,  1295,   312,     0,
    7984             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
    7985             :      322,   323,     0,     0,   324,   325,   887,   327,   328,     0,
    7986             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
    7987             :        0,   338,   339,   340,   341,  1296,   343,   344,   345,   346,
    7988             :     1297,  1298,   348,     0,   349,   350,   351,  1299,   353,     0,
    7989             :      354,     0,   355,   356,   357,     0,   358,   359,   360,   361,
    7990             :      362,     0,   363,  1300,     0,  1301,   366,   367,     0,   368,
    7991             :      369,   370,   371,   372,   373,   374,   375,   376,   377,     0,
    7992             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
    7993             :      387,   388,   389,   390,   391,   392,  1302,  1303,     0,  1304,
    7994             :        0,   396,   397,   398,   399,   400,  1305,  1306,  1307,  1308,
    7995             :     1309,  1310,  1311,  1312,  1313,   410,  1314,   412,   413,   414,
    7996             :      415,   416,   417,   418,     0,     0,   419,  1315,   421,   422,
    7997             :      423,     0,   424,   425,   426,  1316,  1317,   427,   428,   429,
    7998             :      430,   431,   432,   433,   434,   435,   436,  1318,   438,   439,
    7999             :      440,   441,   442,   443,   444,   445,  1319,   447,  1320,   449,
    8000             :      450,   451,   452,   453,   454,   455,   456,   457,  1321,   459,
    8001             :     1322,   460,   461,   462,   463,  1323,  1324,   465,  1325,   467,
    8002             :      468,   469,   470,     0,   471,   472,   473,     0,     0,  1326,
    8003             :      475,   476,     0,     0,   477,   478,   479,   480,   481,   482,
    8004             :     1327,   484,   485,   486,   487,   488,   489,   490,   491,   492,
    8005             :      493,   494,   495,     0,   496,   497,   498,  1328,   500,   501,
    8006             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
    8007             :      511,   512,   513,   514,   515,  1329,   517,   518,   519,     0,
    8008             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
    8009             :      530,   531,   532,     0,   533,   534,   535,   536,   537,   538,
    8010             :      539,   540,  1330,   542,   543,   544,   545,   546,   547,   548,
    8011             :      549,   550,   551,     0,   552,   553,   554,   555,   556,  1331,
    8012             :      557,   558,   559,   560,   561,   562,   563,   564,  1332,   566,
    8013             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
    8014             :      576,   577,   578,   579,   580,   581,  1333,   583,     0,   584,
    8015             :      585,  1334,     0,   586,   587,   588,   589,   590,   591,   592,
    8016             :      593,     0,   594,  1335,  1336,     0,     0,   597,   598,  1337,
    8017             :      600,  1338,  1339,   602,   603,   604,   605,   606,   607,   608,
    8018             :      609,   610,     0,  1340,   611,   612,   613,   614,   615,  1341,
    8019             :        0,   616,   617,   618,   619,   620,   621,  1342,     0,   623,
    8020             :      624,   625,   626,   627,   628,   629,     0,     0,   630,     0,
    8021             :        0,   631,   632,   633,   634,   635,   636,  5251,  1343,  1344,
    8022             :     1345,  1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,
    8023             :      650,     0,  1351,     0,     0,     0,     0,     0,     0,     0,
    8024             :        0,     0,     0,     0,  1352,  1353,     0,     0,     0,   234,
    8025             :        0,  1271,   717,  1355,  1272,  1273,  1274,   778,  1275,     0,
    8026             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
    8027             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
    8028             :        0,     0,     0,  1276,     0,     0,   247,   248,   249,     0,
    8029             :      250,   251,   252,   253,   254,   255,   256,   257,   258,  1277,
    8030             :      260,  1278,  1279,     0,   263,   264,   265,   266,   267,   268,
    8031             :      269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,   275,
    8032             :      276,   277,   278,  1284,     0,  1285,     0,   281,   282,   283,
    8033             :      284,   285,   286,   287,   288,   289,   290,   291,     0,   292,
    8034             :      293,   294,   295,   296,   297,     0,   298,   299,   300,   301,
    8035             :     1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,   305,
    8036             :      306,   307,   308,  1293,  1294,   311,  1295,   312,     0,   313,
    8037             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
    8038             :      323,     0,     0,   324,   325,   887,   327,   328,     0,   329,
    8039             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
    8040             :      338,   339,   340,   341,  1296,   343,   344,   345,   346,  1297,
    8041             :     1298,   348,     0,   349,   350,   351,  1299,   353,     0,   354,
    8042             :        0,   355,   356,   357,     0,   358,   359,   360,   361,   362,
    8043             :        0,   363,  1300,     0,  1301,   366,   367,     0,   368,   369,
    8044             :      370,   371,   372,   373,   374,   375,   376,   377,     0,   378,
    8045             :      379,   380,   381,   382,   383,   384,   385,     0,   386,   387,
    8046             :      388,   389,   390,   391,   392,  1302,  1303,     0,  1304,     0,
    8047             :      396,   397,   398,   399,   400,  1305,  1306,  1307,  1308,  1309,
    8048             :     1310,  1311,  1312,  1313,   410,  1314,   412,   413,   414,   415,
    8049             :      416,   417,   418,     0,     0,   419,  1315,   421,   422,   423,
    8050             :        0,   424,   425,   426,  1316,  1317,   427,   428,   429,   430,
    8051             :      431,   432,   433,   434,   435,   436,  1318,   438,   439,   440,
    8052             :      441,   442,   443,   444,   445,  1319,   447,  1320,   449,   450,
    8053             :      451,   452,   453,   454,   455,  5263,   457,  1321,   459,  1322,
    8054             :      460,   461,   462,   463,  1323,  1324,   465,  1325,   467,   468,
    8055             :      469,   470,     0,   471,   472,   473,     0,     0,  1326,   475,
    8056             :      476,     0,     0,   477,   478,   479,   480,   481,   482,  1327,
    8057             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
    8058             :      494,   495,     0,   496,   497,   498,  1328,   500,   501,   502,
    8059             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
    8060             :      512,   513,   514,   515,  1329,   517,   518,   519,     0,   520,
    8061             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
    8062             :      531,   532,     0,   533,   534,   535,   536,   537,   538,   539,
    8063             :      540,  1330,   542,   543,   544,   545,   546,   547,   548,   549,
    8064             :      550,   551,     0,   552,   553,   554,   555,   556,  1331,   557,
    8065             :      558,   559,   560,   561,   562,   563,   564,  1332,   566,     0,
    8066             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
    8067             :      577,   578,   579,   580,   581,  1333,   583,     0,   584,   585,
    8068             :     1334,     0,   586,   587,   588,   589,   590,   591,   592,   593,
    8069             :        0,   594,  1335,  1336,     0,     0,   597,   598,  1337,   600,
    8070             :     1338,  1339,   602,   603,   604,   605,   606,   607,   608,   609,
    8071             :      610,     0,  1340,   611,   612,   613,   614,   615,  1341,     0,
    8072             :      616,   617,   618,   619,   620,   621,  1342,     0,   623,   624,
    8073             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
    8074             :      631,   632,   633,   634,   635,   636,   637,  1343,  1344,  1345,
    8075             :     1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,   650,
    8076             :        0,  1351,     0,     0,     0,     0,     0,     0,     0,     0,
    8077             :        0,     0,     0,  1352,  1353,     0,     0,     0,   234,     0,
    8078             :     1271,   717,  1355,  1272,  1273,  1274,   778,  1275,     0,     0,
    8079             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
    8080             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
    8081             :        0,     0,  1276,     0,     0,   247,   248,   249,     0,   250,
    8082             :      251,   252,   253,   254,   255,   256,   257,   258,  1277,   260,
    8083             :     1278,  1279,     0,   263,   264,   265,   266,   267,   268,   269,
    8084             :     1280,  1281,   270,   271,  1282,  1283,   274,     0,   275,   276,
    8085             :      277,   278,  1284,     0,  1285,     0,   281,   282,   283,   284,
    8086             :      285,   286,   287,   288,   289,   290,   291,     0,   292,   293,
    8087             :      294,   295,   296,   297,     0,   298,   299,  5605,   301,  1286,
    8088             :     1287,  1288,  1289,  1290,  1291,  1292,   303,   304,   305,   306,
    8089             :      307,   308,  1293,  1294,   311,  1295,   312,     0,   313,   314,
    8090             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
    8091             :        0,     0,   324,   325,   887,   327,   328,     0,   329,   330,
    8092             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
    8093             :      339,   340,   341,  1296,   343,   344,   345,   346,  1297,  1298,
    8094             :      348,     0,   349,   350,   351,  1299,   353,     0,   354,     0,
    8095             :      355,   356,   357,     0,   358,   359,   360,   361,   362,     0,
    8096             :      363,  1300,     0,  5606,   366,   367,     0,   368,   369,   370,
    8097             :      371,   372,   373,   374,   375,   376,   377,     0,   378,   379,
    8098             :      380,   381,   382,   383,   384,   385,     0,   386,   387,   388,
    8099             :      389,   390,   391,   392,  1302,  1303,     0,  1304,     0,   396,
    8100             :      397,   398,   399,   400,  1305,  1306,  1307,  1308,  1309,  1310,
    8101             :     1311,  1312,  1313,   410,  1314,   412,   413,   414,   415,   416,
    8102             :      417,   418,     0,     0,   419,  1315,   421,   422,   423,     0,
    8103             :      424,   425,   426,  1316,  1317,   427,   428,   429,   430,   431,
    8104             :      432,   433,   434,   435,   436,  1318,   438,   439,   440,   441,
    8105             :      442,   443,   444,   445,  1319,   447,  1320,   449,   450,   451,
    8106             :      452,   453,   454,   455,   456,   457,  1321,   459,  1322,   460,
    8107             :      461,   462,   463,  1323,  1324,   465,  1325,   467,   468,   469,
    8108             :      470,     0,   471,   472,   473,     0,     0,  1326,   475,   476,
    8109             :        0,     0,   477,   478,   479,   480,   481,   482,  1327,   484,
    8110             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
    8111             :      495,     0,   496,   497,   498,  1328,   500,   501,   502,   503,
    8112             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
    8113             :      513,   514,   515,  1329,   517,   518,   519,     0,   520,   521,
    8114             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
    8115             :      532,     0,   533,   534,   535,   536,   537,  5607,   539,   540,
    8116             :     1330,   542,   543,   544,   545,   546,   547,   548,   549,   550,
    8117             :      551,     0,   552,   553,   554,   555,   556,  1331,   557,   558,
    8118             :      559,   560,   561,   562,   563,   564,  1332,   566,     0,   567,
    8119             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
    8120             :      578,   579,   580,   581,  1333,   583,     0,   584,   585,  1334,
    8121             :        0,   586,   587,   588,   589,   590,   591,   592,   593,     0,
    8122             :      594,  1335,  1336,     0,     0,   597,   598,  1337,   600,  1338,
    8123             :     1339,   602,   603,   604,   605,   606,   607,   608,   609,   610,
    8124             :        0,  1340,   611,   612,   613,   614,   615,  1341,     0,   616,
    8125             :      617,   618,   619,   620,   621,  1342,     0,   623,   624,   625,
    8126             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
    8127             :      632,   633,   634,   635,   636,   637,  1343,  1344,  1345,  1346,
    8128             :      642,  1347,  1348,  1349,  1350,   647,   648,   649,   650,     0,
    8129             :     1351,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    8130             :        0,     0,  1352,  1353,     0,     0,     0,   234,     0,  1271,
    8131             :      717,  5608,  1272,  1273,  1274,   778,  1275,     0,     0,     0,
    8132             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
    8133             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
    8134             :        0,  1276,     0,     0,   247,   248,   249,     0,   250,   251,
    8135             :      252,   253,   254,   255,   256,   257,  6027,  1277,   260,  1278,
    8136             :     1279,     0,   263,   264,   265,   266,   267,   268,   269,  1280,
    8137             :     1281,   270,   271,  1282,  1283,   274,     0,   275,   276,   277,
    8138             :      278,  1284,     0,  1285,     0,   281,   282,   283,   284,   285,
    8139             :      286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
    8140             :      295,   296,   297,     0,   298,   299,   300,  6028,  1286,  1287,
    8141             :     1288,  1289,  1290,  1291,  1292,   303,   304,   305,   306,   307,
    8142             :      308,  1293,  1294,   311,  1295,   312,     0,   313,   314,   315,
    8143             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
    8144             :        0,   324,   325,   887,   327,   328,     0,   329,   330,   331,
    8145             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
    8146             :      340,   341,  1296,   343,   344,   345,   346,  1297,  1298,   348,
    8147             :        0,   349,   350,   351,  1299,   353,     0,   354,     0,   355,
    8148             :      356,   357,     0,   358,   359,   360,   361,   362,     0,   363,
    8149             :     1300,     0,  1301,   366,   367,     0,   368,   369,   370,   371,
    8150             :      372,   373,   374,   375,   376,   377,     0,   378,   379,   380,
    8151             :      381,   382,   383,   384,   385,     0,   386,   387,   388,   389,
    8152             :      390,   391,   392,  1302,  1303,     0,  1304,     0,   396,   397,
    8153             :      398,   399,   400,  1305,  1306,  1307,  1308,  1309,  1310,  1311,
    8154             :     1312,  1313,   410,  1314,   412,   413,   414,   415,   416,   417,
    8155             :      418,     0,     0,   419,  1315,   421,   422,   423,     0,   424,
    8156             :      425,   426,  1316,  1317,   427,   428,   429,   430,   431,   432,
    8157             :      433,   434,   435,   436,  1318,   438,   439,   440,   441,   442,
    8158             :      443,   444,   445,  1319,   447,  1320,   449,   450,   451,   452,
    8159             :      453,   454,   455,   456,   457,  1321,   459,  1322,   460,   461,
    8160             :      462,   463,  1323,  1324,   465,  1325,   467,   468,   469,   470,
    8161             :        0,   471,   472,   473,     0,     0,  1326,   475,   476,     0,
    8162             :        0,   477,   478,   479,   480,   481,   482,  1327,   484,   485,
    8163             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
    8164             :        0,   496,   497,   498,  1328,   500,   501,   502,   503,   504,
    8165             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
    8166             :      514,   515,  1329,   517,   518,   519,     0,   520,   521,   522,
    8167             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
    8168             :        0,   533,   534,   535,   536,   537,   538,   539,   540,  1330,
    8169             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
    8170             :        0,   552,   553,   554,   555,   556,  1331,   557,   558,   559,
    8171             :      560,   561,   562,   563,   564,  1332,   566,     0,   567,   568,
    8172             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
    8173             :      579,   580,   581,  1333,   583,     0,   584,   585,  1334,     0,
    8174             :      586,   587,   588,   589,   590,   591,   592,   593,     0,   594,
    8175             :     1335,  1336,     0,     0,   597,   598,  1337,   600,  1338,  1339,
    8176             :      602,   603,   604,   605,   606,  6029,   608,   609,   610,     0,
    8177             :     1340,   611,   612,   613,   614,   615,  1341,     0,   616,   617,
    8178             :      618,   619,   620,   621,  1342,     0,   623,   624,   625,   626,
    8179             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
    8180             :      633,   634,   635,   636,   637,  1343,  1344,  1345,  1346,   642,
    8181             :     1347,  1348,  1349,  1350,   647,   648,   649,   650,     0,  1351,
    8182             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    8183             :        0,  1352,  1353,     0,     0,     0,   234,     0,  1271,   717,
    8184             :     1355,  1272,  1273,  1274,   778,  1275,     0,     0,     0,     0,
    8185             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
    8186             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
    8187             :     1276,     0,     0,   247,   248,   249,     0,   250,   251,   252,
    8188             :      253,   254,   255,   256,   257,   258,  1277,   260,  1278,  1279,
    8189             :        0,   263,   264,   265,   266,   267,   268,   269,  1280,  1281,
    8190             :      270,   271,  1282,  1283,   274,     0,   275,   276,   277,   278,
    8191             :     1284,     0,  1285,     0,   281,   282,   283,   284,   285,   286,
    8192             :      287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
    8193             :      296,   297,     0,   298,   299,   300,  6028,  1286,  1287,  1288,
    8194             :     1289,  1290,  1291,  1292,   303,   304,   305,   306,   307,   308,
    8195             :     1293,  1294,   311,  1295,   312,     0,   313,   314,   315,   316,
    8196             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
    8197             :      324,   325,   887,   327,   328,     0,   329,   330,   331,   332,
    8198             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
    8199             :      341,  1296,   343,   344,   345,   346,  1297,  1298,   348,     0,
    8200             :      349,   350,   351,  1299,   353,     0,   354,     0,   355,   356,
    8201             :      357,     0,   358,   359,   360,   361,   362,     0,   363,  1300,
    8202             :        0,  1301,   366,   367,     0,   368,   369,   370,   371,   372,
    8203             :      373,   374,   375,   376,   377,     0,   378,   379,   380,   381,
    8204             :      382,   383,   384,   385,     0,   386,   387,   388,   389,   390,
    8205             :      391,   392,  1302,  1303,     0,  1304,     0,   396,   397,   398,
    8206             :      399,   400,  1305,  1306,  1307,  1308,  1309,  1310,  1311,  1312,
    8207             :     1313,   410,  1314,   412,   413,   414,   415,   416,   417,   418,
    8208             :        0,     0,   419,  1315,   421,   422,   423,     0,   424,   425,
    8209             :      426,  1316,  1317,   427,   428,   429,   430,   431,   432,   433,
    8210             :      434,   435,   436,  1318,   438,   439,   440,   441,   442,   443,
    8211             :      444,   445,  1319,   447,  1320,   449,   450,   451,   452,   453,
    8212             :      454,   455,   456,   457,  1321,   459,  1322,   460,   461,   462,
    8213             :      463,  1323,  1324,   465,  1325,   467,   468,   469,   470,     0,
    8214             :      471,   472,   473,     0,     0,  1326,   475,   476,     0,     0,
    8215             :      477,   478,   479,   480,   481,   482,  1327,   484,   485,   486,
    8216             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
    8217             :      496,   497,   498,  1328,   500,   501,   502,   503,   504,     0,
    8218             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
    8219             :      515,  1329,   517,   518,   519,     0,   520,   521,   522,   523,
    8220             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
    8221             :      533,   534,   535,   536,   537,   538,   539,   540,  1330,   542,
    8222             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
    8223             :      552,   553,   554,   555,   556,  1331,   557,   558,   559,   560,
    8224             :      561,   562,   563,   564,  1332,   566,     0,   567,   568,   569,
    8225             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
    8226             :      580,   581,  1333,   583,     0,   584,   585,  1334,     0,   586,
    8227             :      587,   588,   589,   590,   591,   592,   593,     0,   594,  1335,
    8228             :     1336,     0,     0,   597,   598,  1337,   600,  1338,  1339,   602,
    8229             :      603,   604,   605,   606,  6029,   608,   609,   610,     0,  1340,
    8230             :      611,   612,   613,   614,   615,  1341,     0,   616,   617,   618,
    8231             :      619,   620,   621,  1342,     0,   623,   624,   625,   626,   627,
    8232             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
    8233             :      634,   635,   636,   637,  1343,  1344,  1345,  1346,   642,  1347,
    8234             :     1348,  1349,  1350,   647,   648,   649,   650,     0,  1351,     0,
    8235             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    8236             :     1352,  1353,     0,     0,     0,   234,     0,  1271,   717,  1355,
    8237             :     1272,  1273,  1274,   778,  1275,     0,     0,     0,     0,     0,
    8238             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
    8239             :      243,     0,   244,   245,   246,     0,     0,     0,     0,  1276,
    8240             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
    8241             :      254,   255,   256,   257,   258,  1277,   260,  1278,  1279,     0,
    8242             :      263,   264,   265,   266,   267,   268,   269,  1280,  1281,   270,
    8243             :      271,  1282,  1283,   274,     0,   275,   276,   277,   278,  1284,
    8244             :        0,  1285,     0,   281,   282,   283,   284,   285,   286,   287,
    8245             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
    8246             :      297,     0,   298,   299,   300,   301,  1286,  1287,  1288,  1289,
    8247             :     1290,  1291,  1292,   303,   304,   305,   306,   307,   308,  1293,
    8248             :     1294,   311,  5590,   312,     0,   313,   314,   315,   316,   317,
    8249             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
    8250             :      325,   887,   327,   328,     0,   329,   330,   331,   332,     0,
    8251             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
    8252             :     1296,   343,   344,   345,   346,  1297,  1298,   348,     0,   349,
    8253             :      350,   351,  1299,   353,     0,   354,     0,   355,   356,   357,
    8254             :        0,   358,   359,   360,   361,   362,     0,   363,  1300,     0,
    8255             :     1301,   366,   367,     0,   368,   369,   370,   371,   372,   373,
    8256             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
    8257             :      383,   384,   385,     0,   386,   387,   388,   389,   390,   391,
    8258             :      392,  1302,  1303,     0,  1304,     0,   396,   397,   398,   399,
    8259             :      400,  1305,  1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,
    8260             :      410,  1314,   412,   413,   414,   415,   416,   417,   418,     0,
    8261             :        0,   419,  1315,   421,   422,   423,     0,   424,   425,   426,
    8262             :     1316,  1317,   427,   428,   429,   430,   431,   432,   433,   434,
    8263             :      435,   436,  1318,   438,   439,   440,   441,   442,   443,   444,
    8264             :      445,  1319,   447,  1320,   449,   450,   451,   452,   453,   454,
    8265             :      455,   456,   457,  1321,   459,     0,   460,   461,   462,   463,
    8266             :     1323,  1324,   465,  1325,   467,   468,   469,   470,     0,   471,
    8267             :      472,   473,     0,     0,  1326,   475,   476,     0,     0,   477,
    8268             :      478,   479,   480,   481,   482,  1327,   484,   485,   486,   487,
    8269             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
    8270             :      497,   498,  1328,   500,   501,   502,   503,   504,     0,   505,
    8271             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
    8272             :     1329,   517,   518,   519,     0,   520,   521,   522,   523,   524,
    8273             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
    8274             :      534,   535,   536,   537,   538,   539,   540,  3319,   542,   543,
    8275             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
    8276             :      553,   554,   555,   556,  1331,   557,   558,   559,   560,   561,
    8277             :      562,   563,   564,  1332,   566,     0,   567,   568,   569,   570,
    8278             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
    8279             :      581,  1333,   583,     0,   584,   585,  1334,     0,   586,   587,
    8280             :      588,   589,   590,   591,   592,   593,     0,   594,  1335,  1336,
    8281             :        0,     0,   597,   598,  1337,   600,  1338,  1339,   602,   603,
    8282             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
    8283             :      612,   613,   614,   615,  1341,     0,   616,   617,   618,   619,
    8284             :      620,   621,  1342,     0,   623,   624,   625,   626,   627,   628,
    8285             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
    8286             :      635,   636,   637,  1343,  1344,  1345,  1346,   642,  1347,  1348,
    8287             :     1349,  1350,   647,   648,   649,   650,     0,     0,     0,     0,
    8288             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  3320,
    8289             :     3321,     0,     0,     0,   234,     0,  1271,   717,  3322,  1272,
    8290             :     1273,  1274,   778,  1275,     0,     0,     0,     0,     0,     0,
    8291             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    8292             :        0,   244,   245,   246,     0,     0,     0,     0,  1276,     0,
    8293             :        0,   247,   248,   249,     0,   250,   251,   252,   253,   254,
    8294             :      255,   256,   257, -3012,  1277,   260,  1278,  1279,     0,   263,
    8295             :      264,   265,   266,   267,   268,   269,  1280,  1281,   270,   271,
    8296             :     1282,  1283,   274,     0,   275,   276,   277,   278,  1284,     0,
    8297             :     1285,     0,   281,   282,   283,   284,   285,   286,   287,   288,
    8298             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    8299             :        0,   298,   299,   300,  6028,  1286,  1287,  1288,  1289,  1290,
    8300             :     1291,  1292,   303,   304,   305,   306,   307,   308,  1293,  1294,
    8301             :      311,  1295,   312,     0,   313,   314,   315,   316,   317,   318,
    8302             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    8303             :      887,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    8304             :      334,   335,   336,   337,     0,   338,   339,   340,   341,  1296,
    8305             :      343,   344,   345,   346,  1297,  1298,   348,     0,   349,   350,
    8306             :      351,  1299,   353,     0,   354,     0,   355,   356,   357,     0,
    8307             :      358,   359,   360,   361,   362,     0,   363,  1300,     0,  1301,
    8308             :      366,   367,     0,   368,   369,   370,   371,   372, -3012,   374,
    8309             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
    8310             :      384,   385,     0,   386,   387,   388,   389,   390,   391,   392,
    8311             :     1302,  1303,     0,  1304,     0,   396,     0,     0,   399,   400,
    8312             :     1305,  1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,   410,
    8313             :     1314,   412,   413,   414,   415,   416,   417,   418,     0,     0,
    8314             :      419,  1315,   421,   422, -3012,     0,   424,   425,   426,  1316,
    8315             :     1317,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    8316             :      436,  1318,   438,   439,   440,   441,   442,   443,   444,   445,
    8317             :     1319,   447,  1320,   449,   450,   451,   452,   453,   454,   455,
    8318             :      456,   457,  1321,   459,  1322,   460,   461,     0,   463,  1323,
    8319             :     1324,   465,  1325,   467,   468,   469,   470,     0,   471,   472,
    8320             :      473,     0,     0,  1326,   475,   476,     0,     0,   477,   478,
    8321             :      479,   480,   481,   482,  1327,   484,   485,   486,   487,   488,
    8322             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
    8323             :      498,  1328,   500,   501,   502,   503,   504,     0,   505,   506,
    8324             :      507,   508,   509,   510,   511,   512,   513,   514,   515,  1329,
    8325             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    8326             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    8327             :      535,   536,   537,   538,   539,   540,  1330,   542,   543,   544,
    8328             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
    8329             :      554,   555,   556,  1331,   557,   558,   559,   560,   561, -3012,
    8330             :      563,   564,  1332,   566,     0,   567,   568,   569,   570,   571,
    8331             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    8332             :     1333,   583,     0,   584,   585,  1334,     0,   586,   587,   588,
    8333             :      589,   590,   591,   592,   593,     0,   594,  1335,  1336,     0,
    8334             :        0,   597,   598,  1337,   600,  1338,  1339,   602,   603,   604,
    8335             :      605,   606,  6029,   608,   609,   610,     0,  1340,   611,   612,
    8336             :      613,   614,   615,  1341,     0,   616,   617,   618,   619,   620,
    8337             :      621,  1342,     0,   623,   624,   625,   626,   627,   628,   629,
    8338             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
    8339             :      636,   637,  1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,
    8340             :     1350,   647,   648,   649,   650,     0, -3012,     0,     0,     0,
    8341             :        0,     0,     0,     0,     0,     0,     0,     0,  1352,  1353,
    8342             :        0,     0,     0,   234,     0,  1271,   717,  1355,  1272,  1273,
    8343             :     1274,   778,  1275,     0,     0,     0,     0,     0,     0,     0,
    8344             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
    8345             :      244,   245,   246,     0,     0,     0,     0,  1276,     0,     0,
    8346             :      247,   248,   249,     0,   250,   251,   252,   253,   254,   255,
    8347             :      256,   257,   258,  1277,   260,  1278,  1279,     0,   263,   264,
    8348             :      265,   266,   267,   268,   269,  1280,  1281,   270,   271,  1282,
    8349             :     1283,   274,     0,   275,   276,   277,   278,  1284,     0,  1285,
    8350             :        0,   281,   282,   283,   284,   285,   286,   287,   288,   289,
    8351             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
    8352             :      298,   299,   300,   301,  1286,  1287,  1288,  1289,  1290,  1291,
    8353             :     1292,   303,   304,   305,   306,   307,   308,  1293,  1294,   311,
    8354             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
    8355             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   887,
    8356             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
    8357             :      335,   336,   337,     0,   338,   339,   340,   341,  1296,   343,
    8358             :      344,   345,   346,  1297,  1298,   348,     0,   349,   350,   351,
    8359             :     1299,   353,     0,   354,     0,   355,   356,   357,     0,   358,
    8360             :      359,   360,   361,   362,     0,   363,  1300,     0,  1301,   366,
    8361             :      367,     0,   368,   369,   370,   371,   372,   373,   374,   375,
    8362             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
    8363             :      385,     0,   386,   387,   388,   389,   390,   391,   392,  1302,
    8364             :     1303,     0,  1304,     0,   396,   397,   398,   399,   400,  1305,
    8365             :     1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,   410,  1314,
    8366             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
    8367             :     1315,   421,   422,   423,     0,   424,   425,   426,  1316,  1317,
    8368             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
    8369             :     1318,   438,   439,   440,   441,   442,   443,   444,   445,  1319,
    8370             :      447,  1320,   449,   450,   451,   452,   453,   454,   455,   456,
    8371             :      457,  1321,   459,     0,   460,   461,   462,   463,  1323,  1324,
    8372             :      465,  1325,   467,   468,   469,   470,     0,   471,   472,   473,
    8373             :        0,     0,  1326,   475,   476,     0,     0,   477,   478,   479,
    8374             :      480,   481,   482,  1327,   484,   485,   486,   487,   488,   489,
    8375             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
    8376             :     1328,   500,   501,   502,   503,   504,     0,   505,   506,   507,
    8377             :      508,   509,   510,   511,   512,   513,   514,   515,  1329,   517,
    8378             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
    8379             :      527,   528,   529,   530,   531,   532,     0,   533,   534,   535,
    8380             :      536,   537,   538,   539,   540,  3319,   542,   543,   544,   545,
    8381             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
    8382             :      555,   556,  1331,   557,   558,   559,   560,   561,   562,   563,
    8383             :      564,  1332,   566,     0,   567,   568,   569,   570,   571,   572,
    8384             :      573,   574,   575,   576,   577,   578,   579,   580,   581,  1333,
    8385             :      583,     0,   584,   585,  1334,     0,   586,   587,   588,   589,
    8386             :      590,   591,   592,   593,     0,   594,  1335,  1336,     0,     0,
    8387             :      597,   598,  1337,   600,  1338,  1339,   602,   603,   604,   605,
    8388             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
    8389             :      614,   615,  1341,     0,   616,   617,   618,   619,   620,   621,
    8390             :     1342,     0,   623,   624,   625,   626,   627,   628,   629,     0,
    8391             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
    8392             :      637,  1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,  1350,
    8393             :      647,   648,   649,   650,     0,     0,     0,     0,     0,     0,
    8394             :        0,     0,     0,     0,     0,     0,     0,  3320,  3321,   234,
    8395             :        0,  1271,   717,     0,  1272,  1273,  3322,   778,  1275,     0,
    8396             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
    8397             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
    8398             :        0,     0,     0,  1276,     0,     0,   247,   248,   249,     0,
    8399             :      250,   251,   252,   253,   254,   255,   256,   257,   258,  1277,
    8400             :      260,  1278,  1279,     0,   263,   264,   265,   266,   267,   268,
    8401             :      269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,   275,
    8402             :      276,   277,   278,  1284,     0,  1285,     0,   281,   282,   283,
    8403             :      284,   285,   286,   287,   288,   289,   290,   291,     0,   292,
    8404             :      293,   294,   295,   296,   297,     0,   298,   299,   300,   301,
    8405             :     1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,   305,
    8406             :      306,   307,   308,  1293,  1294,   311,     0,   312,     0,   313,
    8407             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
    8408             :      323,     0,     0,   324,   325,   887,   327,   328,     0,   329,
    8409             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
    8410             :      338,   339,   340,   341,  1296,   343,   344,   345,   346,  1297,
    8411             :     1298,   348,     0,   349,   350,   351,  1299,   353,     0,   354,
    8412             :        0,   355,   356,   357,     0,   358,   359,   360,   361,   362,
    8413             :        0,   363,  1300,     0,  1301,   366,   367,     0,   368,   369,
    8414             :      370,   371,   372,   373,   374,   375,   376,   377,     0,   378,
    8415             :      379,   380,   381,   382,   383,   384,   385,     0,   386,   387,
    8416             :      388,   389,   390,   391,   392,  1302,  1303,     0,  1304,     0,
    8417             :      396,   397,   398,   399,   400,  1305,  1306,  1307,  1308,  1309,
    8418             :     1310,  1311,  1312,  1313,   410,  1314,   412,   413,   414,   415,
    8419             :      416,   417,   418,     0,     0,   419,  1315,   421,   422,   423,
    8420             :        0,   424,   425,   426,  1316,  1317,   427,   428,   429,   430,
    8421             :      431,   432,   433,   434,   435,   436,  1318,   438,   439,   440,
    8422             :      441,   442,   443,   444,   445,  1319,   447,  1320,   449,   450,
    8423             :      451,   452,   453,   454,   455,   456,   457,  1321,   459,     0,
    8424             :      460,   461,   462,   463,  1323,  1324,   465,  1325,   467,   468,
    8425             :      469,   470,     0,   471,   472,   473,     0,     0,   474,   475,
    8426             :      476,     0,     0,   477,   478,   479,   480,   481,   482,  1327,
    8427             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
    8428             :      494,   495,     0,   496,   497,   498,  1328,   500,   501,   502,
    8429             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
    8430             :      512,   513,   514,   515,  1329,   517,   518,   519,     0,   520,
    8431             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
    8432             :      531,   532,     0,   533,   534,   535,   536,   537,   538,   539,
    8433             :      540,  3499,  3500,   543,   544,   545,   546,   547,   548,   549,
    8434             :      550,   551,     0,   552,   553,   554,   555,   556,  1331,   557,
    8435             :      558,   559,   560,   561,   562,   563,   564,  1332,   566,     0,
    8436             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
    8437             :      577,   578,   579,   580,   581,  1333,   583,     0,   584,   585,
    8438             :     1334,     0,   586,   587,   588,   589,   590,   591,   592,   593,
    8439             :        0,   594,  1335,  1336,     0,     0,   597,   598,  1337,   600,
    8440             :     1338,  1339,   602,   603,   604,   605,   606,   607,   608,   609,
    8441             :      610,     0,     0,   611,   612,   613,   614,   615,  1341,     0,
    8442             :      616,   617,   618,   619,   620,   621,  1342,     0,   623,   624,
    8443             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
    8444             :      631,   632,   633,   634,   635,   636,   637,  1343,  1344,  1345,
    8445             :     1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,   650,
    8446             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    8447             :        0,     0,     0,  3501,  3502,   234,     0,  1271,   717,     0,
    8448             :     1272,  1273,  3322,   778,  1275,     0,     0,     0,     0,     0,
    8449             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
    8450             :      243,     0,   244,   245,   246,     0,     0,     0,     0,  1276,
    8451             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
    8452             :      254,   255,   256,   257,   258,  1277,   260,  1278,  1279,     0,
    8453             :      263,   264,   265,   266,   267,   268,   269,  1280,  1281,   270,
    8454             :      271,  1282,  1283,   274,     0,   275,   276,   277,   278,  1284,
    8455             :        0,  1285,     0,   281,   282,   283,   284,   285,   286,   287,
    8456             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
    8457             :      297,     0,   298,   299,   300,   301,  1286,  1287,  1288,  1289,
    8458             :     1290,  1291,  1292,   303,   304,   305,   306,   307,   308,  1293,
    8459             :     1294,   311,     0,   312,     0,   313,   314,   315,   316,   317,
    8460             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
    8461             :      325,   887,   327,   328,     0,   329,   330,   331,   332,     0,
    8462             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
    8463             :     1296,   343,   344,   345,   346,  1297,  1298,   348,     0,   349,
    8464             :      350,   351,  1299,   353,     0,   354,     0,   355,   356,   357,
    8465             :        0,   358,   359,   360,   361,   362,     0,   363,  1300,     0,
    8466             :     1301,   366,   367,     0,   368,   369,   370,   371,   372,   373,
    8467             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
    8468             :      383,   384,   385,     0,   386,   387,   388,   389,   390,   391,
    8469             :      392,  1302,  1303,     0,  1304,     0,   396,   397,   398,   399,
    8470             :      400,  1305,  1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,
    8471             :      410,  1314,   412,   413,   414,   415,   416,   417,   418,     0,
    8472             :        0,   419,  1315,   421,   422,   423,     0,   424,   425,   426,
    8473             :     1316,  1317,   427,   428,   429,   430,   431,   432,   433,   434,
    8474             :      435,   436,  1318,   438,   439,   440,   441,   442,   443,   444,
    8475             :      445,  1319,   447,  1320,   449,   450,   451,   452,   453,   454,
    8476             :      455,   456,   457,  1321,   459,     0,   460,   461,   462,   463,
    8477             :     1323,  1324,   465,  1325,   467,   468,   469,   470,     0,   471,
    8478             :      472,   473,     0,     0,   474,   475,   476,     0,     0,   477,
    8479             :      478,   479,   480,   481,   482,  1327,   484,   485,   486,   487,
    8480             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
    8481             :      497,   498,  1328,   500,   501,   502,   503,   504,     0,   505,
    8482             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
    8483             :     1329,   517,   518,   519,     0,   520,   521,   522,   523,   524,
    8484             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
    8485             :      534,   535,   536,   537,   538,   539,   540,  3319,   542,   543,
    8486             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
    8487             :      553,   554,   555,   556,  1331,   557,   558,   559,   560,   561,
    8488             :      562,   563,   564,  1332,   566,     0,   567,   568,   569,   570,
    8489             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
    8490             :      581,  1333,   583,     0,   584,   585,  1334,     0,   586,   587,
    8491             :      588,   589,   590,   591,   592,   593,     0,   594,  1335,  1336,
    8492             :        0,     0,   597,   598,  1337,   600,  1338,  1339,   602,   603,
    8493             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
    8494             :      612,   613,   614,   615,  1341,     0,   616,   617,   618,   619,
    8495             :      620,   621,  1342,     0,   623,   624,   625,   626,   627,   628,
    8496             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
    8497             :      635,   636,   637,  1343,  1344,  1345,  1346,   642,  1347,  1348,
    8498             :     1349,  1350,   647,   648,   649,   650,     0,     0,     0,     0,
    8499             :        0,     0,   234,     0,  1271,   717,     0,  1272,  1273,     0,
    8500             :      778,  1275,     0,     0,     0,     0,     0,     0,  3322,   235,
    8501             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
    8502             :      245,   246,     0,     0,     0,     0,  1276,     0,     0,   247,
    8503             :      248,   249,     0,   250,   251,   252,   253,   254,   255,   256,
    8504             :      257,   258,  1277,   260,  1278,  1279,     0,   263,  4774,   265,
    8505             :      266,   267,   268,   269,  1280,  1281,   270,   271,  1282,  1283,
    8506             :      274,     0,   275,   276,   277,   278,  1284,     0,  1285,     0,
    8507             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
    8508             :      291,     0,   292,   293,   294,   295,   296,   297,     0,   298,
    8509             :      299,   300,   301,  1286,  1287,  1288,  1289,  1290,  1291,  1292,
    8510             :      303,   304,   305,   306,   307,   308,  1293,  1294,   311,     0,
    8511             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
    8512             :      320,   321,   322,   323,     0,     0,   324,   325,   887,   327,
    8513             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
    8514             :      336,   337,     0,   338,   339,   340,   341,  1296,   343,   344,
    8515             :      345,   346,  1297,  1298,   348,     0,   349,   350,   351,  1299,
    8516             :      353,     0,   354,     0,   355,   356,   357,     0,   358,   359,
    8517             :      360,   361,   362,     0,   363,  1300,     0,  1301,   366,   367,
    8518             :        0,   368,   369,   370,   371,   372,   373,   374,   375,   376,
    8519             :      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
    8520             :        0,   386,   387,   388,   389,   390,   391,   392,  1302,  1303,
    8521             :        0,  1304,     0,   396,   397,   398,   399,   400,  1305,  1306,
    8522             :     1307,  1308,  1309,  1310,  1311,  1312,  1313,   410,  1314,   412,
    8523             :      413,   414,   415,   416,   417,   418,     0,     0,   419,  1315,
    8524             :      421,   422,   423,     0,   424,   425,   426,  1316,  1317,   427,
    8525             :      428,   429,   430,   431,   432,   433,   434,   435,   436,  1318,
    8526             :      438,   439,   440,   441,   442,   443,   444,   445,  1319,   447,
    8527             :     1320,   449,   450,   451,   452,   453,   454,   455,   456,   457,
    8528             :     1321,   459,     0,   460,   461,   462,   463,  1323,  1324,   465,
    8529             :     1325,   467,   468,   469,   470,     0,   471,   472,   473,     0,
    8530             :        0,   474,   475,   476,     0,     0,   477,   478,   479,   480,
    8531             :      481,   482,  1327,   484,   485,   486,   487,   488,   489,   490,
    8532             :      491,   492,   493,   494,   495,     0,   496,   497,   498,  1328,
    8533             :      500,   501,   502,   503,   504,     0,   505,   506,   507,   508,
    8534             :      509,   510,   511,   512,   513,   514,   515,  1329,   517,   518,
    8535             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
    8536             :      528,   529,   530,   531,   532,     0,   533,   534,   535,   536,
    8537             :      537,   538,   539,   540,  3319,   542,   543,   544,   545,   546,
    8538             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
    8539             :      556,  1331,   557,   558,   559,   560,   561,   562,   563,   564,
    8540             :     1332,   566,     0,   567,   568,   569,   570,   571,   572,   573,
    8541             :      574,   575,   576,   577,   578,   579,   580,   581,  1333,   583,
    8542             :        0,   584,   585,  1334,     0,   586,   587,   588,   589,   590,
    8543             :      591,   592,   593,     0,   594,  1335,  1336,     0,     0,   597,
    8544             :      598,  1337,   600,  1338,  1339,   602,   603,   604,   605,   606,
    8545             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
    8546             :      615,  1341,     0,   616,   617,   618,   619,   620,   621,  1342,
    8547             :        0,   623,   624,   625,   626,   627,   628,   629,     0,     0,
    8548             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
    8549             :     1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,  1350,   647,
    8550             :      648,   649,   650,     0,     0,     0,     0,     0,     0,   234,
    8551             :        0,  1271,   717,     0,  1272,  1273,     0,   778,  1275,     0,
    8552             :        0,     0,     0,     0,     0,  3322,   235,   236,   237,   238,
    8553             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
    8554             :        0,     0,     0,  1276,     0,     0,   247,   248,   249,     0,
    8555             :      250,   251,   252,   253,   254,   255,   256,   257,   258,  1277,
    8556             :      260,  1278,  1279,     0,   263,   264,   265,   266,   267,   268,
    8557             :      269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,   275,
    8558             :      276,   277,   278,  1284,     0,  1285,     0,   281,   282,   283,
    8559             :      284,   285,   286,   287,   288,   289,   290,   291,     0,   292,
    8560             :      293,   294,   295,   296,   297,     0,   298,   299,   300,   301,
    8561             :     1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,   305,
    8562             :      306,   307,   308,  1293,  1294,   311,     0,   312,     0,   313,
    8563             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
    8564             :      323,     0,     0,   324,   325,   887,   327,   328,     0,   329,
    8565             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
    8566             :      338,   339,   340,   341,  1296,   343,   344,   345,   346,  1297,
    8567             :     1298,   348,     0,   349,   350,   351,  1299,   353,     0,   354,
    8568             :        0,   355,   356,   357,     0,   358,   359,   360,   361,   362,
    8569             :        0,   363,  1300,     0,  1301,   366,   367,     0,   368,   369,
    8570             :      370,   371,   372,   373,   374,   375,   376,   377,     0,   378,
    8571             :      379,   380,   381,   382,   383,   384,   385,     0,   386,   387,
    8572             :      388,   389,   390,   391,   392,  1302,  1303,     0,  1304,     0,
    8573             :      396,   397,   398,   399,   400,  1305,  1306,  1307,  1308,  1309,
    8574             :     1310,  1311,  1312,  1313,   410,  1314,   412,   413,   414,   415,
    8575             :      416,   417,   418,     0,     0,   419,  1315,   421,   422,   423,
    8576             :        0,   424,   425,   426,  1316,  1317,   427,   428,   429,   430,
    8577             :      431,   432,   433,   434,   435,   436,  1318,   438,   439,   440,
    8578             :      441,   442,   443,   444,   445,  1319,   447,  1320,   449,   450,
    8579             :      451,   452,   453,   454,   455,   456,   457,  1321,   459,     0,
    8580             :      460,   461,   462,   463,  1323,  1324,   465,  1325,   467,   468,
    8581             :      469,   470,     0,   471,   472,   473,     0,     0,   474,   475,
    8582             :      476,     0,     0,   477,   478,   479,   480,   481,   482,  1327,
    8583             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
    8584             :      494,   495,     0,   496,   497,   498,  1328,   500,   501,   502,
    8585             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
    8586             :      512,   513,   514,   515,  1329,   517,   518,   519,     0,   520,
    8587             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
    8588             :      531,   532,     0,   533,   534,   535,   536,   537,   538,   539,
    8589             :      540,  3319,   542,   543,   544,   545,   546,   547,   548,   549,
    8590             :      550,   551,     0,   552,   553,   554,   555,   556,  1331,   557,
    8591             :      558,   559,   560,   561,   562,   563,   564,  1332,   566,     0,
    8592             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
    8593             :      577,   578,   579,   580,   581,  1333,   583,     0,   584,   585,
    8594             :     1334,     0,   586,   587,   588,   589,   590,   591,   592,   593,
    8595             :        0,   594,  1335,  1336,     0,     0,   597,   598,  1337,   600,
    8596             :     1338,  1339,   602,   603,   604,   605,   606,   607,   608,   609,
    8597             :      610,     0,     0,   611,   612,   613,   614,   615,  1341,     0,
    8598             :      616,   617,   618,   619,   620,   621,  1342,     0,   623,   624,
    8599             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
    8600             :      631,   632,   633,   634,   635,   636,   637,  1343,  1344,  1345,
    8601             :     1346,  4834,  1347,  1348,  1349,  1350,   647,   648,   649,   650,
    8602             :        0,     0,     0,     0,     0,     0,   234,     0,     0,     0,
    8603             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    8604             :        0,     0,  3322,   235,   236,   237,   238,   239,   240,   241,
    8605             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
    8606             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
    8607             :      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
    8608             :        0,   263,   264,   265,   266,   267,   268,   269,     0,  1281,
    8609             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
    8610             :     1284,     0,  1285,     0,   281,   282,   283,   284,   285,   286,
    8611             :      287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
    8612             :      296,   297,     0,   298,   299,   300,   301,  1286,  1287,  1288,
    8613             :     1289,  1290,  1291,  1292,   303,   304,   305,   306,   307,   308,
    8614             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
    8615             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
    8616             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
    8617             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
    8618             :      341,   342,   343,   344,   345,   346,  1297,     0,   348,     0,
    8619             :      349,   350,   351,   352,   353,     0,   354,     0,   355,   356,
    8620             :      357,     0,   358,   359,   360,   361,   362,     0,   363,  1300,
    8621             :        0,   365,   366,   367,     0,   368,   369,   370,   371,   372,
    8622             :      373,   374,   375,   376,   377,     0,   378,   379,   380,   381,
    8623             :      382,   383,   384,   385,     0,   386,   387,   388,   389,   390,
    8624             :      391,   392,   393,   394,     0,   395,     0,   396,   397,   398,
    8625             :      399,   400,  3470,  1306,  1307,  1308,  1309,  1310,  1311,  1312,
    8626             :     1313,  3471,  1314,   412,   413,   414,   415,   416,   417,   418,
    8627             :     3472,     0,   419,  1315,   421,   422,   423,     0,   424,   425,
    8628             :      426,  1316,  1317,   427,   428,   429,   430,   431,   432,   433,
    8629             :      434,   435,   436,  1318,   438,   439,   440,   441,   442,   443,
    8630             :      444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
    8631             :      454,   455,   456,   457,  1321,   459,     0,   460,   461,   462,
    8632             :      463,     0,  1324,   465,   466,   467,   468,   469,   470,     0,
    8633             :      471,   472,   473,     0,   862,   474,   475,   476,     0,     0,
    8634             :      477,   478,   479,   480,   481,   482,  1327,   484,   485,   486,
    8635             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
    8636             :      496,   497,   498,  1328,   500,   501,   502,   503,   504,     0,
    8637             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
    8638             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
    8639             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
    8640             :      533,   534,   535,   536,   537,   538,   539,   540,   541,  3473,
    8641             :      543,   544,   545,   546,   547,   548,   549,   550,   551,    40,
    8642             :      552,   553,   554,   555,   556,  1331,   557,   558,   559,   560,
    8643             :      561,   562,   563,   564,   565,   566,     0,   567,   568,   569,
    8644             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
    8645             :      580,   581,  1333,   583,     0,   584,   585,  1334,    44,   586,
    8646             :      587,   588,   589,   590,   591,   592,   593,     0,   594,   595,
    8647             :      596,     0,     0,   597,   598,  1337,   600,  1338,     0,   602,
    8648             :      603,   604,   605,   606,   607,   608,   609,   610,     0,     0,
    8649             :      611,   612,   613,   614,   615,  1341,     0,   616,   617,   618,
    8650             :      619,   620,  1206,   622,     0,   623,   624,   625,   626,   627,
    8651             :      628,   629,     0,     0,   630,     0,    49,   631,   632,   633,
    8652             :      634,   635,   636,   637,  1343,  1344,  1345,  1346,   642,  1347,
    8653             :     1348,  1349,  1350,  3474,   648,   649,   650,     0,     0,     0,
    8654             :       50,     0,     0,   234,     0,     0,     0,     0,     0,     0,
    8655             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  3475,
    8656             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
    8657             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
    8658             :      247,   248,   249,     0,   250,   251,   252,   253,   254,   255,
    8659             :      256,   257,   258,   259,   260,   261,   262,     0,   263,   264,
    8660             :      265,   266,   267,   268,   269,     0,  1281,   270,   271,   272,
    8661             :      273,   274,     0,   275,   276,   277,   278,  1284,     0,  1285,
    8662             :        0,   281,   282,   283,   284,   285,   286,   287,   288,   289,
    8663             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
    8664             :      298,   299,   300,   301,  1286,  1287,  1288,  1289,  1290,  1291,
    8665             :     1292,   303,   304,   305,   306,   307,   308,   309,   310,   311,
    8666             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
    8667             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
    8668             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
    8669             :      335,   336,   337,     0,   338,   339,   340,   341,   342,   343,
    8670             :      344,   345,   346,  1297,     0,   348,     0,   349,   350,   351,
    8671             :      352,   353,     0,   354,     0,   355,   356,   357,     0,   358,
    8672             :      359,   360,   361,   362,     0,   363,  1300,     0,   365,   366,
    8673             :      367,     0,   368,   369,   370,   371,   372,   373,   374,   375,
    8674             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
    8675             :      385,     0,   386,   387,   388,   389,   390,   391,   392,   393,
    8676             :      394,     0,   395,     0,   396,   397,   398,   399,   400,  3470,
    8677             :     1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,  3471,  1314,
    8678             :      412,   413,   414,   415,   416,   417,   418,  3472,     0,   419,
    8679             :     1315,   421,   422,   423,     0,   424,   425,   426,  1316,  1317,
    8680             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
    8681             :     1318,   438,   439,   440,   441,   442,   443,   444,   445,   446,
    8682             :      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
    8683             :      457,  1321,   459,     0,   460,   461,   462,   463,     0,  1324,
    8684             :      465,   466,   467,   468,   469,   470,     0,   471,   472,   473,
    8685             :        0,   862,   474,   475,   476,     0,     0,   477,   478,   479,
    8686             :      480,   481,   482,  1327,   484,   485,   486,   487,   488,   489,
    8687             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
    8688             :     1328,   500,   501,   502,   503,   504,     0,   505,   506,   507,
    8689             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
    8690             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
    8691             :      527,   528,   529,   530,   531,   532,     0,   533,   534,   535,
    8692             :      536,   537,   538,   539,   540,   541,  3473,   543,   544,   545,
    8693             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
    8694             :      555,   556,  1331,   557,   558,   559,   560,   561,   562,   563,
    8695             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
    8696             :      573,   574,   575,   576,   577,   578,   579,   580,   581,  1333,
    8697             :      583,     0,   584,   585,  1334,     0,   586,   587,   588,   589,
    8698             :      590,   591,   592,   593,     0,   594,   595,   596,     0,     0,
    8699             :      597,   598,  1337,   600,  1338,     0,   602,   603,   604,   605,
    8700             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
    8701             :      614,   615,  1341,     0,   616,   617,   618,   619,   620,   621,
    8702             :      622,     0,   623,   624,   625,   626,   627,   628,   629,     0,
    8703             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
    8704             :      637,  1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,  1350,
    8705             :     3474,   648,   649,   650,     0,     0,     0,     0,     0,     0,
    8706             :      234,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    8707             :        0,     0,     0,     0,     0,     0,  3475,   235,   236,   237,
    8708             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
    8709             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
    8710             :        0,   250,   251,   252,   253,   254,   255,   256,   257,   258,
    8711             :      259,   260,   261,   262,     0,   263,   264,   265,   266,   267,
    8712             :      268,   269,     0,  1281,   270,   271,   272,   273,   274,     0,
    8713             :      275,   276,   277,   278,  1284,     0,  1285,     0,   281,   282,
    8714             :      283,   284,   285,   286,   287,   288,   289,   290,   291,     0,
    8715             :      292,   293,   294,   295,   296,   297,     0,   298,   299,   300,
    8716             :      301,  1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,
    8717             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
    8718             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
    8719             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
    8720             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
    8721             :        0,   338,   339,   340,   341,   342,   343,   344,   345,   346,
    8722             :     1297,     0,   348,     0,   349,   350,   351,   352,   353,     0,
    8723             :      354,     0,   355,   356,   357,     0,   358,   359,   360,   361,
    8724             :      362,     0,   363,  1300,     0,   365,   366,   367,     0,   368,
    8725             :      369,   370,   371,   372,   373,   374,   375,   376,   377,     0,
    8726             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
    8727             :      387,   388,   389,   390,   391,   392,   393,   394,     0,   395,
    8728             :        0,   396,   397,   398,   399,   400,  3470,  1306,  1307,  1308,
    8729             :     1309,  1310,  1311,  1312,  1313,   410,  1314,   412,   413,   414,
    8730             :      415,   416,   417,   418,     0,     0,   419,  1315,   421,   422,
    8731             :      423,     0,   424,   425,   426,  1316,  1317,   427,   428,   429,
    8732             :      430,   431,   432,   433,   434,   435,   436,  1318,   438,   439,
    8733             :      440,   441,   442,   443,   444,   445,   446,   447,   448,   449,
    8734             :      450,   451,   452,   453,   454,   455,   456,   457,  1321,   459,
    8735             :        0,   460,   461,   462,   463,     0,  1324,   465,   466,   467,
    8736             :      468,   469,   470,     0,   471,   472,   473,     0,     0,   474,
    8737             :      475,   476,     0,     0,   477,   478,   479,   480,   481,   482,
    8738             :     1327,   484,   485,   486,   487,   488,   489,   490,   491,   492,
    8739             :      493,   494,   495,     0,   496,   497,   498,  1328,   500,   501,
    8740             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
    8741             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
    8742             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
    8743             :      530,   531,   532,     0,   533,   534,   535,   536,   537,   538,
    8744             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
    8745             :      549,   550,   551,     0,   552,   553,   554,   555,   556,  1331,
    8746             :      557,   558,   559,   560,   561,   562,   563,   564,   565,   566,
    8747             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
    8748             :      576,   577,   578,   579,   580,   581,  1333,   583,     0,   584,
    8749             :      585,  1334,     0,   586,   587,   588,   589,   590,   591,   592,
    8750             :      593,     0,   594,   595,   596,     0,     0,   597,   598,  1337,
    8751             :      600,  1338,     0,   602,   603,   604,   605,   606,   607,   608,
    8752             :      609,   610,     0,     0,   611,   612,   613,   614,   615,  1341,
    8753             :        0,   616,   617,   618,   619,   620,   621,   622,     0,   623,
    8754             :      624,   625,   626,   627,   628,   629,     0,     0,   630,     0,
    8755             :        0,   631,   632,   633,   634,   635,   636,   637,  1343,  1344,
    8756             :     1345,  1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,
    8757             :      650,     0,     0,     0,     0,     0,     0,   234,     0,     0,
    8758             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    8759             :        0,     0,     0,  3920,   235,   236,   237,   238,   239,   240,
    8760             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
    8761             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
    8762             :      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
    8763             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
    8764             :     1281,   270,   271,   272,   273,   274,     0,   275,   276,   277,
    8765             :      278,  1284,     0,  1285,     0,   281,   282,   283,   284,   285,
    8766             :      286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
    8767             :      295,   296,   297,     0,   298,   299,   300,   301,  1286,  1287,
    8768             :     1288,  1289,  1290,  1291,  1292,   303,   304,   305,   306,   307,
    8769             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
    8770             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
    8771             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
    8772             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
    8773             :      340,   341,   342,   343,   344,   345,   346,  1297,     0,   348,
    8774             :        0,   349,   350,   351,   352,   353,     0,   354,     0,   355,
    8775             :      356,   357,     0,   358,   359,   360,   361,   362,     0,   363,
    8776             :     1300,     0,   365,   366,   367,     0,   368,   369,   370,   371,
    8777             :      372,   373,   374,   375,   376,   377,     0,   378,   379,   380,
    8778             :      381,   382,   383,   384,   385,     0,   386,   387,   388,   389,
    8779             :      390,   391,   392,   393,   394,     0,   395,     0,   396,   397,
    8780             :      398,   399,   400,  3470,  1306,  1307,  1308,  1309,  1310,  1311,
    8781             :     1312,  1313,  3471,  1314,   412,   413,   414,   415,   416,   417,
    8782             :      418,     0,     0,   419,  1315,   421,   422,   423,     0,   424,
    8783             :      425,   426,  1316,  1317,   427,   428,   429,   430,   431,   432,
    8784             :      433,   434,   435,   436,  1318,   438,   439,   440,   441,   442,
    8785             :      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
    8786             :      453,   454,   455,   456,   457,  1321,   459,     0,   460,   461,
    8787             :      462,   463,     0,  1324,   465,   466,   467,   468,   469,   470,
    8788             :        0,   471,   472,   473,     0,     0,   474,   475,   476,     0,
    8789             :        0,   477,   478,   479,   480,   481,   482,  1327,   484,   485,
    8790             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
    8791             :        0,   496,   497,   498,  1328,   500,   501,   502,   503,   504,
    8792             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
    8793             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
    8794             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
    8795             :        0,   533,   534,   535,   536,   537,   538,   539,   540,   541,
    8796             :     3473,   543,   544,   545,   546,   547,   548,   549,   550,   551,
    8797             :        0,   552,   553,   554,   555,   556,  1331,   557,   558,   559,
    8798             :      560,   561,   562,   563,   564,   565,   566,     0,   567,   568,
    8799             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
    8800             :      579,   580,   581,  1333,   583,     0,   584,   585,  1334,     0,
    8801             :      586,   587,   588,   589,   590,   591,   592,   593,     0,   594,
    8802             :      595,   596,     0,     0,   597,   598,  1337,   600,  1338,     0,
    8803             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
    8804             :        0,   611,   612,   613,   614,   615,  1341,     0,   616,   617,
    8805             :      618,   619,   620,   621,   622,     0,   623,   624,   625,   626,
    8806             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
    8807             :      633,   634,   635,   636,   637,  1343,  1344,  1345,  1346,   642,
    8808             :     1347,  1348,  1349,  1350,  3474,   648,   649,   650,     0,     0,
    8809             :        0,     0,     0,     0,   234,     0,     0,     0,     0,     0,
    8810             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    8811             :       56,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    8812             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
    8813             :        0,   247,   248,   249,     0,   250,   251,   252,   253,   254,
    8814             :      255,   256,   257,   258,   259,   260,   261,   262,     0,   263,
    8815             :      264,   265,   266,   267,   268,   269,     0,  1281,   270,   271,
    8816             :      272,   273,   274,     0,   275,   276,   277,   278,  1284,     0,
    8817             :     1285,     0,   281,   282,   283,   284,   285,   286,   287,   288,
    8818             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    8819             :        0,   298,   299,   300,   301,  1286,  1287,  1288,  1289,  1290,
    8820             :     1291,  1292,   303,   304,   305,   306,   307,   308,   309,   310,
    8821             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
    8822             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    8823             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    8824             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
    8825             :      343,   344,   345,   346,  1297,     0,   348,     0,   349,   350,
    8826             :      351,   352,   353,     0,   354,     0,   355,   356,   357,     0,
    8827             :      358,   359,   360,   361,   362,     0,   363,  1300,     0,   365,
    8828             :      366,   367,     0,   368,   369,   370,   371,   372,   373,   374,
    8829             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
    8830             :      384,   385,     0,   386,   387,   388,   389,   390,   391,   392,
    8831             :      393,   394,     0,   395,     0,   396,   397,   398,   399,   400,
    8832             :     3470,  1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,   410,
    8833             :     1314,   412,   413,   414,   415,   416,   417,   418,     0,     0,
    8834             :      419,  1315,   421,   422,   423,     0,   424,   425,   426,  1316,
    8835             :     1317,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    8836             :      436,  1318,   438,   439,   440,   441,   442,   443,   444,   445,
    8837             :      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
    8838             :      456,   457,  1321,   459,     0,   460,   461,   462,   463,     0,
    8839             :     1324,   465,   466,   467,   468,   469,   470,     0,   471,   472,
    8840             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
    8841             :      479,   480,   481,   482,  1327,   484,   485,   486,   487,   488,
    8842             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
    8843             :      498,  1328,   500,   501,   502,   503,   504,     0,   505,   506,
    8844             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
    8845             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    8846             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    8847             :      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
    8848             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
    8849             :      554,   555,   556,  1331,   557,   558,   559,   560,   561,   562,
    8850             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
    8851             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    8852             :     1333,   583,     0,   584,   585,  1334,     0,   586,   587,   588,
    8853             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
    8854             :        0,   597,   598,  1337,   600,  1338,     0,   602,   603,   604,
    8855             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
    8856             :      613,   614,   615,  1341,     0,   616,   617,   618,   619,   620,
    8857             :      621,   622,     0,   623,   624,   625,   626,   627,   628,   629,
    8858             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
    8859             :      636,   637,  1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,
    8860             :     1350,   647,   648,   649,   650,     0,     0,     0,     0,     0,
    8861             :        0,   234,     0,     0,     0,     0,     0,     0,     0,     0,
    8862             :        0,     0,     0,     0,     0,     0,     0,  4922,   235,   236,
    8863             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
    8864             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
    8865             :      249,     0,   250,   251,   252,   253,   254,   255,   256,   257,
    8866             :      258,   259,   260,   261,   262,     0,   263,   264,   265,   266,
    8867             :      267,   268,   269,     0,  1281,   270,   271,   272,   273,   274,
    8868             :        0,   275,   276,   277,   278,  1284,     0,  1285,     0,   281,
    8869             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
    8870             :        0,   292,   293,   294,   295,   296,   297,     0,   298,   299,
    8871             :      300,   301,  1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,
    8872             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
    8873             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
    8874             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
    8875             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
    8876             :      337,     0,   338,   339,   340,   341,   342,   343,   344,   345,
    8877             :      346,  1297,     0,   348,     0,   349,   350,   351,   352,   353,
    8878             :        0,   354,     0,   355,   356,   357,     0,   358,   359,   360,
    8879             :      361,   362,     0,   363,  1300,     0,   365,   366,   367,     0,
    8880             :      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
    8881             :        0,   378,   379,   380,   381,   382,   383,   384,   385,     0,
    8882             :      386,   387,   388,   389,   390,   391,   392,   393,   394,     0,
    8883             :      395,     0,   396,   397,   398,   399,   400,  3470,  1306,  1307,
    8884             :     1308,  1309,  1310,  1311,  1312,  1313,   410,  1314,   412,   413,
    8885             :      414,   415,   416,   417,   418,     0,     0,   419,  1315,   421,
    8886             :      422,   423,     0,   424,   425,   426,  1316,  1317,   427,   428,
    8887             :      429,   430,   431,   432,   433,   434,   435,   436,  1318,   438,
    8888             :      439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
    8889             :      449,   450,   451,   452,   453,   454,   455,   456,   457,  1321,
    8890             :      459,     0,   460,   461,   462,   463,     0,  1324,   465,   466,
    8891             :      467,   468,   469,   470,     0,   471,   472,   473,     0,     0,
    8892             :      474,   475,   476,     0,     0,   477,   478,   479,   480,   481,
    8893             :      482,  1327,   484,   485,   486,   487,   488,   489,   490,   491,
    8894             :      492,   493,   494,   495,     0,   496,   497,   498,  1328,   500,
    8895             :      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
    8896             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
    8897             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
    8898             :      529,   530,   531,   532,     0,   533,   534,   535,   536,   537,
    8899             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
    8900             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
    8901             :     1331,   557,   558,   559,   560,   561,   562,   563,   564,   565,
    8902             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
    8903             :      575,   576,   577,   578,   579,   580,   581,  1333,   583,     0,
    8904             :      584,   585,  1334,     0,   586,   587,   588,   589,   590,   591,
    8905             :      592,   593,     0,   594,   595,   596,     0,     0,   597,   598,
    8906             :     1337,   600,  1338,     0,   602,   603,   604,   605,   606,   607,
    8907             :      608,   609,   610,     0,     0,   611,   612,   613,   614,   615,
    8908             :     1341,     0,   616,   617,   618,   619,   620,   621,   622,     0,
    8909             :      623,   624,   625,   626,   627,   628,   629,     0,     0,   630,
    8910             :        0,     0,   631,   632,   633,   634,   635,   636,   637,  1343,
    8911             :     1344,  1345,  1346,   642,  1347,  1348,  1349,  1350,   647,   648,
    8912             :      649,   650,     0,     0,     0,     0,     0,     0,   967,     0,
    8913             :     1603,   717,     0,     0,     0,     0,   778,     0,     0,     0,
    8914             :        0,     0,     0,     0,  6134,   235,   236,   237,   238,   239,
    8915             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
    8916             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
    8917             :      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
    8918             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
    8919             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
    8920             :      277,   278,   279,     0,   280,     0,   281,   282,   283,   284,
    8921             :      285,   286,   287,   288,   289,   290,   291,     0,   292,   293,
    8922             :      294,   295,   296,   297,     0,   298,   299,   300,   301,     0,
    8923             :        0,     0,   302,     0,     0,     0,   303,   304,   305,   306,
    8924             :      307,   308,   309,   310,   311,  5922,   312,     0,   313,   314,
    8925             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
    8926             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
    8927             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
    8928             :      339,   340,   341,   342,   343,   344,   345,   346,   347,  1829,
    8929             :      348,     0,   349,   350,   351,   352,   353,     0,   354,     0,
    8930             :      355,   356,   357,     0,   358,   359,   360,   361,   362,     0,
    8931             :      363,   364,     0,   365,   366,   367,     0,   368,   369,   370,
    8932             :      371,   372,   373,   374,   375,   376,   377,     0,   378,   379,
    8933             :      380,   381,   382,   383,   384,   385,     0,   386,   387,   388,
    8934             :      389,   390,   391,   392,   393,   394,     0,   395,     0,   396,
    8935             :      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
    8936             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
    8937             :      417,   418,     0,     0,   419,   420,   421,   422,   423,     0,
    8938             :      424,   425,   426,     0,     0,   427,   428,   429,   430,   431,
    8939             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
    8940             :      442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
    8941             :      452,   453,   454,   455,   456,   457,   458,   459,     0,   460,
    8942             :      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
    8943             :      470,     0,   471,   472,   473,  1830,     0,   474,   475,   476,
    8944             :        0,     0,   477,   478,   479,   480,   481,   482,   483,   484,
    8945             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
    8946             :      495,     0,   496,   497,   498,   499,   500,   501,   502,   503,
    8947             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
    8948             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
    8949             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
    8950             :      532,     0,   533,   534,   535,   536,   537,   538,   539,   540,
    8951             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
    8952             :      551,     0,   552,   553,   554,   555,   556,     0,   557,   558,
    8953             :      559,   560,   561,   562,   563,   564,   565,   566,     0,   567,
    8954             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
    8955             :      578,   579,   580,   581,   582,   583,     0,   584,   585,     0,
    8956             :        0,   586,   587,   588,   589,   590,   591,   592,   593,     0,
    8957             :      594,   595,   596,     0,     0,   597,   598,   599,   600,   601,
    8958             :     1831,   602,   603,   604,   605,   606,   607,   608,   609,   610,
    8959             :        0,     0,   611,   612,   613,   614,   615,     0,     0,   616,
    8960             :      617,   618,   619,   620,   621,   622,     0,   623,   624,   625,
    8961             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
    8962             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
    8963             :      642,   643,   644,   645,   646,   647,   648,   649,   650,     0,
    8964             :        0,     0,     0,     0,     0,   967,     0,     0,     0,     0,
    8965             :        0,     0,  1604,  1605,  5923,     0,     0,     0,     0,     0,
    8966             :        0,  5924,   235,   236,   237,   238,   239,   240,   241,   242,
    8967             :      243,     0,   244,   245,   246,     3,     4,     0,     0,     0,
    8968             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
    8969             :      254,   255,   256,   257,   258,   259,   260,   261,   262,     0,
    8970             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
    8971             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
    8972             :        0,   280,     0,   281,   282,   283,   284,   285,   286,   287,
    8973             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
    8974             :      297,     0,   298,   299,   300,   301,     0,     0,     0,   302,
    8975             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
    8976             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
    8977             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
    8978             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
    8979             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
    8980             :      342,   343,   344,   345,   346,   347,     0,   348,     0,   349,
    8981             :      350,   351,   352,   353,     0,   354,     0,   355,   356,   357,
    8982             :        0,   358,   359,   360,   361,   362,     0,   363,   364,     0,
    8983             :      365,   366,   367,     0,   368,   369,   370,   371,   372,   373,
    8984             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
    8985             :      383,   384,   385,     0,   386,   387,   388,   389,   390,   391,
    8986             :      392,   393,   394,     0,   395,     0,   396,   397,   398,   399,
    8987             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
    8988             :      410,   411,   412,   413,   414,   415,   416,   417,   418,     0,
    8989             :        0,   419,   420,   421,   422,   423,     0,   424,   425,   426,
    8990             :        0,     0,   427,   428,   429,   430,   431,   432,   433,   434,
    8991             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
    8992             :      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
    8993             :      455,   456,   457,   458,   459,     0,   460,   461,   462,   463,
    8994             :        0,   464,   465,   466,   467,   468,   469,   470,     0,   471,
    8995             :      472,   473,     0,     0,   474,   475,   476,     0,     0,   477,
    8996             :      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
    8997             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
    8998             :      497,   498,   499,   500,   501,   502,   503,   504,     0,   505,
    8999             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
    9000             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
    9001             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
    9002             :      534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
    9003             :      544,   545,   546,   547,   548,   549,   550,   551,    40,   552,
    9004             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
    9005             :      562,   563,   564,   565,   566,     0,   567,   568,   569,   570,
    9006             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
    9007             :      581,   582,   583,     0,   584,   585,     0,    44,   586,   587,
    9008             :      588,   589,   590,   591,   592,   593,     0,   594,   595,   596,
    9009             :        0,     0,   597,   598,   599,   600,   601,     0,   602,   603,
    9010             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
    9011             :      612,   613,   614,   615,     0,     0,   616,   617,   618,   619,
    9012             :      620,  1206,   622,     0,   623,   624,   625,   626,   627,   628,
    9013             :      629,     0,     0,   630,     0,    49,   631,   632,   633,   634,
    9014             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
    9015             :      645,   646,   647,   648,   649,   650,  1046,     0,     0,    50,
    9016             :        0,     0,   234,     0,     0,     0,     0,     0,     0,     0,
    9017             :        0,     0,     0,     0,     0,     0,     0,     0,    56,   235,
    9018             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
    9019             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
    9020             :      248,   249,     0,   250,   251,   252,   253,   254,   255,   256,
    9021             :      257,   258,   259,   260,   261,   262,     0,   263,   264,   265,
    9022             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
    9023             :      274,     0,   275,   276,   277,   278,   279,     0,   280,     0,
    9024             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
    9025             :      291,     0,   292,   293,   294,   295,   296,   297,     0,   298,
    9026             :      299,   300,   301,     0,     0,     0,   302,     0,     0,     0,
    9027             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
    9028             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
    9029             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
    9030             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
    9031             :      336,   337,     0,   338,   339,   340,   341,   342,   343,   344,
    9032             :      345,   346,   347,     0,   348,     0,   349,   350,   351,   352,
    9033             :      353,     0,   354,     0,   355,   356,   357,     0,   358,   359,
    9034             :      360,   361,   362,     0,   363,   364,     0,   365,   366,   367,
    9035             :        0,   368,   369,   370,   371,   372,   373,   374,   375,   376,
    9036             :      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
    9037             :        0,   386,   387,   388,   389,   390,   391,   392,   393,   394,
    9038             :        0,   395,     0,   396,   397,   398,   399,   400,   401,   402,
    9039             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
    9040             :      413,   414,   415,   416,   417,   418,     0,     0,   419,   420,
    9041             :      421,   422,   423,     0,   424,   425,   426,     0,     0,   427,
    9042             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
    9043             :      438,   439,   440,   441,   442,   443,   444,   445,   446,   447,
    9044             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
    9045             :      458,   459,     0,   460,   461,   462,   463,     0,   464,   465,
    9046             :      466,   467,   468,   469,   470,     0,   471,   472,   473,     0,
    9047             :        0,   474,   475,   476,     0,     0,   477,   478,   479,   480,
    9048             :      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
    9049             :      491,   492,   493,   494,   495,     0,   496,   497,   498,   499,
    9050             :      500,   501,   502,   503,   504,     0,   505,   506,   507,   508,
    9051             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
    9052             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
    9053             :      528,   529,   530,   531,   532,     0,   533,   534,   535,   536,
    9054             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
    9055             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
    9056             :      556,     0,   557,   558,   559,   560,   561,   562,   563,   564,
    9057             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
    9058             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
    9059             :        0,   584,   585,     0,     0,   586,   587,   588,   589,   590,
    9060             :      591,   592,   593,     0,   594,   595,   596,     0,     0,   597,
    9061             :      598,   599,   600,   601,     0,   602,   603,   604,   605,   606,
    9062             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
    9063             :      615,     0,     0,   616,   617,   618,   619,   620,   621,   622,
    9064             :        0,   623,   624,   625,   626,   627,   628,   629,     0,     0,
    9065             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
    9066             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
    9067             :      648,   649,   650,     0,     0,     0,     0,     0,     0,   658,
    9068             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    9069             :        0,     0,     0,     0,     0,  5666,   235,   236,   237,   238,
    9070             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
    9071             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
    9072             :      250,   251,   252,   253,     0,   255,   256,   257,   258,   259,
    9073             :        0,   261,   262,     0,   263,   264,   265,   266,   267,   268,
    9074             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
    9075             :      276,   277,   278,   279,     0,     0,     0,   281,   282,   283,
    9076             :      284,   285,   286,     0,   288,   289,   290,   291,     0,   292,
    9077             :      293,   294,   295,   296,   297,     0,     0,   299,   300,   301,
    9078             :        0,     0,     0,     0,     0,     0,     0,   303,   304,   305,
    9079             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
    9080             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
    9081             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
    9082             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
    9083             :      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
    9084             :        0,   348,     0,   349,   350,   351,   352,   353,     0,   354,
    9085             :        0,   355,   356,     0,     0,     0,   359,   360,   361,   362,
    9086             :        0,   363,   364,     0,   365,   366,   367,     0,   368,   369,
    9087             :      370,   371,   372,     0,   374,   375,   376,   377,     0,   378,
    9088             :      379,   380,   381,   382,   383,   384,   385,     0,   386,     0,
    9089             :      388,   389,   390,   391,   392,   393,   394,     0,   395,     0,
    9090             :      396,     0,     0,   399,     0,   401,   402,   403,   404,   405,
    9091             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
    9092             :      416,   417,   418,     0,     0,   419,   420,     0,   422,     0,
    9093             :        0,   424,   425,   426,     0,     0,   427,   428,   429,   430,
    9094             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
    9095             :      441,   442,   443,   444,   445,   446,     0,   448,   449,   450,
    9096             :      451,   452,   453,   454,   455,   456,   457,   458,   459,     0,
    9097             :      460,   461,     0,   463,     0,   464,   465,   466,   467,   468,
    9098             :      469,   470,     0,   471,   472,   473,     0,     0,   474,   475,
    9099             :      476,     0,     0,   477,   478,   479,     0,   481,     0,   483,
    9100             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
    9101             :      494,   495,     0,   496,   497,   498,   499,   500,   501,   502,
    9102             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
    9103             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
    9104             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
    9105             :      531,   532,     0,   533,   534,     0,   536,   537,   538,   539,
    9106             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
    9107             :      550,   551,    40,   552,   553,   554,   555,   556,     0,   557,
    9108             :      558,   559,   560,   561,     0,   563,   564,   565,   566,     0,
    9109             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
    9110             :      577,   578,   579,   580,   581,   582,   583,     0,   584,   585,
    9111             :        0,    44,   586,     0,   588,   589,   590,   591,   592,   593,
    9112             :        0,   594,   595,   596,     0,     0,   597,   598,   599,   600,
    9113             :      601,     0,   602,   603,   604,   605,   606,   607,   608,   609,
    9114             :      610,     0,     0,   611,   612,   613,   614,   615,     0,     0,
    9115             :      616,   617,   618,   619,   620,  1206,   622,     0,   623,     0,
    9116             :      625,   626,   627,   628,   629,     0,     0,   630,     0,    49,
    9117             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
    9118             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
    9119             :        0,     0,     0,    50,     0,     0,   658,     0,     0,     0,
    9120             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    9121             :        0,     0,    56,   235,   236,   237,   238,   239,   240,   241,
    9122             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
    9123             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
    9124             :      253,     0,   255,   256,   257,   258,   259,     0,   261,   262,
    9125             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
    9126             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
    9127             :      279,     0,     0,     0,   281,   282,   283,   284,   285,   286,
    9128             :        0,   288,   289,   290,   291,     0,   292,   293,   294,   295,
    9129             :      296,   297,     0,     0,   299,   300,   301,     0,     0,     0,
    9130             :     2909,     0,     0,     0,   303,   304,   305,   306,   307,   308,
    9131             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
    9132             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
    9133             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
    9134             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
    9135             :      341,   342,   343,   344,   345,   346,   347,     0,   348,     0,
    9136             :      349,   350,   351,   352,   353,     0,   354,     0,   355,   356,
    9137             :        0,     0,     0,   359,   360,   361,   362,     0,   363,   364,
    9138             :        0,   365,   366,   367,     0,   368,   369,   370,   371,   372,
    9139             :        0,   374,   375,   376,   377,     0,   378,   379,   380,   381,
    9140             :      382,   383,   384,   385,     0,   386,     0,   388,   389,   390,
    9141             :      391,   392,   393,   394,     0,   395,     0,   396,     0,     0,
    9142             :      399,     0,   401,   402,   403,   404,   405,   406,   407,   408,
    9143             :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
    9144             :        0,     0,   419,   420,     0,   422,     0,     0,   424,   425,
    9145             :      426,     0,     0,   427,   428,   429,   430,   431,   432,   433,
    9146             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
    9147             :      444,   445,   446,     0,   448,   449,   450,   451,   452,   453,
    9148             :      454,   455,   456,   457,   458,   459,     0,   460,   461,     0,
    9149             :      463,     0,   464,   465,   466,   467,   468,   469,   470,     0,
    9150             :      471,   472,   473,     0,   862,   474,   475,   476,     0,     0,
    9151             :      477,   478,   479,     0,   481,     0,   483,   484,   485,   486,
    9152             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
    9153             :      496,   497,   498,   499,   500,   501,   502,   503,   504,     0,
    9154             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
    9155             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
    9156             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
    9157             :      533,   534,     0,   536,   537,   538,   539,   540,   541,   542,
    9158             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
    9159             :      552,   553,   554,   555,   556,     0,   557,   558,   559,   560,
    9160             :      561,     0,   563,   564,   565,   566,     0,   567,   568,   569,
    9161             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
    9162             :      580,   581,   582,   583,     0,   584,   585,     0,  2910,  2911,
    9163             :        0,   588,   589,   590,   591,   592,   593,     0,   594,   595,
    9164             :      596,     0,     0,   597,   598,   599,   600,   601,     0,   602,
    9165             :      603,   604,   605,   606,   607,   608,   609,   610,     0,     0,
    9166             :      611,   612,   613,   614,   615,     0,     0,   616,   617,   618,
    9167             :      619,   620,   621,   622,     0,   623,     0,   625,   626,   627,
    9168             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
    9169             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
    9170             :      644,   645,   646,   647,   648,   649,   650,     0,     0,     0,
    9171             :        0,     0,     0,   658,     0,     0,     0,     0,     0,     0,
    9172             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  1863,
    9173             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
    9174             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
    9175             :      247,   248,   249,     0,   250,   251,   252,   253,     0,   255,
    9176             :      256,   257,   258,   259,     0,   261,   262,     0,   263,   264,
    9177             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
    9178             :      273,   274,     0,   275,   276,   277,   278,   279,     0,     0,
    9179             :        0,   281,   282,   283,   284,   285,   286,     0,   288,   289,
    9180             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
    9181             :        0,   299,   300,   301,     0,     0,     0,     0,     0,     0,
    9182             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
    9183             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
    9184             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
    9185             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
    9186             :      335,   336,   337,     0,   338,   339,   340,   341,   342,   343,
    9187             :      344,   345,   346,   347,     0,   348,     0,   349,   350,   351,
    9188             :      352,   353,     0,   354,     0,   355,   356,     0,     0,     0,
    9189             :      359,   360,   361,   362,     0,   363,   364,     0,   365,   366,
    9190             :      367,     0,   368,   369,   370,   371,   372,     0,   374,   375,
    9191             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
    9192             :      385,     0,   386,     0,   388,   389,   390,   391,   392,   393,
    9193             :      394,     0,   395,     0,   396,     0,     0,   399,     0,   401,
    9194             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
    9195             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
    9196             :      420,     0,   422,     0,     0,   424,   425,   426,     0,     0,
    9197             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
    9198             :      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
    9199             :        0,   448,   449,   450,   451,   452,   453,   454,   455,   456,
    9200             :      457,   458,   459,     0,   460,   461,     0,   463,     0,   464,
    9201             :      465,   466,   467,   468,   469,   470,     0,   471,   472,   473,
    9202             :        0,     0,   474,   475,   476,     0,     0,   477,   478,   479,
    9203             :        0,   481,     0,   483,   484,   485,   486,   487,   488,   489,
    9204             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
    9205             :      499,   500,   501,   502,   503,   504,     0,   505,   506,   507,
    9206             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
    9207             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
    9208             :      527,   528,   529,   530,   531,   532,     0,   533,   534,     0,
    9209             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
    9210             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
    9211             :      555,   556,     0,   557,   558,   559,   560,   561,     0,   563,
    9212             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
    9213             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
    9214             :      583,     0,   584,   585,     0,     0,   586,     0,   588,   589,
    9215             :      590,   591,   592,   593,     0,   594,   595,   596,     0,     0,
    9216             :      597,   598,   599,   600,   601,     0,   602,   603,   604,   605,
    9217             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
    9218             :      614,   615,     0,     0,   616,   617,   618,   619,   620,   621,
    9219             :      622,     0,   623,     0,   625,   626,   627,   628,   629,     0,
    9220             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
    9221             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
    9222             :      647,   648,   649,   650,     0,     0,     0,     0,     0,     0,
    9223             :      658,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    9224             :        0,     0,     0,     0,     0,     0,  1415,   235,   236,   237,
    9225             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
    9226             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
    9227             :        0,   250,   251,   252,   253,     0,   255,   256,   257,   258,
    9228             :      259,     0,   261,   262,     0,   263,   264,   265,   266,   267,
    9229             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
    9230             :      275,   276,   277,   278,   279,     0,     0,     0,   281,   282,
    9231             :      283,   284,   285,   286,     0,   288,   289,   290,   291,     0,
    9232             :      292,   293,   294,   295,   296,   297,     0,     0,   299,   300,
    9233             :      301,     0,     0,     0,     0,     0,     0,     0,   303,   304,
    9234             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
    9235             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
    9236             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
    9237             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
    9238             :        0,   338,   339,   340,   341,   342,   343,   344,   345,   346,
    9239             :      347,     0,   348,     0,   349,   350,   351,   352,   353,     0,
    9240             :      354,     0,   355,   356,     0,     0,     0,   359,   360,   361,
    9241             :      362,     0,   363,   364,     0,   365,   366,   367,     0,   368,
    9242             :      369,   370,   371,   372,     0,   374,   375,   376,   377,     0,
    9243             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
    9244             :        0,   388,   389,   390,   391,   392,   393,   394,     0,   395,
    9245             :        0,   396,     0,     0,   399,     0,   401,   402,   403,   404,
    9246             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
    9247             :      415,   416,   417,   418,     0,     0,   419,   420,     0,   422,
    9248             :        0,     0,   424,   425,   426,     0,     0,   427,   428,   429,
    9249             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
    9250             :      440,   441,   442,   443,   444,   445,   446,     0,   448,   449,
    9251             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
    9252             :        0,   460,   461,     0,   463,     0,   464,   465,   466,   467,
    9253             :      468,   469,   470,     0,   471,   472,   473,     0,     0,   474,
    9254             :      475,   476,     0,     0,   477,   478,   479,     0,   481,     0,
    9255             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
    9256             :      493,   494,   495,     0,   496,   497,   498,   499,   500,   501,
    9257             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
    9258             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
    9259             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
    9260             :      530,   531,   532,     0,   533,   534,     0,   536,   537,   538,
    9261             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
    9262             :      549,   550,   551,     0,   552,   553,   554,   555,   556,     0,
    9263             :      557,   558,   559,   560,   561,     0,   563,   564,   565,   566,
    9264             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
    9265             :      576,   577,   578,   579,   580,   581,   582,   583,     0,   584,
    9266             :      585,     0,     0,   586,     0,   588,   589,   590,   591,   592,
    9267             :      593,     0,   594,   595,   596,     0,     0,   597,   598,   599,
    9268             :      600,   601,     0,   602,   603,   604,   605,   606,   607,   608,
    9269             :      609,   610,     0,     0,   611,   612,   613,   614,   615,     0,
    9270             :        0,   616,   617,   618,   619,   620,   621,   622,     0,   623,
    9271             :        0,   625,   626,   627,   628,   629,     0,     0,   630,     0,
    9272             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
    9273             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
    9274             :      650,     0,     0,     0,     0,     0,     0,   658,     0,     0,
    9275             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    9276             :        0,     0,     0,  3533,   235,   236,   237,   238,   239,   240,
    9277             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
    9278             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
    9279             :      252,   253,     0,   255,   256,   257,   258,   259,     0,   261,
    9280             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
    9281             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
    9282             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
    9283             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
    9284             :      295,   296,   297,     0,     0,   299,   300,   301,     0,     0,
    9285             :        0,     0,     0,     0,     0,   303,   304,   305,   306,   307,
    9286             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
    9287             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
    9288             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
    9289             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
    9290             :      340,   341,   342,   343,   344,   345,   346,   347,     0,   348,
    9291             :        0,   349,   350,   351,   352,   353,     0,   354,     0,   355,
    9292             :      356,     0,     0,     0,   359,   360,   361,   362,     0,   363,
    9293             :      364,     0,   365,   366,   367,     0,   368,   369,   370,   371,
    9294             :      372,     0,   374,   375,   376,   377,     0,   378,   379,   380,
    9295             :      381,   382,   383,   384,   385,     0,   386,     0,   388,   389,
    9296             :      390,   391,   392,   393,   394,     0,   395,     0,   396,     0,
    9297             :        0,   399,     0,   401,   402,   403,   404,   405,   406,   407,
    9298             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
    9299             :      418,     0,     0,   419,   420,     0,   422,     0,     0,   424,
    9300             :      425,   426,     0,     0,   427,   428,   429,   430,   431,   432,
    9301             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
    9302             :      443,   444,   445,   446,     0,   448,   449,   450,   451,   452,
    9303             :      453,   454,   455,   456,   457,   458,   459,     0,   460,   461,
    9304             :        0,   463,     0,   464,   465,   466,   467,   468,   469,   470,
    9305             :        0,   471,   472,   473,     0,     0,   474,   475,   476,     0,
    9306             :        0,   477,   478,   479,     0,   481,     0,   483,   484,   485,
    9307             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
    9308             :        0,   496,   497,   498,   499,   500,   501,   502,   503,   504,
    9309             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
    9310             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
    9311             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
    9312             :        0,   533,   534,     0,   536,   537,   538,   539,   540,   541,
    9313             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
    9314             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   559,
    9315             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
    9316             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
    9317             :      579,   580,   581,   582,   583,     0,   584,   585,     0,     0,
    9318             :      586,     0,   588,   589,   590,   591,   592,   593,     0,   594,
    9319             :      595,   596,     0,     0,   597,   598,   599,   600,   601,     0,
    9320             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
    9321             :        0,   611,   612,   613,   614,   615,     0,     0,   616,   617,
    9322             :      618,   619,   620,   621,   622,     0,   623,     0,   625,   626,
    9323             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
    9324             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
    9325             :      643,   644,   645,   646,   647,   648,   649,   650,     0,     0,
    9326             :        0,     0,     0,     0,   658,     0,     0,     0,     0,     0,
    9327             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    9328             :     4208,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    9329             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
    9330             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
    9331             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
    9332             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
    9333             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
    9334             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
    9335             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    9336             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
    9337             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
    9338             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
    9339             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    9340             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    9341             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
    9342             :      343,   344,   345,   346,   347,     0,   348,     0,   349,   350,
    9343             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
    9344             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
    9345             :      366,   367,     0,   368,   369,   370,   371,   372,     0,   374,
    9346             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
    9347             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
    9348             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
    9349             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
    9350             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
    9351             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
    9352             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    9353             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
    9354             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
    9355             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
    9356             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
    9357             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
    9358             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
    9359             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
    9360             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
    9361             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
    9362             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    9363             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    9364             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
    9365             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
    9366             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
    9367             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
    9368             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    9369             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
    9370             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
    9371             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
    9372             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
    9373             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
    9374             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
    9375             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
    9376             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
    9377             :      646,   647,   648,   649,   650,     0,     0,     0,     0,     0,
    9378             :        0,     0,     0,     0,  2110,     0,     0,     0,     0,     0,
    9379             :        0,  2111,     0,     0,  2112,     0,     0,  4851,  2113,  2114,
    9380             :     2115,  2116,  2117,  2118,  2119,  2120,  2121,  2122,  2123,  2124,
    9381             :     2125,  2126,  2127,  2128,  2129,  2130,  2131,  2132,     0,  2133,
    9382             :     2134,  2135,  2136,  2137,  2138,  2139,  2140,  2141,  2142,  2143,
    9383             :     2144,  2145,  2146,  2147,  2148,  2149,  2150,  2151,  2152,  2153,
    9384             :     2154,  2155,  2156,  2157,  2158,  2159,  2160,  2161,  2162,  2163,
    9385             :        0,     0,  2164,  2165,  2166,  2167,  2168,  2169,  2170,  2171,
    9386             :     2172,  2173,  2174,  2175,  2176,  2177,  2178,  2179,  2180,  2181,
    9387             :     2182,  2183,  2184,  2185,  2186,  2187,  2188,  2189,  2190,  2191,
    9388             :        0,  2192,  2193,  2194,  2195,  2196,  2197,  2198,  2199,  2200,
    9389             :     2201,  2202,  2203,  2204,  2205,  2206,     0,  2207,  2208,  2209,
    9390             :     2210,  2211,  2212,  2213,  2214,  2215,  2216,  2217,  2218,  2219,
    9391             :     2220,  2221,  2222,  2223,  2224,  2225,  2226,  2227,  2228,  2229,
    9392             :     2230,  2231,  2232,  2233,  2234,  2235,  2236,  2237,  2238,  2239,
    9393             :     2240,  2241,  2242,  2243,     0,  2244,  2245,  2246,  2247,  2248,
    9394             :     2249,  2250,  2251,  2252,  2253,  2254,  2255,     0,     0,  2256,
    9395             :     2257,  2258,  2259,     0,  2260,  2261,  2262,  2263,  2264,     0,
    9396             :     2265,  2266,  2267,  2268,  2269,     0,  2270,  2271,     0,  2272,
    9397             :     2273,  2274,     0,  2275,  2276,     0,  2277,  2278,  2279,  2280,
    9398             :     2281,  2282,  2283,  2284,  2285,  2286,  2287,  2288,  2289,  2290,
    9399             :     2291,  2292,  2293,  2294,  2295,  2296,  2297,  2298,  2299,  2300,
    9400             :     2301,  2302,     0,  2303,     0,  2304,  2305,  2306,  2307,  2308,
    9401             :     2309,  2310,  2311,  2312,  2313,  2314,  2315,  2316,  2317,  2318,
    9402             :     2319,  2320,  2321,  2322,  2323,  2324,  2325,  2326,  2327,  2328,
    9403             :     2329,  2330,  2331,  2332,  2333,     0,  2334,  2335,  2336,  2337,
    9404             :     2338,  2339,  2340,  2341,  2342,  2343,  2344,  2345,  2346,  2347,
    9405             :     2348,  2349,  2350,     0,  2351,  2352,     0,  2353,  2354,  2355,
    9406             :     2356,  2357,  2358,  2359,  2360,  2361,  2362,  2363,  2364,  2365,
    9407             :     2366,  2367,  2368,  2369,  2370,  2371,  2372,  2373,  2374,  2375,
    9408             :     2376,  2377,  2378,  2379,  2380,  2381,  2382,     0,  2383,  2384,
    9409             :     2385,     0,  2386,  2387,  2388,  2389,  2390,     0,  2391,  2392,
    9410             :     2393,  2394,     0,     0,  2395,  2396,  2397,  2398,  2399,  2400,
    9411             :     2401,  2402,  2403,  2404,  2405,  2406,  2407,  2408,  2409,  2410,
    9412             :     2411,  2412,  2413,     0,  2414,  2415,  2416,  2417,  2418,  2419,
    9413             :     2420,  2421,  2422,  2423,  2424,  2425,  2426,  2427,  2428,  2429,
    9414             :     2430,  2431,  2432,  2433,  2434,  2435,  2436,  2437,  2438,  2439,
    9415             :     2440,  2441,  2442,  2443,  2444,  2445,  2446,     0,  2447,  2448,
    9416             :     2449,  2450,  2451,  2452,  2453,  2454,  2455,  2456,  2457,  2458,
    9417             :     2459,  2460,  2461,  2462,  2463,     0,  2464,  2465,  2466,  2467,
    9418             :     2468,  2469,  2470,  2471,  2472,  2473,  2474,  2475,  2476,  2477,
    9419             :     2478,  2479,  2480,  2481,  2482,  2483,  2484,  2485,  2486,  2487,
    9420             :     2488,  2489,  2490,  2491,  2492,  2493,  2494,  2495,  2496,  2497,
    9421             :     2498,  2499,  2500,  2501,  2502,  2503,  2504,  2505,  2506,  2507,
    9422             :     2508,  2509,  2510,  2511,  2512,  2513,  2514,  2515,  2516,     0,
    9423             :     2517,  2518,  2519,  2520,  2521,  2522,  2523,  2524,  2525,  2526,
    9424             :     2527,  2528,  2529,  2530,  2531,  2532,     0,  2533,  2534,  2535,
    9425             :     2536,  2537,  2538,  2539,  2540,  2541,  2542,  2543,  2544,  2545,
    9426             :     2546,  2547,  2548,     0,  2549,  2550,  2551,  2552,  2553,  2554,
    9427             :     2555,     0,  2556,     0,     0,     0,     0,  2557,  2558,  2559,
    9428             :     2560,  2561,  2562,  2563,  2564,  2565,  2566,  2567,  2568,  2569,
    9429             :     2570,  2571,     0,  2572,  2573,     0,  2574,     0,     0,     0,
    9430             :        0,     0,     0,     0,     0,  2575,  2576,  2577,  2578,  2579,
    9431             :     2580,  2581,  2582,  2583,   879,     0,  1603,   717,     0,     0,
    9432             :        0,   982,   778,     0,     0,     0,     0,     0,   983,   984,
    9433             :      985,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    9434             :     1741,   244,   245,   246,  1742,  1743,  1744,  1745,  1746,  1747,
    9435             :     1748,   247,   248,   249,  1749,   250,   251,   252,   253,   254,
    9436             :      255,   256,   257,     0,   880,   260,   881,   882,  1750,   263,
    9437             :      264,   265,   266,   267,   268,   269,  1751,  1752,   270,   271,
    9438             :      883,   884,   274,  1753,   275,   276,   277,   278,     0,  1754,
    9439             :      280,  1755,   281,   282,   283,   284,   285,   286,   287,   288,
    9440             :      289,   290,   291,  1756,   292,   293,   294,   295,   296,   297,
    9441             :     1757,   298,   299,   300,   301,  1758,  1759,  1760,   302,  1761,
    9442             :     1762,  1763,   303,   304,   305,   306,   307,   308,   885,   886,
    9443             :      311,  1764,   312,  1765,   313,   314,   315,   316,   317,   318,
    9444             :      319,  1766,   320,   321,   322,   323,  1767,  1768,   324,   325,
    9445             :      887,   327,   328,  1769,   329,   330,   331,   332,  1770,   333,
    9446             :      334,   335,   336,   337,  1771,   338,   339,   340,   341,     0,
    9447             :      343,   344,   345,   346,     0,  1772,   348,  1773,   349,   350,
    9448             :      351,   888,   353,  1774,   354,  1775,   355,   356,   357,  1776,
    9449             :      358,   359,   360,   361,   362,  1777,   363,     0,  1778,     0,
    9450             :      366,   367,  1779,   368,   369,   370,   371,   372,   373,   374,
    9451             :      375,   376,   377,  1780,   378,   379,   380,   381,   382,   383,
    9452             :      384,   385,  1781,   386,   387,     0,   389,   390,   391,   392,
    9453             :      889,   890,  1782,   891,  1783,   396,   397,   398,   399,   400,
    9454             :      892,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    9455             :        0,   412,   413,   414,   415,   416,   417,   418,  1784,  1785,
    9456             :      419,     0,   421,   422,   423,  1786,   424,   425,   426,  1787,
    9457             :     1788,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    9458             :      436,     0,   438,   439,   440,   441,   442,   443,   444,   445,
    9459             :      893,   447,   894,   449,   450,   451,   452,   453,   454,   455,
    9460             :      456,  4533,     0,   459,  1789,   460,   461,   462,   463,  1790,
    9461             :        0,   465,   895,   467,   468,   469,   470,  1791,   471,   472,
    9462             :      473,  1792,  1793,  4534,   475,   476,  1794,  1795,   477,   478,
    9463             :        0,   480,   481,   482,     0,   484,   485,   486,   487,   488,
    9464             :      489,   490,   491,   492,   493,   494,   495,  1796,   496,   497,
    9465             :      498,     0,   500,     0,   502,   503,   504,  1797,   505,   506,
    9466             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   896,
    9467             :      517,   518,   519,  1798,   520,   521,   522,   523,   524,   525,
    9468             :      526,   527,   528,   529,   530,   531,   532,  1799,   533,   534,
    9469             :      535,   536,   537,   538,   539,   540,     0,   542,   543,   544,
    9470             :      545,   546,   547,   548,   549,   550,   551,  1800,   552,   553,
    9471             :      554,   555,   556,  1801,   557,   558,  2735,   560,   561,   562,
    9472             :      563,   564,   898,   566,  1802,   567,   568,   569,   570,   571,
    9473             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    9474             :        0,   583,  1803,   584,   585,  1804,  1805,   586,   587,   588,
    9475             :      589,   590,   591,   592,   593,  1806,   594,   899,   900,  1807,
    9476             :     1808,   597,   598,     0,   600,     0,  1809,   602,   603,   604,
    9477             :      605,   606,   607,   608,   609,   610,  1810,  1811,   611,   612,
    9478             :      613,   614,   615,  1812,  1813,   616,   617,   618,   619,   620,
    9479             :        0,   901,  1814,   623,   624,   625,   626,   627,   628,   629,
    9480             :     1815,  1816,   630,  1817,  1818,   631,   632,   633,   634,   635,
    9481             :      636,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    9482             :        0,     0,   648,   649,   650,     0,     0,     0,     0,     0,
    9483             :        0,     0,     0,     0,     0,   988,   989,   990,  4535,  4536,
    9484             :      993,   994,   995,   996,   879,     0,  1603,   717,     0,     0,
    9485             :        0,   982,   778,     0,     0,     0,     0,     0,   983,   984,
    9486             :      985,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    9487             :     1741,   244,   245,   246,  1742,  1743,  1744,  1745,  1746,  1747,
    9488             :     1748,   247,   248,   249,  1749,   250,   251,   252,   253,   254,
    9489             :      255,   256,   257,     0,   880,   260,   881,   882,  1750,   263,
    9490             :      264,   265,   266,   267,   268,   269,  1751,  1752,   270,   271,
    9491             :      883,   884,   274,  1753,   275,   276,   277,   278,     0,  1754,
    9492             :      280,  1755,   281,   282,   283,   284,   285,   286,   287,   288,
    9493             :      289,   290,   291,  1756,   292,   293,   294,   295,   296,   297,
    9494             :     1757,   298,   299,   300,   301,  1758,  1759,  1760,   302,  1761,
    9495             :     1762,  1763,   303,   304,   305,   306,   307,   308,   885,   886,
    9496             :      311,  1764,   312,  1765,   313,   314,   315,   316,   317,   318,
    9497             :      319,  1766,   320,   321,   322,   323,  1767,  1768,   324,   325,
    9498             :      887,   327,   328,  1769,   329,   330,   331,   332,  1770,   333,
    9499             :      334,   335,   336,   337,  1771,   338,   339,   340,   341,     0,
    9500             :      343,   344,   345,   346,     0,  1772,   348,  1773,   349,   350,
    9501             :      351,   888,   353,  1774,   354,  1775,   355,   356,   357,  1776,
    9502             :      358,   359,   360,   361,   362,  1777,   363,     0,  1778,     0,
    9503             :      366,   367,  1779,   368,   369,   370,   371,   372,   373,   374,
    9504             :      375,   376,   377,  1780,   378,   379,   380,   381,   382,   383,
    9505             :      384,   385,  1781,   386,   387,     0,   389,   390,   391,   392,
    9506             :      889,   890,  1782,   891,  1783,   396,   397,   398,   399,   400,
    9507             :      892,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    9508             :        0,   412,   413,   414,   415,   416,   417,   418,  1784,  1785,
    9509             :      419,     0,   421,   422,   423,  1786,   424,   425,   426,  1787,
    9510             :     1788,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    9511             :      436,     0,   438,   439,   440,   441,   442,   443,   444,   445,
    9512             :      893,   447,   894,   449,   450,   451,   452,   453,   454,   455,
    9513             :      456,  4994,     0,   459,  1789,   460,   461,   462,   463,  1790,
    9514             :        0,   465,   895,   467,   468,   469,   470,  1791,   471,   472,
    9515             :      473,  1792,  1793,  4534,   475,   476,  1794,  1795,   477,   478,
    9516             :        0,   480,   481,   482,     0,   484,   485,   486,   487,   488,
    9517             :      489,   490,   491,   492,   493,   494,   495,  1796,   496,   497,
    9518             :      498,     0,   500,     0,   502,   503,   504,  1797,   505,   506,
    9519             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   896,
    9520             :      517,   518,   519,  1798,   520,   521,   522,   523,   524,   525,
    9521             :      526,   527,   528,   529,   530,   531,   532,  1799,   533,   534,
    9522             :      535,   536,   537,   538,   539,   540,     0,   542,   543,   544,
    9523             :      545,   546,   547,   548,   549,   550,   551,  1800,   552,   553,
    9524             :      554,   555,   556,  1801,   557,   558,  2735,   560,   561,   562,
    9525             :      563,   564,   898,   566,  1802,   567,   568,   569,   570,   571,
    9526             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    9527             :        0,   583,  1803,   584,   585,  1804,  1805,   586,   587,   588,
    9528             :      589,   590,   591,   592,   593,  1806,   594,   899,   900,  1807,
    9529             :     1808,   597,   598,     0,   600,     0,  1809,   602,   603,   604,
    9530             :      605,   606,   607,   608,   609,   610,  1810,  1811,   611,   612,
    9531             :      613,   614,   615,  1812,  1813,   616,   617,   618,   619,   620,
    9532             :        0,   901,  1814,   623,   624,   625,   626,   627,   628,   629,
    9533             :     1815,  1816,   630,  1817,  1818,   631,   632,   633,   634,   635,
    9534             :      636,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    9535             :        0,     0,   648,   649,   650,     0,     0,     0,     0,     0,
    9536             :        0,     0,     0,     0,     0,   988,   989,   990,  4535,  4536,
    9537             :      993,   994,   995,   996,   658,     0,     0,     0,     0,     0,
    9538             :        0,   982,     0,     0,     0,     0,     0,     0,   983,   984,
    9539             :      985,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    9540             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
    9541             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
    9542             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
    9543             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
    9544             :      272,   273,   274,     0,   275,   986,   277,   278,   279,     0,
    9545             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
    9546             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    9547             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
    9548             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
    9549             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
    9550             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    9551             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    9552             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
    9553             :      343,   344,   345,   346,   347,     0,   987,     0,   349,   350,
    9554             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
    9555             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
    9556             :      366,   367,     0,   368,   369,   370,   371,   372,     0,   374,
    9557             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
    9558             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
    9559             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
    9560             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
    9561             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
    9562             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
    9563             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    9564             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
    9565             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
    9566             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
    9567             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
    9568             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
    9569             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
    9570             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
    9571             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
    9572             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
    9573             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    9574             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    9575             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
    9576             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
    9577             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
    9578             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
    9579             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    9580             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
    9581             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
    9582             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
    9583             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
    9584             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
    9585             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
    9586             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
    9587             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
    9588             :      646,   647,   648,   649,   650,     0,     0,     0,     0,     0,
    9589             :        0,     0,     0,     0,     0,   988,   989,   990,   991,   992,
    9590             :      993,   994,   995,   996,   658,     0,     0,     0,     0,     0,
    9591             :        0,   982,     0,     0,     0,     0,     0,     0,   983,   984,
    9592             :      985,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    9593             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
    9594             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
    9595             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
    9596             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
    9597             :      272,   273,   274,     0,   275,  1103,   277,   278,   279,     0,
    9598             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
    9599             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    9600             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
    9601             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
    9602             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
    9603             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    9604             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    9605             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
    9606             :      343,   344,   345,   346,   347,     0,  1104,     0,   349,   350,
    9607             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
    9608             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
    9609             :      366,   367,     0,   368,   369,   370,   371,   372,     0,   374,
    9610             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
    9611             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
    9612             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
    9613             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
    9614             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
    9615             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
    9616             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    9617             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
    9618             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
    9619             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
    9620             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
    9621             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
    9622             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
    9623             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
    9624             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
    9625             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
    9626             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    9627             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    9628             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
    9629             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
    9630             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
    9631             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
    9632             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    9633             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
    9634             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
    9635             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
    9636             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
    9637             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
    9638             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
    9639             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
    9640             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
    9641             :      646,   647,   648,   649,   650,     0,     0,     0,     0,     0,
    9642             :        0,     0,     0,     0,     0,   988,   989,   990,   991,   992,
    9643             :      993,   994,   995,   996,   658,     0,     0,     0,     0,     0,
    9644             :        0,   982,     0,     0,     0,     0,     0,     0,   983,   984,
    9645             :      985,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    9646             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
    9647             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
    9648             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
    9649             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
    9650             :      272,   273,   274,     0,   275,  1169,   277,   278,   279,     0,
    9651             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
    9652             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    9653             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
    9654             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
    9655             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
    9656             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    9657             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    9658             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
    9659             :      343,   344,   345,   346,   347,     0,  1170,     0,   349,   350,
    9660             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
    9661             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
    9662             :      366,   367,     0,   368,   369,   370,   371,  1171,     0,   374,
    9663             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
    9664             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
    9665             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
    9666             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
    9667             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
    9668             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
    9669             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    9670             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
    9671             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
    9672             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
    9673             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
    9674             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
    9675             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
    9676             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
    9677             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
    9678             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
    9679             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    9680             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    9681             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
    9682             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
    9683             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
    9684             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
    9685             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    9686             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
    9687             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
    9688             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
    9689             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
    9690             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
    9691             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
    9692             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
    9693             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
    9694             :      646,   647,   648,   649,   650,     0,     0,     0,     0,     0,
    9695             :        0,     0,     0,     0,     0,   988,   989,   990,   991,   992,
    9696             :      993,   994,   995,   996,   658,     0,     0,     0,     0,     0,
    9697             :        0,   982,     0,     0,     0,     0,     0,     0,   983,   984,
    9698             :      985,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    9699             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
    9700             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
    9701             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
    9702             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
    9703             :      272,   273,   274,     0,   275,  1846,   277,   278,   279,     0,
    9704             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
    9705             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    9706             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
    9707             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
    9708             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
    9709             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    9710             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    9711             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
    9712             :      343,   344,   345,   346,   347,     0,  1847,     0,   349,   350,
    9713             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
    9714             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
    9715             :      366,   367,     0,   368,   369,   370,   371,   372,     0,   374,
    9716             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
    9717             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
    9718             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
    9719             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
    9720             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
    9721             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
    9722             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    9723             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
    9724             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
    9725             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
    9726             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
    9727             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
    9728             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
    9729             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
    9730             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
    9731             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
    9732             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    9733             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    9734             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
    9735             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
    9736             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
    9737             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
    9738             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    9739             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
    9740             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
    9741             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
    9742             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
    9743             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
    9744             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
    9745             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
    9746             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
    9747             :      646,   647,   648,   649,   650,     0,     0,     0,     0,     0,
    9748             :        0,     0,     0,     0,     0,   988,   989,   990,   991,   992,
    9749             :      993,   994,   995,   996,   658,     0,     0,     0,     0,     0,
    9750             :        0,   982,     0,     0,     0,     0,     0,     0,   983,   984,
    9751             :      985,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    9752             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
    9753             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
    9754             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
    9755             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
    9756             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
    9757             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
    9758             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    9759             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
    9760             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
    9761             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
    9762             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    9763             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    9764             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
    9765             :      343,   344,   345,   346,   347,     0,   348,     0,   349,   350,
    9766             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
    9767             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
    9768             :      366,   367,     0,   368,   369,   370,   371,   372,     0,   374,
    9769             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
    9770             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
    9771             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
    9772             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
    9773             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
    9774             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
    9775             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    9776             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
    9777             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
    9778             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
    9779             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
    9780             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
    9781             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
    9782             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
    9783             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
    9784             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
    9785             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    9786             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    9787             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
    9788             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
    9789             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
    9790             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
    9791             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    9792             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
    9793             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
    9794             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
    9795             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
    9796             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
    9797             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
    9798             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
    9799             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
    9800             :      646,   647,   648,   649,   650,     0,     0,     0,     0,     0,
    9801             :        0,     0,     0,     0,     0,   988,   989,   990,   991,   992,
    9802             :      993,   994,   995,   996,   658,     0,     0,     0,     0,     0,
    9803             :        0,   982,     0,     0,     0,     0,     0,     0,   983,   984,
    9804             :      985,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    9805             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
    9806             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
    9807             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
    9808             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
    9809             :      272,   273,   274,     0,   275,  3598,   277,   278,   279,     0,
    9810             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
    9811             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    9812             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
    9813             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
    9814             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
    9815             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    9816             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    9817             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
    9818             :      343,   344,   345,   346,   347,     0,  3599,     0,   349,   350,
    9819             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
    9820             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
    9821             :      366,   367,     0,   368,   369,   370,   371,   372,     0,   374,
    9822             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
    9823             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
    9824             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
    9825             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
    9826             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
    9827             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
    9828             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    9829             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
    9830             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
    9831             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
    9832             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
    9833             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
    9834             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
    9835             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
    9836             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
    9837             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
    9838             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    9839             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    9840             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
    9841             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
    9842             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
    9843             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
    9844             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    9845             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
    9846             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
    9847             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
    9848             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
    9849             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
    9850             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
    9851             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
    9852             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
    9853             :      646,   647,   648,   649,   650,     0,     0,     0,     0,     0,
    9854             :        0,     0,     0,     0,     0,   988,   989,   990,   991,   992,
    9855             :      993,   994,   995,   996,   658,     0,     0,     0,     0,     0,
    9856             :        0,   982,     0,     0,     0,     0,     0,     0,   983,   984,
    9857             :      985,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    9858             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
    9859             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
    9860             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
    9861             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
    9862             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
    9863             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
    9864             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    9865             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
    9866             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
    9867             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
    9868             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    9869             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    9870             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
    9871             :      343,   344,   345,   346,   347,     0,   348,     0,   349,   350,
    9872             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
    9873             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
    9874             :      366,   367,     0,   368,   369,   370,   371,   372,     0,   374,
    9875             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
    9876             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
    9877             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
    9878             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
    9879             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
    9880             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
    9881             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    9882             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
    9883             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
    9884             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
    9885             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
    9886             :      473,     0,     0,  5646,   475,   476,     0,     0,   477,   478,
    9887             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
    9888             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
    9889             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
    9890             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
    9891             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    9892             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    9893             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
    9894             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
    9895             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
    9896             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
    9897             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    9898             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
    9899             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
    9900             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
    9901             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
    9902             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
    9903             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
    9904             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
    9905             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
    9906             :      646,   647,   648,   649,   650,     0,     0,  1740,     0,     0,
    9907             :        0,     0,     0,     0,     0,   988,   989,   990,   991,   992,
    9908             :      993,   994,   995,   996,   235,   236,   237,   238,   239,   240,
    9909             :      241,   242,   243,  1741,   244,   245,   246,  1742,  1743,  1744,
    9910             :     1745,  1746,  1747,  1748,   247,   248,   249,  1749,   250,   251,
    9911             :      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
    9912             :      262,  1750,   263,   264,   265,   266,   267,   268,   269,  1751,
    9913             :     1752,   270,   271,   272,   273,   274,  1753,   275,   276,   277,
    9914             :      278,   279,  1754,   280,  1755,   281,   282,   283,   284,   285,
    9915             :      286,   287,   288,   289,   290,   291,  1756,   292,   293,   294,
    9916             :      295,   296,   297,  1757,   298,   299,   300,   301,  1758,  1759,
    9917             :     1760,   302,  1761,  1762,  1763,   303,   304,   305,   306,   307,
    9918             :      308,   309,   310,   311,  1764,   312,  1765,   313,   314,   315,
    9919             :      316,   317,   318,   319,  1766,   320,   321,   322,   323,  1767,
    9920             :     1768,   324,   325,   326,   327,   328,  1769,   329,   330,   331,
    9921             :      332,  1770,   333,   334,   335,   336,   337,  1771,   338,   339,
    9922             :      340,   341,   342,   343,   344,   345,   346,   347,  1772,   348,
    9923             :     1773,   349,   350,   351,   352,   353,  1774,   354,  1775,   355,
    9924             :      356,   357,  1776,   358,   359,   360,   361,   362,  1777,   363,
    9925             :      364,  1778,   365,   366,   367,  1779,   368,   369,   370,   371,
    9926             :      372,   373,   374,   375,   376,   377,  1780,   378,   379,   380,
    9927             :      381,   382,   383,   384,   385,  1781,   386,   387,   388,   389,
    9928             :      390,   391,   392,   393,   394,  1782,   395,  1783,   396,   397,
    9929             :      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
    9930             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
    9931             :      418,  1784,  1785,   419,   420,   421,   422,   423,  1786,   424,
    9932             :      425,   426,  1787,  1788,   427,   428,   429,   430,   431,   432,
    9933             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
    9934             :      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
    9935             :      453,   454,   455,   456,   457,   458,   459,  1789,   460,   461,
    9936             :      462,   463,  1790,   464,   465,   466,   467,   468,   469,   470,
    9937             :     1791,   471,   472,   473,  1792,  1793,   474,   475,   476,  1794,
    9938             :     1795,   477,   478,   479,   480,   481,   482,   483,   484,   485,
    9939             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
    9940             :     1796,   496,   497,   498,   499,   500,   501,   502,   503,   504,
    9941             :     1797,   505,   506,   507,   508,   509,   510,   511,   512,   513,
    9942             :      514,   515,   516,   517,   518,   519,  1798,   520,   521,   522,
    9943             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
    9944             :     1799,   533,   534,   535,   536,   537,   538,   539,   540,   541,
    9945             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
    9946             :     1800,   552,   553,   554,   555,   556,  1801,   557,   558,   559,
    9947             :      560,   561,   562,   563,   564,   565,   566,  1802,   567,   568,
    9948             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
    9949             :      579,   580,   581,   582,   583,  1803,   584,   585,  1804,  1805,
    9950             :      586,   587,   588,   589,   590,   591,   592,   593,  1806,   594,
    9951             :      595,   596,  1807,  1808,   597,   598,   599,   600,   601,  1809,
    9952             :      602,   603,   604,   605,   606,   607,   608,   609,   610,  1810,
    9953             :     1811,   611,   612,   613,   614,   615,  1812,  1813,   616,   617,
    9954             :      618,   619,   620,   621,   622,  1814,   623,   624,   625,   626,
    9955             :      627,   628,   629,  1815,  1816,   630,  1817,  1818,   631,   632,
    9956             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
    9957             :      643,   644,   645,   646,   647,   648,   649,   650,   658,     0,
    9958             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    9959             :        0,     0,     0,  1819,     0,   235,   236,   237,   238,   239,
    9960             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
    9961             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
    9962             :      251,   252,   253,     0,   255,   256,   257,   258,   259,     0,
    9963             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
    9964             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
    9965             :      277,   278,   279,     0,     0,     0,   281,   282,   283,   284,
    9966             :      285,   286,     0,   288,   289,   290,   291,     0,   292,   293,
    9967             :      294,   295,   296,   297,     0,     0,   299,   300,   301,     0,
    9968             :        0,     0,     0,     0,     0,     0,   303,   304,   305,   306,
    9969             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
    9970             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
    9971             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
    9972             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
    9973             :      339,   340,   341,   342,   343,   344,   345,   346,   347,     0,
    9974             :      348,     0,   349,   350,   351,   352,   353,     0,   354,     0,
    9975             :      355,   356,     0,     0,     0,   359,   360,   361,   362,     0,
    9976             :      363,   364,     0,   365,   366,   367,     0,   368,   369,   370,
    9977             :      371,   372,     0,   374,   375,   376,   377,     0,   378,   379,
    9978             :      380,   381,   382,   383,   384,   385,     0,   386,     0,   388,
    9979             :      389,   390,   391,   392,   393,   394,     0,   395,     0,   396,
    9980             :        0,     0,   399,     0,   401,   402,   403,   404,   405,   406,
    9981             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
    9982             :      417,   418,     0,     0,   419,   420,     0,   422,     0,     0,
    9983             :      424,   425,   426,     0,     0,   427,   428,   429,   430,   431,
    9984             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
    9985             :      442,   443,   444,   445,   446,     0,   448,   449,   450,   451,
    9986             :      452,   453,   454,   455,   456,   457,   458,   459,     0,   460,
    9987             :      461,     0,   463,     0,   464,   465,   466,   467,   468,   469,
    9988             :      470,     0,   471,   472,   473,     0,     0,   474,   475,   476,
    9989             :        0,     0,   477,   478,   479,     0,   481,     0,   483,   484,
    9990             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
    9991             :      495,     0,   496,   497,   498,   499,   500,   501,   502,   503,
    9992             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
    9993             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
    9994             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
    9995             :      532,     0,   533,   534,     0,   536,   537,   538,   539,   540,
    9996             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
    9997             :      551,     0,   552,   553,   554,   555,   556,     0,   557,   558,
    9998             :      559,   560,   561,     0,   563,   564,   565,   566,     0,   567,
    9999             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   10000             :      578,   579,   580,   581,   582,   583,     0,   584,   585,     0,
   10001             :        0,   586,     0,   588,   589,   590,   591,   592,   593,     0,
   10002             :      594,   595,   596,     0,     0,   597,   598,   599,   600,   601,
   10003             :        0,   602,   603,   604,   605,   606,   607,   608,   609,   610,
   10004             :        0,     0,   611,   612,   613,   614,   615,     0,     0,   616,
   10005             :      617,   618,   619,   620,   621,   622,     0,   623,     0,   625,
   10006             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   10007             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
   10008             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   658,
   10009             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   10010             :        0,     0,     0,     0,   868,     0,   235,   236,   237,   238,
   10011             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
   10012             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   10013             :      250,   251,   252,   253,     0,   255,   256,   257,   258,   259,
   10014             :        0,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   10015             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
   10016             :      276,   277,   278,   279,     0,     0,     0,   281,   282,   283,
   10017             :      284,   285,   286,     0,   288,   289,   290,   291,     0,   292,
   10018             :      293,   294,   295,   296,   297,     0,     0,   299,   300,   301,
   10019             :        0,     0,     0,     0,     0,     0,     0,   303,   304,   305,
   10020             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   10021             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   10022             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   10023             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
   10024             :      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
   10025             :        0,   348,     0,   349,   350,   351,   352,   353,     0,   354,
   10026             :        0,   355,   356,     0,     0,     0,   359,   360,   361,   362,
   10027             :        0,   363,   364,     0,   365,   366,   367,     0,   368,   369,
   10028             :      370,   371,   372,     0,   374,   375,   376,   377,     0,   378,
   10029             :      379,   380,   381,   382,   383,   384,   385,     0,   386,     0,
   10030             :      388,   389,   390,   391,   392,   393,   394,     0,   395,     0,
   10031             :      396,     0,     0,   399,     0,   401,   402,   403,   404,   405,
   10032             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   10033             :      416,   417,   418,     0,     0,   419,   420,     0,   422,     0,
   10034             :        0,   424,   425,   426,     0,     0,   427,   428,   429,   430,
   10035             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   10036             :      441,   442,   443,   444,   445,   446,     0,   448,   449,   450,
   10037             :      451,   452,   453,   454,   455,   456,   457,   458,   459,     0,
   10038             :      460,   461,     0,   463,     0,   464,   465,   466,   467,   468,
   10039             :      469,   470,     0,   471,   472,   473,     0,     0,   474,   475,
   10040             :      476,     0,     0,   477,   478,   479,     0,   481,     0,   483,
   10041             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   10042             :      494,   495,     0,   496,   497,   498,   499,   500,   501,   502,
   10043             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
   10044             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   10045             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   10046             :      531,   532,     0,   533,   534,     0,   536,   537,   538,   539,
   10047             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
   10048             :      550,   551,     0,   552,   553,   554,   555,   556,     0,   557,
   10049             :      558,   559,   560,   561,     0,   563,   564,   565,   566,     0,
   10050             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   10051             :      577,   578,   579,   580,   581,   582,   583,     0,   584,   585,
   10052             :        0,     0,   586,     0,   588,   589,   590,   591,   592,   593,
   10053             :        0,   594,   595,   596,     0,     0,   597,   598,   599,   600,
   10054             :      601,     0,   602,   603,   604,   605,   606,   607,   608,   609,
   10055             :      610,     0,     0,   611,   612,   613,   614,   615,     0,     0,
   10056             :      616,   617,   618,   619,   620,   621,   622,     0,   623,     0,
   10057             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   10058             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
   10059             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   10060             :      658,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   10061             :        0,     0,     0,     0,     0,  6103,     0,   235,   236,   237,
   10062             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   10063             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   10064             :        0,   250,   251,   252,   253,     0,   255,   256,   257,   258,
   10065             :      259,     0,   261,   262,     0,   263,   264,   265,   266,   267,
   10066             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
   10067             :      275,   276,   277,   278,   279,     0,     0,     0,   281,   282,
   10068             :      283,   284,   285,   286,     0,   288,   289,   290,   291,     0,
   10069             :      292,   293,   294,   295,   296,   297,     0,     0,   299,   300,
   10070             :      301,     0,     0,     0,     0,     0,     0,     0,   303,   304,
   10071             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   10072             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   10073             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
   10074             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
   10075             :        0,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   10076             :      347,     0,   348,     0,   349,   350,   351,   352,   353,     0,
   10077             :      354,     0,   355,   356,     0,     0,     0,   359,   360,   361,
   10078             :      362,     0,   363,   364,     0,   365,   366,   367,     0,   368,
   10079             :      369,   370,   371,   372,     0,   374,   375,   376,   377,     0,
   10080             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
   10081             :        0,   388,   389,   390,   391,   392,   393,   394,     0,   395,
   10082             :        0,   396,     0,     0,   399,     0,   401,   402,   403,   404,
   10083             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   10084             :      415,   416,   417,   418,     0,     0,   419,   420,     0,   422,
   10085             :        0,     0,   424,   425,   426,     0,     0,   427,   428,   429,
   10086             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   10087             :      440,   441,   442,   443,   444,   445,   446,     0,   448,   449,
   10088             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   10089             :        0,   460,   461,     0,   463,     0,   464,   465,   466,   467,
   10090             :      468,   469,   470,     0,   471,   472,   473,     0,     0,   474,
   10091             :      475,   476,     0,     0,   477,   478,   479,     0,   481,     0,
   10092             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   10093             :      493,   494,   495,     0,   496,   497,   498,   499,   500,   501,
   10094             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
   10095             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   10096             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   10097             :      530,   531,   532,     0,   533,   534,     0,   536,   537,   538,
   10098             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
   10099             :      549,   550,   551,     0,   552,   553,   554,   555,   556,     0,
   10100             :      557,   558,   559,   560,   561,     0,   563,   564,   565,   566,
   10101             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   10102             :      576,   577,   578,   579,   580,   581,   582,   583,     0,   584,
   10103             :      585,     0,     0,   586,     0,   588,   589,   590,   591,   592,
   10104             :      593,     0,   594,   595,   596,     0,     0,   597,   598,   599,
   10105             :      600,   601,     0,   602,   603,   604,   605,   606,   607,   608,
   10106             :      609,   610,     0,     0,   611,   612,   613,   614,   615,     0,
   10107             :        0,   616,   617,   618,   619,   620,   621,   622,     0,   623,
   10108             :        0,   625,   626,   627,   628,   629,     0,     0,   630,     0,
   10109             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   10110             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   10111             :      650,   658,     0,     0,     0,     0,     0,     0,     0,     0,
   10112             :        0,     0,     0,     0,     0,     0,  6105,     0,   235,   236,
   10113             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   10114             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   10115             :      249,     0,   250,   251,   252,   253,     0,   255,   256,   257,
   10116             :      258,   259,     0,   261,   262,     0,   263,   264,   265,   266,
   10117             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
   10118             :        0,   275,   276,   277,   278,   279,     0,     0,     0,   281,
   10119             :      282,   283,   284,   285,   286,     0,   288,   289,   290,   291,
   10120             :        0,   292,   293,   294,   295,   296,   297,     0,     0,   299,
   10121             :      300,   301,     0,     0,     0,     0,     0,     0,     0,   303,
   10122             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   10123             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   10124             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   10125             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   10126             :      337,     0,   338,   339,   340,   341,   342,   343,   344,   345,
   10127             :      346,   347,     0,   348,     0,   349,   350,   351,   352,   353,
   10128             :        0,   354,     0,   355,   356,     0,     0,     0,   359,   360,
   10129             :      361,   362,     0,   363,   364,     0,   365,   366,   367,     0,
   10130             :      368,   369,   370,   371,   372,     0,   374,   375,   376,   377,
   10131             :        0,   378,   379,   380,   381,   382,   383,   384,   385,     0,
   10132             :      386,     0,   388,   389,   390,   391,   392,   393,   394,     0,
   10133             :      395,     0,   396,     0,     0,   399,     0,   401,   402,   403,
   10134             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   10135             :      414,   415,   416,   417,   418,     0,     0,   419,   420,     0,
   10136             :      422,     0,     0,   424,   425,   426,     0,     0,   427,   428,
   10137             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   10138             :      439,   440,   441,   442,   443,   444,   445,   446,     0,   448,
   10139             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   10140             :      459,     0,   460,   461,     0,   463,     0,   464,   465,   466,
   10141             :      467,   468,   469,   470,     0,   471,   472,   473,     0,     0,
   10142             :      474,   475,   476,     0,     0,   477,   478,   479,     0,   481,
   10143             :        0,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   10144             :      492,   493,   494,   495,     0,   496,   497,   498,   499,   500,
   10145             :      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
   10146             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   10147             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   10148             :      529,   530,   531,   532,     0,   533,   534,     0,   536,   537,
   10149             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   10150             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
   10151             :        0,   557,   558,   559,   560,   561,     0,   563,   564,   565,
   10152             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   10153             :      575,   576,   577,   578,   579,   580,   581,   582,   583,     0,
   10154             :      584,   585,     0,     0,   586,     0,   588,   589,   590,   591,
   10155             :      592,   593,     0,   594,   595,   596,     0,     0,   597,   598,
   10156             :      599,   600,   601,     0,   602,   603,   604,   605,   606,   607,
   10157             :      608,   609,   610,     0,     0,   611,   612,   613,   614,   615,
   10158             :        0,     0,   616,   617,   618,   619,   620,   621,   622,     0,
   10159             :      623,     0,   625,   626,   627,   628,   629,     0,     0,   630,
   10160             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
   10161             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   10162             :      649,   650,   879,     0,     0,     0,     0,     0,     0,     0,
   10163             :        0,     0,     0,     0,     0,     0,     0,  6234,     0,   235,
   10164             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   10165             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   10166             :      248,   249,     0,   250,   251,   252,   253,   254,   255,   256,
   10167             :      257,     0,   880,   260,   881,   882,     0,   263,   264,   265,
   10168             :      266,   267,   268,   269,     0,     0,   270,   271,   883,   884,
   10169             :      274,     0,   275,   276,   277,   278,     0,     0,   280,     0,
   10170             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   10171             :      291,     0,   292,   293,   294,   295,   296,   297,     0,   298,
   10172             :      299,   300,   301,     0,     0,     0,   302,     0,     0,     0,
   10173             :      303,   304,   305,   306,   307,   308,   885,   886,   311,     0,
   10174             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   10175             :      320,   321,   322,   323,     0,     0,   324,   325,   887,   327,
   10176             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   10177             :      336,   337,     0,   338,   339,   340,   341,     0,   343,   344,
   10178             :      345,   346,     0,     0,   348,     0,   349,   350,   351,   888,
   10179             :      353,     0,   354,     0,   355,   356,   357,     0,   358,   359,
   10180             :      360,   361,   362,     0,   363,     0,     0,     0,   366,   367,
   10181             :        0,   368,   369,   370,   371,   372,   373,   374,   375,   376,
   10182             :      377,  2731,   378,   379,   380,   381,   382,   383,   384,   385,
   10183             :        0,   386,   387,  2732,   389,   390,   391,   392,   889,   890,
   10184             :        0,   891,     0,   396,   397,   398,   399,   400,   892,     0,
   10185             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   412,
   10186             :      413,   414,   415,   416,   417,   418,     0,     0,   419,     0,
   10187             :      421,   422,   423,     0,   424,   425,   426,     0,     0,   427,
   10188             :      428,   429,   430,   431,   432,   433,   434,   435,   436,     0,
   10189             :      438,   439,   440,   441,   442,   443,   444,   445,   893,   447,
   10190             :      894,   449,   450,   451,   452,   453,   454,   455,   456,     0,
   10191             :        0,   459,     0,   460,   461,   462,   463,     0,     0,   465,
   10192             :      895,   467,   468,   469,   470,     0,   471,   472,   473,     0,
   10193             :        0,   474,   475,   476,     0,  2733,   477,   478,  2734,   480,
   10194             :      481,   482,     0,   484,   485,   486,   487,   488,   489,   490,
   10195             :      491,   492,   493,   494,   495,     0,   496,   497,   498,     0,
   10196             :      500,     0,   502,   503,   504,     0,   505,   506,   507,   508,
   10197             :      509,   510,   511,   512,   513,   514,   515,   896,   517,   518,
   10198             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   10199             :      528,   529,   530,   531,   532,     0,   533,   534,   535,   536,
   10200             :      537,   538,   539,   540,     0,   542,   543,   544,   545,   546,
   10201             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   10202             :      556,     0,   557,   558,  2735,   560,   561,   562,   563,   564,
   10203             :      898,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   10204             :      574,   575,   576,   577,   578,   579,   580,   581,     0,   583,
   10205             :        0,   584,   585,     0,     0,   586,   587,   588,   589,   590,
   10206             :      591,   592,   593,     0,   594,   899,   900,     0,     0,   597,
   10207             :      598,     0,   600,     0,     0,   602,   603,   604,   605,   606,
   10208             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
   10209             :      615,     0,     0,   616,   617,   618,   619,   620,     0,   901,
   10210             :     2736,   623,   624,   625,   626,   627,   628,   629,     0,     0,
   10211             :      630,     0,     0,   631,   632,   633,   634,   635,   636,     0,
   10212             :        0,     0,  3957,     0,     0,     0,     0,     0,     0,     0,
   10213             :      648,   649,   650,     0,     0,     0,     0,     0,     0,   235,
   10214             :      236,   237,   238,   239,   240,   241,   242,   243,  2737,   244,
   10215             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   10216             :      248,   249,     0,   250,   251,   252,   253,   254,   255,   256,
   10217             :      257,     0,   880,   260,   881,   882,     0,   263,   264,   265,
   10218             :      266,   267,   268,   269,     0,     0,   270,   271,   883,   884,
   10219             :      274,     0,   275,   276,   277,   278,     0,     0,   280,     0,
   10220             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   10221             :      291,     0,   292,   293,   294,   295,   296,   297,     0,   298,
   10222             :      299,   300,   301,     0,     0,     0,   302,     0,     0,     0,
   10223             :      303,   304,   305,   306,   307,   308,   885,   886,   311,     0,
   10224             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   10225             :      320,   321,   322,   323,     0,     0,   324,   325,   887,   327,
   10226             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   10227             :      336,   337,     0,   338,   339,   340,   341,     0,   343,   344,
   10228             :      345,   346,     0,     0,   348,     0,   349,   350,   351,   888,
   10229             :      353,     0,   354,     0,   355,   356,   357,     0,   358,   359,
   10230             :      360,   361,   362,     0,   363,     0,     0,     0,   366,   367,
   10231             :        0,   368,   369,   370,   371,   372,   373,   374,   375,   376,
   10232             :      377,  2731,   378,   379,   380,   381,   382,   383,   384,   385,
   10233             :        0,   386,   387,  2732,   389,   390,   391,   392,   889,   890,
   10234             :        0,   891,     0,   396,   397,   398,   399,   400,   892,     0,
   10235             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   412,
   10236             :      413,   414,   415,   416,   417,   418,     0,     0,   419,     0,
   10237             :      421,   422,   423,     0,   424,   425,   426,     0,     0,   427,
   10238             :      428,   429,   430,   431,   432,   433,   434,   435,   436,     0,
   10239             :      438,   439,   440,   441,   442,   443,   444,   445,   893,   447,
   10240             :      894,   449,   450,   451,   452,   453,   454,   455,   456,     0,
   10241             :        0,   459,     0,   460,   461,   462,   463,     0,     0,   465,
   10242             :      895,   467,   468,   469,   470,     0,   471,   472,   473,     0,
   10243             :        0,   474,   475,   476,     0,  2733,   477,   478,  2734,   480,
   10244             :      481,   482,     0,   484,   485,   486,   487,   488,   489,   490,
   10245             :      491,   492,   493,   494,   495,     0,   496,   497,   498,     0,
   10246             :      500,     0,   502,   503,   504,     0,   505,   506,   507,   508,
   10247             :      509,   510,   511,   512,   513,   514,   515,   896,   517,   518,
   10248             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   10249             :      528,   529,   530,   531,   532,     0,   533,   534,   535,   536,
   10250             :      537,   538,   539,   540,     0,   542,   543,   544,   545,   546,
   10251             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   10252             :      556,     0,   557,   558,  2735,   560,   561,   562,   563,   564,
   10253             :      898,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   10254             :      574,   575,   576,   577,   578,   579,   580,   581,     0,   583,
   10255             :        0,   584,   585,     0,     0,   586,   587,   588,   589,   590,
   10256             :      591,   592,   593,     0,   594,   899,   900,     0,     0,   597,
   10257             :      598,     0,   600,     0,     0,   602,   603,   604,   605,   606,
   10258             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
   10259             :      615,     0,     0,   616,   617,   618,   619,   620,     0,   901,
   10260             :     2736,   623,   624,   625,   626,   627,   628,   629,     0,     0,
   10261             :      630,     0,     0,   631,   632,   633,   634,   635,   636,     0,
   10262             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   10263             :      648,   649,   650,   967,     0,  1603,   717,     0,     0,     0,
   10264             :        0,   778,     0,     0,     0,     0,     0,     0,  2737,     0,
   10265             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   10266             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   10267             :      247,   248,   249,     0,   250,   251,   252,   253,   254,   255,
   10268             :      256,   257,   258,   259,   260,   261,   262,     0,   263,   264,
   10269             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   10270             :      273,   274,     0,   275,   276,   277,   278,   279,     0,   280,
   10271             :        0,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   10272             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   10273             :      298,   299,   300,   301,     0,     0,     0,   302,     0,     0,
   10274             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   10275             :     2622,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   10276             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   10277             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   10278             :      335,   336,   337,     0,   338,   339,   340,   341,   342,   343,
   10279             :      344,   345,   346,   347,  1829,   348,     0,   349,   350,   351,
   10280             :      352,   353,     0,   354,     0,   355,   356,   357,     0,   358,
   10281             :      359,   360,   361,   362,     0,   363,   364,     0,   365,   366,
   10282             :      367,     0,   368,   369,   370,   371,   372,   373,   374,   375,
   10283             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
   10284             :      385,     0,   386,   387,   388,   389,   390,   391,   392,   393,
   10285             :      394,     0,   395,     0,   396,   397,   398,   399,   400,   401,
   10286             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   10287             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
   10288             :      420,   421,   422,   423,     0,   424,   425,   426,     0,     0,
   10289             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   10290             :      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
   10291             :      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   10292             :      457,   458,   459,     0,   460,   461,   462,   463,     0,   464,
   10293             :      465,   466,   467,   468,   469,   470,     0,   471,   472,   473,
   10294             :     1830,     0,   474,   475,   476,     0,     0,   477,   478,   479,
   10295             :      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
   10296             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
   10297             :      499,   500,   501,   502,   503,   504,     0,   505,   506,   507,
   10298             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   10299             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   10300             :      527,   528,   529,   530,   531,   532,     0,   533,   534,   535,
   10301             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   10302             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   10303             :      555,   556,     0,   557,   558,   559,   560,   561,   562,   563,
   10304             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   10305             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   10306             :      583,     0,   584,   585,     0,     0,   586,   587,   588,   589,
   10307             :      590,   591,   592,   593,     0,   594,   595,   596,     0,     0,
   10308             :      597,   598,   599,   600,   601,  1831,   602,   603,   604,   605,
   10309             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
   10310             :      614,   615,     0,     0,   616,   617,   618,   619,   620,   621,
   10311             :      622,     0,   623,   624,   625,   626,   627,   628,   629,     0,
   10312             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   10313             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   10314             :      647,   648,   649,   650,   967,     0,  1603,   717,     0,     0,
   10315             :        0,     0,   778,     0,     0,     0,     0,  1604,  1605,     0,
   10316             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   10317             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   10318             :        0,   247,   248,   249,     0,   250,   251,   252,   253,   254,
   10319             :      255,   256,   257,   258,   259,   260,   261,   262,     0,   263,
   10320             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   10321             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
   10322             :      280,     0,   281,   282,   283,   284,   285,   286,   287,   288,
   10323             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   10324             :        0,   298,   299,   300,   301,     0,     0,     0,   302,     0,
   10325             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
   10326             :      311,  2627,   312,     0,   313,   314,   315,   316,   317,   318,
   10327             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   10328             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   10329             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
   10330             :      343,   344,   345,   346,   347,  1829,   348,     0,   349,   350,
   10331             :      351,   352,   353,     0,   354,     0,   355,   356,   357,     0,
   10332             :      358,   359,   360,   361,   362,     0,   363,   364,     0,   365,
   10333             :      366,   367,     0,   368,   369,   370,   371,   372,   373,   374,
   10334             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
   10335             :      384,   385,     0,   386,   387,   388,   389,   390,   391,   392,
   10336             :      393,   394,     0,   395,     0,   396,   397,   398,   399,   400,
   10337             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   10338             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
   10339             :      419,   420,   421,   422,   423,     0,   424,   425,   426,     0,
   10340             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   10341             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   10342             :      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
   10343             :      456,   457,   458,   459,     0,   460,   461,   462,   463,     0,
   10344             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
   10345             :      473,  1830,     0,   474,   475,   476,     0,     0,   477,   478,
   10346             :      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
   10347             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
   10348             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
   10349             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   10350             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   10351             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   10352             :      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   10353             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   10354             :      554,   555,   556,     0,   557,   558,   559,   560,   561,   562,
   10355             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   10356             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   10357             :      582,   583,     0,   584,   585,     0,     0,   586,   587,   588,
   10358             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
   10359             :        0,   597,   598,   599,   600,   601,  1831,   602,   603,   604,
   10360             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
   10361             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
   10362             :      621,   622,     0,   623,   624,   625,   626,   627,   628,   629,
   10363             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   10364             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   10365             :      646,   647,   648,   649,   650,   967,     0,  1603,   717,     0,
   10366             :        0,     0,     0,   778,     0,     0,     0,     0,  1604,  1605,
   10367             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   10368             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   10369             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   10370             :      254,   255,   256,   257,   258,   259,   260,   261,   262,     0,
   10371             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   10372             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
   10373             :        0,   280,     0,   281,   282,   283,   284,   285,   286,   287,
   10374             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   10375             :      297,     0,   298,   299,   300,   301,     0,     0,     0,   302,
   10376             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   10377             :      310,   311,  3565,   312,     0,   313,   314,   315,   316,   317,
   10378             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   10379             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   10380             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
   10381             :      342,   343,   344,   345,   346,   347,  1829,   348,     0,   349,
   10382             :      350,   351,   352,   353,     0,   354,     0,   355,   356,   357,
   10383             :        0,   358,   359,   360,   361,   362,     0,   363,   364,     0,
   10384             :      365,   366,   367,     0,   368,   369,   370,   371,   372,   373,
   10385             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
   10386             :      383,   384,   385,     0,   386,   387,   388,   389,   390,   391,
   10387             :      392,   393,   394,     0,   395,     0,   396,   397,   398,   399,
   10388             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   10389             :      410,   411,   412,   413,   414,   415,   416,   417,   418,     0,
   10390             :        0,   419,   420,   421,   422,   423,     0,   424,   425,   426,
   10391             :        0,     0,   427,   428,   429,   430,   431,   432,   433,   434,
   10392             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   10393             :      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
   10394             :      455,   456,   457,   458,   459,     0,   460,   461,   462,   463,
   10395             :        0,   464,   465,   466,   467,   468,   469,   470,     0,   471,
   10396             :      472,   473,  1830,     0,   474,   475,   476,     0,     0,   477,
   10397             :      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
   10398             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
   10399             :      497,   498,   499,   500,   501,   502,   503,   504,     0,   505,
   10400             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   10401             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   10402             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   10403             :      534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
   10404             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   10405             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
   10406             :      562,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   10407             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   10408             :      581,   582,   583,     0,   584,   585,     0,     0,   586,   587,
   10409             :      588,   589,   590,   591,   592,   593,     0,   594,   595,   596,
   10410             :        0,     0,   597,   598,   599,   600,   601,  1831,   602,   603,
   10411             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
   10412             :      612,   613,   614,   615,     0,     0,   616,   617,   618,   619,
   10413             :      620,   621,   622,     0,   623,   624,   625,   626,   627,   628,
   10414             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   10415             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   10416             :      645,   646,   647,   648,   649,   650,   967,     0,  1603,   717,
   10417             :        0,     0,     0,     0,   778,     0,     0,     0,     0,  1604,
   10418             :     1605,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   10419             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
   10420             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   10421             :      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
   10422             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   10423             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   10424             :      279,     0,   280,     0,   281,   282,   283,   284,   285,   286,
   10425             :      287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   10426             :      296,   297,     0,   298,   299,   300,   301,     0,     0,     0,
   10427             :      302,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   10428             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
   10429             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   10430             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   10431             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
   10432             :      341,   342,   343,   344,   345,   346,   347,  1829,   348,     0,
   10433             :      349,   350,   351,   352,   353,     0,   354,     0,   355,   356,
   10434             :      357,     0,   358,   359,   360,   361,   362,     0,   363,   364,
   10435             :        0,   365,   366,   367,     0,   368,   369,   370,   371,   372,
   10436             :      373,   374,   375,   376,   377,     0,   378,   379,   380,   381,
   10437             :      382,   383,   384,   385,     0,   386,   387,   388,   389,   390,
   10438             :      391,   392,   393,   394,     0,   395,     0,   396,   397,   398,
   10439             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   10440             :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
   10441             :        0,     0,   419,   420,   421,   422,   423,     0,   424,   425,
   10442             :      426,     0,     0,   427,   428,   429,   430,   431,   432,   433,
   10443             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   10444             :      444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
   10445             :      454,   455,   456,   457,   458,   459,     0,   460,   461,   462,
   10446             :      463,     0,   464,   465,   466,   467,   468,   469,   470,     0,
   10447             :      471,   472,   473,  1830,     0,   474,   475,   476,     0,     0,
   10448             :      477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
   10449             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
   10450             :      496,   497,   498,   499,   500,   501,   502,   503,   504,     0,
   10451             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   10452             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   10453             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   10454             :      533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
   10455             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   10456             :      552,   553,   554,   555,   556,     0,   557,   558,   559,   560,
   10457             :      561,   562,   563,   564,   565,   566,     0,   567,   568,   569,
   10458             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   10459             :      580,   581,   582,   583,     0,   584,   585,     0,     0,   586,
   10460             :      587,   588,   589,   590,   591,   592,   593,     0,   594,   595,
   10461             :      596,     0,     0,   597,   598,   599,   600,   601,  1831,   602,
   10462             :      603,   604,   605,   606,   607,   608,   609,   610,     0,     0,
   10463             :      611,   612,   613,   614,   615,     0,     0,   616,   617,   618,
   10464             :      619,   620,   621,   622,     0,   623,   624,   625,   626,   627,
   10465             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   10466             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   10467             :      644,   645,   646,   647,   648,   649,   650,   658,     0,     0,
   10468             :        0,     0,     0,     0,     0,   778,     0,     0,     0,     0,
   10469             :     1604,  1605,     0,     0,   235,   236,   779,   238,   239,   240,
   10470             :      241,   242,   243,   780,   244,   245,   246,     0,     0,     0,
   10471             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   10472             :      252,   253,     0,   781,   256,   257,   258,   259,     0,   261,
   10473             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   10474             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   10475             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
   10476             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
   10477             :      295,   296,   297,     0,     0,   299,   300,   301,     0,     0,
   10478             :        0,     0,     0,     0,     0,   303,   304,   305,   306,   307,
   10479             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   10480             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   10481             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   10482             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
   10483             :      340,   341,   342,   343,   344,   345,   346,   347,     0,   348,
   10484             :        0,   349,   350,   782,   352,   353,     0,   354,     0,   355,
   10485             :      783,     0,   784,     0,   359,   360,   361,   362,     0,   363,
   10486             :      364,     0,   365,   366,   367,     0,   368,   369,   370,   371,
   10487             :      372,     0,   374,   375,   376,   377,   785,   378,   379,   380,
   10488             :      381,   382,   383,   384,   385,     0,   386,     0,   388,   389,
   10489             :      390,   391,   392,   393,   394,     0,   395,     0,   396,     0,
   10490             :        0,   399,     0,   401,   402,   403,   404,   405,   406,   407,
   10491             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   10492             :      786,     0,     0,   419,   420,     0,   422,     0,     0,   424,
   10493             :      425,   426,     0,     0,   427,   428,   429,   430,   431,   432,
   10494             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   10495             :      443,   444,   445,   446,     0,   448,   449,   450,   787,   452,
   10496             :      453,   454,   455,   456,   457,   458,   459,     0,   460,   461,
   10497             :        0,   463,     0,   464,   465,   466,   467,   468,   469,   470,
   10498             :        0,   471,   472,   473,     0,     0,   474,   475,   476,     0,
   10499             :        0,   477,   478,   479,     0,   481,     0,   483,   484,   485,
   10500             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
   10501             :        0,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   10502             :        0,   788,   506,   507,   508,   509,   510,   511,   512,   513,
   10503             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
   10504             :      789,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   10505             :        0,   533,   534,     0,   536,   537,   538,   539,   540,   541,
   10506             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   10507             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   559,
   10508             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
   10509             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   10510             :      579,   580,   581,   582,   583,     0,   584,   585,     0,     0,
   10511             :      586,     0,   588,   589,   590,   591,   592,   593,     0,   594,
   10512             :      595,   596,     0,     0,   597,   598,   599,   600,   601,     0,
   10513             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
   10514             :        0,   611,   612,   613,   614,   615,     0,     0,   616,   617,
   10515             :      618,   619,   620,   621,   622,     0,   623,     0,   625,   626,
   10516             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   10517             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   10518             :      643,   644,   645,   646,   647,   648,   649,   650,   967,     0,
   10519             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   10520             :        0,   790,   791,     0,     0,   235,   236,   237,   238,   239,
   10521             :      240,   241,   242,   243,     0,   244,   245,   246,     3,     4,
   10522             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   10523             :      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
   10524             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   10525             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
   10526             :      277,   278,   279,     0,   280,     0,   281,   282,   283,   284,
   10527             :      285,   286,   287,   288,   289,   290,   291,     0,   292,   293,
   10528             :      294,   295,   296,   297,     0,   298,   299,   300,   301,     0,
   10529             :        0,     0,   302,     0,     0,     0,   303,   304,   305,   306,
   10530             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   10531             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   10532             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   10533             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
   10534             :      339,   340,   341,   342,   343,   344,   345,   346,   347,     0,
   10535             :      348,     0,   349,   350,   351,   352,   353,     0,   354,     0,
   10536             :      355,   356,   357,     0,   358,   359,   360,   361,   362,     0,
   10537             :      363,   364,     0,   365,   366,   367,     0,   368,   369,   370,
   10538             :      371,   372,   373,   374,   375,   376,   377,     0,   378,   379,
   10539             :      380,   381,   382,   383,   384,   385,     0,   386,   387,   388,
   10540             :      389,   390,   391,   392,   393,   394,     0,   395,     0,   396,
   10541             :      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
   10542             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   10543             :      417,   418,     0,     0,   419,   420,   421,   422,   423,     0,
   10544             :      424,   425,   426,     0,     0,   427,   428,   429,   430,   431,
   10545             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   10546             :      442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
   10547             :      452,   453,   454,   455,   456,   457,   458,   459,     0,   460,
   10548             :      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
   10549             :      470,     0,   471,   472,   473,     0,     0,   474,   475,   476,
   10550             :        0,     0,   477,   478,   479,   480,   481,   482,   483,   484,
   10551             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   10552             :      495,     0,   496,   497,   498,   499,   500,   501,   502,   503,
   10553             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
   10554             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
   10555             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   10556             :      532,     0,   533,   534,   535,   536,   537,   538,   539,   540,
   10557             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   10558             :      551,     0,   552,   553,   554,   555,   556,     0,   557,   558,
   10559             :      559,   560,   561,   562,   563,   564,   565,   566,     0,   567,
   10560             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   10561             :      578,   579,   580,   581,   582,   583,     0,   584,   585,     0,
   10562             :        0,   586,   587,   588,   589,   590,   591,   592,   593,     0,
   10563             :      594,   595,   596,     0,     0,   597,   598,   599,   600,   601,
   10564             :        0,   602,   603,   604,   605,   606,   607,   608,   609,   610,
   10565             :        0,     0,   611,   612,   613,   614,   615,     0,     0,   616,
   10566             :      617,   618,   619,   620,   621,   622,     0,   623,   624,   625,
   10567             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   10568             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
   10569             :      642,   643,   644,   645,   646,   647,   648,   649,   650,  1046,
   10570             :     1740,     0,  6431,   717,     0,     0,     0,     0,   778,     0,
   10571             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   10572             :      238,   239,   240,   241,   242,   243,  1741,   244,   245,   246,
   10573             :     1742,  1743,  1744,  1745,  1746,  1747,  1748,   247,   248,   249,
   10574             :     1749,   250,   251,   252,   253,   254,   255,   256,   257,   258,
   10575             :      259,   260,   261,   262,  1750,   263,   264,   265,   266,   267,
   10576             :      268,   269,  1751,  1752,   270,   271,   272,   273,   274,  1753,
   10577             :      275,   276,   277,   278,   279,  1754,   280,  1755,   281,   282,
   10578             :      283,   284,   285,   286,   287,   288,   289,   290,   291,  1756,
   10579             :      292,   293,   294,   295,   296,   297,  1757,   298,   299,   300,
   10580             :      301,  1758,  1759,  1760,   302,  1761,  1762,  1763,   303,   304,
   10581             :      305,   306,   307,   308,   309,   310,   311,  1764,   312,  1765,
   10582             :      313,   314,   315,   316,   317,   318,   319,  1766,   320,   321,
   10583             :      322,   323,  1767,  1768,   324,   325,   326,   327,   328,  1769,
   10584             :      329,   330,   331,   332,  1770,   333,   334,   335,   336,   337,
   10585             :     1771,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   10586             :      347,  1772,   348,  1773,   349,   350,   351,   352,   353,  1774,
   10587             :      354,  1775,   355,   356,   357,  1776,   358,   359,   360,   361,
   10588             :      362,  1777,   363,   364,  1778,   365,   366,   367,  1779,   368,
   10589             :      369,   370,   371,   372,   373,   374,   375,   376,   377,  1780,
   10590             :      378,   379,   380,   381,   382,   383,   384,   385,  1781,   386,
   10591             :      387,   388,   389,   390,   391,   392,   393,   394,  1782,   395,
   10592             :     1783,   396,   397,   398,   399,   400,   401,   402,   403,   404,
   10593             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   10594             :      415,   416,   417,   418,  1784,  1785,   419,   420,   421,   422,
   10595             :      423,  1786,   424,   425,   426,  1787,  1788,   427,   428,   429,
   10596             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   10597             :      440,   441,   442,   443,   444,   445,   446,   447,   448,   449,
   10598             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   10599             :     1789,   460,   461,   462,   463,  1790,   464,   465,   466,   467,
   10600             :      468,   469,   470,  1791,   471,   472,   473,  1792,  1793,   474,
   10601             :      475,   476,  1794,  1795,   477,   478,   479,   480,   481,   482,
   10602             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   10603             :      493,   494,   495,  1796,   496,   497,   498,   499,   500,   501,
   10604             :      502,   503,   504,  1797,   505,   506,   507,   508,   509,   510,
   10605             :      511,   512,   513,   514,   515,   516,   517,   518,   519,  1798,
   10606             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   10607             :      530,   531,   532,  1799,   533,   534,   535,   536,   537,   538,
   10608             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
   10609             :      549,   550,   551,  1800,   552,   553,   554,   555,   556,  1801,
   10610             :      557,   558,   559,   560,   561,   562,   563,   564,   565,   566,
   10611             :     1802,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   10612             :      576,   577,   578,   579,   580,   581,   582,   583,  1803,   584,
   10613             :      585,  1804,  1805,   586,   587,   588,   589,   590,   591,   592,
   10614             :      593,  1806,   594,   595,   596,  1807,  1808,   597,   598,   599,
   10615             :      600,   601,  1809,   602,   603,   604,   605,   606,   607,   608,
   10616             :      609,   610,  1810,  1811,   611,   612,   613,   614,   615,  1812,
   10617             :     1813,   616,   617,   618,   619,   620,   621,   622,  1814,   623,
   10618             :      624,   625,   626,   627,   628,   629,  1815,  1816,   630,  1817,
   10619             :     1818,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   10620             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   10621             :      650,  1740,     0,     0,     0,     0,     0,     0,     0,     0,
   10622             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   10623             :      237,   238,   239,   240,   241,   242,   243,  1741,   244,   245,
   10624             :      246,  1742,  1743,  1744,  1745,  1746,  1747,  1748,   247,   248,
   10625             :      249,  1749,   250,   251,   252,   253,   254,   255,   256,   257,
   10626             :      258,   259,   260,   261,   262,  1750,   263,   264,   265,   266,
   10627             :      267,   268,   269,  1751,  1752,   270,   271,   272,   273,   274,
   10628             :     1753,   275,   276,   277,   278,   279,  1754,   280,  1755,   281,
   10629             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   10630             :     1756,   292,   293,   294,   295,   296,   297,  1757,   298,   299,
   10631             :      300,   301,  1758,  1759,  1760,   302,  1761,  1762,  1763,   303,
   10632             :      304,   305,   306,   307,   308,   309,   310,   311,  1764,   312,
   10633             :     1765,   313,   314,   315,   316,   317,   318,   319,  1766,   320,
   10634             :      321,   322,   323,  1767,  1768,   324,   325,   326,   327,   328,
   10635             :     1769,   329,   330,   331,   332,  1770,   333,   334,   335,   336,
   10636             :      337,  1771,   338,   339,   340,   341,   342,   343,   344,   345,
   10637             :      346,   347,  1772,   348,  1773,   349,   350,   351,   352,   353,
   10638             :     1774,   354,  1775,   355,   356,   357,  1776,   358,   359,   360,
   10639             :      361,   362,  1777,   363,   364,  1778,   365,   366,   367,  1779,
   10640             :      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
   10641             :     1780,   378,   379,   380,   381,   382,   383,   384,   385,  1781,
   10642             :      386,   387,   388,   389,   390,   391,   392,   393,   394,  1782,
   10643             :      395,  1783,   396,   397,   398,   399,   400,   401,   402,   403,
   10644             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   10645             :      414,   415,   416,   417,   418,  1784,  1785,   419,   420,   421,
   10646             :      422,   423,  1786,   424,   425,   426,  1787,  1788,   427,   428,
   10647             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   10648             :      439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
   10649             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   10650             :      459,  1789,   460,   461,   462,   463,  1790,   464,   465,   466,
   10651             :      467,   468,   469,   470,  1791,   471,   472,   473,  1792,  1793,
   10652             :      474,   475,   476,  1794,  1795,   477,   478,   479,   480,   481,
   10653             :      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   10654             :      492,   493,   494,   495,  1796,   496,   497,   498,   499,   500,
   10655             :      501,   502,   503,   504,  1797,   505,   506,   507,   508,   509,
   10656             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   10657             :     1798,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   10658             :      529,   530,   531,   532,  1799,   533,   534,   535,   536,   537,
   10659             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   10660             :      548,   549,   550,   551,  1800,   552,   553,   554,   555,   556,
   10661             :     1801,   557,   558,   559,   560,   561,   562,   563,   564,   565,
   10662             :      566,  1802,   567,   568,   569,   570,   571,   572,   573,   574,
   10663             :      575,   576,   577,   578,   579,   580,   581,   582,   583,  1803,
   10664             :      584,   585,  1804,  1805,   586,   587,   588,   589,   590,   591,
   10665             :      592,   593,  1806,   594,   595,   596,  1807,  1808,   597,   598,
   10666             :      599,   600,   601,  1809,   602,   603,   604,   605,   606,   607,
   10667             :      608,   609,   610,  1810,  1811,   611,   612,   613,   614,   615,
   10668             :     1812,  1813,   616,   617,   618,   619,   620,   621,   622,  1814,
   10669             :      623,   624,   625,   626,   627,   628,   629,  1815,  1816,   630,
   10670             :     1817,  1818,   631,   632,   633,   634,   635,   636,   637,   638,
   10671             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   10672             :      649,   650,  1740,     0,     0,     0,     0,     0,     0,     0,
   10673             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   10674             :      236,   237,   238,   239,  3674,   241,   242,   243,  1741,   244,
   10675             :      245,   246,  1742,  1743,  1744,  1745,  1746,  1747,  1748,   247,
   10676             :      248,   249,  1749,   250,   251,   252,   253,   254,   255,   256,
   10677             :      257,   258,   259,   260,   261,   262,  1750,   263,   264,   265,
   10678             :      266,   267,   268,   269,  1751,  1752,   270,   271,   272,   273,
   10679             :      274,  1753,   275,   276,   277,   278,   279,  1754,   280,  1755,
   10680             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   10681             :      291,  1756,   292,   293,   294,   295,   296,   297,  1757,   298,
   10682             :      299,   300,   301,  1758,  1759,  1760,   302,  1761,  1762,  1763,
   10683             :      303,   304,   305,   306,   307,   308,   309,   310,   311,  1764,
   10684             :      312,  1765,   313,   314,   315,   316,   317,   318,   319,  1766,
   10685             :      320,   321,   322,   323,  1767,  1768,   324,   325,   326,  3675,
   10686             :      328,  1769,   329,   330,   331,   332,  1770,   333,   334,   335,
   10687             :      336,   337,  1771,   338,   339,   340,   341,   342,   343,   344,
   10688             :      345,   346,   347,  1772,   348,  1773,   349,   350,   351,   352,
   10689             :      353,  1774,   354,  1775,   355,   356,   357,  1776,   358,   359,
   10690             :      360,   361,   362,  1777,   363,   364,  1778,   365,   366,   367,
   10691             :     1779,   368,   369,   370,   371,   372,   373,   374,   375,   376,
   10692             :      377,  1780,   378,   379,   380,   381,   382,   383,   384,   385,
   10693             :     1781,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   10694             :     1782,   395,  1783,   396,   397,   398,   399,   400,   401,   402,
   10695             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   10696             :      413,   414,   415,   416,   417,   418,  1784,  1785,   419,   420,
   10697             :      421,   422,   423,  1786,   424,   425,   426,  1787,  1788,   427,
   10698             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   10699             :      438,   439,   440,   441,   442,   443,   444,   445,   446,   447,
   10700             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   10701             :      458,   459,  1789,   460,   461,   462,   463,  1790,   464,   465,
   10702             :      466,   467,   468,   469,   470,  1791,   471,   472,   473,  1792,
   10703             :     1793,   474,   475,   476,  1794,  1795,   477,   478,   479,   480,
   10704             :      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
   10705             :      491,   492,   493,   494,   495,  1796,   496,   497,   498,   499,
   10706             :      500,   501,   502,   503,   504,  1797,   505,   506,   507,   508,
   10707             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   10708             :      519,  1798,   520,   521,   522,   523,   524,   525,   526,   527,
   10709             :      528,   529,   530,   531,   532,  1799,   533,   534,   535,   536,
   10710             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   10711             :      547,   548,   549,   550,   551,  1800,   552,   553,   554,   555,
   10712             :      556,  1801,  3676,   558,   559,   560,   561,   562,   563,   564,
   10713             :      565,   566,  1802,   567,   568,   569,   570,   571,   572,   573,
   10714             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   10715             :     1803,   584,   585,  1804,  1805,   586,   587,   588,   589,   590,
   10716             :      591,   592,   593,  1806,   594,   595,   596,  1807,  1808,   597,
   10717             :      598,   599,   600,   601,  1809,   602,   603,   604,   605,   606,
   10718             :      607,   608,   609,   610,  1810,  1811,   611,   612,   613,   614,
   10719             :      615,  1812,  1813,   616,   617,   618,   619,   620,   621,   622,
   10720             :     1814,   623,   624,   625,   626,   627,   628,   629,  1815,  1816,
   10721             :      630,  1817,  1818,   631,   632,   633,   634,   635,   636,   637,
   10722             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   10723             :      648,   649,   650,   234,     0,     0,     0,     0,     0,     0,
   10724             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   10725             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   10726             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   10727             :      247,   248,   249,     0,   250,   251,   252,   253,   254,   255,
   10728             :      256,   257,   258,   259,   260,   261,   262,     0,   263,   264,
   10729             :      265,   266,   267,   268,   269,     0,  1281,   270,   271,   272,
   10730             :      273,   274,     0,   275,   276,   277,   278,  1284,     0,  1285,
   10731             :        0,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   10732             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   10733             :      298,   299,   300,   301,  1286,  1287,  1288,  1289,  1290,  1291,
   10734             :     1292,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   10735             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   10736             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   10737             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   10738             :      335,   336,   337,     0,   338,   339,   340,   341,   342,   343,
   10739             :      344,   345,   346,  1297,     0,   348,     0,   349,   350,   351,
   10740             :      352,   353,     0,   354,     0,   355,   356,   357,     0,   358,
   10741             :      359,   360,   361,   362,     0,   363,  1300,     0,   365,   366,
   10742             :      367,     0,   368,   369,   370,   371,   372,   373,   374,   375,
   10743             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
   10744             :      385,     0,   386,   387,   388,   389,   390,   391,   392,   393,
   10745             :      394,     0,   395,     0,   396,   397,   398,   399,   400,  3470,
   10746             :     1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,   410,  1314,
   10747             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
   10748             :     1315,   421,   422,   423,     0,   424,   425,   426,  1316,  1317,
   10749             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   10750             :     1318,   438,   439,   440,   441,   442,   443,   444,   445,   446,
   10751             :      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   10752             :      457,  1321,   459,     0,   460,   461,   462,   463,     0,  1324,
   10753             :      465,   466,   467,   468,   469,   470,     0,   471,   472,   473,
   10754             :        0,     0,   474,   475,   476,     0,     0,   477,   478,   479,
   10755             :      480,   481,   482,  1327,   484,   485,   486,   487,   488,   489,
   10756             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
   10757             :     1328,   500,   501,   502,   503,   504,     0,   505,   506,   507,
   10758             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   10759             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   10760             :      527,   528,   529,   530,   531,   532,     0,   533,   534,   535,
   10761             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   10762             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   10763             :      555,   556,  1331,   557,   558,   559,   560,   561,   562,   563,
   10764             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   10765             :      573,   574,   575,   576,   577,   578,   579,   580,   581,  1333,
   10766             :      583,     0,   584,   585,  1334,     0,   586,   587,   588,   589,
   10767             :      590,   591,   592,   593,     0,   594,   595,   596,     0,     0,
   10768             :      597,   598,  1337,   600,  1338,     0,   602,   603,   604,   605,
   10769             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
   10770             :      614,   615,  1341,     0,   616,   617,   618,   619,   620,   621,
   10771             :      622,     0,   623,   624,   625,   626,   627,   628,   629,     0,
   10772             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   10773             :      637,  1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,  1350,
   10774             :      647,   648,   649,   650,   234,     0,  1271,   717,     0,  1272,
   10775             :     1273,     0,   778,     0,     0,     0,     0,     0,     0,     0,
   10776             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   10777             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   10778             :        0,   247,   248,   249,     0,   250,   251,   252,   253,   254,
   10779             :      255,   256,   257,   258,  1277,   260,  1278,  1279,     0,   263,
   10780             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   10781             :     1282,  1283,   274,     0,   275,   276,   277,   278,   279,     0,
   10782             :      280,     0,   281,   282,   283,   284,   285,   286,   287,   288,
   10783             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   10784             :        0,   298,   299,   300,   301,     0,     0,     0,   302,     0,
   10785             :        0,     0,   303,   304,   305,   306,   307,   308,  1293,  1294,
   10786             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   10787             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   10788             :      887,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   10789             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
   10790             :      343,   344,   345,   346,   347,  1298,   348,     0,   349,   350,
   10791             :      351,  1299,   353,     0,   354,     0,   355,   356,   357,     0,
   10792             :      358,   359,   360,   361,   362,     0,   363,   364,     0,   365,
   10793             :      366,   367,     0,   368,   369,   370,   371,   372,   373,   374,
   10794             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
   10795             :      384,   385,     0,   386,   387,   388,   389,   390,   391,   392,
   10796             :     1302,  1303,     0,  1304,     0,   396,   397,   398,   399,   400,
   10797             :     6403,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   10798             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
   10799             :      419,   420,   421,   422,   423,     0,   424,   425,   426,     0,
   10800             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   10801             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   10802             :     1319,   447,  1320,   449,   450,   451,   452,   453,   454,   455,
   10803             :      456,   457,   458,   459,     0,   460,   461,   462,   463,  1323,
   10804             :      464,   465,  1325,   467,   468,   469,   470,     0,   471,   472,
   10805             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
   10806             :      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
   10807             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
   10808             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
   10809             :      507,   508,   509,   510,   511,   512,   513,   514,   515,  1329,
   10810             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   10811             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   10812             :      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   10813             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   10814             :      554,   555,   556,     0,   557,   558,   559,   560,   561,   562,
   10815             :      563,   564,  1332,   566,     0,   567,   568,   569,   570,   571,
   10816             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   10817             :      582,   583,     0,   584,   585,     0,     0,   586,   587,   588,
   10818             :      589,   590,   591,   592,   593,     0,   594,  1335,  1336,     0,
   10819             :        0,   597,   598,   599,   600,   601,  1339,   602,   603,   604,
   10820             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
   10821             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
   10822             :      621,  1342,     0,   623,   624,   625,   626,   627,   628,   629,
   10823             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   10824             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   10825             :      646,   647,   648,   649,   650,   967,     0,     0,     0,     0,
   10826             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   10827             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   10828             :      243,  1006,   244,   245,   246,     0,     0,     0,     0,     0,
   10829             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   10830             :      254,   255,   256,   257,   258,   259,   260,   261,   262,     0,
   10831             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   10832             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
   10833             :        0,   280,     0,   281,   282,   283,   284,   285,   286,   287,
   10834             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   10835             :      297,     0,   298,   299,   300,   301,     0,     0,   968,   302,
   10836             :        0,     0,   969,   303,   304,   305,   306,   307,   308,   309,
   10837             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   10838             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   10839             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   10840             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
   10841             :      342,   343,   344,   345,   346,   347,     0,   348,     0,   349,
   10842             :      350,   351,   352,   353,     0,   354,     0,   355,   356,   357,
   10843             :        0,   358,   359,   360,   361,   362,     0,   363,   364,     0,
   10844             :      365,   366,   367,     0,   368,   369,   370,   371,   372,   373,
   10845             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
   10846             :      383,   384,   385,     0,   386,   387,   388,   389,   390,   391,
   10847             :      392,   393,   394,     0,   395,     0,   396,   397,   398,   399,
   10848             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   10849             :      410,   411,   412,   413,   414,   415,   416,   417,   418,     0,
   10850             :        0,   419,   420,   421,   422,   423,     0,   424,   425,   426,
   10851             :        0,     0,   427,   428,   429,   430,   431,   432,   433,   434,
   10852             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   10853             :      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
   10854             :      455,   456,   457,   458,   459,     0,   460,   461,   462,   463,
   10855             :        0,   464,   465,   466,   467,   468,   469,   470,     0,   471,
   10856             :      472,   473,     0,     0,   474,   475,   476,     0,     0,   477,
   10857             :      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
   10858             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
   10859             :      497,   498,   499,   500,   501,   502,   503,   504,     0,   505,
   10860             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   10861             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   10862             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   10863             :      534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
   10864             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   10865             :      553,   554,   555,   556,   970,   557,   558,   559,   560,   561,
   10866             :      562,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   10867             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   10868             :      581,   582,   583,     0,   584,   585,     0,     0,   586,   587,
   10869             :      588,   589,   590,   591,   592,   593,     0,   594,   595,   596,
   10870             :        0,     0,   597,   598,   599,   600,   601,     0,   602,   603,
   10871             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
   10872             :      612,   613,   614,   615,     0,     0,   616,   617,   618,   619,
   10873             :      620,   621,   622,     0,   623,   624,   625,   626,   627,   628,
   10874             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   10875             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   10876             :      645,   646,   647,   648,   649,   650,   967,     0,     0,     0,
   10877             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   10878             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   10879             :      242,   243,  1027,   244,   245,   246,     0,     0,     0,     0,
   10880             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   10881             :      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
   10882             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   10883             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   10884             :      279,     0,   280,     0,   281,   282,   283,   284,   285,   286,
   10885             :      287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   10886             :      296,   297,     0,   298,   299,   300,   301,     0,     0,   968,
   10887             :      302,     0,     0,   969,   303,   304,   305,   306,   307,   308,
   10888             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
   10889             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   10890             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   10891             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
   10892             :      341,   342,   343,   344,   345,   346,   347,     0,   348,     0,
   10893             :      349,   350,   351,   352,   353,     0,   354,     0,   355,   356,
   10894             :      357,     0,   358,   359,   360,   361,   362,     0,   363,   364,
   10895             :        0,   365,   366,   367,     0,   368,   369,   370,   371,   372,
   10896             :      373,   374,   375,   376,   377,     0,   378,   379,   380,   381,
   10897             :      382,   383,   384,   385,     0,   386,   387,   388,   389,   390,
   10898             :      391,   392,   393,   394,     0,   395,     0,   396,   397,   398,
   10899             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   10900             :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
   10901             :        0,     0,   419,   420,   421,   422,   423,     0,   424,   425,
   10902             :      426,     0,     0,   427,   428,   429,   430,  1028,   432,   433,
   10903             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   10904             :      444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
   10905             :      454,   455,   456,   457,   458,   459,     0,   460,   461,   462,
   10906             :      463,     0,   464,   465,   466,   467,   468,   469,   470,     0,
   10907             :      471,   472,   473,     0,     0,   474,   475,   476,     0,     0,
   10908             :      477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
   10909             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
   10910             :      496,   497,   498,   499,   500,   501,   502,   503,   504,     0,
   10911             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   10912             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   10913             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   10914             :      533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
   10915             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   10916             :      552,   553,   554,   555,   556,   970,   557,   558,   559,   560,
   10917             :      561,   562,   563,   564,   565,   566,     0,   567,   568,   569,
   10918             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   10919             :      580,   581,   582,   583,     0,   584,   585,     0,     0,   586,
   10920             :      587,   588,   589,   590,   591,   592,   593,     0,   594,   595,
   10921             :      596,     0,     0,   597,   598,   599,   600,   601,     0,   602,
   10922             :      603,   604,   605,   606,   607,   608,   609,   610,     0,     0,
   10923             :      611,   612,   613,   614,   615,     0,     0,   616,   617,   618,
   10924             :      619,   620,   621,   622,     0,   623,   624,   625,   626,   627,
   10925             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   10926             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   10927             :      644,   645,   646,   647,   648,   649,   650,   967,     0,     0,
   10928             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   10929             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   10930             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
   10931             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   10932             :      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
   10933             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   10934             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   10935             :      278,   279,     0,   280,     0,   281,   282,   283,   284,   285,
   10936             :      286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
   10937             :      295,   296,   297,     0,   298,   299,   300,   301,     0,     0,
   10938             :      968,   302,     0,     0,   969,   303,   304,   305,   306,   307,
   10939             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   10940             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   10941             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   10942             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
   10943             :      340,   341,   342,   343,   344,   345,   346,   347,     0,   348,
   10944             :        0,   349,   350,   351,   352,   353,     0,   354,     0,   355,
   10945             :      356,   357,     0,   358,   359,   360,   361,   362,     0,   363,
   10946             :      364,     0,   365,   366,   367,     0,   368,   369,   370,   371,
   10947             :      372,   373,   374,   375,   376,   377,     0,   378,   379,   380,
   10948             :      381,   382,   383,   384,   385,     0,   386,   387,   388,   389,
   10949             :      390,   391,   392,   393,   394,     0,   395,     0,   396,   397,
   10950             :      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
   10951             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   10952             :      418,     0,     0,   419,   420,   421,   422,   423,     0,   424,
   10953             :      425,   426,     0,     0,   427,   428,   429,   430,   431,   432,
   10954             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   10955             :      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
   10956             :      453,   454,   455,   456,   457,   458,   459,     0,   460,   461,
   10957             :      462,   463,     0,   464,   465,   466,   467,   468,   469,   470,
   10958             :        0,   471,   472,   473,     0,     0,   474,   475,   476,     0,
   10959             :        0,   477,   478,   479,   480,   481,   482,   483,   484,   485,
   10960             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
   10961             :        0,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   10962             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   10963             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
   10964             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   10965             :        0,   533,   534,   535,   536,   537,   538,   539,   540,   541,
   10966             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   10967             :        0,   552,   553,   554,   555,   556,   970,   557,   558,   559,
   10968             :      560,   561,   562,   563,   564,   565,   566,     0,   567,   568,
   10969             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   10970             :      579,   580,   581,   582,   583,     0,   584,   585,     0,     0,
   10971             :      586,   587,   588,   589,   590,   591,   592,   593,     0,   594,
   10972             :      595,   596,     0,     0,   597,   598,   599,   600,   601,     0,
   10973             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
   10974             :        0,   611,   612,   613,   614,   615,  3003,     0,   616,   617,
   10975             :      618,   619,   620,   621,   622,     0,   623,   624,   625,   626,
   10976             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   10977             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   10978             :      643,   644,   645,   646,   647,   648,   649,   650,   967,     0,
   10979             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   10980             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
   10981             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
   10982             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   10983             :      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
   10984             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   10985             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
   10986             :      277,   278,   279,     0,   280,     0,   281,   282,   283,   284,
   10987             :      285,   286,   287,   288,   289,   290,   291,     0,   292,   293,
   10988             :      294,   295,   296,   297,     0,   298,   299,   300,   301,     0,
   10989             :        0,   968,   302,     0,     0,   969,   303,   304,   305,   306,
   10990             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   10991             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   10992             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   10993             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
   10994             :      339,   340,   341,   342,   343,   344,   345,   346,   347,     0,
   10995             :      348,     0,   349,   350,   351,   352,   353,     0,   354,     0,
   10996             :      355,   356,   357,     0,   358,   359,   360,   361,   362,     0,
   10997             :      363,   364,  4028,   365,   366,   367,     0,   368,   369,   370,
   10998             :      371,   372,   373,   374,   375,   376,   377,     0,   378,   379,
   10999             :      380,   381,   382,   383,   384,   385,     0,   386,   387,   388,
   11000             :      389,   390,   391,   392,   393,   394,     0,   395,     0,   396,
   11001             :      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
   11002             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   11003             :      417,   418,     0,     0,   419,   420,   421,   422,   423,     0,
   11004             :      424,   425,   426,     0,     0,   427,   428,   429,   430,   431,
   11005             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   11006             :      442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
   11007             :      452,   453,   454,   455,   456,   457,   458,   459,     0,   460,
   11008             :      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
   11009             :      470,     0,   471,   472,   473,     0,     0,   474,   475,   476,
   11010             :        0,     0,   477,   478,   479,   480,   481,   482,   483,   484,
   11011             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   11012             :      495,     0,   496,   497,   498,   499,   500,   501,   502,   503,
   11013             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
   11014             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
   11015             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   11016             :      532,     0,   533,   534,   535,   536,   537,   538,   539,   540,
   11017             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   11018             :      551,     0,   552,   553,   554,   555,   556,   970,   557,   558,
   11019             :      559,   560,   561,   562,   563,   564,   565,   566,     0,   567,
   11020             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   11021             :      578,   579,   580,   581,   582,   583,     0,   584,   585,     0,
   11022             :        0,   586,   587,   588,   589,   590,   591,   592,   593,     0,
   11023             :      594,   595,   596,     0,     0,   597,   598,   599,   600,   601,
   11024             :        0,   602,   603,   604,   605,   606,   607,   608,   609,   610,
   11025             :        0,     0,   611,   612,   613,   614,   615,     0,     0,   616,
   11026             :      617,   618,   619,   620,   621,   622,     0,   623,   624,   625,
   11027             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   11028             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
   11029             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   967,
   11030             :        0,     0,   717,     0,     0,     0,     0,     0,     0,     0,
   11031             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
   11032             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
   11033             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   11034             :      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
   11035             :      260,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   11036             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
   11037             :      276,   277,   278,   279,     0,   280,     0,   281,   282,   283,
   11038             :      284,   285,   286,   287,   288,   289,   290,   291,     0,   292,
   11039             :      293,   294,   295,   296,   297,     0,   298,   299,   300,   301,
   11040             :        0,     0,     0,   302,     0,     0,     0,   303,   304,   305,
   11041             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   11042             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   11043             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   11044             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
   11045             :      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
   11046             :     1829,   348,     0,   349,   350,   351,   352,   353,     0,   354,
   11047             :        0,   355,   356,   357,     0,   358,   359,   360,   361,   362,
   11048             :        0,   363,   364,     0,   365,   366,   367,     0,   368,   369,
   11049             :      370,   371,   372,   373,   374,   375,   376,   377,     0,   378,
   11050             :      379,   380,   381,   382,   383,   384,   385,     0,   386,   387,
   11051             :      388,   389,   390,   391,   392,   393,   394,     0,   395,     0,
   11052             :      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
   11053             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   11054             :      416,   417,   418,     0,     0,   419,   420,   421,   422,   423,
   11055             :        0,   424,   425,   426,     0,     0,   427,   428,   429,   430,
   11056             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   11057             :      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
   11058             :      451,   452,   453,   454,   455,   456,   457,   458,   459,     0,
   11059             :      460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
   11060             :      469,   470,     0,   471,   472,   473,  1830,     0,   474,   475,
   11061             :      476,     0,     0,   477,   478,   479,   480,   481,   482,   483,
   11062             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   11063             :      494,   495,     0,   496,   497,   498,   499,   500,   501,   502,
   11064             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
   11065             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   11066             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   11067             :      531,   532,     0,   533,   534,   535,   536,   537,   538,   539,
   11068             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
   11069             :      550,   551,     0,   552,   553,   554,   555,   556,     0,   557,
   11070             :      558,   559,   560,   561,   562,   563,   564,   565,   566,     0,
   11071             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   11072             :      577,   578,   579,   580,   581,   582,   583,     0,   584,   585,
   11073             :        0,     0,   586,   587,   588,   589,   590,   591,   592,   593,
   11074             :        0,   594,   595,   596,     0,     0,   597,   598,   599,   600,
   11075             :      601,  1831,   602,   603,   604,   605,   606,   607,   608,   609,
   11076             :      610,     0,     0,   611,   612,   613,   614,   615,     0,     0,
   11077             :      616,   617,   618,   619,   620,   621,   622,     0,   623,   624,
   11078             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   11079             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
   11080             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   11081             :      967,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11082             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   11083             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   11084             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   11085             :        0,   250,   251,   252,   253,   254,   255,   256,   257,   258,
   11086             :      259,   260,   261,   262,     0,   263,   264,   265,   266,   267,
   11087             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
   11088             :      275,   276,   277,   278,   279,     0,   280,     0,   281,   282,
   11089             :      283,   284,   285,   286,   287,   288,   289,   290,   291,     0,
   11090             :      292,   293,   294,   295,   296,   297,     0,   298,   299,   300,
   11091             :      301,     0,     0,   968,   302,     0,     0,   969,   303,   304,
   11092             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   11093             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   11094             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
   11095             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
   11096             :        0,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   11097             :      347,     0,   348,     0,   349,   350,   351,   352,   353,     0,
   11098             :      354,     0,   355,   356,   357,     0,   358,   359,   360,   361,
   11099             :      362,     0,   363,   364,     0,   365,   366,   367,     0,   368,
   11100             :      369,   370,   371,   372,   373,   374,   375,   376,   377,     0,
   11101             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
   11102             :      387,   388,   389,   390,   391,   392,   393,   394,     0,   395,
   11103             :        0,   396,   397,   398,   399,   400,   401,   402,   403,   404,
   11104             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   11105             :      415,   416,   417,   418,     0,     0,   419,   420,   421,   422,
   11106             :      423,     0,   424,   425,   426,     0,     0,   427,   428,   429,
   11107             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   11108             :      440,   441,   442,   443,   444,   445,   446,   447,   448,   449,
   11109             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   11110             :        0,   460,   461,   462,   463,     0,   464,   465,   466,   467,
   11111             :      468,   469,   470,     0,   471,   472,   473,     0,     0,   474,
   11112             :      475,   476,     0,     0,   477,   478,   479,   480,   481,   482,
   11113             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   11114             :      493,   494,   495,     0,   496,   497,   498,   499,   500,   501,
   11115             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
   11116             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   11117             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   11118             :      530,   531,   532,     0,   533,   534,   535,   536,   537,   538,
   11119             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
   11120             :      549,   550,   551,     0,   552,   553,   554,   555,   556,   970,
   11121             :      557,   558,   559,   560,   561,   562,   563,   564,   565,   566,
   11122             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   11123             :      576,   577,   578,   579,   580,   581,   582,   583,     0,   584,
   11124             :      585,     0,     0,   586,   587,   588,   589,   590,   591,   592,
   11125             :      593,     0,   594,   595,   596,     0,     0,   597,   598,   599,
   11126             :      600,   601,     0,   602,   603,   604,   605,   606,   607,   608,
   11127             :      609,   610,     0,     0,   611,   612,   613,   614,   615,     0,
   11128             :        0,   616,   617,   618,   619,   620,   621,   622,     0,   623,
   11129             :      624,   625,   626,   627,   628,   629,     0,     0,   630,     0,
   11130             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   11131             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   11132             :      650,   967,     0,     0,     0,     0,     0,     0,     0,     0,
   11133             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   11134             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   11135             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   11136             :      249,     0,   250,   251,   252,   253,   254,   255,   256,   257,
   11137             :      258,   259,   260,   261,   262,     0,   263,   264,   265,   266,
   11138             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
   11139             :        0,   275,   276,   277,   278,   279,     0,   280,     0,   281,
   11140             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   11141             :        0,   292,   293,   294,   295,   296,   297,     0,   298,   299,
   11142             :      300,   301,     0,     0,   968,   302,     0,     0,   969,   303,
   11143             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   11144             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   11145             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   11146             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   11147             :      337,     0,   338,   339,   340,   341,   342,   343,   344,   345,
   11148             :      346,   347,     0,   348,     0,   349,   350,   351,   352,   353,
   11149             :        0,   354,     0,   355,   356,   357,     0,   358,   359,   360,
   11150             :      361,   362,     0,   363,   364,     0,   365,   366,   367,     0,
   11151             :      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
   11152             :        0,   378,   379,   380,   381,   382,   383,   384,   385,     0,
   11153             :      386,   387,   388,   389,   390,   391,   392,   393,   394,     0,
   11154             :      395,     0,   396,   397,   398,   399,   400,   401,   402,   403,
   11155             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   11156             :      414,   415,   416,   417,   418,     0,     0,   419,   420,   421,
   11157             :      422,   423,     0,   424,   425,   426,     0,     0,   427,   428,
   11158             :      429,   430,  1122,   432,   433,   434,   435,   436,   437,   438,
   11159             :      439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
   11160             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   11161             :      459,     0,   460,   461,   462,   463,     0,   464,   465,   466,
   11162             :      467,   468,   469,   470,     0,   471,   472,   473,     0,     0,
   11163             :      474,   475,   476,     0,     0,   477,   478,   479,   480,   481,
   11164             :      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   11165             :      492,   493,   494,   495,     0,   496,   497,   498,   499,   500,
   11166             :      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
   11167             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   11168             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   11169             :      529,   530,   531,   532,     0,   533,   534,   535,   536,   537,
   11170             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   11171             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
   11172             :      970,   557,   558,   559,   560,   561,   562,   563,   564,   565,
   11173             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   11174             :      575,   576,   577,   578,   579,   580,   581,   582,   583,     0,
   11175             :      584,   585,     0,     0,   586,   587,   588,   589,   590,   591,
   11176             :      592,   593,     0,   594,   595,   596,     0,     0,   597,   598,
   11177             :      599,   600,   601,     0,   602,   603,   604,   605,   606,   607,
   11178             :      608,   609,   610,     0,     0,   611,   612,   613,   614,   615,
   11179             :        0,     0,   616,   617,   618,   619,   620,   621,   622,     0,
   11180             :      623,   624,   625,   626,   627,   628,   629,     0,     0,   630,
   11181             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
   11182             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   11183             :      649,   650,   967,     0,     0,     0,     0,     0,     0,     0,
   11184             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   11185             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   11186             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   11187             :      248,   249,     0,   250,   251,   252,   253,   254,   255,   256,
   11188             :      257,   258,   259,   260,   261,   262,     0,   263,   264,   265,
   11189             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
   11190             :      274,     0,   275,   276,   277,   278,   279,     0,   280,     0,
   11191             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   11192             :      291,     0,   292,   293,   294,   295,   296,   297,     0,   298,
   11193             :      299,   300,   301,     0,     0,   968,   302,     0,     0,   969,
   11194             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   11195             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   11196             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   11197             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   11198             :      336,   337,     0,   338,   339,   340,   341,   342,   343,   344,
   11199             :      345,   346,   347,     0,   348,     0,   349,   350,   351,   352,
   11200             :      353,     0,   354,     0,   355,   356,   357,     0,   358,   359,
   11201             :      360,   361,   362,     0,   363,   364,     0,   365,   366,   367,
   11202             :        0,   368,   369,   370,   371,  1164,   373,   374,   375,   376,
   11203             :      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
   11204             :        0,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   11205             :        0,   395,     0,   396,   397,   398,   399,   400,   401,   402,
   11206             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   11207             :      413,   414,   415,   416,   417,   418,     0,     0,   419,   420,
   11208             :      421,   422,   423,     0,   424,   425,   426,     0,     0,   427,
   11209             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   11210             :      438,   439,   440,   441,   442,   443,   444,   445,   446,   447,
   11211             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   11212             :      458,   459,     0,   460,   461,   462,   463,     0,   464,   465,
   11213             :      466,   467,   468,   469,   470,     0,   471,   472,   473,     0,
   11214             :        0,   474,   475,   476,     0,     0,   477,   478,   479,   480,
   11215             :      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
   11216             :      491,   492,   493,   494,   495,     0,   496,   497,   498,   499,
   11217             :      500,   501,   502,   503,   504,     0,   505,   506,   507,   508,
   11218             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   11219             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   11220             :      528,   529,   530,   531,   532,     0,   533,   534,   535,   536,
   11221             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   11222             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   11223             :      556,   970,   557,   558,   559,   560,   561,   562,   563,   564,
   11224             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   11225             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   11226             :        0,   584,   585,     0,     0,   586,   587,   588,   589,   590,
   11227             :      591,   592,   593,     0,   594,   595,   596,     0,     0,   597,
   11228             :      598,   599,   600,   601,     0,   602,   603,   604,   605,   606,
   11229             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
   11230             :      615,     0,     0,   616,   617,   618,   619,   620,   621,   622,
   11231             :        0,   623,   624,   625,   626,   627,   628,   629,     0,     0,
   11232             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
   11233             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   11234             :      648,   649,   650,   967,     0,     0,     0,     0,     0,     0,
   11235             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11236             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   11237             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   11238             :      247,   248,   249,     0,   250,   251,   252,   253,   254,   255,
   11239             :      256,   257,   258,   259,   260,   261,   262,     0,   263,   264,
   11240             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   11241             :      273,   274,     0,   275,   276,   277,   278,   279,     0,   280,
   11242             :        0,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   11243             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   11244             :      298,   299,   300,   301,     0,     0,   968,   302,     0,     0,
   11245             :      969,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   11246             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   11247             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   11248             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   11249             :      335,   336,   337,     0,   338,   339,   340,   341,   342,   343,
   11250             :      344,   345,   346,   347,     0,   348,     0,   349,   350,   351,
   11251             :      352,   353,     0,   354,     0,   355,   356,   357,     0,   358,
   11252             :      359,   360,   361,   362,     0,   363,   364,     0,   365,   366,
   11253             :      367,     0,   368,   369,   370,   371,  1177,   373,   374,   375,
   11254             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
   11255             :      385,     0,   386,   387,   388,   389,   390,   391,   392,   393,
   11256             :      394,     0,   395,     0,   396,   397,   398,   399,   400,   401,
   11257             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   11258             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
   11259             :      420,   421,   422,   423,     0,   424,   425,   426,     0,     0,
   11260             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   11261             :      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
   11262             :      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   11263             :      457,   458,   459,     0,   460,   461,   462,   463,     0,   464,
   11264             :      465,   466,   467,   468,   469,   470,     0,   471,   472,   473,
   11265             :        0,     0,   474,   475,   476,     0,     0,   477,   478,   479,
   11266             :      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
   11267             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
   11268             :      499,   500,   501,   502,   503,   504,     0,   505,   506,   507,
   11269             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   11270             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   11271             :      527,   528,   529,   530,   531,   532,     0,   533,   534,   535,
   11272             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   11273             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   11274             :      555,   556,   970,   557,   558,   559,   560,   561,   562,   563,
   11275             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   11276             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   11277             :      583,     0,   584,   585,     0,     0,   586,   587,   588,   589,
   11278             :      590,   591,   592,   593,     0,   594,   595,   596,     0,     0,
   11279             :      597,   598,   599,   600,   601,     0,   602,   603,   604,   605,
   11280             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
   11281             :      614,   615,     0,     0,   616,   617,   618,   619,   620,   621,
   11282             :      622,     0,   623,   624,   625,   626,   627,   628,   629,     0,
   11283             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   11284             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   11285             :      647,   648,   649,   650,   967,     0,     0,     0,     0,     0,
   11286             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11287             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   11288             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   11289             :        0,   247,   248,   249,     0,   250,   251,   252,   253,   254,
   11290             :      255,   256,   257,   258,   259,   260,   261,   262,     0,   263,
   11291             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   11292             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
   11293             :      280,     0,   281,   282,   283,   284,   285,   286,   287,   288,
   11294             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   11295             :        0,   298,   299,   300,   301,     0,     0,   968,   302,     0,
   11296             :        0,   969,   303,   304,   305,   306,   307,   308,   309,   310,
   11297             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   11298             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   11299             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   11300             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
   11301             :      343,   344,   345,   346,   347,     0,   348,     0,   349,   350,
   11302             :      351,   352,   353,     0,   354,     0,   355,   356,   357,     0,
   11303             :      358,   359,   360,   361,   362,     0,   363,   364,     0,   365,
   11304             :      366,   367,     0,   368,   369,   370,   371,  1189,   373,   374,
   11305             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
   11306             :      384,   385,     0,   386,   387,   388,   389,   390,   391,   392,
   11307             :      393,   394,     0,   395,     0,   396,   397,   398,   399,   400,
   11308             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   11309             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
   11310             :      419,   420,   421,   422,   423,     0,   424,   425,   426,     0,
   11311             :        0,   427,   428,   429,   430,  1190,   432,   433,   434,   435,
   11312             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   11313             :      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
   11314             :      456,   457,   458,   459,     0,   460,   461,   462,   463,     0,
   11315             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
   11316             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
   11317             :      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
   11318             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
   11319             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
   11320             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   11321             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   11322             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   11323             :      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   11324             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   11325             :      554,   555,   556,   970,   557,   558,   559,   560,   561,   562,
   11326             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   11327             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   11328             :      582,   583,     0,   584,   585,     0,     0,   586,   587,   588,
   11329             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
   11330             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
   11331             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
   11332             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
   11333             :      621,   622,     0,   623,   624,   625,   626,   627,   628,   629,
   11334             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   11335             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   11336             :      646,   647,   648,   649,   650,   967,     0,     0,   717,     0,
   11337             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11338             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   11339             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   11340             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   11341             :      254,   255,   256,   257,   258,   259,   260,   261,   262,     0,
   11342             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   11343             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
   11344             :        0,   280,     0,   281,   282,   283,   284,   285,   286,   287,
   11345             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   11346             :      297,     0,   298,   299,   300,   301,     0,     0,     0,   302,
   11347             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   11348             :      310,   311,  2607,   312,     0,   313,   314,   315,   316,   317,
   11349             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   11350             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   11351             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
   11352             :      342,   343,   344,   345,   346,   347,     0,   348,     0,   349,
   11353             :      350,   351,   352,   353,     0,   354,     0,   355,   356,   357,
   11354             :        0,   358,   359,   360,   361,   362,     0,   363,   364,     0,
   11355             :      365,   366,   367,     0,   368,   369,   370,   371,   372,   373,
   11356             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
   11357             :      383,   384,   385,     0,   386,   387,   388,   389,   390,   391,
   11358             :      392,   393,   394,     0,   395,     0,   396,   397,   398,   399,
   11359             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   11360             :      410,   411,   412,   413,   414,   415,   416,   417,   418,     0,
   11361             :        0,   419,   420,   421,   422,   423,     0,   424,   425,   426,
   11362             :        0,     0,   427,   428,   429,   430,   431,   432,   433,   434,
   11363             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   11364             :      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
   11365             :      455,   456,   457,   458,   459,     0,   460,   461,   462,   463,
   11366             :        0,   464,   465,   466,   467,   468,   469,   470,     0,   471,
   11367             :      472,   473,     0,     0,   474,   475,   476,     0,     0,   477,
   11368             :      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
   11369             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
   11370             :      497,   498,   499,   500,   501,   502,   503,   504,     0,   505,
   11371             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   11372             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   11373             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   11374             :      534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
   11375             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   11376             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
   11377             :      562,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   11378             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   11379             :      581,   582,   583,     0,   584,   585,     0,     0,   586,   587,
   11380             :      588,   589,   590,   591,   592,   593,     0,   594,   595,   596,
   11381             :        0,     0,   597,   598,   599,   600,   601,     0,   602,   603,
   11382             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
   11383             :      612,   613,   614,   615,     0,     0,   616,   617,   618,   619,
   11384             :      620,   621,   622,     0,   623,   624,   625,   626,   627,   628,
   11385             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   11386             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   11387             :      645,   646,   647,   648,   649,   650,   967,     0,     0,   717,
   11388             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11389             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   11390             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
   11391             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   11392             :      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
   11393             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   11394             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   11395             :      279,     0,   280,     0,   281,   282,   283,   284,   285,   286,
   11396             :      287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   11397             :      296,   297,     0,   298,   299,   300,   301,     0,     0,     0,
   11398             :      302,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   11399             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
   11400             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   11401             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   11402             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
   11403             :      341,   342,   343,   344,   345,   346,   347,     0,   348,     0,
   11404             :      349,   350,   351,   352,   353,     0,   354,     0,   355,   356,
   11405             :      357,     0,   358,   359,   360,   361,   362,     0,   363,   364,
   11406             :        0,   365,   366,   367,     0,   368,   369,   370,   371,   372,
   11407             :      373,   374,   375,   376,   377,     0,   378,   379,   380,   381,
   11408             :      382,   383,   384,   385,     0,   386,   387,   388,   389,   390,
   11409             :      391,   392,   393,   394,     0,   395,     0,   396,   397,   398,
   11410             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   11411             :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
   11412             :        0,     0,   419,   420,   421,   422,   423,     0,   424,   425,
   11413             :      426,     0,     0,   427,   428,   429,   430,   431,   432,   433,
   11414             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   11415             :      444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
   11416             :      454,   455,   456,   457,   458,   459,     0,   460,   461,   462,
   11417             :      463,     0,   464,   465,   466,   467,   468,   469,   470,     0,
   11418             :      471,   472,   473,     0,     0,   474,   475,   476,     0,     0,
   11419             :      477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
   11420             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
   11421             :      496,   497,   498,   499,   500,   501,   502,   503,   504,     0,
   11422             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   11423             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   11424             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   11425             :      533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
   11426             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   11427             :      552,   553,   554,   555,   556,     0,   557,   558,   559,   560,
   11428             :      561,   562,   563,   564,   565,   566,     0,   567,   568,   569,
   11429             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   11430             :      580,   581,   582,   583,     0,   584,   585,     0,     0,   586,
   11431             :      587,   588,   589,   590,   591,   592,   593,     0,   594,   595,
   11432             :      596,     0,     0,   597,   598,   599,   600,   601,     0,   602,
   11433             :      603,   604,   605,   606,   607,   608,   609,   610,     0,     0,
   11434             :      611,   612,   613,   614,   615,     0,     0,   616,   617,   618,
   11435             :      619,   620,   621,   622,     0,   623,   624,   625,   626,   627,
   11436             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   11437             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   11438             :      644,   645,   646,   647,   648,   649,   650,   234,     0,     0,
   11439             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11440             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   11441             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
   11442             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   11443             :      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
   11444             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   11445             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   11446             :      278,   279,     0,   280,     0,   281,   282,   283,   284,   285,
   11447             :      286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
   11448             :      295,   296,   297,     0,   298,   299,   300,   301,     0,     0,
   11449             :        0,   302,     0,     0,     0,   303,   304,   305,   306,   307,
   11450             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   11451             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   11452             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   11453             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
   11454             :      340,   341,   342,   343,   344,   345,   346,   347,     0,   348,
   11455             :        0,   349,   350,   351,   352,   353,     0,   354,     0,   355,
   11456             :      356,   357,     0,   358,   359,   360,   361,   362,     0,   363,
   11457             :      364,     0,   365,   366,   367,     0,   368,   369,   370,   371,
   11458             :      372,   373,   374,   375,   376,   377,     0,   378,   379,   380,
   11459             :      381,   382,   383,   384,   385,     0,   386,   387,   388,   389,
   11460             :      390,   391,   392,   393,   394,     0,   395,     0,   396,   397,
   11461             :      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
   11462             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   11463             :      418,     0,     0,   419,   420,   421,   422,   423,     0,   424,
   11464             :      425,   426,     0,     0,   427,   428,   429,   430,   431,   432,
   11465             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   11466             :      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
   11467             :      453,   454,   455,   456,   457,   458,   459,     0,   460,   461,
   11468             :      462,   463,     0,   464,   465,   466,   467,   468,   469,   470,
   11469             :        0,   471,   472,   473,     0,     0,   474,   475,   476,     0,
   11470             :        0,   477,   478,   479,   480,   481,   482,   483,   484,   485,
   11471             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
   11472             :        0,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   11473             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   11474             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
   11475             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   11476             :        0,   533,   534,   535,   536,   537,   538,   539,   540,   541,
   11477             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   11478             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   559,
   11479             :      560,   561,   562,   563,   564,   565,   566,     0,   567,   568,
   11480             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   11481             :      579,   580,   581,   582,   583,     0,   584,   585,     0,     0,
   11482             :      586,   587,   588,   589,   590,   591,   592,   593,     0,   594,
   11483             :      595,   596,     0,     0,   597,   598,   599,   600,   601,     0,
   11484             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
   11485             :        0,   611,   612,   613,   614,   615,     0,     0,   616,   617,
   11486             :      618,   619,   620,   621,   622,     0,   623,   624,   625,   626,
   11487             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   11488             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   11489             :      643,   644,   645,   646,   647,   648,   649,   650,   234,     0,
   11490             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11491             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
   11492             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
   11493             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   11494             :      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
   11495             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   11496             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
   11497             :      277,   278,   279,     0,   280,     0,   281,   282,   283,   284,
   11498             :      285,   286,   287,   288,   289,   290,   291,     0,   292,   293,
   11499             :      294,   295,   296,   297,     0,   298,   299,   300,   301,     0,
   11500             :        0,     0,   302,     0,     0,     0,   303,   304,   305,   306,
   11501             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   11502             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   11503             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   11504             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
   11505             :      339,   340,   341,   342,   343,   344,   345,   346,   347,     0,
   11506             :      348,     0,   349,   350,   351,   352,   353,     0,   354,     0,
   11507             :      355,   356,   357,     0,   358,   359,   360,   361,   362,     0,
   11508             :      363,   364,     0,   365,   366,   367,     0,   368,   369,   370,
   11509             :      371,  1148,   373,   374,   375,   376,   377,     0,   378,   379,
   11510             :      380,   381,   382,   383,   384,   385,     0,   386,   387,   388,
   11511             :      389,   390,   391,   392,   393,   394,     0,   395,     0,   396,
   11512             :      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
   11513             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   11514             :      417,   418,     0,     0,   419,   420,   421,   422,   423,     0,
   11515             :      424,   425,   426,     0,     0,   427,   428,   429,   430,   431,
   11516             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   11517             :      442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
   11518             :      452,   453,   454,   455,   456,   457,   458,   459,     0,   460,
   11519             :      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
   11520             :      470,     0,   471,   472,   473,     0,     0,   474,   475,   476,
   11521             :        0,     0,   477,   478,   479,   480,   481,   482,   483,   484,
   11522             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   11523             :      495,     0,   496,   497,   498,   499,   500,   501,   502,   503,
   11524             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
   11525             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
   11526             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   11527             :      532,     0,   533,   534,   535,   536,   537,   538,   539,   540,
   11528             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   11529             :      551,     0,   552,   553,   554,   555,   556,     0,   557,   558,
   11530             :      559,   560,   561,   562,   563,   564,   565,   566,     0,   567,
   11531             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   11532             :      578,   579,   580,   581,   582,   583,     0,   584,   585,     0,
   11533             :        0,   586,   587,   588,   589,   590,   591,   592,   593,     0,
   11534             :      594,   595,   596,     0,     0,   597,   598,   599,   600,   601,
   11535             :        0,   602,   603,   604,   605,   606,   607,   608,   609,   610,
   11536             :        0,     0,   611,   612,   613,   614,   615,     0,     0,   616,
   11537             :      617,   618,   619,   620,   621,   622,     0,   623,   624,   625,
   11538             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   11539             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
   11540             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   234,
   11541             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11542             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
   11543             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
   11544             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   11545             :      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
   11546             :      260,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   11547             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
   11548             :      276,   277,   278,   279,     0,   280,     0,   281,   282,   283,
   11549             :      284,   285,   286,   287,   288,   289,   290,   291,     0,   292,
   11550             :      293,   294,   295,   296,   297,     0,   298,   299,   300,   301,
   11551             :        0,     0,     0,   302,     0,     0,     0,   303,   304,   305,
   11552             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   11553             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   11554             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   11555             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
   11556             :      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
   11557             :        0,   348,     0,   349,   350,   351,   352,   353,     0,   354,
   11558             :        0,   355,   356,   357,     0,   358,   359,   360,   361,   362,
   11559             :        0,   363,   364,     0,   365,   366,   367,     0,   368,   369,
   11560             :      370,   371,  1161,   373,   374,   375,   376,   377,     0,   378,
   11561             :      379,   380,   381,   382,   383,   384,   385,     0,   386,   387,
   11562             :      388,   389,   390,   391,   392,   393,   394,     0,   395,     0,
   11563             :      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
   11564             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   11565             :      416,   417,   418,     0,     0,   419,   420,   421,   422,   423,
   11566             :        0,   424,   425,   426,     0,     0,   427,   428,   429,   430,
   11567             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   11568             :      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
   11569             :      451,   452,   453,   454,   455,   456,   457,   458,   459,     0,
   11570             :      460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
   11571             :      469,   470,     0,   471,   472,   473,     0,     0,   474,   475,
   11572             :      476,     0,     0,   477,   478,   479,   480,   481,   482,   483,
   11573             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   11574             :      494,   495,     0,   496,   497,   498,   499,   500,   501,   502,
   11575             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
   11576             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   11577             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   11578             :      531,   532,     0,   533,   534,   535,   536,   537,   538,   539,
   11579             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
   11580             :      550,   551,     0,   552,   553,   554,   555,   556,     0,   557,
   11581             :      558,   559,   560,   561,   562,   563,   564,   565,   566,     0,
   11582             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   11583             :      577,   578,   579,   580,   581,   582,   583,     0,   584,   585,
   11584             :        0,     0,   586,   587,   588,   589,   590,   591,   592,   593,
   11585             :        0,   594,   595,   596,     0,     0,   597,   598,   599,   600,
   11586             :      601,     0,   602,   603,   604,   605,   606,   607,   608,   609,
   11587             :      610,     0,     0,   611,   612,   613,   614,   615,     0,     0,
   11588             :      616,   617,   618,   619,   620,   621,   622,     0,   623,   624,
   11589             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   11590             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
   11591             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   11592             :      234,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11593             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   11594             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   11595             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   11596             :        0,   250,   251,   252,   253,   254,   255,   256,   257,   258,
   11597             :      259,   260,   261,   262,     0,   263,   264,   265,   266,   267,
   11598             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
   11599             :      275,   276,   277,   278,   279,     0,   280,     0,   281,   282,
   11600             :      283,   284,   285,   286,   287,   288,   289,   290,   291,     0,
   11601             :      292,   293,   294,   295,   296,   297,     0,   298,   299,   300,
   11602             :      301,     0,     0,     0,   302,     0,     0,     0,   303,   304,
   11603             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   11604             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   11605             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
   11606             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
   11607             :        0,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   11608             :      347,     0,   348,     0,   349,   350,   351,   352,   353,     0,
   11609             :      354,     0,   355,   356,   357,     0,   358,   359,   360,   361,
   11610             :      362,     0,   363,   364,     0,   365,   366,   367,     0,   368,
   11611             :      369,   370,   371,  1175,   373,   374,   375,   376,   377,     0,
   11612             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
   11613             :      387,   388,   389,   390,   391,   392,   393,   394,     0,   395,
   11614             :        0,   396,   397,   398,   399,   400,   401,   402,   403,   404,
   11615             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   11616             :      415,   416,   417,   418,     0,     0,   419,   420,   421,   422,
   11617             :      423,     0,   424,   425,   426,     0,     0,   427,   428,   429,
   11618             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   11619             :      440,   441,   442,   443,   444,   445,   446,   447,   448,   449,
   11620             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   11621             :        0,   460,   461,   462,   463,     0,   464,   465,   466,   467,
   11622             :      468,   469,   470,     0,   471,   472,   473,     0,     0,   474,
   11623             :      475,   476,     0,     0,   477,   478,   479,   480,   481,   482,
   11624             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   11625             :      493,   494,   495,     0,   496,   497,   498,   499,   500,   501,
   11626             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
   11627             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   11628             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   11629             :      530,   531,   532,     0,   533,   534,   535,   536,   537,   538,
   11630             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
   11631             :      549,   550,   551,     0,   552,   553,   554,   555,   556,     0,
   11632             :      557,   558,   559,   560,   561,   562,   563,   564,   565,   566,
   11633             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   11634             :      576,   577,   578,   579,   580,   581,   582,   583,     0,   584,
   11635             :      585,     0,     0,   586,   587,   588,   589,   590,   591,   592,
   11636             :      593,     0,   594,   595,   596,     0,     0,   597,   598,   599,
   11637             :      600,   601,     0,   602,   603,   604,   605,   606,   607,   608,
   11638             :      609,   610,     0,     0,   611,   612,   613,   614,   615,     0,
   11639             :        0,   616,   617,   618,   619,   620,   621,   622,     0,   623,
   11640             :      624,   625,   626,   627,   628,   629,     0,     0,   630,     0,
   11641             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   11642             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   11643             :      650,   234,     0,     0,     0,     0,     0,     0,     0,     0,
   11644             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   11645             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   11646             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   11647             :      249,     0,   250,   251,   252,   253,   254,   255,   256,   257,
   11648             :      258,   259,   260,   261,   262,     0,   263,   264,   265,   266,
   11649             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
   11650             :        0,   275,   276,   277,   278,   279,     0,   280,     0,   281,
   11651             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   11652             :        0,   292,   293,   294,   295,   296,   297,     0,   298,   299,
   11653             :      300,   301,     0,     0,     0,   302,     0,     0,     0,   303,
   11654             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   11655             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   11656             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   11657             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   11658             :      337,     0,   338,   339,   340,   341,   342,   343,   344,   345,
   11659             :      346,   347,     0,   348,     0,   349,   350,   351,   352,   353,
   11660             :        0,   354,     0,   355,   356,   357,     0,   358,   359,   360,
   11661             :      361,   362,     0,   363,   364,     0,   365,   366,   367,     0,
   11662             :      368,   369,   370,   371,  1179,   373,   374,   375,   376,   377,
   11663             :        0,   378,   379,   380,   381,   382,   383,   384,   385,     0,
   11664             :      386,   387,   388,   389,   390,   391,   392,   393,   394,     0,
   11665             :      395,     0,   396,   397,   398,   399,   400,   401,   402,   403,
   11666             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   11667             :      414,   415,   416,   417,   418,     0,     0,   419,   420,   421,
   11668             :      422,   423,     0,   424,   425,   426,     0,     0,   427,   428,
   11669             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   11670             :      439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
   11671             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   11672             :      459,     0,   460,   461,   462,   463,     0,   464,   465,   466,
   11673             :      467,   468,   469,   470,     0,   471,   472,   473,     0,     0,
   11674             :      474,   475,   476,     0,     0,   477,   478,   479,   480,   481,
   11675             :      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   11676             :      492,   493,   494,   495,     0,   496,   497,   498,   499,   500,
   11677             :      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
   11678             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   11679             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   11680             :      529,   530,   531,   532,     0,   533,   534,   535,   536,   537,
   11681             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   11682             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
   11683             :        0,   557,   558,   559,   560,   561,   562,   563,   564,   565,
   11684             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   11685             :      575,   576,   577,   578,   579,   580,   581,   582,   583,     0,
   11686             :      584,   585,     0,     0,   586,   587,   588,   589,   590,   591,
   11687             :      592,   593,     0,   594,   595,   596,     0,     0,   597,   598,
   11688             :      599,   600,   601,     0,   602,   603,   604,   605,   606,   607,
   11689             :      608,   609,   610,     0,     0,   611,   612,   613,   614,   615,
   11690             :        0,     0,   616,   617,   618,   619,   620,   621,   622,     0,
   11691             :      623,   624,   625,   626,   627,   628,   629,     0,     0,   630,
   11692             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
   11693             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   11694             :      649,   650,   967,     0,     0,     0,     0,     0,     0,     0,
   11695             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   11696             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   11697             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   11698             :      248,   249,     0,   250,   251,   252,   253,   254,   255,   256,
   11699             :      257,   258,   259,   260,   261,   262,     0,   263,   264,   265,
   11700             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
   11701             :      274,     0,   275,   276,   277,   278,   279,     0,   280,     0,
   11702             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   11703             :      291,     0,   292,   293,   294,   295,   296,   297,     0,   298,
   11704             :      299,   300,   301,     0,     0,     0,   302,     0,     0,     0,
   11705             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   11706             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   11707             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   11708             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   11709             :      336,   337,     0,   338,   339,   340,   341,   342,   343,   344,
   11710             :      345,   346,   347,     0,   348,     0,   349,   350,   351,   352,
   11711             :      353,     0,   354,     0,   355,   356,   357,     0,   358,   359,
   11712             :      360,   361,   362,     0,   363,   364,     0,   365,   366,   367,
   11713             :        0,   368,   369,   370,   371,   372,   373,   374,   375,   376,
   11714             :      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
   11715             :        0,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   11716             :        0,   395,     0,   396,   397,   398,   399,   400,   401,   402,
   11717             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   11718             :      413,   414,   415,   416,   417,   418,     0,     0,   419,   420,
   11719             :      421,   422,   423,     0,   424,   425,   426,     0,     0,   427,
   11720             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   11721             :      438,   439,   440,   441,   442,   443,   444,   445,   446,   447,
   11722             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   11723             :      458,   459,     0,   460,   461,   462,   463,     0,   464,   465,
   11724             :      466,   467,   468,   469,   470,     0,   471,   472,   473,     0,
   11725             :        0,   474,   475,   476,     0,     0,   477,   478,   479,   480,
   11726             :      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
   11727             :      491,   492,   493,   494,   495,     0,   496,   497,   498,   499,
   11728             :      500,   501,   502,   503,   504,     0,   505,   506,   507,   508,
   11729             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   11730             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   11731             :      528,   529,   530,   531,   532,     0,   533,   534,   535,   536,
   11732             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   11733             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   11734             :      556,     0,   557,   558,   559,   560,   561,   562,   563,   564,
   11735             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   11736             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   11737             :        0,   584,   585,     0,     0,   586,   587,   588,   589,   590,
   11738             :      591,   592,   593,     0,   594,   595,   596,     0,     0,   597,
   11739             :      598,   599,   600,   601,     0,   602,   603,   604,   605,   606,
   11740             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
   11741             :      615,     0,     0,   616,   617,   618,   619,   620,   621,   622,
   11742             :        0,   623,   624,   625,   626,   627,   628,   629,     0,     0,
   11743             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
   11744             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   11745             :      648,   649,   650,   658,     0,     0,     0,     0,     0,     0,
   11746             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11747             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   11748             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   11749             :      247,   248,   249,     0,   250,   251,   252,   253,     0,   255,
   11750             :      256,   257,   258,   259,     0,   261,   262,     0,   263,   264,
   11751             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   11752             :      273,   274,  2836,   275,   276,   277,   278,   279,     0,     0,
   11753             :     2837,   281,   282,   283,   284,   285,   286,     0,   288,   289,
   11754             :      290,   291,  2838,   292,   293,   294,   295,   296,   297,     0,
   11755             :        0,   299,   300,   301,     0,     0,     0,     0,     0,     0,
   11756             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   11757             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   11758             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   11759             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   11760             :      335,   336,   337,     0,  2839,   339,   340,   341,   342,   343,
   11761             :      344,   345,   346,   347,     0,   348,     0,   349,   350,   351,
   11762             :      352,   353,     0,   354,  2840,   355,   356,     0,     0,     0,
   11763             :      359,   360,   361,   362,     0,   363,   364,     0,   365,   366,
   11764             :      367,     0,   368,   369,   370,   371,  2841,     0,   374,   375,
   11765             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
   11766             :      385,     0,   386,     0,   388,   389,   390,   391,   392,   393,
   11767             :      394,     0,   395,     0,   396,     0,     0,   399,     0,   401,
   11768             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   11769             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
   11770             :      420,     0,   422,     0,     0,   424,   425,   426,     0,     0,
   11771             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   11772             :      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
   11773             :        0,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   11774             :      457,   458,   459,  2842,   460,   461,     0,   463,     0,   464,
   11775             :      465,   466,   467,   468,   469,   470,     0,   471,   472,   473,
   11776             :        0,     0,   474,   475,   476,     0,     0,   477,   478,   479,
   11777             :        0,   481,     0,   483,   484,   485,   486,   487,   488,   489,
   11778             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
   11779             :      499,   500,   501,   502,   503,   504,  2843,   505,   506,   507,
   11780             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   11781             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   11782             :      527,   528,   529,   530,   531,   532,     0,   533,   534,     0,
   11783             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   11784             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   11785             :      555,   556,     0,   557,   558,   559,   560,   561,     0,   563,
   11786             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   11787             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   11788             :      583,     0,   584,   585,     0,     0,   586,     0,   588,   589,
   11789             :      590,   591,   592,   593,     0,   594,   595,   596,     0,     0,
   11790             :      597,   598,   599,   600,   601,     0,   602,   603,   604,   605,
   11791             :      606,   607,   608,   609,   610,     0,  2844,   611,   612,   613,
   11792             :      614,   615,     0,     0,   616,   617,   618,   619,   620,   621,
   11793             :      622,     0,   623,     0,   625,   626,   627,   628,   629,     0,
   11794             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   11795             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   11796             :      647,   648,   649,   650,   658,     0,     0,     0,     0,     0,
   11797             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11798             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   11799             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   11800             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
   11801             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
   11802             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   11803             :      272,   273,   274,  2836,   275,   276,   277,   278,   279,     0,
   11804             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
   11805             :      289,   290,   291,  2838,   292,   293,   294,   295,   296,   297,
   11806             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
   11807             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
   11808             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   11809             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   11810             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   11811             :      334,   335,   336,   337,     0,  2839,   339,   340,   341,   342,
   11812             :      343,   344,   345,   346,   347,     0,   348,     0,   349,   350,
   11813             :      351,   352,   353,     0,   354,  2840,   355,   356,     0,     0,
   11814             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
   11815             :      366,   367,     0,   368,   369,   370,   371,   372,     0,   374,
   11816             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
   11817             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
   11818             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
   11819             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   11820             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
   11821             :      419,   420,     0,   422,  3891,     0,   424,   425,   426,     0,
   11822             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   11823             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   11824             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
   11825             :      456,   457,   458,   459,  2842,   460,   461,     0,   463,     0,
   11826             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
   11827             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
   11828             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
   11829             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
   11830             :      498,   499,   500,   501,   502,   503,   504,  2843,   505,   506,
   11831             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   11832             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   11833             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   11834             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   11835             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   11836             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
   11837             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   11838             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   11839             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
   11840             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
   11841             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
   11842             :      605,   606,   607,   608,   609,   610,     0,  2844,   611,   612,
   11843             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
   11844             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
   11845             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   11846             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   11847             :      646,   647,   648,   649,   650,   658,     0,     0,     0,     0,
   11848             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11849             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   11850             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   11851             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   11852             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
   11853             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   11854             :      271,   272,   273,   274,  2836,   275,   276,   277,   278,   279,
   11855             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
   11856             :      288,   289,   290,   291,  2838,   292,   293,   294,   295,   296,
   11857             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
   11858             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   11859             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   11860             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   11861             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   11862             :      333,   334,   335,   336,   337,     0,  2839,   339,   340,   341,
   11863             :      342,   343,   344,   345,   346,   347,     0,   348,     0,   349,
   11864             :      350,   351,   352,   353,     0,   354,  2840,   355,   356,     0,
   11865             :        0,     0,   359,   360,   361,   362,     0,   363,   364,     0,
   11866             :      365,   366,   367,     0,   368,   369,   370,   371,   372,     0,
   11867             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
   11868             :      383,   384,   385,     0,   386,     0,   388,   389,   390,   391,
   11869             :      392,   393,   394,     0,   395,     0,   396,     0,     0,   399,
   11870             :        0,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   11871             :      410,   411,   412,   413,   414,   415,   416,   417,   418,     0,
   11872             :        0,   419,   420,     0,   422,     0,     0,   424,   425,   426,
   11873             :        0,     0,   427,   428,   429,   430,   431,   432,   433,   434,
   11874             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   11875             :      445,   446,     0,   448,   449,   450,   451,   452,   453,   454,
   11876             :      455,   456,   457,   458,   459,  2842,   460,   461,     0,   463,
   11877             :        0,   464,   465,   466,   467,   468,   469,   470,     0,   471,
   11878             :      472,   473,     0,     0,   474,   475,   476,     0,     0,   477,
   11879             :      478,   479,     0,   481,     0,   483,   484,   485,   486,   487,
   11880             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
   11881             :      497,   498,   499,   500,   501,   502,   503,   504,  2843,   505,
   11882             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   11883             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   11884             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   11885             :      534,     0,   536,   537,   538,   539,   540,   541,   542,   543,
   11886             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   11887             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
   11888             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   11889             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   11890             :      581,   582,   583,     0,   584,   585,     0,     0,   586,     0,
   11891             :      588,   589,   590,   591,   592,   593,     0,   594,   595,   596,
   11892             :        0,     0,   597,   598,   599,   600,   601,     0,   602,   603,
   11893             :      604,   605,   606,   607,   608,   609,   610,     0,  2844,   611,
   11894             :      612,   613,   614,   615,     0,     0,   616,   617,   618,   619,
   11895             :      620,   621,   622,     0,   623,     0,   625,   626,   627,   628,
   11896             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   11897             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   11898             :      645,   646,   647,   648,   649,   650,   658,     0,     0,     0,
   11899             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11900             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   11901             :      242,   243,   797,   244,   798,   246,     0,     0,     0,     0,
   11902             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   11903             :      253,     0,   255,   256,   257,   258,   259,     0,   261,   262,
   11904             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   11905             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   11906             :      279,     0,     0,     0,   281,   282,   283,   284,   285,   286,
   11907             :        0,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   11908             :      296,   297,   799,     0,   299,   300,   301,     0,     0,     0,
   11909             :        0,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   11910             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
   11911             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   11912             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   11913             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
   11914             :      341,   342,   343,   344,   345,   346,   347,     0,   348,     0,
   11915             :      349,   350,   351,   352,   353,     0,   354,     0,   355,   356,
   11916             :        0,     0,     0,   359,   360,   361,   362,   830,   363,   364,
   11917             :        0,   365,   366,   367,     0,   368,   369,   370,   371,   372,
   11918             :        0,   374,   375,   376,   377,     0,   378,   379,   380,   381,
   11919             :      382,   383,   384,   385,     0,   386,     0,   388,   389,   390,
   11920             :      391,   392,   393,   394,     0,   395,     0,   396,     0,     0,
   11921             :      399,     0,   401,   402,   403,   404,   405,   406,   407,   408,
   11922             :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
   11923             :        0,     0,   419,   420,     0,   422,     0,     0,   424,   425,
   11924             :      426,     0,     0,   427,   428,   429,   430,   431,   432,   433,
   11925             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   11926             :      444,   445,   446,     0,   448,   449,   450,   451,   452,   453,
   11927             :      454,   455,   456,   457,   458,   459,     0,   460,   461,     0,
   11928             :      463,     0,   464,   465,   466,   467,   468,   469,   470,     0,
   11929             :      471,   472,   473,     0,     0,   474,   475,   476,     0,     0,
   11930             :      477,   478,   479,     0,   481,     0,   483,   484,   485,   486,
   11931             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
   11932             :      496,   497,   498,   499,   500,   501,   502,   503,   504,     0,
   11933             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   11934             :      515,   516,   517,   518,   519,   800,   520,   521,   522,   523,
   11935             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   11936             :      533,   534,     0,   536,   537,   538,   539,   540,   541,   542,
   11937             :      543,   544,   545,   546,   547,   548,   549,   550,   551,   801,
   11938             :      552,   553,   554,   555,   556,     0,   557,   558,   559,   560,
   11939             :      561,     0,   563,   564,   565,   566,     0,   567,   568,   569,
   11940             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   11941             :      580,   581,   582,   583,     0,   584,   585,     0,     0,   586,
   11942             :        0,   588,   589,   590,   591,   592,   593,     0,   594,   595,
   11943             :      596,     0,     0,   597,   598,   599,   600,   601,     0,   602,
   11944             :      603,   604,   605,   606,   607,   608,   609,   610,     0,     0,
   11945             :      611,   612,   613,   614,   615,     0,     0,   616,   617,   618,
   11946             :      619,   620,   621,   622,     0,   623,     0,   625,   626,   627,
   11947             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   11948             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   11949             :      644,   645,   646,   647,   648,   649,   650,   658,     0,     0,
   11950             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11951             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   11952             :      241,   242,   243,   797,   244,   798,   246,     0,     0,     0,
   11953             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   11954             :      252,   253,     0,   255,   256,   257,   258,   259,     0,   261,
   11955             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   11956             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   11957             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
   11958             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
   11959             :      295,   296,   297,   799,     0,   299,   300,   301,     0,     0,
   11960             :        0,     0,     0,     0,     0,   303,   304,   305,   306,   307,
   11961             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   11962             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   11963             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   11964             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
   11965             :      340,   341,   342,   343,   344,   345,   346,   347,     0,   348,
   11966             :        0,   349,   350,   351,   352,   353,     0,   354,     0,   355,
   11967             :      356,     0,     0,     0,   359,   360,   361,   362,  3572,   363,
   11968             :      364,     0,   365,   366,   367,     0,   368,   369,   370,   371,
   11969             :      372,     0,   374,   375,   376,   377,     0,   378,   379,   380,
   11970             :      381,   382,   383,   384,   385,     0,   386,     0,   388,   389,
   11971             :      390,   391,   392,   393,   394,     0,   395,     0,   396,     0,
   11972             :        0,   399,     0,   401,   402,   403,   404,   405,   406,   407,
   11973             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   11974             :      418,     0,     0,   419,   420,     0,   422,     0,     0,   424,
   11975             :      425,   426,     0,     0,   427,   428,   429,   430,   431,   432,
   11976             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   11977             :      443,   444,   445,   446,     0,   448,   449,   450,   451,   452,
   11978             :      453,   454,   455,   456,   457,   458,   459,     0,   460,   461,
   11979             :        0,   463,     0,   464,   465,   466,   467,   468,   469,   470,
   11980             :        0,   471,   472,   473,     0,     0,   474,   475,   476,     0,
   11981             :        0,   477,   478,   479,     0,   481,     0,   483,   484,   485,
   11982             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
   11983             :        0,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   11984             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   11985             :      514,   515,   516,   517,   518,   519,   800,   520,   521,   522,
   11986             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   11987             :        0,   533,   534,     0,   536,   537,   538,   539,   540,   541,
   11988             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   11989             :      801,   552,   553,   554,   555,   556,     0,   557,   558,   559,
   11990             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
   11991             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   11992             :      579,   580,   581,   582,   583,     0,   584,   585,     0,     0,
   11993             :      586,     0,   588,   589,   590,   591,   592,   593,     0,   594,
   11994             :      595,   596,     0,     0,   597,   598,   599,   600,   601,     0,
   11995             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
   11996             :        0,   611,   612,   613,   614,   615,     0,     0,   616,   617,
   11997             :      618,   619,   620,   621,   622,     0,   623,     0,   625,   626,
   11998             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   11999             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   12000             :      643,   644,   645,   646,   647,   648,   649,   650,   658,     0,
   12001             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12002             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
   12003             :      240,   241,   242,   243,   797,   244,   798,   246,     0,     0,
   12004             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   12005             :      251,   252,   253,     0,   255,   256,   257,   258,   259,     0,
   12006             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   12007             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
   12008             :      277,   278,   279,     0,     0,     0,   281,   282,   283,   284,
   12009             :      285,   286,     0,   288,   289,   290,   291,     0,   292,   293,
   12010             :      294,   295,   296,   297,   799,     0,   299,   300,   301,     0,
   12011             :        0,     0,     0,     0,     0,     0,   303,   304,   305,   306,
   12012             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   12013             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   12014             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   12015             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
   12016             :      339,   340,   341,   342,   343,   344,   345,   346,   347,     0,
   12017             :      348,     0,   349,   350,   351,   352,   353,     0,   354,     0,
   12018             :      355,   356,     0,     0,     0,   359,   360,   361,   362,     0,
   12019             :      363,   364,     0,   365,   366,   367,     0,   368,   369,   370,
   12020             :      371,   372,     0,   374,   375,   376,   377,     0,   378,   379,
   12021             :      380,   381,   382,   383,   384,   385,     0,   386,     0,   388,
   12022             :      389,   390,   391,   392,   393,   394,     0,   395,     0,   396,
   12023             :        0,     0,   399,     0,   401,   402,   403,   404,   405,   406,
   12024             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   12025             :      417,   418,     0,     0,   419,   420,     0,   422,     0,     0,
   12026             :      424,   425,   426,     0,     0,   427,   428,   429,   430,   431,
   12027             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   12028             :      442,   443,   444,   445,   446,     0,   448,   449,   450,   451,
   12029             :      452,   453,   454,   455,   456,   457,   458,   459,     0,   460,
   12030             :      461,     0,   463,     0,   464,   465,   466,   467,   468,   469,
   12031             :      470,     0,   471,   472,   473,     0,     0,   474,   475,   476,
   12032             :        0,     0,   477,   478,   479,     0,   481,     0,   483,   484,
   12033             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   12034             :      495,     0,   496,   497,   498,   499,   500,   501,   502,   503,
   12035             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
   12036             :      513,   514,   515,   516,   517,   518,   519,   800,   520,   521,
   12037             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   12038             :      532,     0,   533,   534,     0,   536,   537,   538,   539,   540,
   12039             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   12040             :      551,   801,   552,   553,   554,   555,   556,     0,   557,   558,
   12041             :      559,   560,   561,     0,   563,   564,   565,   566,     0,   567,
   12042             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   12043             :      578,   579,   580,   581,   582,   583,     0,   584,   585,     0,
   12044             :        0,   586,     0,   588,   589,   590,   591,   592,   593,     0,
   12045             :      594,   595,   596,     0,     0,   597,   598,   599,   600,   601,
   12046             :        0,   602,   603,   604,   605,   606,   607,   608,   609,   610,
   12047             :        0,     0,   611,   612,   613,   614,   615,     0,     0,   616,
   12048             :      617,   618,   619,   620,   621,   622,     0,   623,     0,   625,
   12049             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   12050             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
   12051             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   658,
   12052             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12053             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
   12054             :      239,   240,   241,   242,   243,  3079,   244,   245,   246,     0,
   12055             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   12056             :      250,   251,   252,   253,     0,   255,   256,   257,   258,   259,
   12057             :        0,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   12058             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
   12059             :      276,   277,   278,   279,     0,     0,     0,   281,   282,   283,
   12060             :      284,   285,   286,     0,   288,   289,   290,   291,     0,   292,
   12061             :      293,   294,   295,   296,   297,     0,     0,   299,   300,   301,
   12062             :        0,     0,     0,  2909,     0,     0,     0,   303,   304,   305,
   12063             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   12064             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   12065             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   12066             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
   12067             :      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
   12068             :        0,   348,     0,   349,   350,   351,   352,   353,     0,   354,
   12069             :        0,   355,   356,     0,     0,     0,   359,   360,   361,   362,
   12070             :        0,   363,   364,     0,   365,   366,   367,     0,   368,   369,
   12071             :      370,   371,   372,     0,   374,   375,   376,   377,     0,   378,
   12072             :      379,   380,   381,   382,   383,   384,   385,     0,   386,     0,
   12073             :      388,   389,   390,   391,   392,   393,   394,     0,   395,     0,
   12074             :      396,     0,     0,   399,     0,   401,   402,   403,   404,   405,
   12075             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   12076             :      416,   417,   418,     0,     0,   419,   420,     0,   422,     0,
   12077             :        0,   424,   425,   426,     0,     0,   427,   428,   429,   430,
   12078             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   12079             :      441,   442,   443,   444,   445,   446,     0,   448,   449,   450,
   12080             :      451,   452,   453,   454,   455,   456,   457,   458,   459,     0,
   12081             :      460,   461,     0,   463,     0,   464,   465,   466,   467,   468,
   12082             :      469,   470,     0,   471,   472,   473,     0,   862,   474,   475,
   12083             :      476,     0,     0,   477,   478,   479,     0,   481,     0,   483,
   12084             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   12085             :      494,   495,     0,   496,   497,   498,   499,   500,   501,   502,
   12086             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
   12087             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   12088             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   12089             :      531,   532,     0,   533,   534,     0,   536,   537,   538,   539,
   12090             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
   12091             :      550,   551,     0,   552,   553,   554,   555,   556,     0,   557,
   12092             :      558,   559,   560,   561,     0,   563,   564,   565,   566,     0,
   12093             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   12094             :      577,   578,   579,   580,   581,   582,   583,     0,   584,   585,
   12095             :        0,  2910,  2911,     0,   588,   589,   590,   591,   592,   593,
   12096             :        0,   594,   595,   596,     0,     0,   597,   598,   599,   600,
   12097             :      601,     0,   602,   603,   604,   605,   606,   607,   608,   609,
   12098             :      610,     0,     0,   611,   612,   613,   614,   615,     0,     0,
   12099             :      616,   617,   618,   619,   620,   621,   622,     0,   623,     0,
   12100             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   12101             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
   12102             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   12103             :      658,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12104             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   12105             :      238,   239,   240,   241,   242,   243,  2007,   244,   245,   246,
   12106             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   12107             :        0,   250,   251,   252,   253,     0,   255,   256,   257,   258,
   12108             :      259,     0,   261,   262,     0,   263,   264,   265,   266,   267,
   12109             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
   12110             :      275,   276,   277,   278,   279,     0,     0,     0,   281,   282,
   12111             :      283,   284,   285,   286,     0,   288,   289,   290,   291,     0,
   12112             :      292,   293,   294,   295,   296,   297,     0,     0,   299,   300,
   12113             :      301,     0,     0,     0,     0,     0,     0,     0,   303,   304,
   12114             :      305,  2008,   307,   308,   309,   310,   311,     0,   312,     0,
   12115             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   12116             :      322,   323,     0,     0,   324,  2009,   326,   327,   328,     0,
   12117             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
   12118             :        0,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   12119             :      347,     0,   348,     0,   349,   350,   351,   352,   353,     0,
   12120             :      354,  2010,   355,   356,     0,     0,     0,  2011,   360,   361,
   12121             :      362,     0,   363,   364,     0,   365,   366,   367,     0,   368,
   12122             :      369,   370,   371,   372,     0,   374,   375,   376,   377,     0,
   12123             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
   12124             :        0,   388,   389,   390,   391,   392,   393,   394,     0,   395,
   12125             :        0,   396,     0,     0,   399,     0,   401,   402,   403,   404,
   12126             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   12127             :      415,  2012,  2013,   418,     0,     0,   419,   420,     0,   422,
   12128             :        0,     0,   424,   425,   426,     0,     0,   427,   428,   429,
   12129             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   12130             :      440,   441,   442,   443,   444,   445,   446,     0,   448,   449,
   12131             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   12132             :        0,   460,   461,     0,   463,     0,   464,   465,   466,   467,
   12133             :      468,   469,   470,     0,   471,   472,   473,     0,     0,   474,
   12134             :      475,   476,     0,     0,   477,   478,   479,     0,   481,     0,
   12135             :      483,   484,   485,   486,   487,  2014,   489,   490,   491,   492,
   12136             :      493,   494,   495,     0,   496,   497,   498,   499,   500,   501,
   12137             :      502,   503,   504,     0,   505,   506,   507,  2015,   509,   510,
   12138             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   12139             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   12140             :      530,   531,   532,     0,   533,   534,     0,   536,   537,   538,
   12141             :     2016,   540,   541,   542,   543,   544,   545,  2017,   547,   548,
   12142             :      549,   550,   551,     0,  2018,   553,   554,   555,   556,     0,
   12143             :      557,   558,   559,   560,   561,     0,   563,   564,   565,   566,
   12144             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   12145             :      576,   577,   578,   579,   580,   581,   582,   583,     0,   584,
   12146             :      585,     0,  2019,   586,     0,  2020,   589,   590,   591,   592,
   12147             :      593,     0,   594,   595,   596,     0,     0,   597,   598,   599,
   12148             :      600,   601,     0,   602,   603,  2021,   605,   606,   607,   608,
   12149             :      609,   610,     0,     0,   611,   612,   613,   614,   615,     0,
   12150             :        0,   616,   617,   618,   619,   620,   621,   622,     0,   623,
   12151             :        0,   625,   626,   627,   628,   629,     0,     0,   630,     0,
   12152             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   12153             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   12154             :      650,   658,     0,     0,     0,     0,     0,     0,     0,     0,
   12155             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   12156             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   798,
   12157             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   12158             :      249,     0,   250,   251,   252,   253,     0,   255,   256,   257,
   12159             :      258,   259,     0,   261,   262,     0,   263,   264,   265,   266,
   12160             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
   12161             :        0,   275,   276,   277,   278,   279,     0,     0,     0,   281,
   12162             :      282,   283,   284,   285,   286,     0,   288,   289,   290,   291,
   12163             :        0,   292,   293,   294,   295,   296,   297,   799,     0,   299,
   12164             :      300,   301,     0,     0,     0,     0,     0,     0,     0,   303,
   12165             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   12166             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   12167             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   12168             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   12169             :      337,     0,   338,   339,   340,   341,   342,   343,   344,   345,
   12170             :      346,   347,     0,   348,     0,   349,   350,   351,   352,   353,
   12171             :        0,   354,     0,   355,   356,     0,     0,     0,   359,   360,
   12172             :      361,   362,     0,   363,   364,     0,   365,   366,   367,     0,
   12173             :      368,   369,   370,   371,   372,     0,   374,   375,   376,   377,
   12174             :        0,   378,   379,   380,   381,   382,   383,   384,   385,     0,
   12175             :      386,     0,   388,   389,   390,   391,   392,   393,   394,     0,
   12176             :      395,     0,   396,     0,     0,   399,     0,   401,   402,   403,
   12177             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   12178             :      414,   415,   416,   417,   418,     0,     0,   419,   420,     0,
   12179             :      422,     0,     0,   424,   425,   426,     0,     0,   427,   428,
   12180             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   12181             :      439,   440,   441,   442,   443,   444,   445,   446,     0,   448,
   12182             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   12183             :      459,     0,   460,   461,     0,   463,     0,   464,   465,   466,
   12184             :      467,   468,   469,   470,     0,   471,   472,   473,     0,     0,
   12185             :      474,   475,   476,     0,     0,   477,   478,   479,     0,   481,
   12186             :        0,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   12187             :      492,   493,   494,   495,     0,   496,   497,   498,   499,   500,
   12188             :      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
   12189             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   12190             :      800,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   12191             :      529,   530,   531,   532,     0,   533,   534,     0,   536,   537,
   12192             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   12193             :      548,   549,   550,   551,   801,   552,   553,   554,   555,   556,
   12194             :        0,   557,   558,   559,   560,   561,     0,   563,   564,   565,
   12195             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   12196             :      575,   576,   577,   578,   579,   580,   581,   582,   583,     0,
   12197             :      584,   585,     0,     0,   586,     0,   588,   589,   590,   591,
   12198             :      592,   593,     0,   594,   595,   596,     0,     0,   597,   598,
   12199             :      599,   600,   601,     0,   602,   603,   604,   605,   606,   607,
   12200             :      608,   609,   610,     0,     0,   611,   612,   613,   614,   615,
   12201             :        0,     0,   616,   617,   618,   619,   620,   621,   622,     0,
   12202             :      623,     0,   625,   626,   627,   628,   629,     0,     0,   630,
   12203             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
   12204             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   12205             :      649,   650,   658,     0,     0,     0,     0,     0,     0,     0,
   12206             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   12207             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   12208             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   12209             :      248,   249,     0,   250,   251,   252,   253,     0,   255,   256,
   12210             :      257,   258,   259,     0,   261,   262,     0,   263,   264,   265,
   12211             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
   12212             :      274,     0,   275,   276,   277,   278,   279,     0,     0,     0,
   12213             :      281,   282,   283,   284,   285,   286,     0,   288,   289,   290,
   12214             :      291,     0,   292,   293,   294,   295,   296,   297,     0,     0,
   12215             :      299,   300,   301,     0,     0,     0,  2909,     0,     0,     0,
   12216             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   12217             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   12218             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   12219             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   12220             :      336,   337,     0,   338,   339,   340,   341,   342,   343,   344,
   12221             :      345,   346,   347,     0,   348,     0,   349,   350,   351,   352,
   12222             :      353,     0,   354,     0,   355,   356,     0,     0,     0,   359,
   12223             :      360,   361,   362,     0,   363,   364,     0,   365,   366,   367,
   12224             :        0,   368,   369,   370,   371,   372,     0,   374,   375,   376,
   12225             :      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
   12226             :        0,   386,     0,   388,   389,   390,   391,   392,   393,   394,
   12227             :        0,   395,     0,   396,     0,     0,   399,     0,   401,   402,
   12228             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   12229             :      413,   414,   415,   416,   417,   418,     0,     0,   419,   420,
   12230             :        0,   422,     0,     0,   424,   425,   426,     0,     0,   427,
   12231             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   12232             :      438,   439,   440,   441,   442,   443,   444,   445,   446,     0,
   12233             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   12234             :      458,   459,     0,   460,   461,     0,   463,     0,   464,   465,
   12235             :      466,   467,   468,   469,   470,     0,   471,   472,   473,     0,
   12236             :      862,   474,   475,   476,     0,     0,   477,   478,   479,     0,
   12237             :      481,     0,   483,   484,   485,   486,   487,   488,   489,   490,
   12238             :      491,   492,   493,   494,   495,     0,   496,   497,   498,   499,
   12239             :      500,   501,   502,   503,   504,     0,   505,   506,   507,   508,
   12240             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   12241             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   12242             :      528,   529,   530,   531,   532,     0,   533,   534,     0,   536,
   12243             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   12244             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   12245             :      556,     0,   557,   558,   559,   560,   561,     0,   563,   564,
   12246             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   12247             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   12248             :        0,   584,   585,     0,  2910,  2911,     0,   588,   589,   590,
   12249             :      591,   592,   593,     0,   594,   595,   596,     0,     0,   597,
   12250             :      598,   599,   600,   601,     0,   602,   603,   604,   605,   606,
   12251             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
   12252             :      615,     0,     0,   616,   617,   618,   619,   620,   621,   622,
   12253             :        0,   623,     0,   625,   626,   627,   628,   629,     0,     0,
   12254             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
   12255             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   12256             :      648,   649,   650,   658,     0,     0,     0,     0,     0,     0,
   12257             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12258             :      235,   236,   237,   238,   239,   240,   241,   242,   243,  1020,
   12259             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   12260             :      247,   248,   249,     0,   250,   251,   252,   253,     0,   255,
   12261             :      256,   257,   258,   259,     0,   261,   262,     0,   263,   264,
   12262             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   12263             :      273,   274,     0,   275,   276,   277,   278,   279,     0,     0,
   12264             :        0,   281,   282,   283,   284,   285,   286,     0,   288,   289,
   12265             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   12266             :        0,   299,   300,   301,     0,     0,     0,     0,     0,     0,
   12267             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   12268             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   12269             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   12270             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   12271             :      335,   336,   337,     0,   338,   339,   340,   341,   342,   343,
   12272             :      344,   345,   346,   347,     0,   348,     0,   349,   350,   351,
   12273             :      352,   353,     0,   354,     0,   355,   356,     0,     0,     0,
   12274             :      359,   360,   361,   362,     0,   363,   364,     0,   365,   366,
   12275             :      367,     0,   368,   369,   370,   371,  1021,     0,   374,   375,
   12276             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
   12277             :      385,     0,   386,     0,   388,   389,   390,   391,   392,   393,
   12278             :      394,     0,   395,     0,   396,     0,     0,   399,     0,   401,
   12279             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   12280             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
   12281             :      420,     0,   422,     0,     0,   424,   425,   426,     0,     0,
   12282             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   12283             :      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
   12284             :        0,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   12285             :      457,   458,   459,     0,   460,   461,     0,   463,     0,   464,
   12286             :      465,   466,   467,   468,   469,   470,     0,   471,   472,   473,
   12287             :        0,   862,   474,   475,   476,     0,     0,   477,   478,   479,
   12288             :        0,   481,     0,   483,   484,   485,   486,   487,   488,   489,
   12289             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
   12290             :      499,   500,   501,   502,   503,   504,     0,   505,   506,   507,
   12291             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   12292             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   12293             :      527,   528,   529,   530,   531,   532,     0,   533,   534,     0,
   12294             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   12295             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   12296             :      555,   556,     0,   557,   558,   559,   560,   561,     0,   563,
   12297             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   12298             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   12299             :      583,     0,   584,   585,     0,     0,   586,     0,   588,   589,
   12300             :      590,   591,   592,   593,     0,   594,   595,   596,     0,     0,
   12301             :      597,   598,   599,   600,   601,     0,   602,   603,   604,   605,
   12302             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
   12303             :      614,   615,     0,     0,   616,   617,   618,   619,   620,   621,
   12304             :      622,     0,   623,     0,   625,   626,   627,   628,   629,     0,
   12305             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   12306             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   12307             :      647,   648,   649,   650,   658,     0,     0,     0,     0,     0,
   12308             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12309             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   12310             :     3655,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   12311             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
   12312             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
   12313             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   12314             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
   12315             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
   12316             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   12317             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
   12318             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
   12319             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   12320             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   12321             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   12322             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
   12323             :      343,   344,   345,   346,   347,     0,   348,     0,   349,   350,
   12324             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
   12325             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
   12326             :      366,   367,     0,   368,   369,   370,   371,   372,     0,   374,
   12327             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
   12328             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
   12329             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
   12330             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   12331             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
   12332             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
   12333             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   12334             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   12335             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
   12336             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
   12337             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
   12338             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
   12339             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
   12340             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
   12341             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
   12342             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   12343             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   12344             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   12345             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   12346             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   12347             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
   12348             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   12349             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   12350             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
   12351             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
   12352             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
   12353             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
   12354             :      613,   614,   615,  3656,     0,   616,   617,   618,   619,   620,
   12355             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
   12356             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   12357             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   12358             :      646,   647,   648,   649,   650,   658,     0,     0,     0,     0,
   12359             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12360             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   12361             :      243,  3668,   244,   245,   246,     0,     0,     0,     0,     0,
   12362             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   12363             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
   12364             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   12365             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
   12366             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
   12367             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   12368             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
   12369             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   12370             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   12371             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   12372             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   12373             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
   12374             :      342,   343,   344,   345,   346,   347,     0,   348,     0,   349,
   12375             :      350,   351,   352,   353,     0,   354,     0,   355,   356,     0,
   12376             :        0,     0,   359,   360,   361,   362,     0,   363,   364,     0,
   12377             :      365,   366,   367,     0,   368,   369,   370,   371,   372,     0,
   12378             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
   12379             :      383,   384,   385,     0,   386,     0,   388,   389,   390,   391,
   12380             :      392,   393,   394,     0,   395,     0,   396,     0,     0,   399,
   12381             :        0,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   12382             :      410,   411,   412,   413,   414,   415,   416,   417,   418,     0,
   12383             :        0,   419,   420,     0,   422,     0,     0,   424,   425,   426,
   12384             :        0,     0,   427,   428,   429,   430,   431,   432,   433,   434,
   12385             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   12386             :      445,   446,     0,   448,   449,   450,   451,   452,   453,   454,
   12387             :      455,   456,   457,   458,   459,     0,   460,   461,     0,   463,
   12388             :        0,   464,   465,   466,   467,   468,   469,   470,     0,   471,
   12389             :      472,   473,     0,     0,   474,   475,   476,     0,     0,   477,
   12390             :      478,   479,     0,   481,     0,   483,   484,   485,   486,   487,
   12391             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
   12392             :      497,   498,   499,   500,   501,   502,   503,   504,     0,   505,
   12393             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   12394             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   12395             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   12396             :      534,     0,   536,   537,   538,   539,   540,   541,   542,   543,
   12397             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   12398             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
   12399             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   12400             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   12401             :      581,   582,   583,     0,   584,   585,     0,     0,   586,     0,
   12402             :      588,   589,   590,   591,   592,   593,     0,   594,   595,   596,
   12403             :        0,     0,   597,   598,   599,   600,   601,     0,   602,   603,
   12404             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
   12405             :      612,   613,   614,   615,  3669,     0,   616,   617,   618,   619,
   12406             :      620,   621,   622,     0,   623,     0,   625,   626,   627,   628,
   12407             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   12408             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   12409             :      645,   646,   647,   648,   649,   650,   658,     0,     0,     0,
   12410             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12411             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   12412             :      242,   243,   659,   244,   245,   246,     0,     0,     0,     0,
   12413             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   12414             :      253,     0,   255,   256,   257,   258,   259,     0,   261,   262,
   12415             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   12416             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   12417             :      279,     0,     0,     0,   281,   282,   283,   284,   285,   286,
   12418             :        0,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   12419             :      296,   297,     0,     0,   299,   300,   301,     0,     0,     0,
   12420             :        0,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   12421             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
   12422             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   12423             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   12424             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
   12425             :      341,   342,   343,   344,   345,   346,   347,     0,   348,     0,
   12426             :      349,   350,   351,   352,   353,     0,   354,     0,   355,   356,
   12427             :        0,     0,     0,   359,   360,   361,   362,     0,   363,   364,
   12428             :        0,   365,   366,   367,     0,   368,   369,   370,   371,   372,
   12429             :        0,   374,   375,   376,   377,     0,   378,   379,   380,   381,
   12430             :      382,   383,   384,   385,     0,   386,     0,   388,   389,   390,
   12431             :      391,   392,   393,   394,     0,   395,     0,   396,     0,     0,
   12432             :      399,     0,   401,   402,   403,   404,   405,   406,   407,   408,
   12433             :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
   12434             :        0,     0,   419,   420,     0,   422,     0,     0,   424,   425,
   12435             :      426,     0,     0,   427,   428,   429,   430,   431,   432,   433,
   12436             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   12437             :      444,   445,   446,     0,   448,   449,   450,   451,   452,   453,
   12438             :      454,   455,   456,   457,   458,   459,     0,   460,   461,     0,
   12439             :      463,     0,   464,   465,   466,   467,   468,   469,   470,     0,
   12440             :      471,   472,   473,     0,     0,   474,   475,   476,     0,     0,
   12441             :      477,   478,   479,     0,   481,     0,   483,   484,   485,   486,
   12442             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
   12443             :      496,   497,   498,   499,   500,   501,   502,   503,   504,     0,
   12444             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   12445             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   12446             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   12447             :      533,   534,     0,   536,   537,   538,   539,   540,   541,   542,
   12448             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   12449             :      552,   553,   554,   555,   556,     0,   557,   558,   559,   560,
   12450             :      561,     0,   563,   564,   565,   566,     0,   567,   568,   569,
   12451             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   12452             :      580,   581,   582,   583,     0,   584,   585,     0,     0,   586,
   12453             :        0,   588,   589,   590,   591,   592,   593,     0,   594,   595,
   12454             :      596,     0,     0,   597,   598,   599,   600,   601,     0,   602,
   12455             :      603,   604,   605,   606,   607,   608,   609,   610,     0,     0,
   12456             :      611,   612,   613,   614,   615,     0,     0,   616,   617,   618,
   12457             :      619,   620,   621,   622,     0,   623,     0,   625,   626,   627,
   12458             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   12459             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   12460             :      644,   645,   646,   647,   648,   649,   650,   658,     0,     0,
   12461             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12462             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   12463             :      241,   242,   243,   708,   244,   245,   246,     0,     0,     0,
   12464             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   12465             :      252,   253,     0,   255,   256,   257,   258,   259,     0,   261,
   12466             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   12467             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   12468             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
   12469             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
   12470             :      295,   296,   297,     0,     0,   299,   300,   301,     0,     0,
   12471             :        0,     0,     0,     0,     0,   303,   304,   305,   306,   307,
   12472             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   12473             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   12474             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   12475             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
   12476             :      340,   341,   342,   343,   344,   345,   346,   347,     0,   348,
   12477             :        0,   349,   350,   351,   352,   353,     0,   354,     0,   355,
   12478             :      356,     0,     0,     0,   359,   360,   361,   362,     0,   363,
   12479             :      364,     0,   365,   366,   367,     0,   368,   369,   370,   371,
   12480             :      372,     0,   374,   375,   376,   377,     0,   378,   379,   380,
   12481             :      381,   382,   383,   384,   385,     0,   386,     0,   388,   389,
   12482             :      390,   391,   392,   393,   394,     0,   395,     0,   396,     0,
   12483             :        0,   399,     0,   401,   402,   403,   404,   405,   406,   407,
   12484             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   12485             :      418,     0,     0,   419,   420,     0,   422,     0,     0,   424,
   12486             :      425,   426,     0,     0,   427,   428,   429,   430,   431,   432,
   12487             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   12488             :      443,   444,   445,   446,     0,   448,   449,   450,   451,   452,
   12489             :      453,   454,   455,   456,   457,   458,   459,     0,   460,   461,
   12490             :        0,   463,     0,   464,   465,   466,   467,   468,   469,   470,
   12491             :        0,   471,   472,   473,     0,     0,   474,   475,   476,     0,
   12492             :        0,   477,   478,   479,     0,   481,     0,   483,   484,   485,
   12493             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
   12494             :        0,   496,   497,   498,   499,   500,   501,   502,   709,   504,
   12495             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   12496             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
   12497             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   12498             :        0,   533,   534,     0,   536,   537,   538,   539,   540,   541,
   12499             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   12500             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   559,
   12501             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
   12502             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   12503             :      579,   580,   581,   582,   583,     0,   584,   585,     0,     0,
   12504             :      586,     0,   588,   589,   590,   591,   592,   593,     0,   594,
   12505             :      595,   596,     0,     0,   597,   598,   599,   600,   601,     0,
   12506             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
   12507             :        0,   611,   612,   613,   614,   615,     0,     0,   616,   617,
   12508             :      618,   619,   620,   621,   622,     0,   623,     0,   625,   626,
   12509             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   12510             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   12511             :      643,   644,   645,   646,   647,   648,   649,   650,   658,     0,
   12512             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12513             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
   12514             :      240,   241,   242,   243,   822,   244,   245,   246,     0,     0,
   12515             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   12516             :      251,   252,   253,     0,   255,   256,   257,   258,   259,     0,
   12517             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   12518             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
   12519             :      277,   278,   279,     0,     0,     0,   281,   282,   283,   284,
   12520             :      285,   286,     0,   288,   289,   290,   291,     0,   292,   293,
   12521             :      294,   295,   296,   297,     0,     0,   299,   300,   301,     0,
   12522             :        0,     0,     0,     0,     0,     0,   303,   304,   305,   306,
   12523             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   12524             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   12525             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   12526             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
   12527             :      339,   340,   341,   342,   343,   344,   345,   346,   347,     0,
   12528             :      348,     0,   349,   350,   351,   352,   353,     0,   354,     0,
   12529             :      355,   356,     0,     0,     0,   359,   360,   361,   362,     0,
   12530             :      363,   364,     0,   365,   366,   367,     0,   368,   369,   370,
   12531             :      371,   372,     0,   374,   375,   376,   377,     0,   378,   379,
   12532             :      380,   381,   382,   383,   384,   385,     0,   386,     0,   388,
   12533             :      389,   390,   391,   392,   393,   394,     0,   395,     0,   396,
   12534             :        0,     0,   399,     0,   401,   402,   403,   404,   405,   406,
   12535             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   12536             :      417,   418,     0,     0,   419,   420,     0,   422,     0,     0,
   12537             :      424,   425,   426,     0,     0,   427,   428,   429,   430,   431,
   12538             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   12539             :      442,   443,   444,   445,   446,     0,   448,   449,   450,   451,
   12540             :      452,   453,   454,   455,   456,   457,   458,   459,     0,   460,
   12541             :      461,     0,   463,     0,   464,   465,   466,   467,   468,   469,
   12542             :      470,     0,   471,   472,   473,     0,     0,   474,   475,   476,
   12543             :        0,     0,   477,   478,   479,     0,   481,     0,   483,   484,
   12544             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   12545             :      495,     0,   496,   497,   498,   499,   500,   501,   502,   503,
   12546             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
   12547             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
   12548             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   12549             :      532,     0,   533,   534,     0,   536,   537,   538,   539,   540,
   12550             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   12551             :      551,     0,   552,   553,   554,   555,   823,     0,   557,   558,
   12552             :      559,   560,   561,     0,   563,   564,   565,   566,     0,   567,
   12553             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   12554             :      578,   579,   580,   581,   582,   583,     0,   584,   585,     0,
   12555             :        0,   586,     0,   588,   589,   590,   591,   592,   593,     0,
   12556             :      594,   824,   596,     0,     0,   825,   598,   599,   600,   601,
   12557             :        0,   602,   603,   604,   605,   606,   607,   608,   609,   610,
   12558             :        0,     0,   611,   612,   613,   614,   615,     0,     0,   616,
   12559             :      617,   618,   619,   620,   621,   622,     0,   623,     0,   625,
   12560             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   12561             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
   12562             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   658,
   12563             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12564             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
   12565             :      239,   240,   241,   242,   243,   856,   244,   245,   246,     0,
   12566             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   12567             :      250,   251,   252,   253,     0,   255,   256,   257,   258,   259,
   12568             :        0,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   12569             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
   12570             :      276,   277,   278,   279,     0,     0,     0,   281,   282,   283,
   12571             :      284,   285,   286,     0,   288,   289,   290,   291,     0,   292,
   12572             :      293,   294,   295,   296,   297,     0,     0,   299,   300,   301,
   12573             :        0,     0,     0,     0,     0,     0,     0,   303,   304,   305,
   12574             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   12575             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   12576             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   12577             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
   12578             :      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
   12579             :        0,   348,     0,   349,   350,   351,   352,   353,     0,   354,
   12580             :        0,   355,   356,     0,     0,     0,   359,   360,   361,   362,
   12581             :        0,   363,   364,     0,   365,   366,   367,     0,   368,   369,
   12582             :      370,   371,   372,     0,   374,   375,   376,   377,     0,   378,
   12583             :      379,   380,   381,   382,   383,   384,   385,     0,   386,     0,
   12584             :      388,   389,   390,   391,   392,   393,   394,     0,   395,     0,
   12585             :      396,     0,     0,   399,     0,   401,   402,   403,   404,   405,
   12586             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   12587             :      416,   417,   418,     0,     0,   419,   420,     0,   422,     0,
   12588             :        0,   424,   425,   426,     0,     0,   427,   428,   429,   430,
   12589             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   12590             :      441,   442,   443,   444,   445,   446,     0,   448,   449,   450,
   12591             :      451,   452,   453,   454,   455,   456,   457,   458,   459,     0,
   12592             :      460,   461,     0,   463,     0,   464,   465,   466,   467,   468,
   12593             :      469,   470,     0,   471,   472,   473,     0,     0,   474,   475,
   12594             :      476,     0,     0,   477,   478,   479,     0,   481,     0,   483,
   12595             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   12596             :      494,   495,     0,   496,   497,   498,   499,   500,   501,   502,
   12597             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
   12598             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   12599             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   12600             :      531,   532,     0,   533,   534,     0,   536,   537,   538,   539,
   12601             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
   12602             :      550,   551,     0,   552,   553,   554,   555,   857,     0,   557,
   12603             :      558,   559,   560,   561,     0,   563,   564,   565,   566,     0,
   12604             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   12605             :      577,   578,   579,   580,   581,   582,   583,     0,   584,   585,
   12606             :        0,     0,   586,     0,   588,   589,   590,   591,   592,   593,
   12607             :        0,   594,   858,   596,     0,     0,   859,   598,   599,   600,
   12608             :      601,     0,   602,   603,   604,   605,   606,   607,   608,   609,
   12609             :      610,     0,     0,   611,   612,   613,   614,   615,     0,     0,
   12610             :      616,   617,   618,   619,   620,   621,   622,     0,   623,     0,
   12611             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   12612             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
   12613             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   12614             :      658,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12615             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   12616             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   12617             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   12618             :        0,   250,   251,   252,   253,     0,   255,   256,   257,   258,
   12619             :      259,     0,   261,   262,     0,   263,   264,   265,   266,   267,
   12620             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
   12621             :      275,   276,   277,   278,   279,     0,     0,     0,   281,   282,
   12622             :      283,   284,   285,   286,     0,   288,   289,   290,   291,     0,
   12623             :      292,   293,   294,   295,   296,   297,     0,     0,   299,   300,
   12624             :      301,     0,     0,     0,     0,     0,     0,     0,   303,   304,
   12625             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   12626             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   12627             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
   12628             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
   12629             :        0,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   12630             :      347,     0,   348,     0,   349,   350,   351,   352,   353,     0,
   12631             :      354,     0,   355,   356,     0,     0,     0,   359,   360,   361,
   12632             :      362,     0,   363,   364,     0,   365,   366,   367,     0,   368,
   12633             :      369,   370,   371,   372,     0,   374,   375,   376,   377,     0,
   12634             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
   12635             :        0,   388,   389,   390,   391,   392,   393,   394,     0,   395,
   12636             :        0,   396,     0,     0,   399,     0,   401,   402,   403,   404,
   12637             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   12638             :      415,   416,   417,   418,     0,     0,   419,   420,     0,   422,
   12639             :        0,     0,   424,   425,   426,     0,     0,   427,   428,   429,
   12640             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   12641             :      440,   441,   442,   443,   444,   445,   446,     0,   448,   449,
   12642             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   12643             :        0,   460,   461,     0,   463,     0,   464,   465,   466,   467,
   12644             :      468,   469,   470,     0,   471,   472,   473,     0,   862,   474,
   12645             :      475,   476,     0,     0,   477,   478,   479,     0,   481,     0,
   12646             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   12647             :      493,   494,   495,     0,   496,   497,   498,   499,   500,   501,
   12648             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
   12649             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   12650             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   12651             :      530,   531,   532,     0,   533,   534,     0,   536,   537,   538,
   12652             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
   12653             :      549,   550,   551,     0,   552,   553,   554,   555,   556,     0,
   12654             :      557,   558,   559,   560,   561,     0,   563,   564,   565,   566,
   12655             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   12656             :      576,   577,   578,   579,   580,   581,   582,   583,     0,   584,
   12657             :      585,     0,     0,   586,     0,   588,   589,   590,   591,   592,
   12658             :      593,     0,   594,   595,   596,     0,     0,   597,   598,   599,
   12659             :      600,   601,     0,   602,   603,   604,   605,   606,   607,   608,
   12660             :      609,   610,     0,     0,   611,   612,   613,   614,   615,     0,
   12661             :        0,   616,   617,   618,   619,   620,   621,   622,     0,   623,
   12662             :        0,   625,   626,   627,   628,   629,     0,     0,   630,     0,
   12663             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   12664             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   12665             :      650,   658,     0,     0,     0,     0,     0,     0,     0,     0,
   12666             :      922,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   12667             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   12668             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   12669             :      249,     0,   250,   251,   252,   253,     0,   255,   256,   257,
   12670             :      258,   259,     0,   261,   262,     0,   263,   264,   265,   266,
   12671             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
   12672             :        0,   275,   276,   277,   278,   279,     0,     0,     0,   281,
   12673             :      282,   283,   284,   285,   286,     0,   288,   289,   290,   291,
   12674             :        0,   292,   293,   294,   295,   296,   297,     0,     0,   299,
   12675             :      300,   301,     0,     0,     0,     0,     0,     0,     0,   303,
   12676             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   12677             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   12678             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   12679             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   12680             :      337,     0,   338,   339,   340,   341,   342,   343,   344,   345,
   12681             :      346,   347,     0,   348,     0,   349,   350,   351,   352,   353,
   12682             :        0,   354,     0,   355,   356,     0,     0,     0,   359,   360,
   12683             :      361,   362,     0,   363,   364,     0,   365,   366,   367,     0,
   12684             :      368,   369,   370,   371,   372,     0,   374,   375,   376,   377,
   12685             :        0,   378,   379,   380,   381,   382,   383,   384,   385,     0,
   12686             :      386,     0,   388,   389,   390,   391,   392,   393,   394,     0,
   12687             :      395,     0,   396,     0,     0,   399,     0,   401,   402,   403,
   12688             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   12689             :      414,   415,   416,   417,   418,     0,     0,   419,   420,     0,
   12690             :      422,     0,     0,   424,   425,   426,     0,     0,   427,   428,
   12691             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   12692             :      439,   440,   441,   442,   443,   444,   445,   446,     0,   448,
   12693             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   12694             :      459,     0,   460,   461,     0,   463,     0,   464,   465,   466,
   12695             :      467,   468,   469,   470,     0,   471,   472,   473,     0,     0,
   12696             :      474,   475,   476,     0,     0,   477,   478,   479,     0,   481,
   12697             :        0,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   12698             :      492,   493,   494,   495,     0,   496,   497,   498,   499,   500,
   12699             :      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
   12700             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   12701             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   12702             :      529,   530,   531,   532,     0,   533,   534,     0,   536,   537,
   12703             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   12704             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
   12705             :        0,   557,   558,   559,   560,   561,     0,   563,   564,   565,
   12706             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   12707             :      575,   576,   577,   578,   579,   580,   581,   582,   583,     0,
   12708             :      584,   585,     0,     0,   586,     0,   588,   589,   590,   591,
   12709             :      592,   593,     0,   594,   595,   596,     0,     0,   597,   598,
   12710             :      599,   600,   601,     0,   602,   603,   604,   605,   606,   607,
   12711             :      608,   609,   610,     0,     0,   611,   612,   613,   614,   615,
   12712             :        0,     0,   616,   617,   618,   619,   620,   621,   622,     0,
   12713             :      623,     0,   625,   626,   627,   628,   629,     0,     0,   630,
   12714             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
   12715             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   12716             :      649,   650,   658,     0,     0,     0,     0,     0,     0,     0,
   12717             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   12718             :      236,   237,   238,   239,   240,   241,   242,   243,   977,   244,
   12719             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   12720             :      248,   249,     0,   250,   251,   252,   253,     0,   255,   256,
   12721             :      257,   258,   259,     0,   261,   262,     0,   263,   264,   265,
   12722             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
   12723             :      274,     0,   275,   276,   277,   278,   279,     0,     0,     0,
   12724             :      281,   282,   283,   284,   285,   286,     0,   288,   289,   290,
   12725             :      291,     0,   292,   293,   294,   295,   296,   297,     0,     0,
   12726             :      299,   300,   301,     0,     0,     0,     0,     0,     0,     0,
   12727             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   12728             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   12729             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   12730             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   12731             :      336,   337,     0,   338,   339,   340,   341,   342,   343,   344,
   12732             :      345,   346,   347,     0,   348,     0,   349,   350,   351,   352,
   12733             :      353,     0,   354,     0,   355,   356,     0,     0,     0,   359,
   12734             :      360,   361,   362,     0,   363,   364,     0,   365,   366,   367,
   12735             :        0,   368,   369,   370,   371,   978,     0,   374,   375,   376,
   12736             :      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
   12737             :        0,   386,     0,   388,   389,   390,   391,   392,   393,   394,
   12738             :        0,   395,     0,   396,     0,     0,   399,     0,   401,   402,
   12739             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   12740             :      413,   414,   415,   416,   417,   418,     0,     0,   419,   420,
   12741             :        0,   422,     0,     0,   424,   425,   426,     0,     0,   427,
   12742             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   12743             :      438,   439,   440,   441,   442,   443,   444,   445,   446,     0,
   12744             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   12745             :      458,   459,     0,   460,   461,     0,   463,     0,   464,   465,
   12746             :      466,   467,   468,   469,   470,     0,   471,   472,   473,     0,
   12747             :        0,   474,   475,   476,     0,     0,   477,   478,   479,     0,
   12748             :      481,     0,   483,   484,   485,   486,   487,   488,   489,   490,
   12749             :      491,   492,   493,   494,   495,     0,   496,   497,   498,   499,
   12750             :      500,   501,   502,   503,   504,     0,   505,   506,   507,   508,
   12751             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   12752             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   12753             :      528,   529,   530,   531,   532,     0,   533,   534,     0,   536,
   12754             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   12755             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   12756             :      556,     0,   557,   558,   559,   560,   561,     0,   563,   564,
   12757             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   12758             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   12759             :        0,   584,   585,     0,     0,   586,     0,   588,   589,   590,
   12760             :      591,   592,   593,     0,   594,   595,   596,     0,     0,   597,
   12761             :      598,   599,   600,   601,     0,   602,   603,   604,   605,   606,
   12762             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
   12763             :      615,     0,     0,   616,   617,   618,   619,   620,   621,   622,
   12764             :        0,   623,     0,   625,   626,   627,   628,   629,     0,     0,
   12765             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
   12766             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   12767             :      648,   649,   650,   658,     0,     0,     0,     0,     0,     0,
   12768             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12769             :      235,   236,   237,   238,   239,   240,   241,   242,   243,  1140,
   12770             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   12771             :      247,   248,   249,     0,   250,   251,   252,   253,     0,   255,
   12772             :      256,   257,   258,   259,     0,   261,   262,     0,   263,   264,
   12773             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   12774             :      273,   274,     0,   275,   276,   277,   278,   279,     0,     0,
   12775             :        0,   281,   282,   283,   284,   285,   286,     0,   288,   289,
   12776             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   12777             :        0,   299,   300,   301,     0,     0,     0,     0,     0,     0,
   12778             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   12779             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   12780             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   12781             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   12782             :      335,   336,   337,     0,   338,   339,   340,   341,   342,   343,
   12783             :      344,   345,   346,   347,     0,   348,     0,   349,   350,   351,
   12784             :      352,   353,     0,   354,     0,   355,   356,     0,     0,     0,
   12785             :      359,   360,   361,   362,     0,   363,   364,     0,   365,   366,
   12786             :      367,     0,   368,   369,   370,   371,   372,     0,   374,   375,
   12787             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
   12788             :      385,     0,   386,     0,   388,   389,   390,   391,   392,   393,
   12789             :      394,     0,   395,     0,   396,     0,     0,   399,     0,   401,
   12790             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   12791             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
   12792             :      420,     0,   422,     0,     0,   424,   425,   426,     0,     0,
   12793             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   12794             :      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
   12795             :        0,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   12796             :      457,   458,   459,     0,   460,   461,     0,   463,     0,   464,
   12797             :      465,   466,   467,   468,   469,   470,     0,   471,   472,   473,
   12798             :        0,     0,   474,   475,   476,     0,     0,   477,   478,   479,
   12799             :        0,   481,     0,   483,   484,   485,   486,   487,   488,   489,
   12800             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
   12801             :      499,   500,   501,   502,   503,   504,     0,   505,   506,   507,
   12802             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   12803             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   12804             :      527,   528,   529,   530,   531,   532,     0,   533,   534,     0,
   12805             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   12806             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   12807             :      555,   556,     0,   557,   558,   559,   560,   561,     0,   563,
   12808             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   12809             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   12810             :      583,     0,   584,   585,     0,     0,   586,     0,   588,   589,
   12811             :      590,   591,   592,   593,     0,   594,   595,   596,     0,     0,
   12812             :      597,   598,   599,   600,   601,     0,   602,   603,   604,   605,
   12813             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
   12814             :      614,   615,     0,     0,   616,   617,   618,   619,   620,   621,
   12815             :      622,     0,   623,     0,   625,   626,   627,   628,   629,     0,
   12816             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   12817             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   12818             :      647,   648,   649,   650,   658,     0,     0,     0,     0,     0,
   12819             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12820             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   12821             :     1390,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   12822             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
   12823             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
   12824             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   12825             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
   12826             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
   12827             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   12828             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
   12829             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
   12830             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   12831             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   12832             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   12833             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
   12834             :      343,   344,   345,   346,   347,     0,   348,     0,   349,   350,
   12835             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
   12836             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
   12837             :      366,   367,     0,   368,   369,   370,   371,   372,     0,   374,
   12838             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
   12839             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
   12840             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
   12841             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   12842             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
   12843             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
   12844             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   12845             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   12846             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
   12847             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
   12848             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
   12849             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
   12850             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
   12851             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
   12852             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
   12853             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   12854             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   12855             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   12856             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   12857             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   12858             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
   12859             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   12860             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   12861             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
   12862             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
   12863             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
   12864             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
   12865             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
   12866             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
   12867             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   12868             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   12869             :      646,   647,   648,   649,   650,   658,     0,     0,     0,     0,
   12870             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12871             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   12872             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   12873             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   12874             :     1401,   255,   256,   257,   258,   259,     0,   261,   262,     0,
   12875             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   842,
   12876             :      271,   272,   273,  1402,     0,   275,   276,   277,   278,   279,
   12877             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
   12878             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   12879             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
   12880             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   12881             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   12882             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   12883             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   12884             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
   12885             :      342,   343,   344,   345,   346,   347,     0,   348,     0,   349,
   12886             :      350,   351,   352,   353,     0,   354,     0,   355,   356,     0,
   12887             :        0,     0,   359,   360,   361,   362,     0,   363,   364,     0,
   12888             :      365,   366,   367,     0,   368,   369,   370,   371,   372,     0,
   12889             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
   12890             :      383,   384,   385,     0,   386,     0,   388,   389,   390,   391,
   12891             :      392,   393,   394,     0,   395,     0,   396,     0,     0,   399,
   12892             :        0,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   12893             :      410,   411,   412,   413,   414,   415,   416,   417,   418,     0,
   12894             :        0,   419,   420,     0,   422,     0,     0,   424,   425,   426,
   12895             :        0,     0,   427,   428,   429,   430,   431,   432,   433,   434,
   12896             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   12897             :      845,   446,     0,   448,   449,   450,   451,   452,   453,   454,
   12898             :      455,   456,   457,   458,   459,     0,   460,   461,     0,   463,
   12899             :        0,   464,   465,   466,   467,   468,   469,   470,     0,   471,
   12900             :      472,   473,     0,     0,   474,   475,   476,     0,     0,   477,
   12901             :      478,   479,     0,   481,     0,   483,   484,   485,   486,   487,
   12902             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
   12903             :      497,   498,   499,   500,   501,   502,   503,   504,     0,   505,
   12904             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   12905             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   12906             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   12907             :      534,     0,   846,   537,   538,   539,   540,   541,   542,   543,
   12908             :      544,   545,   847,   547,   548,   549,   550,   551,     0,   552,
   12909             :      553,   554,   555,  1394,     0,   557,   558,   559,   560,   561,
   12910             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   12911             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   12912             :      581,   582,   583,     0,   584,   585,     0,     0,   586,     0,
   12913             :      588,   589,   590,   591,   592,   593,     0,   594,   849,   596,
   12914             :        0,     0,   850,   598,   599,   600,   601,     0,   602,   603,
   12915             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
   12916             :      612,   613,   614,   615,     0,     0,   616,   617,   618,   619,
   12917             :      620,   621,   622,     0,   623,     0,   625,   626,   627,   628,
   12918             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   12919             :      635,   851,   637,   638,   639,   640,   641,   642,   643,   644,
   12920             :      645,   646,   647,   648,   649,   650,   658,     0,     0,     0,
   12921             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12922             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   12923             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
   12924             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   12925             :      253,     0,   255,   256,   257,   258,   259,     0,   261,   262,
   12926             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   12927             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   12928             :      279,     0,     0,     0,   281,   282,   283,   284,   285,   286,
   12929             :        0,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   12930             :      296,   297,     0,     0,   299,   300,   301,     0,     0,     0,
   12931             :        0,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   12932             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
   12933             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   12934             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   12935             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
   12936             :      341,   342,   343,   344,   345,   346,   347,     0,   348,     0,
   12937             :      349,   350,   351,   352,   353,     0,   354,     0,   355,   356,
   12938             :        0,     0,     0,   359,   360,   361,   362,     0,   363,   364,
   12939             :        0,   365,   366,   367,     0,   368,   369,   370,   371,  1547,
   12940             :        0,   374,   375,   376,   377,     0,   378,   379,   380,   381,
   12941             :      382,   383,   384,   385,     0,   386,     0,   388,   389,   390,
   12942             :      391,   392,   393,   394,     0,   395,     0,   396,     0,     0,
   12943             :      399,     0,   401,   402,   403,   404,   405,   406,   407,   408,
   12944             :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
   12945             :        0,     0,   419,   420,     0,   422,     0,     0,   424,   425,
   12946             :      426,     0,     0,   427,   428,   429,   430,   431,   432,   433,
   12947             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   12948             :      444,   445,   446,     0,   448,   449,   450,   451,   452,   453,
   12949             :      454,   455,   456,   457,   458,   459,     0,   460,   461,     0,
   12950             :      463,     0,   464,   465,   466,   467,   468,   469,   470,     0,
   12951             :      471,   472,   473,     0,   862,   474,   475,   476,     0,     0,
   12952             :      477,   478,   479,     0,   481,     0,   483,   484,   485,   486,
   12953             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
   12954             :      496,   497,   498,   499,   500,   501,   502,   503,   504,     0,
   12955             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   12956             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   12957             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   12958             :      533,   534,     0,   536,   537,   538,   539,   540,   541,   542,
   12959             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   12960             :      552,   553,   554,   555,   556,     0,   557,   558,   559,   560,
   12961             :      561,     0,   563,   564,   565,   566,     0,   567,   568,   569,
   12962             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   12963             :      580,   581,   582,   583,     0,   584,   585,     0,     0,   586,
   12964             :        0,   588,   589,   590,   591,   592,   593,     0,   594,   595,
   12965             :      596,     0,     0,   597,   598,   599,   600,   601,     0,   602,
   12966             :      603,   604,   605,   606,   607,   608,   609,   610,     0,     0,
   12967             :      611,   612,   613,   614,   615,     0,     0,   616,   617,   618,
   12968             :      619,   620,   621,   622,     0,   623,     0,   625,   626,   627,
   12969             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   12970             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   12971             :      644,   645,   646,   647,   648,   649,   650,   658,     0,     0,
   12972             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12973             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   12974             :      241,   242,   243,  1608,   244,   245,   246,     0,     0,     0,
   12975             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   12976             :      252,   253,     0,   255,   256,   257,   258,   259,     0,   261,
   12977             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   12978             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   12979             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
   12980             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
   12981             :      295,   296,   297,     0,     0,   299,   300,   301,     0,     0,
   12982             :        0,     0,     0,     0,     0,   303,   304,   305,   306,   307,
   12983             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   12984             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   12985             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   12986             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
   12987             :      340,   341,   342,   343,   344,   345,   346,   347,     0,   348,
   12988             :        0,   349,   350,   351,   352,   353,     0,   354,     0,   355,
   12989             :      356,     0,     0,     0,   359,   360,   361,   362,     0,   363,
   12990             :      364,     0,   365,   366,   367,     0,   368,   369,   370,   371,
   12991             :     1609,     0,   374,   375,   376,   377,     0,   378,   379,   380,
   12992             :      381,   382,   383,   384,   385,     0,   386,     0,   388,   389,
   12993             :      390,   391,   392,   393,   394,     0,   395,     0,   396,     0,
   12994             :        0,   399,     0,   401,   402,   403,   404,   405,   406,   407,
   12995             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   12996             :      418,     0,     0,   419,   420,     0,   422,     0,     0,   424,
   12997             :      425,   426,     0,     0,   427,   428,   429,   430,   431,   432,
   12998             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   12999             :      443,   444,   445,   446,     0,   448,   449,   450,   451,   452,
   13000             :      453,   454,   455,   456,   457,   458,   459,     0,   460,   461,
   13001             :        0,   463,     0,   464,   465,   466,   467,   468,   469,   470,
   13002             :        0,   471,   472,   473,     0,     0,   474,   475,   476,     0,
   13003             :        0,   477,   478,   479,     0,   481,     0,   483,   484,   485,
   13004             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
   13005             :        0,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   13006             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   13007             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
   13008             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   13009             :        0,   533,   534,     0,   536,   537,   538,   539,   540,   541,
   13010             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   13011             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   559,
   13012             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
   13013             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   13014             :      579,   580,   581,   582,   583,     0,   584,   585,     0,     0,
   13015             :      586,     0,   588,   589,   590,   591,   592,   593,     0,   594,
   13016             :      595,   596,     0,     0,   597,   598,   599,   600,   601,     0,
   13017             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
   13018             :        0,   611,   612,   613,   614,   615,     0,     0,   616,   617,
   13019             :      618,   619,   620,   621,   622,     0,   623,     0,   625,   626,
   13020             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   13021             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   13022             :      643,   644,   645,   646,   647,   648,   649,   650,   658,     0,
   13023             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13024             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
   13025             :      240,   241,   242,   243,   822,   244,   245,   246,     0,     0,
   13026             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   13027             :      251,   252,   253,     0,   255,   256,   257,   258,   259,     0,
   13028             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   13029             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
   13030             :      277,   278,   279,     0,     0,     0,   281,   282,   283,   284,
   13031             :      285,   286,     0,   288,   289,   290,   291,     0,   292,   293,
   13032             :      294,   295,   296,   297,     0,     0,   299,   300,   301,     0,
   13033             :        0,     0,     0,     0,     0,     0,   303,   304,   305,   306,
   13034             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   13035             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   13036             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   13037             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
   13038             :      339,   340,   341,   342,   343,   344,   345,   346,   347,     0,
   13039             :      348,     0,   349,   350,   351,   352,   353,     0,   354,     0,
   13040             :      355,   356,     0,     0,     0,   359,   360,   361,   362,     0,
   13041             :      363,   364,     0,   365,   366,   367,     0,   368,   369,   370,
   13042             :      371,   372,     0,   374,   375,   376,   377,     0,   378,   379,
   13043             :      380,   381,   382,   383,   384,   385,     0,   386,     0,   388,
   13044             :      389,   390,   391,   392,   393,   394,     0,   395,     0,   396,
   13045             :        0,     0,   399,     0,   401,   402,   403,   404,   405,   406,
   13046             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   13047             :      417,   418,     0,     0,   419,   420,     0,   422,     0,     0,
   13048             :      424,   425,   426,     0,     0,   427,   428,   429,   430,   431,
   13049             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   13050             :      442,   443,   444,   445,   446,     0,   448,   449,   450,   451,
   13051             :      452,   453,   454,   455,   456,   457,   458,   459,     0,   460,
   13052             :      461,     0,   463,     0,   464,   465,   466,   467,   468,   469,
   13053             :      470,     0,   471,   472,   473,     0,     0,   474,   475,   476,
   13054             :        0,     0,   477,   478,   479,     0,   481,     0,   483,   484,
   13055             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   13056             :      495,     0,   496,   497,   498,   499,   500,   501,   502,   503,
   13057             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
   13058             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
   13059             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   13060             :      532,     0,   533,   534,     0,   536,   537,   538,   539,   540,
   13061             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   13062             :      551,     0,   552,   553,   554,   555,   556,     0,   557,   558,
   13063             :      559,   560,   561,     0,   563,   564,   565,   566,     0,   567,
   13064             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   13065             :      578,   579,   580,   581,   582,   583,     0,   584,   585,     0,
   13066             :        0,   586,     0,   588,   589,   590,   591,   592,   593,     0,
   13067             :      594,   595,   596,     0,     0,   597,   598,   599,   600,   601,
   13068             :        0,   602,   603,   604,   605,   606,   607,   608,   609,   610,
   13069             :        0,     0,   611,   612,   613,   614,   615,     0,     0,   616,
   13070             :      617,   618,   619,   620,   621,   622,     0,   623,     0,   625,
   13071             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   13072             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
   13073             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   658,
   13074             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13075             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
   13076             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
   13077             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   13078             :      250,   251,   252,   253,     0,   255,   256,   257,   258,   259,
   13079             :        0,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   13080             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
   13081             :      276,   277,   278,   279,     0,     0,     0,   281,   282,   283,
   13082             :      284,   285,   286,     0,   288,   289,   290,   291,     0,   292,
   13083             :      293,   294,   295,   296,   297,     0,     0,   299,   300,   301,
   13084             :        0,     0,     0,     0,     0,     0,     0,   303,   304,   305,
   13085             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   13086             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   13087             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   13088             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
   13089             :      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
   13090             :        0,   348,     0,   349,   350,   351,   352,   353,     0,   354,
   13091             :        0,   355,   356,     0,     0,     0,   359,   360,   361,  3419,
   13092             :        0,   363,   364,     0,   365,   366,   367,     0,   368,   369,
   13093             :      370,   371,   372,     0,   374,   375,   376,   377,     0,   378,
   13094             :      379,   380,   381,   382,   383,   384,   385,     0,   386,     0,
   13095             :      388,   389,   390,   391,   392,   393,   394,     0,   395,     0,
   13096             :      396,     0,     0,   399,     0,   401,   402,   403,   404,   405,
   13097             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   13098             :      416,   417,   418,     0,     0,   419,   420,     0,   422,     0,
   13099             :        0,   424,   425,  3420,     0,     0,   427,   428,   429,   430,
   13100             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   13101             :      441,   442,   443,   444,   445,   446,     0,   448,   449,   450,
   13102             :      451,   452,   453,   454,   455,   456,   457,   458,   459,     0,
   13103             :      460,   461,     0,   463,     0,   464,   465,   466,   467,   468,
   13104             :      469,   470,     0,   471,   472,   473,     0,     0,   474,   475,
   13105             :      476,     0,     0,   477,   478,   479,     0,   481,     0,   483,
   13106             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   13107             :      494,   495,     0,   496,   497,   498,   499,   500,   501,   502,
   13108             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
   13109             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   13110             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   13111             :      531,   532,     0,   533,   534,     0,   536,   537,   538,   539,
   13112             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
   13113             :      550,   551,     0,   552,   553,   554,   555,   556,     0,   557,
   13114             :      558,   559,   560,   561,     0,   563,   564,   565,   566,     0,
   13115             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   13116             :      577,   578,   579,   580,   581,   582,   583,     0,   584,   585,
   13117             :        0,  3421,   586,     0,   588,   589,  3422,   591,  3423,   593,
   13118             :        0,   594,   595,   596,     0,     0,   597,   598,   599,   600,
   13119             :      601,     0,   602,   603,   604,   605,   606,   607,   608,   609,
   13120             :      610,     0,     0,   611,   612,  3424,   614,   615,     0,     0,
   13121             :      616,   617,   618,   619,   620,   621,   622,     0,   623,     0,
   13122             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   13123             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
   13124             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   13125             :      658,     0,     0,   717,     0,     0,     0,     0,     0,     0,
   13126             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   13127             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   13128             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   13129             :        0,   250,   251,   252,   253,     0,   255,   256,   257,   258,
   13130             :      259,     0,   261,   262,     0,   263,   264,   265,   266,   267,
   13131             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
   13132             :      275,   276,   277,   278,   279,     0,     0,     0,   281,   282,
   13133             :      283,   284,   285,   286,     0,   288,   289,   290,   291,     0,
   13134             :      292,   293,   294,   295,   296,   297,     0,     0,   299,   300,
   13135             :      301,     0,     0,     0,     0,     0,     0,     0,   303,   304,
   13136             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   13137             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   13138             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
   13139             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
   13140             :        0,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   13141             :      347,     0,   348,     0,   349,   350,   351,   352,   353,     0,
   13142             :      354,     0,   355,   356,     0,     0,     0,   359,   360,   361,
   13143             :      362,     0,   363,   364,     0,   365,   366,   367,     0,   368,
   13144             :      369,   370,   371,   372,     0,   374,   375,   376,   377,     0,
   13145             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
   13146             :        0,   388,   389,   390,   391,   392,   393,   394,     0,   395,
   13147             :        0,   396,     0,     0,   399,     0,   401,   402,   403,   404,
   13148             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   13149             :      415,   416,   417,   418,     0,     0,   419,   420,     0,   422,
   13150             :        0,     0,   424,   425,   426,     0,     0,   427,   428,   429,
   13151             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   13152             :      440,   441,   442,   443,   444,   445,   446,     0,   448,   449,
   13153             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   13154             :        0,   460,   461,     0,   463,     0,   464,   465,   466,   467,
   13155             :      468,   469,   470,     0,   471,   472,   473,     0,     0,   474,
   13156             :      475,   476,     0,     0,   477,   478,   479,     0,   481,     0,
   13157             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   13158             :      493,   494,   495,     0,   496,   497,   498,   499,   500,   501,
   13159             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
   13160             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   13161             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   13162             :      530,   531,   532,     0,   533,   534,     0,   536,   537,   538,
   13163             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
   13164             :      549,   550,   551,     0,   552,   553,   554,   555,   556,     0,
   13165             :      557,   558,   559,   560,   561,     0,   563,   564,   565,   566,
   13166             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   13167             :      576,   577,   578,   579,   580,   581,   582,   583,     0,   584,
   13168             :      585,     0,     0,   586,     0,   588,   589,   590,   591,   592,
   13169             :      593,     0,   594,   595,   596,     0,     0,   597,   598,   599,
   13170             :      600,   601,     0,   602,   603,   604,   605,   606,   607,   608,
   13171             :      609,   610,     0,     0,   611,   612,   613,   614,   615,     0,
   13172             :        0,   616,   617,   618,   619,   620,   621,   622,     0,   623,
   13173             :        0,   625,   626,   627,   628,   629,     0,     0,   630,     0,
   13174             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   13175             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   13176             :      650,   658,     0,     0,     0,     0,     0,     0,     0,   778,
   13177             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   13178             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   13179             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   13180             :      249,     0,   250,   251,   252,   253,     0,   255,   256,   257,
   13181             :      258,   259,     0,   261,   262,     0,   263,   264,   265,   266,
   13182             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
   13183             :        0,   275,   276,   277,   278,   279,     0,     0,     0,   281,
   13184             :      282,   283,   284,   285,   286,     0,   288,   289,   290,   291,
   13185             :        0,   292,   293,   294,   295,   296,   297,     0,     0,   299,
   13186             :      300,   301,     0,     0,     0,     0,     0,     0,     0,   303,
   13187             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   13188             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   13189             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   13190             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   13191             :      337,     0,   338,   339,   340,   341,   342,   343,   344,   345,
   13192             :      346,   347,     0,   348,     0,   349,   350,   351,   352,   353,
   13193             :        0,   354,     0,   355,   356,     0,     0,     0,   359,   360,
   13194             :      361,   362,     0,   363,   364,     0,   365,   366,   367,     0,
   13195             :      368,   369,   370,   371,   372,     0,   374,   375,   376,   377,
   13196             :        0,   378,   379,   380,   381,   382,   383,   384,   385,     0,
   13197             :      386,     0,   388,   389,   390,   391,   392,   393,   394,     0,
   13198             :      395,     0,   396,     0,     0,   399,     0,   401,   402,   403,
   13199             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   13200             :      414,   415,   416,   417,   418,     0,     0,   419,   420,     0,
   13201             :      422,     0,     0,   424,   425,   426,     0,     0,   427,   428,
   13202             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   13203             :      439,   440,   441,   442,   443,   444,   445,   446,     0,   448,
   13204             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   13205             :      459,     0,   460,   461,     0,   463,     0,   464,   465,   466,
   13206             :      467,   468,   469,   470,     0,   471,   472,   473,     0,     0,
   13207             :      474,   475,   476,     0,     0,   477,   478,   479,     0,   481,
   13208             :        0,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   13209             :      492,   493,   494,   495,     0,   496,   497,   498,   499,   500,
   13210             :      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
   13211             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   13212             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   13213             :      529,   530,   531,   532,     0,   533,   534,     0,   536,   537,
   13214             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   13215             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
   13216             :        0,   557,   558,   559,   560,   561,     0,   563,   564,   565,
   13217             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   13218             :      575,   576,   577,   578,   579,   580,   581,   582,   583,     0,
   13219             :      584,   585,     0,     0,   586,     0,   588,   589,   590,   591,
   13220             :      592,   593,     0,   594,   595,   596,     0,     0,   597,   598,
   13221             :      599,   600,   601,     0,   602,   603,   604,   605,   606,   607,
   13222             :      608,   609,   610,     0,     0,   611,   612,   613,   614,   615,
   13223             :        0,     0,   616,   617,   618,   619,   620,   621,   622,     0,
   13224             :      623,     0,   625,   626,   627,   628,   629,     0,     0,   630,
   13225             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
   13226             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   13227             :      649,   650,   658,     0,     0,     0,     0,     0,     0,     0,
   13228             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   13229             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   13230             :      245,   246,     0,     0,     0,     0,     0,  4246,     0,   247,
   13231             :      248,   249,     0,   250,   251,   252,   253,     0,   255,   256,
   13232             :      257,   258,   259,     0,   261,   262,     0,   263,   264,   265,
   13233             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
   13234             :      274,     0,   275,   276,   277,   278,   279,     0,     0,     0,
   13235             :      281,   282,   283,   284,   285,   286,     0,   288,   289,   290,
   13236             :      291,     0,   292,   293,   294,   295,   296,   297,     0,     0,
   13237             :      299,   300,   301,     0,     0,     0,     0,     0,     0,     0,
   13238             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   13239             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   13240             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   13241             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   13242             :      336,   337,     0,   338,   339,   340,   341,   342,   343,   344,
   13243             :      345,   346,   347,     0,   348,     0,   349,   350,   351,   352,
   13244             :      353,     0,   354,     0,   355,   356,     0,     0,     0,   359,
   13245             :      360,   361,   362,     0,   363,   364,     0,   365,   366,   367,
   13246             :        0,   368,   369,   370,   371,   372,     0,   374,   375,   376,
   13247             :      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
   13248             :        0,   386,     0,   388,   389,   390,   391,   392,   393,   394,
   13249             :        0,   395,     0,   396,     0,     0,   399,     0,   401,   402,
   13250             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   13251             :      413,   414,   415,   416,   417,   418,     0,     0,   419,   420,
   13252             :        0,   422,     0,     0,   424,   425,   426,     0,     0,   427,
   13253             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   13254             :      438,   439,   440,   441,   442,   443,   444,   445,   446,     0,
   13255             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   13256             :      458,   459,     0,   460,   461,     0,   463,     0,   464,   465,
   13257             :      466,   467,   468,   469,   470,     0,   471,   472,   473,     0,
   13258             :        0,   474,   475,   476,     0,     0,   477,   478,   479,     0,
   13259             :      481,     0,   483,   484,   485,   486,   487,   488,   489,   490,
   13260             :      491,   492,   493,   494,   495,     0,   496,   497,   498,   499,
   13261             :      500,   501,   502,   503,   504,     0,   505,   506,   507,   508,
   13262             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   13263             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   13264             :      528,   529,   530,   531,   532,     0,   533,   534,     0,   536,
   13265             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   13266             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   13267             :      556,     0,   557,   558,   559,   560,   561,     0,   563,   564,
   13268             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   13269             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   13270             :        0,   584,   585,     0,     0,   586,     0,   588,   589,   590,
   13271             :      591,   592,   593,     0,   594,   595,   596,     0,     0,   597,
   13272             :      598,   599,   600,   601,     0,   602,   603,   604,   605,   606,
   13273             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
   13274             :      615,     0,     0,   616,   617,   618,   619,   620,   621,   622,
   13275             :        0,   623,     0,   625,   626,   627,   628,   629,     0,     0,
   13276             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
   13277             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   13278             :      648,   649,   650,   658,     0,     0,     0,     0,     0,     0,
   13279             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13280             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   13281             :      244,   245,   246,     0,     0,     0,     0,     0,  4260,     0,
   13282             :      247,   248,   249,     0,   250,   251,   252,   253,     0,   255,
   13283             :      256,   257,   258,   259,     0,   261,   262,     0,   263,   264,
   13284             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   13285             :      273,   274,     0,   275,   276,   277,   278,   279,     0,     0,
   13286             :        0,   281,   282,   283,   284,   285,   286,     0,   288,   289,
   13287             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   13288             :        0,   299,   300,   301,     0,     0,     0,     0,     0,     0,
   13289             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   13290             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   13291             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   13292             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   13293             :      335,   336,   337,     0,   338,   339,   340,   341,   342,   343,
   13294             :      344,   345,   346,   347,     0,   348,     0,   349,   350,   351,
   13295             :      352,   353,     0,   354,     0,   355,   356,     0,     0,     0,
   13296             :      359,   360,   361,   362,     0,   363,   364,     0,   365,   366,
   13297             :      367,     0,   368,   369,   370,   371,   372,     0,   374,   375,
   13298             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
   13299             :      385,     0,   386,     0,   388,   389,   390,   391,   392,   393,
   13300             :      394,     0,   395,     0,   396,     0,     0,   399,     0,   401,
   13301             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   13302             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
   13303             :      420,     0,   422,     0,     0,   424,   425,   426,     0,     0,
   13304             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   13305             :      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
   13306             :        0,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   13307             :      457,   458,   459,     0,   460,   461,     0,   463,     0,   464,
   13308             :      465,   466,   467,   468,   469,   470,     0,   471,   472,   473,
   13309             :        0,     0,   474,   475,   476,     0,     0,   477,   478,   479,
   13310             :        0,   481,     0,   483,   484,   485,   486,   487,   488,   489,
   13311             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
   13312             :      499,   500,   501,   502,   503,   504,     0,   505,   506,   507,
   13313             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   13314             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   13315             :      527,   528,   529,   530,   531,   532,     0,   533,   534,     0,
   13316             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   13317             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   13318             :      555,   556,     0,   557,   558,   559,   560,   561,     0,   563,
   13319             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   13320             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   13321             :      583,     0,   584,   585,     0,     0,   586,     0,   588,   589,
   13322             :      590,   591,   592,   593,     0,   594,   595,   596,     0,     0,
   13323             :      597,   598,   599,   600,   601,     0,   602,   603,   604,   605,
   13324             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
   13325             :      614,   615,     0,     0,   616,   617,   618,   619,   620,   621,
   13326             :      622,     0,   623,     0,   625,   626,   627,   628,   629,     0,
   13327             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   13328             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   13329             :      647,   648,   649,   650,   658,     0,     0,     0,     0,     0,
   13330             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13331             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   13332             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   13333             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
   13334             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
   13335             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   13336             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
   13337             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
   13338             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   13339             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
   13340             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
   13341             :      311,  4408,   312,     0,   313,   314,   315,   316,   317,   318,
   13342             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   13343             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   13344             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
   13345             :      343,   344,   345,   346,   347,     0,   348,     0,   349,   350,
   13346             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
   13347             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
   13348             :      366,   367,     0,   368,   369,   370,   371,   372,     0,   374,
   13349             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
   13350             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
   13351             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
   13352             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   13353             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
   13354             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
   13355             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   13356             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   13357             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
   13358             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
   13359             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
   13360             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
   13361             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
   13362             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
   13363             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
   13364             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   13365             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   13366             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   13367             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   13368             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   13369             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
   13370             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   13371             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   13372             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
   13373             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
   13374             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
   13375             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
   13376             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
   13377             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
   13378             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   13379             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   13380             :      646,   647,   648,   649,   650,   658,     0,     0,     0,     0,
   13381             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13382             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   13383             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   13384             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   13385             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
   13386             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   13387             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
   13388             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
   13389             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   13390             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
   13391             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   13392             :      310,   311,  4935,   312,     0,   313,   314,   315,   316,   317,
   13393             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   13394             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   13395             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
   13396             :      342,   343,   344,   345,   346,   347,     0,   348,     0,   349,
   13397             :      350,   351,   352,   353,     0,   354,     0,   355,   356,     0,
   13398             :        0,     0,   359,   360,   361,   362,     0,   363,   364,     0,
   13399             :      365,   366,   367,     0,   368,   369,   370,   371,   372,     0,
   13400             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
   13401             :      383,   384,   385,     0,   386,     0,   388,   389,   390,   391,
   13402             :      392,   393,   394,     0,   395,     0,   396,     0,     0,   399,
   13403             :        0,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   13404             :      410,   411,   412,   413,   414,   415,   416,   417,   418,     0,
   13405             :        0,   419,   420,     0,   422,     0,     0,   424,   425,   426,
   13406             :        0,     0,   427,   428,   429,   430,   431,   432,   433,   434,
   13407             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   13408             :      445,   446,     0,   448,   449,   450,   451,   452,   453,   454,
   13409             :      455,   456,   457,   458,   459,     0,   460,   461,     0,   463,
   13410             :        0,   464,   465,   466,   467,   468,   469,   470,     0,   471,
   13411             :      472,   473,     0,     0,   474,   475,   476,     0,     0,   477,
   13412             :      478,   479,     0,   481,     0,   483,   484,   485,   486,   487,
   13413             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
   13414             :      497,   498,   499,   500,   501,   502,   503,   504,     0,   505,
   13415             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   13416             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   13417             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   13418             :      534,     0,   536,   537,   538,   539,   540,   541,   542,   543,
   13419             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   13420             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
   13421             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   13422             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   13423             :      581,   582,   583,     0,   584,   585,     0,     0,   586,     0,
   13424             :      588,   589,   590,   591,   592,   593,     0,   594,   595,   596,
   13425             :        0,     0,   597,   598,   599,   600,   601,     0,   602,   603,
   13426             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
   13427             :      612,   613,   614,   615,     0,     0,   616,   617,   618,   619,
   13428             :      620,   621,   622,     0,   623,     0,   625,   626,   627,   628,
   13429             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   13430             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   13431             :      645,   646,   647,   648,   649,   650,   658,     0,     0,     0,
   13432             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13433             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   13434             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
   13435             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   13436             :      253,     0,   255,   256,   257,   258,   259,     0,   261,   262,
   13437             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   13438             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   13439             :      279,     0,     0,     0,   281,   282,   283,   284,   285,   286,
   13440             :        0,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   13441             :      296,   297,     0,     0,   299,   300,   301,     0,     0,     0,
   13442             :     5008,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   13443             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
   13444             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   13445             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   13446             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
   13447             :      341,   342,   343,   344,   345,   346,   347,     0,   348,     0,
   13448             :      349,   350,   351,   352,   353,     0,   354,     0,   355,   356,
   13449             :        0,     0,     0,   359,   360,   361,   362,     0,   363,   364,
   13450             :        0,   365,   366,   367,     0,   368,   369,   370,   371,   372,
   13451             :        0,   374,   375,   376,   377,     0,   378,   379,   380,   381,
   13452             :      382,   383,   384,   385,     0,   386,     0,   388,   389,   390,
   13453             :      391,   392,   393,   394,     0,   395,     0,   396,     0,     0,
   13454             :      399,     0,   401,   402,   403,   404,   405,   406,   407,   408,
   13455             :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
   13456             :        0,     0,   419,   420,     0,   422,     0,     0,   424,   425,
   13457             :      426,     0,     0,   427,   428,   429,   430,   431,   432,   433,
   13458             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   13459             :      444,   445,   446,     0,   448,   449,   450,   451,   452,   453,
   13460             :      454,   455,   456,   457,   458,   459,     0,   460,   461,     0,
   13461             :      463,     0,   464,   465,   466,   467,   468,   469,   470,     0,
   13462             :      471,   472,   473,     0,     0,   474,   475,   476,     0,     0,
   13463             :      477,   478,   479,     0,   481,     0,   483,   484,   485,   486,
   13464             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
   13465             :      496,   497,   498,   499,   500,   501,   502,   503,   504,     0,
   13466             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   13467             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   13468             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   13469             :      533,   534,     0,   536,   537,   538,   539,   540,   541,   542,
   13470             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   13471             :      552,   553,   554,   555,   556,     0,   557,   558,   559,   560,
   13472             :      561,     0,   563,   564,   565,   566,     0,   567,   568,   569,
   13473             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   13474             :      580,   581,   582,   583,     0,   584,   585,     0,     0,   586,
   13475             :        0,   588,   589,   590,   591,   592,   593,     0,   594,   595,
   13476             :      596,     0,     0,   597,   598,   599,   600,   601,     0,   602,
   13477             :      603,   604,   605,   606,   607,   608,   609,   610,     0,     0,
   13478             :      611,   612,   613,   614,   615,     0,     0,   616,   617,   618,
   13479             :      619,   620,   621,   622,     0,   623,     0,   625,   626,   627,
   13480             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   13481             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   13482             :      644,   645,   646,   647,   648,   649,   650,   658,     0,     0,
   13483             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13484             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   13485             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
   13486             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   13487             :      252,   253,     0,   255,   256,   257,   258,   259,     0,   261,
   13488             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   13489             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   13490             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
   13491             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
   13492             :      295,   296,   297,     0,     0,   299,   300,   301,     0,     0,
   13493             :        0,     0,     0,     0,     0,   303,   304,   305,   306,   307,
   13494             :      308,   309,   310,   311,  5373,   312,     0,   313,   314,   315,
   13495             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   13496             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   13497             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
   13498             :      340,   341,   342,   343,   344,   345,   346,   347,     0,   348,
   13499             :        0,   349,   350,   351,   352,   353,     0,   354,     0,   355,
   13500             :      356,     0,     0,     0,   359,   360,   361,   362,     0,   363,
   13501             :      364,     0,   365,   366,   367,     0,   368,   369,   370,   371,
   13502             :      372,     0,   374,   375,   376,   377,     0,   378,   379,   380,
   13503             :      381,   382,   383,   384,   385,     0,   386,     0,   388,   389,
   13504             :      390,   391,   392,   393,   394,     0,   395,     0,   396,     0,
   13505             :        0,   399,     0,   401,   402,   403,   404,   405,   406,   407,
   13506             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   13507             :      418,     0,     0,   419,   420,     0,   422,     0,     0,   424,
   13508             :      425,   426,     0,     0,   427,   428,   429,   430,   431,   432,
   13509             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   13510             :      443,   444,   445,   446,     0,   448,   449,   450,   451,   452,
   13511             :      453,   454,   455,   456,   457,   458,   459,     0,   460,   461,
   13512             :        0,   463,     0,   464,   465,   466,   467,   468,   469,   470,
   13513             :        0,   471,   472,   473,     0,     0,   474,   475,   476,     0,
   13514             :        0,   477,   478,   479,     0,   481,     0,   483,   484,   485,
   13515             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
   13516             :        0,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   13517             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   13518             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
   13519             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   13520             :        0,   533,   534,     0,   536,   537,   538,   539,   540,   541,
   13521             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   13522             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   559,
   13523             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
   13524             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   13525             :      579,   580,   581,   582,   583,     0,   584,   585,     0,     0,
   13526             :      586,     0,   588,   589,   590,   591,   592,   593,     0,   594,
   13527             :      595,   596,     0,     0,   597,   598,   599,   600,   601,     0,
   13528             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
   13529             :        0,   611,   612,   613,   614,   615,     0,     0,   616,   617,
   13530             :      618,   619,   620,   621,   622,     0,   623,     0,   625,   626,
   13531             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   13532             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   13533             :      643,   644,   645,   646,   647,   648,   649,   650,   658,     0,
   13534             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13535             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
   13536             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
   13537             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   13538             :      251,   252,   253,     0,   255,   256,   257,   258,   259,     0,
   13539             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   13540             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
   13541             :      277,   278,   279,     0,     0,     0,   281,   282,   283,   284,
   13542             :      285,   286,     0,   288,   289,   290,   291,     0,   292,   293,
   13543             :      294,   295,   296,   297,     0,     0,   299,   300,   301,     0,
   13544             :        0,     0,     0,     0,     0,     0,   303,   304,   305,   306,
   13545             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   13546             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   13547             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   13548             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
   13549             :      339,   340,   341,   342,   343,   344,   345,   346,   347,     0,
   13550             :      348,     0,   349,   350,   351,   352,   353,     0,   354,     0,
   13551             :      355,   356,     0,     0,     0,   359,   360,   361,   362,     0,
   13552             :      363,   364,     0,   365,   366,   367,     0,   368,   369,   370,
   13553             :      371,   372,     0,   374,   375,   376,   377,     0,   378,   379,
   13554             :      380,   381,   382,   383,   384,   385,     0,   386,     0,   388,
   13555             :      389,   390,   391,   392,   393,   394,     0,   395,     0,   396,
   13556             :        0,     0,   399,     0,   401,   402,   403,   404,   405,   406,
   13557             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   13558             :      417,   418,     0,     0,   419,   420,     0,   422,     0,     0,
   13559             :      424,   425,   426,     0,     0,   427,   428,   429,   430,   431,
   13560             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   13561             :      442,   443,   444,   445,   446,     0,   448,   449,   450,   451,
   13562             :      452,   453,   454,   455,   456,   457,   458,   459,     0,   460,
   13563             :      461,     0,   463,     0,   464,   465,   466,   467,   468,   469,
   13564             :      470,     0,   471,   472,   473,     0,     0,   474,   475,   476,
   13565             :        0,     0,   477,   478,   479,     0,   481,     0,   483,   484,
   13566             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   13567             :      495,     0,   496,   497,   498,   499,   500,   501,   502,   503,
   13568             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
   13569             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
   13570             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   13571             :      532,     0,   533,   534,     0,   536,   537,   538,   539,   540,
   13572             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   13573             :      551,     0,   552,   553,   554,   555,   556,     0,   557,   558,
   13574             :      559,   560,   561,     0,   563,   564,   565,   566,     0,   567,
   13575             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   13576             :      578,   579,   580,   581,   582,   583,     0,   584,   585,     0,
   13577             :        0,   586,     0,   588,   589,   590,   591,   592,   593,     0,
   13578             :      594,   595,   596,     0,     0,   597,   598,   599,   600,   601,
   13579             :        0,   602,   603,   604,   605,   606,   607,   608,   609,   610,
   13580             :        0,     0,   611,   612,   613,   614,   615,     0,     0,   616,
   13581             :      617,   618,   619,   620,   621,   622,     0,   623,     0,   625,
   13582             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   13583             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
   13584             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   658,
   13585             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13586             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
   13587             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
   13588             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   13589             :      250,   251,   252,   253,     0,   255,   256,   257,   258,   259,
   13590             :        0,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   13591             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
   13592             :      276,   277,   278,   279,     0,     0,     0,   281,   282,   283,
   13593             :      284,   285,   286,     0,   288,   289,   290,   291,     0,   292,
   13594             :      293,   294,   295,   296,   297,     0,     0,   299,   300,   301,
   13595             :        0,     0,     0,     0,     0,     0,     0,   303,   304,   305,
   13596             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   13597             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   13598             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   13599             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
   13600             :      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
   13601             :        0,   348,     0,   349,   350,   351,   352,   353,     0,   354,
   13602             :        0,   355,   356,     0,     0,     0,   359,   360,   361,   362,
   13603             :        0,   363,   364,     0,   365,   366,   367,     0,   368,   369,
   13604             :      370,   371,   372,     0,   374,   375,   376,   377,     0,   378,
   13605             :      379,   380,   381,   382,   383,   384,   385,     0,   386,     0,
   13606             :      388,   389,   390,   391,   392,   393,   394,     0,   395,     0,
   13607             :      396,     0,     0,   399,     0,   401,   402,   403,   404,   405,
   13608             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   13609             :      416,   417,   418,     0,     0,   419,   420,     0,   422,     0,
   13610             :        0,   424,   425,   426,     0,     0,   427,   428,   429,   430,
   13611             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   13612             :      441,   442,   443,   444,   445,   446,     0,   448,   449,   450,
   13613             :      451,   452,   453,   454,   455,   456,   457,   458,   459,     0,
   13614             :      460,   461,     0,   463,     0,   464,   465,   466,   467,   468,
   13615             :      469,   470,     0,   471,   472,   473,     0,     0,   474,   475,
   13616             :      476,     0,     0,   477,   478,   479,     0,   481,     0,   483,
   13617             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   13618             :      494,   495,     0,   496,   497,   498,   499,   500,   501,   502,
   13619             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
   13620             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   13621             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   13622             :      531,   532,     0,   533,   534,     0,   536,   537,   538,   539,
   13623             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
   13624             :      550,   551,     0,   552,   553,   554,   555,   556,     0,   557,
   13625             :      558,   559,   560,   561,     0,   563,   564,   565,   566,     0,
   13626             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   13627             :      577,   578,   579,   580,   581,   582,   583,     0,   584,   585,
   13628             :        0,     0,   586,     0,   588,   589,   590,   591,   592,   593,
   13629             :        0,   594,   595,   596,     0,     0,   814,   598,   599,   600,
   13630             :      601,     0,   602,   603,   604,   605,   606,   607,   608,   609,
   13631             :      610,     0,     0,   611,   612,   613,   614,   615,     0,     0,
   13632             :      616,   617,   618,   619,   620,   621,   622,     0,   623,     0,
   13633             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   13634             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
   13635             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   13636             :      658,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13637             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   13638             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   13639             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   13640             :        0,   250,   251,   252,   253,     0,   255,   256,   257,   258,
   13641             :      259,     0,   261,   262,     0,   263,   264,   265,   266,   267,
   13642             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
   13643             :      275,   276,   277,   278,   279,     0,     0,     0,   281,   282,
   13644             :      283,   284,   285,   286,     0,   288,   289,   290,   291,     0,
   13645             :      292,   293,   294,   295,   296,   297,     0,     0,   299,   300,
   13646             :      301,     0,     0,     0,     0,     0,     0,     0,   303,   304,
   13647             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   13648             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   13649             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
   13650             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
   13651             :        0,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   13652             :      347,     0,   348,     0,   349,   350,   351,   352,   353,     0,
   13653             :      354,     0,   355,   356,     0,     0,     0,   359,   360,   361,
   13654             :      362,     0,   363,   364,     0,   365,   366,   367,     0,   368,
   13655             :      369,   370,   371,   372,     0,   374,   375,   376,   377,     0,
   13656             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
   13657             :        0,   388,   389,   390,   391,   392,   393,   394,     0,   395,
   13658             :        0,   396,     0,     0,   399,     0,   401,   402,   403,   404,
   13659             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   13660             :      415,   416,   417,   418,     0,     0,   419,   420,     0,   422,
   13661             :        0,     0,   424,   425,   426,     0,     0,   427,   428,   429,
   13662             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   13663             :      440,   441,   442,   443,   444,   445,   446,     0,   448,   449,
   13664             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   13665             :        0,   460,   461,     0,   463,     0,   464,   465,   466,   467,
   13666             :      468,   469,   470,     0,   471,   472,   473,     0,     0,   474,
   13667             :      475,   476,     0,     0,   477,   478,   479,     0,   481,     0,
   13668             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   13669             :      493,   494,   495,     0,   496,   497,   498,   499,   500,   501,
   13670             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
   13671             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   13672             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   13673             :      530,   531,   532,     0,   533,   534,     0,   536,   537,   538,
   13674             :      539,   540,   541,   542,   543,   820,   545,   546,   547,   548,
   13675             :      549,   550,   551,     0,   552,   553,   554,   555,   556,     0,
   13676             :      557,   558,   559,   560,   561,     0,   563,   564,   565,   566,
   13677             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   13678             :      576,   577,   578,   579,   580,   581,   582,   583,     0,   584,
   13679             :      585,     0,     0,   586,     0,   588,   589,   590,   591,   592,
   13680             :      593,     0,   594,   595,   596,     0,     0,   597,   598,   599,
   13681             :      600,   601,     0,   602,   603,   604,   605,   606,   607,   608,
   13682             :      609,   610,     0,     0,   611,   612,   613,   614,   615,     0,
   13683             :        0,   616,   617,   618,   619,   620,   621,   622,     0,   623,
   13684             :        0,   625,   626,   627,   628,   629,     0,     0,   630,     0,
   13685             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   13686             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   13687             :      650,   658,     0,     0,     0,     0,     0,     0,     0,     0,
   13688             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   13689             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   13690             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   13691             :      249,     0,   250,   251,   252,   253,     0,   255,   256,   257,
   13692             :      258,   259,     0,   261,   262,     0,   263,   264,   265,   266,
   13693             :      267,   268,   269,     0,     0,   842,   271,   272,   273,   274,
   13694             :        0,   275,   276,   277,   278,   279,     0,     0,     0,   281,
   13695             :      282,   283,   284,   285,   286,     0,   288,   289,   290,   291,
   13696             :        0,   843,   293,   294,   295,   296,   297,     0,     0,   299,
   13697             :      300,   301,     0,     0,     0,     0,     0,     0,     0,   303,
   13698             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   13699             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   13700             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   13701             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   13702             :      337,     0,   338,   339,   340,   341,   342,   343,   344,   345,
   13703             :      346,   347,     0,   348,     0,   349,   350,   351,   352,   353,
   13704             :        0,   354,     0,   355,   356,     0,     0,     0,   359,   360,
   13705             :      361,   362,     0,   363,   364,     0,   365,   366,   367,     0,
   13706             :      368,   369,   370,   371,   372,     0,   374,   375,   376,   377,
   13707             :        0,   378,   379,   380,   381,   382,   383,   384,   385,     0,
   13708             :      386,     0,   388,   389,   390,   391,   392,   393,   394,     0,
   13709             :      395,     0,   396,     0,     0,   399,     0,   401,   402,   403,
   13710             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   13711             :      414,   415,   416,   417,   418,     0,     0,   419,   420,     0,
   13712             :      422,     0,     0,   424,   425,   844,     0,     0,   427,   428,
   13713             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   13714             :      439,   440,   441,   442,   443,   444,   845,   446,     0,   448,
   13715             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   13716             :      459,     0,   460,   461,     0,   463,     0,   464,   465,   466,
   13717             :      467,   468,   469,   470,     0,   471,   472,   473,     0,     0,
   13718             :      474,   475,   476,     0,     0,   477,   478,   479,     0,   481,
   13719             :        0,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   13720             :      492,   493,   494,   495,     0,   496,   497,   498,   499,   500,
   13721             :      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
   13722             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   13723             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   13724             :      529,   530,   531,   532,     0,   533,   534,     0,   846,   537,
   13725             :      538,   539,   540,   541,   542,   543,   544,   545,   847,   547,
   13726             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   848,
   13727             :        0,   557,   558,   559,   560,   561,     0,   563,   564,   565,
   13728             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   13729             :      575,   576,   577,   578,   579,   580,   581,   582,   583,     0,
   13730             :      584,   585,     0,     0,   586,     0,   588,   589,   590,   591,
   13731             :      592,   593,     0,   594,   849,   596,     0,     0,   850,   598,
   13732             :      599,   600,   601,     0,   602,   603,   604,   605,   606,   607,
   13733             :      608,   609,   610,     0,     0,   611,   612,   613,   614,   615,
   13734             :        0,     0,   616,   617,   618,   619,   620,   621,   622,     0,
   13735             :      623,     0,   625,   626,   627,   628,   629,     0,     0,   630,
   13736             :        0,     0,   631,   632,   633,   634,   635,   851,   637,   638,
   13737             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   13738             :      649,   650,   658,     0,     0,     0,     0,     0,     0,     0,
   13739             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   13740             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   13741             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   13742             :      248,   249,     0,   250,   251,   252,   253,     0,   255,   256,
   13743             :      257,   258,   259,     0,   261,   262,     0,   263,   264,   265,
   13744             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
   13745             :      274,     0,   275,   276,   277,   278,   279,     0,     0,     0,
   13746             :      281,   282,   283,   284,   285,   286,     0,   288,   289,   290,
   13747             :      291,     0,   292,   293,   294,   295,   296,   297,     0,     0,
   13748             :      299,   300,   301,     0,     0,     0,     0,     0,     0,     0,
   13749             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   13750             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   13751             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   13752             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   13753             :      336,   337,     0,   338,   339,   340,   341,   342,   343,   344,
   13754             :      345,   346,   347,     0,   348,     0,   349,   350,   351,   352,
   13755             :      353,     0,   354,     0,   355,   356,     0,     0,     0,   359,
   13756             :      360,   361,   362,     0,   363,   364,     0,   365,   366,   367,
   13757             :        0,   368,   369,   370,   371,   372,     0,   374,   375,   376,
   13758             :      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
   13759             :        0,   386,     0,   388,   389,   390,   391,   392,   393,   394,
   13760             :        0,   395,     0,   396,     0,     0,   399,     0,   401,   402,
   13761             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   13762             :      413,   414,   415,   416,   417,   418,     0,     0,   419,   420,
   13763             :        0,   422,     0,     0,   424,   425,   426,     0,     0,   427,
   13764             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   13765             :      438,   439,   440,   441,   442,   443,   444,   445,   446,     0,
   13766             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   13767             :      458,   459,     0,   460,   461,     0,   463,     0,   464,   465,
   13768             :      466,   467,   468,   469,   470,     0,   471,   472,   473,     0,
   13769             :        0,   474,   475,   476,     0,     0,   477,   478,   479,     0,
   13770             :      481,     0,   483,   484,   485,   486,   487,   488,   489,   490,
   13771             :      491,   492,   493,   494,   495,     0,   496,   497,   498,   499,
   13772             :      500,   501,   502,   503,   504,     0,   505,   506,   507,   508,
   13773             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   874,
   13774             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   13775             :      528,   529,   530,   531,   532,     0,   533,   534,     0,   536,
   13776             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   13777             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   13778             :      556,     0,   557,   558,   559,   560,   561,     0,   563,   564,
   13779             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   13780             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   13781             :        0,   584,   585,     0,     0,   586,     0,   588,   589,   590,
   13782             :      591,   592,   593,     0,   594,   595,   596,     0,     0,   597,
   13783             :      598,   599,   600,   601,     0,   602,   603,   604,   605,   606,
   13784             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
   13785             :      615,     0,     0,   616,   617,   618,   619,   620,   621,   622,
   13786             :        0,   623,     0,   625,   626,   627,   628,   629,     0,     0,
   13787             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
   13788             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   13789             :      648,   649,   650,   658,     0,     0,     0,     0,     0,     0,
   13790             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13791             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   13792             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   13793             :      247,   248,   249,     0,   250,   251,   252,   253,     0,   255,
   13794             :      256,   257,   258,   259,     0,   261,   262,     0,   263,   264,
   13795             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   13796             :      273,   274,     0,   275,   276,   277,   278,   279,     0,     0,
   13797             :        0,   281,   282,   283,   284,   285,   286,     0,   288,   289,
   13798             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   13799             :        0,   299,   300,   301,     0,     0,     0,     0,     0,     0,
   13800             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   13801             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   13802             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   13803             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   13804             :      335,   336,   337,     0,   338,   339,   340,   341,   342,   343,
   13805             :      344,   345,   346,   347,     0,   348,     0,   349,   350,   351,
   13806             :      352,   353,     0,   354,     0,   355,   356,     0,     0,     0,
   13807             :      359,   360,   361,   362,     0,   363,   364,     0,   365,   366,
   13808             :      367,     0,   368,   369,   370,   371,  1002,     0,   374,   375,
   13809             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
   13810             :      385,     0,   386,     0,   388,   389,   390,   391,   392,   393,
   13811             :      394,     0,   395,     0,   396,     0,     0,   399,     0,   401,
   13812             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   13813             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
   13814             :      420,     0,   422,     0,     0,   424,   425,   426,     0,     0,
   13815             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   13816             :      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
   13817             :        0,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   13818             :      457,   458,   459,     0,   460,   461,     0,   463,     0,   464,
   13819             :      465,   466,   467,   468,   469,   470,     0,   471,   472,   473,
   13820             :        0,     0,   474,   475,   476,     0,     0,   477,   478,   479,
   13821             :        0,   481,     0,   483,   484,   485,   486,   487,   488,   489,
   13822             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
   13823             :      499,   500,   501,   502,   503,   504,     0,   505,   506,   507,
   13824             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   13825             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   13826             :      527,   528,   529,   530,   531,   532,     0,   533,   534,     0,
   13827             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   13828             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   13829             :      555,   556,     0,   557,   558,   559,   560,   561,     0,   563,
   13830             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   13831             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   13832             :      583,     0,   584,   585,     0,     0,   586,     0,   588,   589,
   13833             :      590,   591,   592,   593,     0,   594,   595,   596,     0,     0,
   13834             :      597,   598,   599,   600,   601,     0,   602,   603,   604,   605,
   13835             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
   13836             :      614,   615,     0,     0,   616,   617,   618,   619,   620,   621,
   13837             :      622,     0,   623,     0,   625,   626,   627,   628,   629,     0,
   13838             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   13839             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   13840             :      647,   648,   649,   650,   658,     0,     0,     0,     0,     0,
   13841             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13842             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   13843             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   13844             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
   13845             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
   13846             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   13847             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
   13848             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
   13849             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   13850             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
   13851             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
   13852             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   13853             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   13854             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   13855             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
   13856             :      343,   344,   345,   346,   347,     0,   348,     0,   349,   350,
   13857             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
   13858             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
   13859             :      366,   367,     0,   368,   369,   370,   371,  1012,     0,   374,
   13860             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
   13861             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
   13862             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
   13863             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   13864             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
   13865             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
   13866             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   13867             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   13868             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
   13869             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
   13870             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
   13871             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
   13872             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
   13873             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
   13874             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
   13875             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   13876             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   13877             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   13878             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   13879             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   13880             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
   13881             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   13882             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   13883             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
   13884             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
   13885             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
   13886             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
   13887             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
   13888             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
   13889             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   13890             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   13891             :      646,   647,   648,   649,   650,   658,     0,     0,     0,     0,
   13892             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13893             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   13894             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   13895             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   13896             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
   13897             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   13898             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
   13899             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
   13900             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   13901             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
   13902             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   13903             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   13904             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   13905             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   13906             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
   13907             :      342,   343,   344,   345,   346,   347,     0,   348,     0,   349,
   13908             :      350,   351,   352,   353,     0,   354,     0,   355,   356,     0,
   13909             :        0,     0,   359,   360,   361,   362,     0,   363,   364,     0,
   13910             :      365,   366,   367,     0,   368,   369,   370,   371,  1015,     0,
   13911             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
   13912             :      383,   384,   385,     0,   386,     0,   388,   389,   390,   391,
   13913             :      392,   393,   394,     0,   395,     0,   396,     0,     0,   399,
   13914             :        0,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   13915             :      410,   411,   412,   413,   414,   415,   416,   417,   418,     0,
   13916             :        0,   419,   420,     0,   422,     0,     0,   424,   425,   426,
   13917             :        0,     0,   427,   428,   429,   430,   431,   432,   433,   434,
   13918             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   13919             :      445,   446,     0,   448,   449,   450,   451,   452,   453,   454,
   13920             :      455,   456,   457,   458,   459,     0,   460,   461,     0,   463,
   13921             :        0,   464,   465,   466,   467,   468,   469,   470,     0,   471,
   13922             :      472,   473,     0,     0,   474,   475,   476,     0,     0,   477,
   13923             :      478,   479,     0,   481,     0,   483,   484,   485,   486,   487,
   13924             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
   13925             :      497,   498,   499,   500,   501,   502,   503,   504,     0,   505,
   13926             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   13927             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   13928             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   13929             :      534,     0,   536,   537,   538,   539,   540,   541,   542,   543,
   13930             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   13931             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
   13932             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   13933             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   13934             :      581,   582,   583,     0,   584,   585,     0,     0,   586,     0,
   13935             :      588,   589,   590,   591,   592,   593,     0,   594,   595,   596,
   13936             :        0,     0,   597,   598,   599,   600,   601,     0,   602,   603,
   13937             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
   13938             :      612,   613,   614,   615,     0,     0,   616,   617,   618,   619,
   13939             :      620,   621,   622,     0,   623,     0,   625,   626,   627,   628,
   13940             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   13941             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   13942             :      645,   646,   647,   648,   649,   650,   658,     0,     0,     0,
   13943             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13944             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   13945             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
   13946             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   13947             :      253,     0,   255,   256,   257,   258,   259,     0,   261,   262,
   13948             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   13949             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   13950             :      279,     0,     0,     0,   281,   282,   283,   284,   285,   286,
   13951             :        0,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   13952             :      296,   297,     0,     0,   299,   300,   301,     0,     0,     0,
   13953             :        0,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   13954             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
   13955             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   13956             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   13957             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
   13958             :      341,   342,   343,   344,   345,   346,   347,     0,   348,     0,
   13959             :      349,   350,   351,   352,   353,     0,   354,     0,   355,   356,
   13960             :        0,     0,     0,   359,   360,   361,   362,     0,   363,   364,
   13961             :        0,   365,   366,   367,     0,   368,   369,   370,   371,  1031,
   13962             :        0,   374,   375,   376,   377,     0,   378,   379,   380,   381,
   13963             :      382,   383,   384,   385,     0,   386,     0,   388,   389,   390,
   13964             :      391,   392,   393,   394,     0,   395,     0,   396,     0,     0,
   13965             :      399,     0,   401,   402,   403,   404,   405,   406,   407,   408,
   13966             :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
   13967             :        0,     0,   419,   420,     0,   422,     0,     0,   424,   425,
   13968             :      426,     0,     0,   427,   428,   429,   430,   431,   432,   433,
   13969             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   13970             :      444,   445,   446,     0,   448,   449,   450,   451,   452,   453,
   13971             :      454,   455,   456,   457,   458,   459,     0,   460,   461,     0,
   13972             :      463,     0,   464,   465,   466,   467,   468,   469,   470,     0,
   13973             :      471,   472,   473,     0,     0,   474,   475,   476,     0,     0,
   13974             :      477,   478,   479,     0,   481,     0,   483,   484,   485,   486,
   13975             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
   13976             :      496,   497,   498,   499,   500,   501,   502,   503,   504,     0,
   13977             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   13978             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   13979             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   13980             :      533,   534,     0,   536,   537,   538,   539,   540,   541,   542,
   13981             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   13982             :      552,   553,   554,   555,   556,     0,   557,   558,   559,   560,
   13983             :      561,     0,   563,   564,   565,   566,     0,   567,   568,   569,
   13984             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   13985             :      580,   581,   582,   583,     0,   584,   585,     0,     0,   586,
   13986             :        0,   588,   589,   590,   591,   592,   593,     0,   594,   595,
   13987             :      596,     0,     0,   597,   598,   599,   600,   601,     0,   602,
   13988             :      603,   604,   605,   606,   607,   608,   609,   610,     0,     0,
   13989             :      611,   612,   613,   614,   615,     0,     0,   616,   617,   618,
   13990             :      619,   620,   621,   622,     0,   623,     0,   625,   626,   627,
   13991             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   13992             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   13993             :      644,   645,   646,   647,   648,   649,   650,   658,     0,     0,
   13994             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13995             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   13996             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
   13997             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   13998             :      252,   253,     0,   255,   256,   257,   258,   259,     0,   261,
   13999             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   14000             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   14001             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
   14002             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
   14003             :      295,   296,   297,     0,     0,   299,   300,   301,     0,     0,
   14004             :        0,     0,     0,     0,     0,   303,   304,   305,   306,   307,
   14005             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   14006             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   14007             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   14008             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
   14009             :      340,   341,   342,   343,   344,   345,   346,   347,     0,   348,
   14010             :        0,   349,   350,   351,   352,   353,     0,   354,     0,   355,
   14011             :      356,     0,     0,     0,   359,   360,   361,   362,     0,   363,
   14012             :      364,     0,   365,   366,   367,     0,   368,   369,   370,   371,
   14013             :     1088,     0,   374,   375,   376,   377,     0,   378,   379,   380,
   14014             :      381,   382,   383,   384,   385,     0,   386,     0,   388,   389,
   14015             :      390,   391,   392,   393,   394,     0,   395,     0,   396,     0,
   14016             :        0,   399,     0,   401,   402,   403,   404,   405,   406,   407,
   14017             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   14018             :      418,     0,     0,   419,   420,     0,   422,     0,     0,   424,
   14019             :      425,   426,     0,     0,   427,   428,   429,   430,   431,   432,
   14020             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   14021             :      443,   444,   445,   446,     0,   448,   449,   450,   451,   452,
   14022             :      453,   454,   455,   456,   457,   458,   459,     0,   460,   461,
   14023             :        0,   463,     0,   464,   465,   466,   467,   468,   469,   470,
   14024             :        0,   471,   472,   473,     0,     0,   474,   475,   476,     0,
   14025             :        0,   477,   478,   479,     0,   481,     0,   483,   484,   485,
   14026             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
   14027             :        0,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   14028             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   14029             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
   14030             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   14031             :        0,   533,   534,     0,   536,   537,   538,   539,   540,   541,
   14032             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   14033             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   559,
   14034             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
   14035             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   14036             :      579,   580,   581,   582,   583,     0,   584,   585,     0,     0,
   14037             :      586,     0,   588,   589,   590,   591,   592,   593,     0,   594,
   14038             :      595,   596,     0,     0,   597,   598,   599,   600,   601,     0,
   14039             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
   14040             :        0,   611,   612,   613,   614,   615,     0,     0,   616,   617,
   14041             :      618,   619,   620,   621,   622,     0,   623,     0,   625,   626,
   14042             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   14043             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   14044             :      643,   644,   645,   646,   647,   648,   649,   650,   658,     0,
   14045             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14046             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
   14047             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
   14048             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   14049             :      251,   252,   253,     0,   255,   256,   257,   258,   259,     0,
   14050             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   14051             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
   14052             :      277,   278,   279,     0,     0,     0,   281,   282,   283,   284,
   14053             :      285,   286,     0,   288,   289,   290,   291,     0,   292,   293,
   14054             :      294,   295,   296,   297,     0,     0,   299,   300,   301,     0,
   14055             :        0,     0,     0,     0,     0,     0,   303,   304,   305,   306,
   14056             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   14057             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   14058             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   14059             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
   14060             :      339,   340,   341,   342,   343,   344,   345,   346,   347,     0,
   14061             :      348,     0,   349,   350,   351,   352,   353,     0,   354,     0,
   14062             :      355,   356,     0,     0,     0,   359,   360,   361,   362,     0,
   14063             :      363,   364,     0,   365,   366,   367,     0,   368,   369,   370,
   14064             :      371,  1093,     0,   374,   375,   376,   377,     0,   378,   379,
   14065             :      380,   381,   382,   383,   384,   385,     0,   386,     0,   388,
   14066             :      389,   390,   391,   392,   393,   394,     0,   395,     0,   396,
   14067             :        0,     0,   399,     0,   401,   402,   403,   404,   405,   406,
   14068             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   14069             :      417,   418,     0,     0,   419,   420,     0,   422,     0,     0,
   14070             :      424,   425,   426,     0,     0,   427,   428,   429,   430,   431,
   14071             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   14072             :      442,   443,   444,   445,   446,     0,   448,   449,   450,   451,
   14073             :      452,   453,   454,   455,   456,   457,   458,   459,     0,   460,
   14074             :      461,     0,   463,     0,   464,   465,   466,   467,   468,   469,
   14075             :      470,     0,   471,   472,   473,     0,     0,   474,   475,   476,
   14076             :        0,     0,   477,   478,   479,     0,   481,     0,   483,   484,
   14077             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   14078             :      495,     0,   496,   497,   498,   499,   500,   501,   502,   503,
   14079             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
   14080             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
   14081             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   14082             :      532,     0,   533,   534,     0,   536,   537,   538,   539,   540,
   14083             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   14084             :      551,     0,   552,   553,   554,   555,   556,     0,   557,   558,
   14085             :      559,   560,   561,     0,   563,   564,   565,   566,     0,   567,
   14086             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   14087             :      578,   579,   580,   581,   582,   583,     0,   584,   585,     0,
   14088             :        0,   586,     0,   588,   589,   590,   591,   592,   593,     0,
   14089             :      594,   595,   596,     0,     0,   597,   598,   599,   600,   601,
   14090             :        0,   602,   603,   604,   605,   606,   607,   608,   609,   610,
   14091             :        0,     0,   611,   612,   613,   614,   615,     0,     0,   616,
   14092             :      617,   618,   619,   620,   621,   622,     0,   623,     0,   625,
   14093             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   14094             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
   14095             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   658,
   14096             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14097             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
   14098             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
   14099             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   14100             :      250,   251,   252,   253,     0,   255,   256,   257,   258,   259,
   14101             :        0,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   14102             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
   14103             :      276,   277,   278,   279,     0,     0,     0,   281,   282,   283,
   14104             :      284,   285,   286,     0,   288,   289,   290,   291,     0,   292,
   14105             :      293,   294,   295,   296,   297,     0,     0,   299,   300,   301,
   14106             :        0,     0,     0,     0,     0,     0,     0,   303,   304,   305,
   14107             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   14108             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   14109             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   14110             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
   14111             :      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
   14112             :        0,   348,     0,   349,   350,   351,   352,   353,     0,   354,
   14113             :        0,   355,   356,     0,     0,     0,   359,   360,   361,   362,
   14114             :        0,   363,   364,     0,   365,   366,   367,     0,   368,   369,
   14115             :      370,   371,  1110,     0,   374,   375,   376,   377,     0,   378,
   14116             :      379,   380,   381,   382,   383,   384,   385,     0,   386,     0,
   14117             :      388,   389,   390,   391,   392,   393,   394,     0,   395,     0,
   14118             :      396,     0,     0,   399,     0,   401,   402,   403,   404,   405,
   14119             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   14120             :      416,   417,   418,     0,     0,   419,   420,     0,   422,     0,
   14121             :        0,   424,   425,   426,     0,     0,   427,   428,   429,   430,
   14122             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   14123             :      441,   442,   443,   444,   445,   446,     0,   448,   449,   450,
   14124             :      451,   452,   453,   454,   455,   456,   457,   458,   459,     0,
   14125             :      460,   461,     0,   463,     0,   464,   465,   466,   467,   468,
   14126             :      469,   470,     0,   471,   472,   473,     0,     0,   474,   475,
   14127             :      476,     0,     0,   477,   478,   479,     0,   481,     0,   483,
   14128             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   14129             :      494,   495,     0,   496,   497,   498,   499,   500,   501,   502,
   14130             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
   14131             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   14132             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   14133             :      531,   532,     0,   533,   534,     0,   536,   537,   538,   539,
   14134             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
   14135             :      550,   551,     0,   552,   553,   554,   555,   556,     0,   557,
   14136             :      558,   559,   560,   561,     0,   563,   564,   565,   566,     0,
   14137             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   14138             :      577,   578,   579,   580,   581,   582,   583,     0,   584,   585,
   14139             :        0,     0,   586,     0,   588,   589,   590,   591,   592,   593,
   14140             :        0,   594,   595,   596,     0,     0,   597,   598,   599,   600,
   14141             :      601,     0,   602,   603,   604,   605,   606,   607,   608,   609,
   14142             :      610,     0,     0,   611,   612,   613,   614,   615,     0,     0,
   14143             :      616,   617,   618,   619,   620,   621,   622,     0,   623,     0,
   14144             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   14145             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
   14146             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   14147             :      658,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14148             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   14149             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   14150             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   14151             :        0,   250,   251,   252,   253,     0,   255,   256,   257,   258,
   14152             :      259,     0,   261,   262,     0,   263,   264,   265,   266,   267,
   14153             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
   14154             :      275,   276,   277,   278,   279,     0,     0,     0,   281,   282,
   14155             :      283,   284,   285,   286,     0,   288,   289,   290,   291,     0,
   14156             :      292,   293,   294,   295,   296,   297,     0,     0,   299,   300,
   14157             :      301,     0,     0,     0,     0,     0,     0,     0,   303,   304,
   14158             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   14159             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   14160             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
   14161             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
   14162             :        0,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   14163             :      347,     0,   348,     0,   349,   350,   351,   352,   353,     0,
   14164             :      354,     0,   355,   356,     0,     0,     0,   359,   360,   361,
   14165             :      362,     0,   363,   364,     0,   365,   366,   367,     0,   368,
   14166             :      369,   370,   371,  1113,     0,   374,   375,   376,   377,     0,
   14167             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
   14168             :        0,   388,   389,   390,   391,   392,   393,   394,     0,   395,
   14169             :        0,   396,     0,     0,   399,     0,   401,   402,   403,   404,
   14170             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   14171             :      415,   416,   417,   418,     0,     0,   419,   420,     0,   422,
   14172             :        0,     0,   424,   425,   426,     0,     0,   427,   428,   429,
   14173             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   14174             :      440,   441,   442,   443,   444,   445,   446,     0,   448,   449,
   14175             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   14176             :        0,   460,   461,     0,   463,     0,   464,   465,   466,   467,
   14177             :      468,   469,   470,     0,   471,   472,   473,     0,     0,   474,
   14178             :      475,   476,     0,     0,   477,   478,   479,     0,   481,     0,
   14179             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   14180             :      493,   494,   495,     0,   496,   497,   498,   499,   500,   501,
   14181             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
   14182             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   14183             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   14184             :      530,   531,   532,     0,   533,   534,     0,   536,   537,   538,
   14185             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
   14186             :      549,   550,   551,     0,   552,   553,   554,   555,   556,     0,
   14187             :      557,   558,   559,   560,   561,     0,   563,   564,   565,   566,
   14188             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   14189             :      576,   577,   578,   579,   580,   581,   582,   583,     0,   584,
   14190             :      585,     0,     0,   586,     0,   588,   589,   590,   591,   592,
   14191             :      593,     0,   594,   595,   596,     0,     0,   597,   598,   599,
   14192             :      600,   601,     0,   602,   603,   604,   605,   606,   607,   608,
   14193             :      609,   610,     0,     0,   611,   612,   613,   614,   615,     0,
   14194             :        0,   616,   617,   618,   619,   620,   621,   622,     0,   623,
   14195             :        0,   625,   626,   627,   628,   629,     0,     0,   630,     0,
   14196             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   14197             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   14198             :      650,   658,     0,     0,     0,     0,     0,     0,     0,     0,
   14199             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   14200             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   14201             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   14202             :      249,     0,   250,   251,   252,   253,     0,   255,   256,   257,
   14203             :      258,   259,     0,   261,   262,     0,   263,   264,   265,   266,
   14204             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
   14205             :        0,   275,   276,   277,   278,   279,     0,     0,     0,   281,
   14206             :      282,   283,   284,   285,   286,     0,   288,   289,   290,   291,
   14207             :        0,   292,   293,   294,   295,   296,   297,     0,     0,   299,
   14208             :      300,   301,     0,     0,     0,     0,     0,     0,     0,   303,
   14209             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   14210             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   14211             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   14212             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   14213             :      337,     0,   338,   339,   340,   341,   342,   343,   344,   345,
   14214             :      346,   347,     0,   348,     0,   349,   350,   351,   352,   353,
   14215             :        0,   354,     0,   355,   356,     0,     0,     0,   359,   360,
   14216             :      361,   362,     0,   363,   364,     0,   365,   366,   367,     0,
   14217             :      368,   369,   370,   371,  1115,     0,   374,   375,   376,   377,
   14218             :        0,   378,   379,   380,   381,   382,   383,   384,   385,     0,
   14219             :      386,     0,   388,   389,   390,   391,   392,   393,   394,     0,
   14220             :      395,     0,   396,     0,     0,   399,     0,   401,   402,   403,
   14221             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   14222             :      414,   415,   416,   417,   418,     0,     0,   419,   420,     0,
   14223             :      422,     0,     0,   424,   425,   426,     0,     0,   427,   428,
   14224             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   14225             :      439,   440,   441,   442,   443,   444,   445,   446,     0,   448,
   14226             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   14227             :      459,     0,   460,   461,     0,   463,     0,   464,   465,   466,
   14228             :      467,   468,   469,   470,     0,   471,   472,   473,     0,     0,
   14229             :      474,   475,   476,     0,     0,   477,   478,   479,     0,   481,
   14230             :        0,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   14231             :      492,   493,   494,   495,     0,   496,   497,   498,   499,   500,
   14232             :      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
   14233             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   14234             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   14235             :      529,   530,   531,   532,     0,   533,   534,     0,   536,   537,
   14236             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   14237             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
   14238             :        0,   557,   558,   559,   560,   561,     0,   563,   564,   565,
   14239             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   14240             :      575,   576,   577,   578,   579,   580,   581,   582,   583,     0,
   14241             :      584,   585,     0,     0,   586,     0,   588,   589,   590,   591,
   14242             :      592,   593,     0,   594,   595,   596,     0,     0,   597,   598,
   14243             :      599,   600,   601,     0,   602,   603,   604,   605,   606,   607,
   14244             :      608,   609,   610,     0,     0,   611,   612,   613,   614,   615,
   14245             :        0,     0,   616,   617,   618,   619,   620,   621,   622,     0,
   14246             :      623,     0,   625,   626,   627,   628,   629,     0,     0,   630,
   14247             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
   14248             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   14249             :      649,   650,   658,     0,     0,     0,     0,     0,     0,     0,
   14250             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   14251             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   14252             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   14253             :      248,   249,     0,   250,   251,   252,   253,     0,   255,   256,
   14254             :      257,   258,   259,     0,   261,   262,     0,   263,   264,   265,
   14255             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
   14256             :      274,     0,   275,   276,   277,   278,   279,     0,     0,     0,
   14257             :      281,   282,   283,   284,   285,   286,     0,   288,   289,   290,
   14258             :      291,     0,   292,   293,   294,   295,   296,   297,     0,     0,
   14259             :      299,   300,   301,     0,     0,     0,     0,     0,     0,     0,
   14260             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   14261             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   14262             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   14263             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   14264             :      336,   337,     0,   338,   339,   340,   341,   342,   343,   344,
   14265             :      345,   346,   347,     0,   348,     0,   349,   350,   351,   352,
   14266             :      353,     0,   354,     0,   355,   356,     0,     0,     0,   359,
   14267             :      360,   361,   362,     0,   363,   364,     0,   365,   366,   367,
   14268             :        0,   368,   369,   370,   371,  1153,     0,   374,   375,   376,
   14269             :      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
   14270             :        0,   386,     0,   388,   389,   390,   391,   392,   393,   394,
   14271             :        0,   395,     0,   396,     0,     0,   399,     0,   401,   402,
   14272             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   14273             :      413,   414,   415,   416,   417,   418,     0,     0,   419,   420,
   14274             :        0,   422,     0,     0,   424,   425,   426,     0,     0,   427,
   14275             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   14276             :      438,   439,   440,   441,   442,   443,   444,   445,   446,     0,
   14277             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   14278             :      458,   459,     0,   460,   461,     0,   463,     0,   464,   465,
   14279             :      466,   467,   468,   469,   470,     0,   471,   472,   473,     0,
   14280             :        0,   474,   475,   476,     0,     0,   477,   478,   479,     0,
   14281             :      481,     0,   483,   484,   485,   486,   487,   488,   489,   490,
   14282             :      491,   492,   493,   494,   495,     0,   496,   497,   498,   499,
   14283             :      500,   501,   502,   503,   504,     0,   505,   506,   507,   508,
   14284             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   14285             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   14286             :      528,   529,   530,   531,   532,     0,   533,   534,     0,   536,
   14287             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   14288             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   14289             :      556,     0,   557,   558,   559,   560,   561,     0,   563,   564,
   14290             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   14291             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   14292             :        0,   584,   585,     0,     0,   586,     0,   588,   589,   590,
   14293             :      591,   592,   593,     0,   594,   595,   596,     0,     0,   597,
   14294             :      598,   599,   600,   601,     0,   602,   603,   604,   605,   606,
   14295             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
   14296             :      615,     0,     0,   616,   617,   618,   619,   620,   621,   622,
   14297             :        0,   623,     0,   625,   626,   627,   628,   629,     0,     0,
   14298             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
   14299             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   14300             :      648,   649,   650,   658,     0,     0,     0,     0,     0,     0,
   14301             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14302             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   14303             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   14304             :      247,   248,   249,     0,   250,   251,   252,   253,     0,   255,
   14305             :      256,   257,   258,   259,     0,   261,   262,     0,   263,   264,
   14306             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   14307             :      273,   274,     0,   275,   276,   277,   278,   279,     0,     0,
   14308             :        0,   281,   282,   283,   284,   285,   286,     0,   288,   289,
   14309             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   14310             :        0,   299,   300,   301,     0,     0,     0,     0,     0,     0,
   14311             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   14312             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   14313             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   14314             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   14315             :      335,   336,   337,     0,   338,   339,   340,   341,   342,   343,
   14316             :      344,   345,   346,   347,     0,   348,     0,   349,   350,   351,
   14317             :      352,   353,     0,   354,     0,   355,   356,     0,     0,     0,
   14318             :      359,   360,   361,   362,     0,   363,   364,     0,   365,   366,
   14319             :      367,     0,   368,   369,   370,   371,  1181,     0,   374,   375,
   14320             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
   14321             :      385,     0,   386,     0,   388,   389,   390,   391,   392,   393,
   14322             :      394,     0,   395,     0,   396,     0,     0,   399,     0,   401,
   14323             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   14324             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
   14325             :      420,     0,   422,     0,     0,   424,   425,   426,     0,     0,
   14326             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   14327             :      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
   14328             :        0,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   14329             :      457,   458,   459,     0,   460,   461,     0,   463,     0,   464,
   14330             :      465,   466,   467,   468,   469,   470,     0,   471,   472,   473,
   14331             :        0,     0,   474,   475,   476,     0,     0,   477,   478,   479,
   14332             :        0,   481,     0,   483,   484,   485,   486,   487,   488,   489,
   14333             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
   14334             :      499,   500,   501,   502,   503,   504,     0,   505,   506,   507,
   14335             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   14336             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   14337             :      527,   528,   529,   530,   531,   532,     0,   533,   534,     0,
   14338             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   14339             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   14340             :      555,   556,     0,   557,   558,   559,   560,   561,     0,   563,
   14341             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   14342             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   14343             :      583,     0,   584,   585,     0,     0,   586,     0,   588,   589,
   14344             :      590,   591,   592,   593,     0,   594,   595,   596,     0,     0,
   14345             :      597,   598,   599,   600,   601,     0,   602,   603,   604,   605,
   14346             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
   14347             :      614,   615,     0,     0,   616,   617,   618,   619,   620,   621,
   14348             :      622,     0,   623,     0,   625,   626,   627,   628,   629,     0,
   14349             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   14350             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   14351             :      647,   648,   649,   650,   658,     0,     0,     0,     0,     0,
   14352             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14353             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   14354             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   14355             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
   14356             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
   14357             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   14358             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
   14359             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
   14360             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   14361             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
   14362             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
   14363             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   14364             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   14365             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   14366             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
   14367             :      343,   344,   345,   346,   347,     0,   348,     0,   349,   350,
   14368             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
   14369             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
   14370             :      366,   367,     0,   368,   369,   370,   371,  1183,     0,   374,
   14371             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
   14372             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
   14373             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
   14374             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   14375             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
   14376             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
   14377             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   14378             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   14379             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
   14380             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
   14381             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
   14382             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
   14383             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
   14384             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
   14385             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
   14386             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   14387             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   14388             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   14389             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   14390             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   14391             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
   14392             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   14393             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   14394             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
   14395             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
   14396             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
   14397             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
   14398             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
   14399             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
   14400             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   14401             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   14402             :      646,   647,   648,   649,   650,   658,     0,     0,     0,     0,
   14403             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14404             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   14405             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   14406             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   14407             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
   14408             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   14409             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
   14410             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
   14411             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   14412             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
   14413             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   14414             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   14415             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   14416             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   14417             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
   14418             :      342,   343,   344,   345,   346,   347,     0,   348,     0,   349,
   14419             :      350,   351,   352,   353,     0,   354,     0,   355,   356,     0,
   14420             :        0,     0,   359,   360,   361,   362,     0,   363,   364,     0,
   14421             :      365,   366,   367,     0,   368,   369,   370,   371,  1193,     0,
   14422             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
   14423             :      383,   384,   385,     0,   386,     0,   388,   389,   390,   391,
   14424             :      392,   393,   394,     0,   395,     0,   396,     0,     0,   399,
   14425             :        0,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   14426             :      410,   411,   412,   413,   414,   415,   416,   417,   418,     0,
   14427             :        0,   419,   420,     0,   422,     0,     0,   424,   425,   426,
   14428             :        0,     0,   427,   428,   429,   430,   431,   432,   433,   434,
   14429             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   14430             :      445,   446,     0,   448,   449,   450,   451,   452,   453,   454,
   14431             :      455,   456,   457,   458,   459,     0,   460,   461,     0,   463,
   14432             :        0,   464,   465,   466,   467,   468,   469,   470,     0,   471,
   14433             :      472,   473,     0,     0,   474,   475,   476,     0,     0,   477,
   14434             :      478,   479,     0,   481,     0,   483,   484,   485,   486,   487,
   14435             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
   14436             :      497,   498,   499,   500,   501,   502,   503,   504,     0,   505,
   14437             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   14438             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   14439             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   14440             :      534,     0,   536,   537,   538,   539,   540,   541,   542,   543,
   14441             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   14442             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
   14443             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   14444             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   14445             :      581,   582,   583,     0,   584,   585,     0,     0,   586,     0,
   14446             :      588,   589,   590,   591,   592,   593,     0,   594,   595,   596,
   14447             :        0,     0,   597,   598,   599,   600,   601,     0,   602,   603,
   14448             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
   14449             :      612,   613,   614,   615,     0,     0,   616,   617,   618,   619,
   14450             :      620,   621,   622,     0,   623,     0,   625,   626,   627,   628,
   14451             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   14452             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   14453             :      645,   646,   647,   648,   649,   650,   658,     0,     0,     0,
   14454             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14455             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   14456             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
   14457             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   14458             :      253,     0,   255,   256,   257,   258,   259,     0,   261,   262,
   14459             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   14460             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   14461             :      279,     0,     0,     0,   281,   282,   283,   284,   285,   286,
   14462             :        0,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   14463             :      296,   297,     0,     0,   299,   300,   301,     0,     0,     0,
   14464             :        0,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   14465             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
   14466             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   14467             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   14468             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
   14469             :      341,   342,   343,   344,   345,   346,   347,     0,   348,     0,
   14470             :      349,   350,   351,   352,   353,     0,   354,     0,   355,   356,
   14471             :        0,     0,     0,   359,   360,   361,   362,     0,   363,   364,
   14472             :        0,   365,   366,   367,     0,   368,   369,   370,   371,  1196,
   14473             :        0,   374,   375,   376,   377,     0,   378,   379,   380,   381,
   14474             :      382,   383,   384,   385,     0,   386,     0,   388,   389,   390,
   14475             :      391,   392,   393,   394,     0,   395,     0,   396,     0,     0,
   14476             :      399,     0,   401,   402,   403,   404,   405,   406,   407,   408,
   14477             :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
   14478             :        0,     0,   419,   420,     0,   422,     0,     0,   424,   425,
   14479             :      426,     0,     0,   427,   428,   429,   430,   431,   432,   433,
   14480             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   14481             :      444,   445,   446,     0,   448,   449,   450,   451,   452,   453,
   14482             :      454,   455,   456,   457,   458,   459,     0,   460,   461,     0,
   14483             :      463,     0,   464,   465,   466,   467,   468,   469,   470,     0,
   14484             :      471,   472,   473,     0,     0,   474,   475,   476,     0,     0,
   14485             :      477,   478,   479,     0,   481,     0,   483,   484,   485,   486,
   14486             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
   14487             :      496,   497,   498,   499,   500,   501,   502,   503,   504,     0,
   14488             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   14489             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   14490             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   14491             :      533,   534,     0,   536,   537,   538,   539,   540,   541,   542,
   14492             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   14493             :      552,   553,   554,   555,   556,     0,   557,   558,   559,   560,
   14494             :      561,     0,   563,   564,   565,   566,     0,   567,   568,   569,
   14495             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   14496             :      580,   581,   582,   583,     0,   584,   585,     0,     0,   586,
   14497             :        0,   588,   589,   590,   591,   592,   593,     0,   594,   595,
   14498             :      596,     0,     0,   597,   598,   599,   600,   601,     0,   602,
   14499             :      603,   604,   605,   606,   607,   608,   609,   610,     0,     0,
   14500             :      611,   612,   613,   614,   615,     0,     0,   616,   617,   618,
   14501             :      619,   620,   621,   622,     0,   623,     0,   625,   626,   627,
   14502             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   14503             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   14504             :      644,   645,   646,   647,   648,   649,   650,   658,     0,     0,
   14505             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14506             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   14507             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
   14508             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   14509             :      252,   253,     0,   255,   256,   257,   258,   259,     0,   261,
   14510             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   14511             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   14512             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
   14513             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
   14514             :      295,   296,   297,     0,     0,   299,   300,   301,     0,     0,
   14515             :        0,     0,     0,     0,     0,   303,   304,   305,   306,   307,
   14516             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   14517             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   14518             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   14519             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
   14520             :      340,   341,   342,   343,   344,   345,   346,   347,     0,   348,
   14521             :        0,   349,   350,   351,   352,   353,     0,   354,     0,   355,
   14522             :      356,     0,     0,     0,   359,   360,   361,   362,     0,   363,
   14523             :      364,     0,   365,   366,   367,     0,   368,   369,   370,   371,
   14524             :     1199,     0,   374,   375,   376,   377,     0,   378,   379,   380,
   14525             :      381,   382,   383,   384,   385,     0,   386,     0,   388,   389,
   14526             :      390,   391,   392,   393,   394,     0,   395,     0,   396,     0,
   14527             :        0,   399,     0,   401,   402,   403,   404,   405,   406,   407,
   14528             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   14529             :      418,     0,     0,   419,   420,     0,   422,     0,     0,   424,
   14530             :      425,   426,     0,     0,   427,   428,   429,   430,   431,   432,
   14531             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   14532             :      443,   444,   445,   446,     0,   448,   449,   450,   451,   452,
   14533             :      453,   454,   455,   456,   457,   458,   459,     0,   460,   461,
   14534             :        0,   463,     0,   464,   465,   466,   467,   468,   469,   470,
   14535             :        0,   471,   472,   473,     0,     0,   474,   475,   476,     0,
   14536             :        0,   477,   478,   479,     0,   481,     0,   483,   484,   485,
   14537             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
   14538             :        0,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   14539             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   14540             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
   14541             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   14542             :        0,   533,   534,     0,   536,   537,   538,   539,   540,   541,
   14543             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   14544             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   559,
   14545             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
   14546             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   14547             :      579,   580,   581,   582,   583,     0,   584,   585,     0,     0,
   14548             :      586,     0,   588,   589,   590,   591,   592,   593,     0,   594,
   14549             :      595,   596,     0,     0,   597,   598,   599,   600,   601,     0,
   14550             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
   14551             :        0,   611,   612,   613,   614,   615,     0,     0,   616,   617,
   14552             :      618,   619,   620,   621,   622,     0,   623,     0,   625,   626,
   14553             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   14554             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   14555             :      643,   644,   645,   646,   647,   648,   649,   650,   658,     0,
   14556             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14557             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
   14558             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
   14559             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   14560             :      251,   252,   253,     0,   255,   256,   257,   258,   259,     0,
   14561             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   14562             :        0,     0,   842,   271,   272,   273,   274,     0,   275,   276,
   14563             :      277,   278,   279,     0,     0,     0,   281,   282,   283,   284,
   14564             :      285,   286,     0,   288,   289,   290,   291,     0,   292,   293,
   14565             :      294,   295,   296,   297,     0,     0,   299,   300,   301,     0,
   14566             :        0,     0,     0,     0,     0,     0,   303,   304,   305,   306,
   14567             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   14568             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   14569             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   14570             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
   14571             :      339,   340,   341,   342,   343,   344,   345,   346,   347,     0,
   14572             :      348,     0,   349,   350,   351,   352,   353,     0,   354,     0,
   14573             :      355,   356,     0,     0,     0,   359,   360,   361,   362,     0,
   14574             :      363,   364,     0,   365,   366,   367,     0,   368,   369,   370,
   14575             :      371,   372,     0,   374,   375,   376,   377,     0,   378,   379,
   14576             :      380,   381,   382,   383,   384,   385,     0,   386,     0,   388,
   14577             :      389,   390,   391,   392,   393,   394,     0,   395,     0,   396,
   14578             :        0,     0,   399,     0,   401,   402,   403,   404,   405,   406,
   14579             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   14580             :      417,   418,     0,     0,   419,   420,     0,   422,     0,     0,
   14581             :      424,   425,   426,     0,     0,   427,   428,   429,   430,   431,
   14582             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   14583             :      442,   443,   444,   845,   446,     0,   448,   449,   450,   451,
   14584             :      452,   453,   454,   455,   456,   457,   458,   459,     0,   460,
   14585             :      461,     0,   463,     0,   464,   465,   466,   467,   468,   469,
   14586             :      470,     0,   471,   472,   473,     0,     0,   474,   475,   476,
   14587             :        0,     0,   477,   478,   479,     0,   481,     0,   483,   484,
   14588             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   14589             :      495,     0,   496,   497,   498,   499,   500,   501,   502,   503,
   14590             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
   14591             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
   14592             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   14593             :      532,     0,   533,   534,     0,   846,   537,   538,   539,   540,
   14594             :      541,   542,   543,   544,   545,   847,   547,   548,   549,   550,
   14595             :      551,     0,   552,   553,   554,   555,  1394,     0,   557,   558,
   14596             :      559,   560,   561,     0,   563,   564,   565,   566,     0,   567,
   14597             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   14598             :      578,   579,   580,   581,   582,   583,     0,   584,   585,     0,
   14599             :        0,   586,     0,   588,   589,   590,   591,   592,   593,     0,
   14600             :      594,   849,   596,     0,     0,   850,   598,   599,   600,   601,
   14601             :        0,   602,   603,   604,   605,   606,   607,   608,   609,   610,
   14602             :        0,     0,   611,   612,   613,   614,   615,     0,     0,   616,
   14603             :      617,   618,   619,   620,   621,   622,     0,   623,     0,   625,
   14604             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   14605             :      632,   633,   634,   635,   851,   637,   638,   639,   640,   641,
   14606             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   658,
   14607             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14608             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
   14609             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
   14610             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   14611             :      250,   251,   252,   253,     0,   255,   256,   257,   258,   259,
   14612             :        0,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   14613             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
   14614             :      276,   277,   278,   279,     0,     0,     0,   281,   282,   283,
   14615             :      284,   285,   286,     0,   288,   289,   290,   291,     0,   292,
   14616             :      293,   294,   295,   296,   297,     0,     0,   299,   300,   301,
   14617             :        0,     0,     0,     0,     0,     0,     0,   303,   304,   305,
   14618             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   14619             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   14620             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   14621             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
   14622             :      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
   14623             :        0,   348,     0,   349,   350,   351,   352,   353,     0,   354,
   14624             :        0,   355,   356,     0,     0,     0,   359,   360,   361,   362,
   14625             :        0,   363,   364,     0,   365,   366,   367,     0,   368,   369,
   14626             :      370,   371,  1872,     0,   374,   375,   376,   377,     0,   378,
   14627             :      379,   380,   381,   382,   383,   384,   385,     0,   386,     0,
   14628             :      388,   389,   390,   391,   392,   393,   394,     0,   395,     0,
   14629             :      396,     0,     0,   399,     0,   401,   402,   403,   404,   405,
   14630             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   14631             :      416,   417,   418,     0,     0,   419,   420,     0,   422,     0,
   14632             :        0,   424,   425,   426,     0,     0,   427,   428,   429,   430,
   14633             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   14634             :      441,   442,   443,   444,   445,   446,     0,   448,   449,   450,
   14635             :      451,   452,   453,   454,   455,   456,   457,   458,   459,     0,
   14636             :      460,   461,     0,   463,     0,   464,   465,   466,   467,   468,
   14637             :      469,   470,     0,   471,   472,   473,     0,     0,   474,   475,
   14638             :      476,     0,     0,   477,   478,   479,     0,   481,     0,   483,
   14639             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   14640             :      494,   495,     0,   496,   497,   498,   499,   500,   501,   502,
   14641             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
   14642             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   14643             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   14644             :      531,   532,     0,   533,   534,     0,   536,   537,   538,   539,
   14645             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
   14646             :      550,   551,     0,   552,   553,   554,   555,   556,     0,   557,
   14647             :      558,   559,   560,   561,     0,   563,   564,   565,   566,     0,
   14648             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   14649             :      577,   578,   579,   580,   581,   582,   583,     0,   584,   585,
   14650             :        0,     0,   586,     0,   588,   589,   590,   591,   592,   593,
   14651             :        0,   594,   595,   596,     0,     0,   597,   598,   599,   600,
   14652             :      601,     0,   602,   603,   604,   605,   606,   607,   608,   609,
   14653             :      610,     0,     0,   611,   612,   613,   614,   615,     0,     0,
   14654             :      616,   617,   618,   619,   620,   621,   622,     0,   623,     0,
   14655             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   14656             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
   14657             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   14658             :      658,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14659             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   14660             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   14661             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   14662             :        0,   250,   251,   252,   253,     0,   255,   256,   257,   258,
   14663             :      259,     0,   261,   262,     0,   263,   264,   265,   266,   267,
   14664             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
   14665             :      275,   276,   277,   278,   279,     0,     0,     0,   281,   282,
   14666             :      283,   284,   285,   286,     0,   288,   289,   290,   291,     0,
   14667             :      292,   293,   294,   295,   296,   297,     0,     0,   299,   300,
   14668             :      301,     0,     0,     0,     0,     0,     0,     0,   303,   304,
   14669             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   14670             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   14671             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
   14672             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
   14673             :        0,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   14674             :      347,     0,   348,     0,   349,   350,   351,   352,   353,     0,
   14675             :      354,     0,   355,   356,     0,     0,     0,   359,   360,   361,
   14676             :      362,     0,   363,   364,     0,   365,   366,   367,     0,   368,
   14677             :      369,   370,   371,  1906,     0,   374,   375,   376,   377,     0,
   14678             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
   14679             :        0,   388,   389,   390,   391,   392,   393,   394,     0,   395,
   14680             :        0,   396,     0,     0,   399,     0,   401,   402,   403,   404,
   14681             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   14682             :      415,   416,   417,   418,     0,     0,   419,   420,     0,   422,
   14683             :        0,     0,   424,   425,   426,     0,     0,   427,   428,   429,
   14684             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   14685             :      440,   441,   442,   443,   444,   445,   446,     0,   448,   449,
   14686             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   14687             :        0,   460,   461,     0,   463,     0,   464,   465,   466,   467,
   14688             :      468,   469,   470,     0,   471,   472,   473,     0,     0,   474,
   14689             :      475,   476,     0,     0,   477,   478,   479,     0,   481,     0,
   14690             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   14691             :      493,   494,   495,     0,   496,   497,   498,   499,   500,   501,
   14692             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
   14693             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   14694             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   14695             :      530,   531,   532,     0,   533,   534,     0,   536,   537,   538,
   14696             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
   14697             :      549,   550,   551,     0,   552,   553,   554,   555,   556,     0,
   14698             :      557,   558,   559,   560,   561,     0,   563,   564,   565,   566,
   14699             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   14700             :      576,   577,   578,   579,   580,   581,   582,   583,     0,   584,
   14701             :      585,     0,     0,   586,     0,   588,   589,   590,   591,   592,
   14702             :      593,     0,   594,   595,   596,     0,     0,   597,   598,   599,
   14703             :      600,   601,     0,   602,   603,   604,   605,   606,   607,   608,
   14704             :      609,   610,     0,     0,   611,   612,   613,   614,   615,     0,
   14705             :        0,   616,   617,   618,   619,   620,   621,   622,     0,   623,
   14706             :        0,   625,   626,   627,   628,   629,     0,     0,   630,     0,
   14707             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   14708             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   14709             :      650,   658,     0,     0,     0,     0,     0,     0,     0,     0,
   14710             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   14711             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   14712             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   14713             :      249,     0,   250,   251,   252,   253,     0,   255,   256,   257,
   14714             :      258,   259,     0,   261,   262,     0,   263,   264,   265,   266,
   14715             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
   14716             :        0,   275,   276,   277,   278,   279,     0,     0,     0,   281,
   14717             :      282,   283,   284,   285,   286,     0,   288,   289,   290,   291,
   14718             :        0,   292,   293,   294,   295,   296,   297,     0,     0,   299,
   14719             :      300,   301,     0,     0,     0,     0,     0,     0,     0,   303,
   14720             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   14721             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   14722             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   14723             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   14724             :      337,     0,   338,   339,   340,   341,   342,   343,   344,   345,
   14725             :      346,   347,     0,   348,     0,   349,   350,   351,   352,   353,
   14726             :        0,   354,     0,   355,   356,     0,     0,     0,   359,   360,
   14727             :      361,   362,     0,   363,   364,     0,   365,   366,   367,     0,
   14728             :      368,   369,   370,   371,  1908,     0,   374,   375,   376,   377,
   14729             :        0,   378,   379,   380,   381,   382,   383,   384,   385,     0,
   14730             :      386,     0,   388,   389,   390,   391,   392,   393,   394,     0,
   14731             :      395,     0,   396,     0,     0,   399,     0,   401,   402,   403,
   14732             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   14733             :      414,   415,   416,   417,   418,     0,     0,   419,   420,     0,
   14734             :      422,     0,     0,   424,   425,   426,     0,     0,   427,   428,
   14735             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   14736             :      439,   440,   441,   442,   443,   444,   445,   446,     0,   448,
   14737             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   14738             :      459,     0,   460,   461,     0,   463,     0,   464,   465,   466,
   14739             :      467,   468,   469,   470,     0,   471,   472,   473,     0,     0,
   14740             :      474,   475,   476,     0,     0,   477,   478,   479,     0,   481,
   14741             :        0,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   14742             :      492,   493,   494,   495,     0,   496,   497,   498,   499,   500,
   14743             :      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
   14744             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   14745             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   14746             :      529,   530,   531,   532,     0,   533,   534,     0,   536,   537,
   14747             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   14748             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
   14749             :        0,   557,   558,   559,   560,   561,     0,   563,   564,   565,
   14750             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   14751             :      575,   576,   577,   578,   579,   580,   581,   582,   583,     0,
   14752             :      584,   585,     0,     0,   586,     0,   588,   589,   590,   591,
   14753             :      592,   593,     0,   594,   595,   596,     0,     0,   597,   598,
   14754             :      599,   600,   601,     0,   602,   603,   604,   605,   606,   607,
   14755             :      608,   609,   610,     0,     0,   611,   612,   613,   614,   615,
   14756             :        0,     0,   616,   617,   618,   619,   620,   621,   622,     0,
   14757             :      623,     0,   625,   626,   627,   628,   629,     0,     0,   630,
   14758             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
   14759             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   14760             :      649,   650,   658,     0,     0,     0,     0,     0,     0,     0,
   14761             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   14762             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   14763             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   14764             :      248,   249,     0,   250,   251,   252,   253,     0,   255,   256,
   14765             :      257,   258,   259,     0,   261,   262,     0,   263,   264,   265,
   14766             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
   14767             :      274,     0,   275,   276,   277,   278,   279,     0,     0,     0,
   14768             :      281,   282,   283,   284,   285,   286,     0,   288,   289,   290,
   14769             :      291,     0,   292,   293,   294,   295,   296,   297,     0,     0,
   14770             :      299,   300,   301,     0,     0,     0,     0,     0,     0,     0,
   14771             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   14772             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   14773             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   14774             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   14775             :      336,   337,     0,   338,   339,   340,   341,   342,   343,   344,
   14776             :      345,   346,   347,     0,   348,     0,   349,   350,   351,   352,
   14777             :      353,     0,   354,     0,   355,   356,     0,     0,     0,   359,
   14778             :      360,   361,   362,     0,   363,   364,     0,   365,   366,   367,
   14779             :        0,   368,   369,   370,   371,  1948,     0,   374,   375,   376,
   14780             :      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
   14781             :        0,   386,     0,   388,   389,   390,   391,   392,   393,   394,
   14782             :        0,   395,     0,   396,     0,     0,   399,     0,   401,   402,
   14783             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   14784             :      413,   414,   415,   416,   417,   418,     0,     0,   419,   420,
   14785             :        0,   422,     0,     0,   424,   425,   426,     0,     0,   427,
   14786             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   14787             :      438,   439,   440,   441,   442,   443,   444,   445,   446,     0,
   14788             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   14789             :      458,   459,     0,   460,   461,     0,   463,     0,   464,   465,
   14790             :      466,   467,   468,   469,   470,     0,   471,   472,   473,     0,
   14791             :        0,   474,   475,   476,     0,     0,   477,   478,   479,     0,
   14792             :      481,     0,   483,   484,   485,   486,   487,   488,   489,   490,
   14793             :      491,   492,   493,   494,   495,     0,   496,   497,   498,   499,
   14794             :      500,   501,   502,   503,   504,     0,   505,   506,   507,   508,
   14795             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   14796             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   14797             :      528,   529,   530,   531,   532,     0,   533,   534,     0,   536,
   14798             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   14799             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   14800             :      556,     0,   557,   558,   559,   560,   561,     0,   563,   564,
   14801             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   14802             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   14803             :        0,   584,   585,     0,     0,   586,     0,   588,   589,   590,
   14804             :      591,   592,   593,     0,   594,   595,   596,     0,     0,   597,
   14805             :      598,   599,   600,   601,     0,   602,   603,   604,   605,   606,
   14806             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
   14807             :      615,     0,     0,   616,   617,   618,   619,   620,   621,   622,
   14808             :        0,   623,     0,   625,   626,   627,   628,   629,     0,     0,
   14809             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
   14810             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   14811             :      648,   649,   650,   658,     0,     0,     0,     0,     0,     0,
   14812             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14813             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   14814             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   14815             :      247,   248,   249,     0,   250,   251,   252,   253,     0,   255,
   14816             :      256,   257,   258,   259,     0,   261,   262,     0,   263,   264,
   14817             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   14818             :      273,   274,     0,   275,   276,   277,   278,   279,     0,     0,
   14819             :        0,   281,   282,   283,   284,   285,   286,     0,   288,   289,
   14820             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   14821             :        0,   299,   300,   301,     0,     0,     0,     0,     0,     0,
   14822             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   14823             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   14824             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   14825             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   14826             :      335,   336,   337,     0,   338,   339,   340,   341,   342,   343,
   14827             :      344,   345,   346,   347,     0,   348,     0,   349,   350,   351,
   14828             :      352,   353,     0,   354,     0,   355,   356,     0,     0,     0,
   14829             :      359,   360,   361,   362,     0,   363,   364,     0,   365,   366,
   14830             :      367,     0,   368,   369,   370,   371,  1950,     0,   374,   375,
   14831             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
   14832             :      385,     0,   386,     0,   388,   389,   390,   391,   392,   393,
   14833             :      394,     0,   395,     0,   396,     0,     0,   399,     0,   401,
   14834             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   14835             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
   14836             :      420,     0,   422,     0,     0,   424,   425,   426,     0,     0,
   14837             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   14838             :      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
   14839             :        0,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   14840             :      457,   458,   459,     0,   460,   461,     0,   463,     0,   464,
   14841             :      465,   466,   467,   468,   469,   470,     0,   471,   472,   473,
   14842             :        0,     0,   474,   475,   476,     0,     0,   477,   478,   479,
   14843             :        0,   481,     0,   483,   484,   485,   486,   487,   488,   489,
   14844             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
   14845             :      499,   500,   501,   502,   503,   504,     0,   505,   506,   507,
   14846             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   14847             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   14848             :      527,   528,   529,   530,   531,   532,     0,   533,   534,     0,
   14849             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   14850             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   14851             :      555,   556,     0,   557,   558,   559,   560,   561,     0,   563,
   14852             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   14853             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   14854             :      583,     0,   584,   585,     0,     0,   586,     0,   588,   589,
   14855             :      590,   591,   592,   593,     0,   594,   595,   596,     0,     0,
   14856             :      597,   598,   599,   600,   601,     0,   602,   603,   604,   605,
   14857             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
   14858             :      614,   615,     0,     0,   616,   617,   618,   619,   620,   621,
   14859             :      622,     0,   623,     0,   625,   626,   627,   628,   629,     0,
   14860             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   14861             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   14862             :      647,   648,   649,   650,   658,     0,     0,     0,     0,     0,
   14863             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14864             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   14865             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   14866             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
   14867             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
   14868             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   14869             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
   14870             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
   14871             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   14872             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
   14873             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
   14874             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   14875             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   14876             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   14877             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
   14878             :      343,   344,   345,   346,   347,     0,   348,     0,   349,   350,
   14879             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
   14880             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
   14881             :      366,   367,     0,   368,   369,   370,   371,  1952,     0,   374,
   14882             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
   14883             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
   14884             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
   14885             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   14886             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
   14887             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
   14888             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   14889             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   14890             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
   14891             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
   14892             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
   14893             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
   14894             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
   14895             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
   14896             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
   14897             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   14898             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   14899             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   14900             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   14901             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   14902             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
   14903             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   14904             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   14905             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
   14906             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
   14907             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
   14908             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
   14909             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
   14910             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
   14911             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   14912             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   14913             :      646,   647,   648,   649,   650,   658,     0,     0,     0,     0,
   14914             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14915             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   14916             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   14917             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   14918             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
   14919             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   14920             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
   14921             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
   14922             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   14923             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
   14924             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   14925             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   14926             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   14927             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   14928             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
   14929             :      342,   343,   344,   345,   346,   347,     0,   348,     0,   349,
   14930             :      350,   351,   352,   353,     0,   354,     0,   355,   356,     0,
   14931             :        0,     0,   359,   360,   361,   362,     0,   363,   364,     0,
   14932             :      365,   366,   367,     0,   368,   369,   370,   371,   372,     0,
   14933             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
   14934             :      383,   384,   385,     0,   386,     0,   388,   389,   390,   391,
   14935             :      392,   393,   394,     0,   395,     0,   396,     0,     0,   399,
   14936             :        0,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   14937             :      410,   411,   412,   413,   414,   415,   416,   417,   418,     0,
   14938             :        0,   419,   420,     0,   422,     0,     0,   424,   425,   426,
   14939             :        0,     0,   427,   428,   429,   430,   431,   432,   433,   434,
   14940             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   14941             :      445,   446,     0,   448,   449,   450,   451,   452,   453,   454,
   14942             :      455,   456,   457,   458,   459,     0,   460,   461,     0,   463,
   14943             :        0,   464,   465,   466,   467,   468,   469,   470,     0,   471,
   14944             :      472,   473,     0,     0,   474,   475,   476,     0,     0,   477,
   14945             :      478,   479,     0,   481,     0,   483,   484,   485,   486,   487,
   14946             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
   14947             :      497,   498,   499,   500,   501,   502,   503,   504,     0,   505,
   14948             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   14949             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   14950             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   14951             :      534,     0,   536,   537,   538,   539,   540,   541,   542,   543,
   14952             :     2046,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   14953             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
   14954             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   14955             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   14956             :      581,   582,   583,     0,   584,   585,     0,     0,   586,     0,
   14957             :      588,   589,   590,   591,   592,   593,     0,   594,   595,   596,
   14958             :        0,     0,   597,   598,   599,   600,   601,     0,   602,   603,
   14959             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
   14960             :      612,   613,   614,   615,     0,     0,   616,   617,   618,   619,
   14961             :      620,   621,   622,     0,   623,     0,   625,   626,   627,   628,
   14962             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   14963             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   14964             :      645,   646,   647,   648,   649,   650,   658,     0,     0,     0,
   14965             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14966             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   14967             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
   14968             :        0,  2723,     0,   247,   248,   249,     0,   250,   251,   252,
   14969             :      253,     0,   255,   256,   257,   258,   259,     0,   261,   262,
   14970             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   14971             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   14972             :      279,     0,     0,     0,   281,   282,   283,   284,   285,   286,
   14973             :        0,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   14974             :      296,   297,     0,     0,   299,   300,   301,     0,     0,     0,
   14975             :        0,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   14976             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
   14977             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   14978             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   14979             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
   14980             :      341,   342,   343,   344,   345,   346,   347,     0,   348,     0,
   14981             :      349,   350,   351,   352,   353,     0,   354,     0,   355,   356,
   14982             :        0,     0,     0,   359,   360,   361,   362,     0,   363,   364,
   14983             :        0,   365,   366,   367,     0,   368,   369,   370,   371,   372,
   14984             :        0,   374,   375,   376,   377,     0,   378,   379,   380,   381,
   14985             :      382,   383,   384,   385,     0,   386,     0,   388,   389,   390,
   14986             :      391,   392,   393,   394,     0,   395,     0,   396,     0,     0,
   14987             :      399,     0,   401,   402,   403,   404,   405,   406,   407,   408,
   14988             :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
   14989             :        0,     0,   419,   420,     0,   422,     0,     0,   424,   425,
   14990             :      426,     0,     0,   427,   428,   429,   430,   431,   432,   433,
   14991             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   14992             :      444,   445,   446,     0,   448,   449,   450,   451,   452,   453,
   14993             :      454,   455,   456,   457,   458,   459,     0,   460,   461,     0,
   14994             :      463,     0,   464,   465,   466,   467,   468,   469,   470,     0,
   14995             :      471,   472,   473,     0,     0,   474,   475,   476,     0,     0,
   14996             :      477,   478,   479,     0,   481,     0,   483,   484,   485,   486,
   14997             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
   14998             :      496,   497,   498,   499,   500,   501,   502,   503,   504,     0,
   14999             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   15000             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   15001             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   15002             :      533,   534,     0,   536,   537,   538,   539,   540,   541,   542,
   15003             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   15004             :      552,   553,   554,   555,   556,     0,     0,   558,   559,   560,
   15005             :      561,     0,   563,   564,   565,   566,     0,   567,   568,   569,
   15006             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   15007             :      580,   581,   582,   583,     0,   584,   585,     0,     0,   586,
   15008             :        0,   588,   589,   590,   591,   592,   593,     0,   594,   595,
   15009             :      596,     0,     0,   597,   598,   599,   600,   601,     0,   602,
   15010             :      603,   604,   605,   606,   607,   608,   609,   610,     0,     0,
   15011             :      611,   612,   613,   614,   615,     0,     0,   616,   617,   618,
   15012             :      619,   620,   621,   622,     0,   623,     0,   625,   626,   627,
   15013             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   15014             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   15015             :      644,   645,   646,   647,   648,   649,   650,   658,     0,     0,
   15016             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15017             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   15018             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
   15019             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   15020             :      252,   253,     0,   255,   256,   257,   258,   259,     0,   261,
   15021             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   15022             :        0,   842,   271,   272,   273,   274,     0,   275,   276,   277,
   15023             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
   15024             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
   15025             :      295,   296,   297,     0,     0,   299,   300,   301,     0,     0,
   15026             :        0,     0,     0,     0,     0,   303,   304,   305,   306,   307,
   15027             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   15028             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   15029             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   15030             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
   15031             :      340,   341,   342,   343,   344,   345,   346,   347,     0,   348,
   15032             :        0,   349,   350,   351,   352,   353,     0,   354,     0,   355,
   15033             :      356,     0,     0,     0,   359,   360,   361,   362,     0,   363,
   15034             :      364,     0,   365,   366,   367,     0,   368,   369,   370,   371,
   15035             :      372,     0,   374,   375,   376,   377,     0,   378,   379,   380,
   15036             :      381,   382,   383,   384,   385,     0,   386,     0,   388,   389,
   15037             :      390,   391,   392,   393,   394,     0,   395,     0,   396,     0,
   15038             :        0,   399,     0,   401,   402,   403,   404,   405,   406,   407,
   15039             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   15040             :      418,     0,     0,   419,   420,     0,   422,     0,     0,   424,
   15041             :      425,   426,     0,     0,   427,   428,   429,   430,   431,   432,
   15042             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   15043             :      443,   444,   845,   446,     0,   448,   449,   450,   451,   452,
   15044             :      453,   454,   455,   456,   457,   458,   459,     0,   460,   461,
   15045             :        0,   463,     0,   464,   465,   466,   467,   468,   469,   470,
   15046             :        0,   471,   472,   473,     0,     0,   474,   475,   476,     0,
   15047             :        0,   477,   478,   479,     0,   481,     0,   483,   484,   485,
   15048             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
   15049             :        0,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   15050             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   15051             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
   15052             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   15053             :        0,   533,   534,     0,   846,   537,   538,   539,   540,   541,
   15054             :      542,   543,   544,   545,   847,   547,   548,   549,   550,   551,
   15055             :        0,   552,   553,   554,   555,  1394,     0,   557,   558,   559,
   15056             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
   15057             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   15058             :      579,   580,   581,   582,   583,     0,   584,   585,     0,     0,
   15059             :      586,     0,  2757,   589,   590,   591,   592,   593,     0,   594,
   15060             :      849,   596,     0,     0,   850,   598,   599,   600,   601,     0,
   15061             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
   15062             :        0,   611,   612,   613,   614,   615,     0,     0,   616,   617,
   15063             :      618,   619,   620,   621,   622,     0,   623,     0,   625,   626,
   15064             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   15065             :      633,   634,   635,   851,   637,   638,   639,   640,   641,   642,
   15066             :      643,   644,   645,   646,   647,   648,   649,   650,   658,     0,
   15067             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15068             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
   15069             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
   15070             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   15071             :      251,   252,   253,     0,   255,   256,   257,   258,   259,     0,
   15072             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   15073             :        0,     0,   842,   271,   272,   273,   274,     0,   275,   276,
   15074             :      277,   278,   279,     0,     0,     0,   281,   282,   283,   284,
   15075             :      285,   286,     0,   288,   289,   290,   291,     0,   292,   293,
   15076             :      294,   295,   296,   297,     0,     0,   299,   300,   301,     0,
   15077             :        0,     0,     0,     0,     0,     0,   303,   304,   305,   306,
   15078             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   15079             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   15080             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   15081             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
   15082             :      339,   340,   341,   342,   343,   344,   345,   346,   347,     0,
   15083             :      348,     0,   349,   350,   351,   352,   353,     0,   354,     0,
   15084             :      355,   356,     0,     0,     0,   359,   360,   361,   362,     0,
   15085             :      363,   364,     0,   365,   366,   367,     0,   368,   369,   370,
   15086             :      371,   372,     0,   374,   375,   376,   377,     0,   378,   379,
   15087             :      380,   381,   382,   383,   384,   385,     0,   386,     0,   388,
   15088             :      389,   390,   391,   392,   393,   394,     0,   395,     0,   396,
   15089             :        0,     0,   399,     0,   401,   402,   403,   404,   405,   406,
   15090             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   15091             :      417,   418,     0,     0,   419,   420,     0,   422,     0,     0,
   15092             :      424,   425,   426,     0,     0,   427,   428,   429,   430,   431,
   15093             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   15094             :      442,   443,   444,   845,   446,     0,   448,   449,   450,   451,
   15095             :      452,   453,   454,   455,   456,   457,   458,   459,     0,   460,
   15096             :      461,     0,   463,     0,   464,   465,   466,   467,   468,   469,
   15097             :      470,     0,   471,   472,   473,     0,     0,   474,   475,   476,
   15098             :        0,     0,   477,   478,   479,     0,   481,     0,   483,   484,
   15099             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   15100             :      495,     0,   496,   497,   498,   499,   500,   501,   502,   503,
   15101             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
   15102             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
   15103             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   15104             :      532,     0,   533,   534,     0,   846,   537,   538,   539,   540,
   15105             :      541,   542,   543,   544,   545,  2819,   547,   548,   549,   550,
   15106             :      551,     0,   552,   553,   554,   555,  2820,     0,   557,   558,
   15107             :      559,   560,   561,     0,   563,   564,   565,   566,     0,   567,
   15108             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   15109             :      578,   579,   580,   581,   582,   583,     0,   584,   585,     0,
   15110             :        0,   586,     0,   588,   589,   590,   591,   592,   593,     0,
   15111             :      594,   849,   596,     0,     0,  2821,   598,   599,   600,   601,
   15112             :        0,   602,   603,   604,   605,   606,   607,   608,   609,   610,
   15113             :        0,     0,   611,   612,   613,   614,   615,     0,     0,   616,
   15114             :      617,   618,   619,   620,   621,   622,     0,   623,     0,   625,
   15115             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   15116             :      632,   633,   634,   635,   851,   637,   638,   639,   640,   641,
   15117             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   658,
   15118             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15119             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
   15120             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
   15121             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   15122             :      250,   251,   252,   253,     0,   255,   256,   257,   258,   259,
   15123             :        0,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   15124             :      269,     0,     0,   842,   271,   272,   273,   274,     0,   275,
   15125             :      276,   277,   278,   279,     0,     0,     0,   281,   282,   283,
   15126             :      284,   285,   286,     0,   288,   289,   290,   291,     0,   292,
   15127             :      293,   294,   295,   296,   297,     0,     0,   299,   300,   301,
   15128             :        0,     0,     0,     0,     0,     0,     0,   303,   304,   305,
   15129             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   15130             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   15131             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   15132             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
   15133             :      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
   15134             :        0,   348,     0,   349,   350,   351,   352,   353,     0,   354,
   15135             :        0,   355,   356,     0,     0,     0,   359,   360,   361,   362,
   15136             :        0,   363,   364,     0,   365,   366,   367,     0,   368,   369,
   15137             :      370,   371,   372,     0,   374,   375,   376,   377,     0,   378,
   15138             :      379,   380,   381,   382,   383,   384,   385,     0,   386,     0,
   15139             :      388,   389,   390,   391,   392,   393,   394,     0,   395,     0,
   15140             :      396,     0,     0,   399,     0,   401,   402,   403,   404,   405,
   15141             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   15142             :      416,   417,   418,     0,     0,   419,   420,     0,   422,     0,
   15143             :        0,   424,   425,   426,     0,     0,   427,   428,   429,   430,
   15144             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   15145             :      441,   442,   443,   444,   845,   446,     0,   448,   449,   450,
   15146             :      451,   452,   453,   454,   455,   456,   457,   458,   459,     0,
   15147             :      460,   461,     0,   463,     0,   464,   465,   466,   467,   468,
   15148             :      469,   470,     0,   471,   472,   473,     0,     0,   474,   475,
   15149             :      476,     0,     0,   477,   478,   479,     0,   481,     0,   483,
   15150             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   15151             :      494,   495,     0,   496,   497,   498,   499,   500,   501,   502,
   15152             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
   15153             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   15154             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   15155             :      531,   532,     0,   533,   534,     0,   846,   537,   538,   539,
   15156             :      540,   541,   542,   543,   544,   545,  2906,   547,   548,   549,
   15157             :      550,   551,     0,   552,   553,   554,   555,  2820,     0,   557,
   15158             :      558,   559,   560,   561,     0,   563,   564,   565,   566,     0,
   15159             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   15160             :      577,   578,   579,   580,   581,   582,   583,     0,   584,   585,
   15161             :        0,     0,   586,     0,   588,   589,   590,   591,   592,   593,
   15162             :        0,   594,   849,   596,     0,     0,  2821,   598,   599,   600,
   15163             :      601,     0,   602,   603,   604,   605,   606,   607,   608,   609,
   15164             :      610,     0,     0,   611,   612,   613,   614,   615,     0,     0,
   15165             :      616,   617,   618,   619,   620,   621,   622,     0,   623,     0,
   15166             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   15167             :      631,   632,   633,   634,   635,   851,   637,   638,   639,   640,
   15168             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   15169             :      658,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15170             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   15171             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   15172             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   15173             :        0,   250,   251,   252,   253,     0,   255,   256,   257,   258,
   15174             :      259,     0,   261,   262,     0,   263,   264,   265,   266,   267,
   15175             :      268,   269,     0,     0,   842,   271,   272,   273,   274,     0,
   15176             :      275,   276,   277,   278,   279,     0,     0,     0,   281,   282,
   15177             :      283,   284,   285,   286,     0,   288,   289,   290,   291,     0,
   15178             :      292,   293,   294,   295,   296,   297,     0,     0,   299,   300,
   15179             :      301,     0,     0,     0,     0,     0,     0,     0,   303,   304,
   15180             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   15181             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   15182             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
   15183             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
   15184             :        0,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   15185             :      347,     0,   348,     0,   349,   350,   351,   352,   353,     0,
   15186             :      354,     0,   355,   356,     0,     0,     0,   359,   360,   361,
   15187             :      362,     0,   363,   364,     0,   365,   366,   367,     0,   368,
   15188             :      369,   370,   371,   372,     0,   374,   375,   376,   377,     0,
   15189             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
   15190             :        0,   388,   389,   390,   391,   392,   393,   394,     0,   395,
   15191             :        0,   396,     0,     0,   399,     0,   401,   402,   403,   404,
   15192             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   15193             :      415,   416,   417,   418,     0,     0,   419,   420,     0,   422,
   15194             :        0,     0,   424,   425,   426,     0,     0,   427,   428,   429,
   15195             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   15196             :      440,   441,   442,   443,   444,   845,   446,     0,   448,   449,
   15197             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   15198             :        0,   460,   461,     0,   463,     0,   464,   465,   466,   467,
   15199             :      468,   469,   470,     0,   471,   472,   473,     0,     0,   474,
   15200             :      475,   476,     0,     0,   477,   478,   479,     0,   481,     0,
   15201             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   15202             :      493,   494,   495,     0,   496,   497,   498,   499,   500,   501,
   15203             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
   15204             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   15205             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   15206             :      530,   531,   532,     0,   533,   534,     0,   846,   537,   538,
   15207             :      539,   540,   541,   542,   543,   544,   545,  2930,   547,   548,
   15208             :      549,   550,   551,     0,   552,   553,   554,   555,  2820,     0,
   15209             :      557,   558,   559,   560,   561,     0,   563,   564,   565,   566,
   15210             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   15211             :      576,   577,   578,   579,   580,   581,   582,   583,     0,   584,
   15212             :      585,     0,     0,   586,     0,   588,   589,   590,   591,   592,
   15213             :      593,     0,   594,   849,   596,     0,     0,  2821,   598,   599,
   15214             :      600,   601,     0,   602,   603,   604,   605,   606,   607,   608,
   15215             :      609,   610,     0,     0,   611,   612,   613,   614,   615,     0,
   15216             :        0,   616,   617,   618,   619,   620,   621,   622,     0,   623,
   15217             :        0,   625,   626,   627,   628,   629,     0,     0,   630,     0,
   15218             :        0,   631,   632,   633,   634,   635,   851,   637,   638,   639,
   15219             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   15220             :      650,   658,     0,     0,     0,     0,     0,     0,     0,     0,
   15221             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   15222             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   15223             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   15224             :      249,     0,   250,   251,   252,   253,     0,   255,   256,   257,
   15225             :      258,   259,     0,   261,   262,     0,   263,   264,   265,   266,
   15226             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
   15227             :        0,   275,   276,   277,   278,   279,     0,     0,     0,   281,
   15228             :      282,   283,   284,   285,   286,     0,   288,   289,   290,   291,
   15229             :        0,   292,   293,   294,   295,   296,   297,     0,     0,   299,
   15230             :      300,   301,     0,     0,     0,     0,     0,     0,     0,   303,
   15231             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   15232             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   15233             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   15234             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   15235             :      337,     0,   338,   339,   340,   341,   342,   343,   344,   345,
   15236             :      346,   347,     0,   348,     0,   349,   350,   351,   352,   353,
   15237             :        0,   354,     0,   355,   356,     0,     0,     0,   359,   360,
   15238             :      361,   362,     0,   363,   364,     0,   365,   366,   367,     0,
   15239             :      368,   369,   370,   371,  3124,     0,   374,   375,   376,   377,
   15240             :        0,   378,   379,   380,   381,   382,   383,   384,   385,     0,
   15241             :      386,     0,   388,   389,   390,   391,   392,   393,   394,     0,
   15242             :      395,     0,   396,     0,     0,   399,     0,   401,   402,   403,
   15243             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   15244             :      414,   415,   416,   417,   418,     0,     0,   419,   420,     0,
   15245             :      422,     0,     0,   424,   425,   426,     0,     0,   427,   428,
   15246             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   15247             :      439,   440,   441,   442,   443,   444,   445,   446,     0,   448,
   15248             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   15249             :      459,     0,   460,   461,     0,   463,     0,   464,   465,   466,
   15250             :      467,   468,   469,   470,     0,   471,   472,   473,     0,     0,
   15251             :      474,   475,   476,     0,     0,   477,   478,   479,     0,   481,
   15252             :        0,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   15253             :      492,   493,   494,   495,     0,   496,   497,   498,   499,   500,
   15254             :      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
   15255             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   15256             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   15257             :      529,   530,   531,   532,     0,   533,   534,     0,   536,   537,
   15258             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   15259             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
   15260             :        0,   557,   558,   559,   560,   561,     0,   563,   564,   565,
   15261             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   15262             :      575,   576,   577,   578,   579,   580,   581,   582,   583,     0,
   15263             :      584,   585,     0,     0,   586,     0,   588,   589,   590,   591,
   15264             :      592,   593,     0,   594,   595,   596,     0,     0,   597,   598,
   15265             :      599,   600,   601,     0,   602,   603,   604,   605,   606,   607,
   15266             :      608,   609,   610,     0,     0,   611,   612,   613,   614,   615,
   15267             :        0,     0,   616,   617,   618,   619,   620,   621,   622,     0,
   15268             :      623,     0,   625,   626,   627,   628,   629,     0,     0,   630,
   15269             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
   15270             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   15271             :      649,   650,   658,     0,     0,     0,     0,     0,     0,     0,
   15272             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   15273             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   15274             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   15275             :      248,   249,     0,   250,   251,   252,   253,     0,   255,   256,
   15276             :      257,   258,   259,     0,   261,   262,     0,   263,   264,   265,
   15277             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
   15278             :      274,     0,   275,   276,   277,   278,   279,     0,     0,     0,
   15279             :      281,   282,   283,   284,   285,   286,     0,   288,   289,   290,
   15280             :      291,     0,   292,   293,   294,   295,   296,   297,     0,     0,
   15281             :      299,   300,   301,     0,     0,     0,     0,     0,     0,     0,
   15282             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   15283             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   15284             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   15285             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   15286             :      336,   337,     0,   338,   339,   340,   341,   342,   343,   344,
   15287             :      345,   346,   347,     0,   348,     0,   349,   350,   351,   352,
   15288             :      353,     0,   354,     0,   355,   356,     0,     0,     0,   359,
   15289             :      360,   361,   362,     0,   363,   364,     0,   365,   366,   367,
   15290             :        0,   368,   369,   370,   371,  3128,     0,   374,   375,   376,
   15291             :      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
   15292             :        0,   386,     0,   388,   389,   390,   391,   392,   393,   394,
   15293             :        0,   395,     0,   396,     0,     0,   399,     0,   401,   402,
   15294             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   15295             :      413,   414,   415,   416,   417,   418,     0,     0,   419,   420,
   15296             :        0,   422,     0,     0,   424,   425,   426,     0,     0,   427,
   15297             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   15298             :      438,   439,   440,   441,   442,   443,   444,   445,   446,     0,
   15299             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   15300             :      458,   459,     0,   460,   461,     0,   463,     0,   464,   465,
   15301             :      466,   467,   468,   469,   470,     0,   471,   472,   473,     0,
   15302             :        0,   474,   475,   476,     0,     0,   477,   478,   479,     0,
   15303             :      481,     0,   483,   484,   485,   486,   487,   488,   489,   490,
   15304             :      491,   492,   493,   494,   495,     0,   496,   497,   498,   499,
   15305             :      500,   501,   502,   503,   504,     0,   505,   506,   507,   508,
   15306             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   15307             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   15308             :      528,   529,   530,   531,   532,     0,   533,   534,     0,   536,
   15309             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   15310             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   15311             :      556,     0,   557,   558,   559,   560,   561,     0,   563,   564,
   15312             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   15313             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   15314             :        0,   584,   585,     0,     0,   586,     0,   588,   589,   590,
   15315             :      591,   592,   593,     0,   594,   595,   596,     0,     0,   597,
   15316             :      598,   599,   600,   601,     0,   602,   603,   604,   605,   606,
   15317             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
   15318             :      615,     0,     0,   616,   617,   618,   619,   620,   621,   622,
   15319             :        0,   623,     0,   625,   626,   627,   628,   629,     0,     0,
   15320             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
   15321             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   15322             :      648,   649,   650,   658,     0,     0,     0,     0,     0,     0,
   15323             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15324             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   15325             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   15326             :      247,   248,   249,     0,   250,   251,   252,   253,     0,   255,
   15327             :      256,   257,   258,   259,     0,   261,   262,     0,   263,   264,
   15328             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   15329             :      273,   274,     0,   275,   276,   277,   278,   279,     0,     0,
   15330             :        0,   281,   282,   283,   284,   285,   286,     0,   288,   289,
   15331             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   15332             :        0,   299,   300,   301,     0,     0,     0,     0,     0,     0,
   15333             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   15334             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   15335             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   15336             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   15337             :      335,   336,   337,     0,   338,   339,   340,   341,   342,   343,
   15338             :      344,   345,   346,   347,     0,   348,     0,   349,   350,   351,
   15339             :      352,   353,     0,   354,     0,   355,   356,     0,     0,     0,
   15340             :      359,   360,   361,   362,     0,   363,   364,     0,   365,   366,
   15341             :      367,     0,   368,   369,   370,   371,  3186,     0,   374,   375,
   15342             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
   15343             :      385,     0,   386,     0,   388,   389,   390,   391,   392,   393,
   15344             :      394,     0,   395,     0,   396,     0,     0,   399,     0,   401,
   15345             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   15346             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
   15347             :      420,     0,   422,     0,     0,   424,   425,   426,     0,     0,
   15348             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   15349             :      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
   15350             :        0,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   15351             :      457,   458,   459,     0,   460,   461,     0,   463,     0,   464,
   15352             :      465,   466,   467,   468,   469,   470,     0,   471,   472,   473,
   15353             :        0,     0,   474,   475,   476,     0,     0,   477,   478,   479,
   15354             :        0,   481,     0,   483,   484,   485,   486,   487,   488,   489,
   15355             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
   15356             :      499,   500,   501,   502,   503,   504,     0,   505,   506,   507,
   15357             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   15358             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   15359             :      527,   528,   529,   530,   531,   532,     0,   533,   534,     0,
   15360             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   15361             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   15362             :      555,   556,     0,   557,   558,   559,   560,   561,     0,   563,
   15363             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   15364             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   15365             :      583,     0,   584,   585,     0,     0,   586,     0,   588,   589,
   15366             :      590,   591,   592,   593,     0,   594,   595,   596,     0,     0,
   15367             :      597,   598,   599,   600,   601,     0,   602,   603,   604,   605,
   15368             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
   15369             :      614,   615,     0,     0,   616,   617,   618,   619,   620,   621,
   15370             :      622,     0,   623,     0,   625,   626,   627,   628,   629,     0,
   15371             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   15372             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   15373             :      647,   648,   649,   650,   658,     0,     0,     0,     0,     0,
   15374             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15375             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   15376             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   15377             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
   15378             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
   15379             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   15380             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
   15381             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
   15382             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   15383             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
   15384             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
   15385             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   15386             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   15387             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   15388             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
   15389             :      343,   344,   345,   346,   347,     0,   348,     0,   349,   350,
   15390             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
   15391             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
   15392             :      366,   367,     0,   368,   369,   370,   371,  3577,     0,   374,
   15393             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
   15394             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
   15395             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
   15396             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   15397             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
   15398             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
   15399             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   15400             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   15401             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
   15402             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
   15403             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
   15404             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
   15405             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
   15406             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
   15407             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
   15408             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   15409             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   15410             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   15411             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   15412             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   15413             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
   15414             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   15415             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   15416             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
   15417             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
   15418             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
   15419             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
   15420             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
   15421             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
   15422             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   15423             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   15424             :      646,   647,   648,   649,   650,   658,     0,     0,     0,     0,
   15425             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15426             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   15427             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   15428             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   15429             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
   15430             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   842,
   15431             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
   15432             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
   15433             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   15434             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
   15435             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   15436             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   15437             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   15438             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   15439             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
   15440             :      342,   343,   344,   345,   346,   347,     0,   348,     0,   349,
   15441             :      350,   351,   352,   353,     0,   354,     0,   355,   356,     0,
   15442             :        0,     0,   359,   360,   361,   362,     0,   363,   364,     0,
   15443             :      365,   366,   367,     0,   368,   369,   370,   371,   372,     0,
   15444             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
   15445             :      383,   384,   385,     0,   386,     0,   388,   389,   390,   391,
   15446             :      392,   393,   394,     0,   395,     0,   396,     0,     0,   399,
   15447             :        0,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   15448             :      410,   411,   412,   413,   414,   415,   416,   417,   418,     0,
   15449             :        0,   419,   420,     0,   422,     0,     0,   424,   425,   426,
   15450             :        0,     0,   427,   428,   429,   430,   431,   432,   433,   434,
   15451             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   15452             :      845,   446,     0,   448,   449,   450,   451,   452,   453,   454,
   15453             :      455,   456,   457,   458,   459,     0,   460,   461,     0,   463,
   15454             :        0,   464,   465,   466,   467,   468,   469,   470,     0,   471,
   15455             :      472,   473,     0,     0,   474,   475,   476,     0,     0,   477,
   15456             :      478,   479,     0,   481,     0,   483,   484,   485,   486,   487,
   15457             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
   15458             :      497,   498,   499,   500,   501,   502,   503,   504,     0,   505,
   15459             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   15460             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   15461             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   15462             :      534,     0,   846,   537,   538,   539,   540,   541,   542,   543,
   15463             :      544,   545,   847,   547,   548,   549,   550,   551,     0,   552,
   15464             :      553,   554,   555,  2820,     0,   557,   558,   559,   560,   561,
   15465             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   15466             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   15467             :      581,   582,   583,     0,   584,   585,     0,     0,   586,     0,
   15468             :      588,   589,   590,   591,   592,   593,     0,   594,   849,   596,
   15469             :        0,     0,  2821,   598,   599,   600,   601,     0,   602,   603,
   15470             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
   15471             :      612,   613,   614,   615,     0,     0,   616,   617,   618,   619,
   15472             :      620,   621,   622,     0,   623,     0,   625,   626,   627,   628,
   15473             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   15474             :      635,   851,   637,   638,   639,   640,   641,   642,   643,   644,
   15475             :      645,   646,   647,   648,   649,   650,   658,     0,     0,     0,
   15476             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15477             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   15478             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
   15479             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   15480             :      253,     0,   255,   256,   257,   258,   259,     0,   261,   262,
   15481             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   15482             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   15483             :      279,     0,     0,     0,   281,   282,   283,   284,   285,   286,
   15484             :        0,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   15485             :      296,   297,     0,     0,   299,   300,   301,     0,     0,     0,
   15486             :        0,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   15487             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
   15488             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   15489             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   15490             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
   15491             :      341,   342,   343,   344,   345,   346,   347,     0,   348,     0,
   15492             :      349,   350,   351,   352,   353,     0,   354,     0,   355,   356,
   15493             :        0,     0,     0,   359,   360,   361,   362,     0,   363,   364,
   15494             :        0,   365,   366,   367,     0,   368,   369,   370,   371,  3635,
   15495             :        0,   374,   375,   376,   377,     0,   378,   379,   380,   381,
   15496             :      382,   383,   384,   385,     0,   386,     0,   388,   389,   390,
   15497             :      391,   392,   393,   394,     0,   395,     0,   396,     0,     0,
   15498             :      399,     0,   401,   402,   403,   404,   405,   406,   407,   408,
   15499             :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
   15500             :        0,     0,   419,   420,     0,   422,     0,     0,   424,   425,
   15501             :      426,     0,     0,   427,   428,   429,   430,   431,   432,   433,
   15502             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   15503             :      444,   445,   446,     0,   448,   449,   450,   451,   452,   453,
   15504             :      454,   455,   456,   457,   458,   459,     0,   460,   461,     0,
   15505             :      463,     0,   464,   465,   466,   467,   468,   469,   470,     0,
   15506             :      471,   472,   473,     0,     0,   474,   475,   476,     0,     0,
   15507             :      477,   478,   479,     0,   481,     0,   483,   484,   485,   486,
   15508             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
   15509             :      496,   497,   498,   499,   500,   501,   502,   503,   504,     0,
   15510             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   15511             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   15512             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   15513             :      533,   534,     0,   536,   537,   538,   539,   540,   541,   542,
   15514             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   15515             :      552,   553,   554,   555,   556,     0,   557,   558,   559,   560,
   15516             :      561,     0,   563,   564,   565,   566,     0,   567,   568,   569,
   15517             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   15518             :      580,   581,   582,   583,     0,   584,   585,     0,     0,   586,
   15519             :        0,   588,   589,   590,   591,   592,   593,     0,   594,   595,
   15520             :      596,     0,     0,   597,   598,   599,   600,   601,     0,   602,
   15521             :      603,   604,   605,   606,   607,   608,   609,   610,     0,     0,
   15522             :      611,   612,   613,   614,   615,     0,     0,   616,   617,   618,
   15523             :      619,   620,   621,   622,     0,   623,     0,   625,   626,   627,
   15524             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   15525             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   15526             :      644,   645,   646,   647,   648,   649,   650,   658,     0,     0,
   15527             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15528             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   15529             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
   15530             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   15531             :      252,   253,     0,   255,   256,   257,   258,   259,     0,   261,
   15532             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   15533             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   15534             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
   15535             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
   15536             :      295,   296,   297,     0,     0,   299,   300,   301,     0,     0,
   15537             :        0,     0,     0,     0,     0,   303,   304,   305,   306,   307,
   15538             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   15539             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   15540             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   15541             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
   15542             :      340,   341,   342,   343,   344,   345,   346,   347,     0,   348,
   15543             :        0,   349,   350,   351,   352,   353,     0,   354,     0,   355,
   15544             :      356,     0,     0,     0,   359,   360,   361,   362,     0,   363,
   15545             :      364,     0,   365,   366,   367,     0,   368,   369,   370,   371,
   15546             :     3658,     0,   374,   375,   376,   377,     0,   378,   379,   380,
   15547             :      381,   382,   383,   384,   385,     0,   386,     0,   388,   389,
   15548             :      390,   391,   392,   393,   394,     0,   395,     0,   396,     0,
   15549             :        0,   399,     0,   401,   402,   403,   404,   405,   406,   407,
   15550             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   15551             :      418,     0,     0,   419,   420,     0,   422,     0,     0,   424,
   15552             :      425,   426,     0,     0,   427,   428,   429,   430,   431,   432,
   15553             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   15554             :      443,   444,   445,   446,     0,   448,   449,   450,   451,   452,
   15555             :      453,   454,   455,   456,   457,   458,   459,     0,   460,   461,
   15556             :        0,   463,     0,   464,   465,   466,   467,   468,   469,   470,
   15557             :        0,   471,   472,   473,     0,     0,   474,   475,   476,     0,
   15558             :        0,   477,   478,   479,     0,   481,     0,   483,   484,   485,
   15559             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
   15560             :        0,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   15561             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   15562             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
   15563             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   15564             :        0,   533,   534,     0,   536,   537,   538,   539,   540,   541,
   15565             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   15566             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   559,
   15567             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
   15568             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   15569             :      579,   580,   581,   582,   583,     0,   584,   585,     0,     0,
   15570             :      586,     0,   588,   589,   590,   591,   592,   593,     0,   594,
   15571             :      595,   596,     0,     0,   597,   598,   599,   600,   601,     0,
   15572             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
   15573             :        0,   611,   612,   613,   614,   615,     0,     0,   616,   617,
   15574             :      618,   619,   620,   621,   622,     0,   623,     0,   625,   626,
   15575             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   15576             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   15577             :      643,   644,   645,   646,   647,   648,   649,   650,   658,     0,
   15578             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15579             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
   15580             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
   15581             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   15582             :      251,   252,   253,     0,   255,   256,   257,   258,   259,     0,
   15583             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   15584             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
   15585             :      277,   278,   279,     0,     0,     0,   281,   282,   283,   284,
   15586             :      285,   286,     0,   288,   289,   290,   291,     0,   292,   293,
   15587             :      294,   295,   296,   297,     0,     0,   299,   300,   301,     0,
   15588             :        0,     0,     0,     0,     0,     0,   303,   304,   305,   306,
   15589             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   15590             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   15591             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   15592             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
   15593             :      339,   340,   341,   342,   343,   344,   345,   346,   347,     0,
   15594             :      348,     0,   349,   350,   351,   352,   353,     0,   354,     0,
   15595             :      355,   356,     0,     0,     0,   359,   360,   361,   362,     0,
   15596             :      363,   364,     0,   365,   366,   367,     0,   368,   369,   370,
   15597             :      371,  3660,     0,   374,   375,   376,   377,     0,   378,   379,
   15598             :      380,   381,   382,   383,   384,   385,     0,   386,     0,   388,
   15599             :      389,   390,   391,   392,   393,   394,     0,   395,     0,   396,
   15600             :        0,     0,   399,     0,   401,   402,   403,   404,   405,   406,
   15601             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   15602             :      417,   418,     0,     0,   419,   420,     0,   422,     0,     0,
   15603             :      424,   425,   426,     0,     0,   427,   428,   429,   430,   431,
   15604             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   15605             :      442,   443,   444,   445,   446,     0,   448,   449,   450,   451,
   15606             :      452,   453,   454,   455,   456,   457,   458,   459,     0,   460,
   15607             :      461,     0,   463,     0,   464,   465,   466,   467,   468,   469,
   15608             :      470,     0,   471,   472,   473,     0,     0,   474,   475,   476,
   15609             :        0,     0,   477,   478,   479,     0,   481,     0,   483,   484,
   15610             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   15611             :      495,     0,   496,   497,   498,   499,   500,   501,   502,   503,
   15612             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
   15613             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
   15614             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   15615             :      532,     0,   533,   534,     0,   536,   537,   538,   539,   540,
   15616             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   15617             :      551,     0,   552,   553,   554,   555,   556,     0,   557,   558,
   15618             :      559,   560,   561,     0,   563,   564,   565,   566,     0,   567,
   15619             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   15620             :      578,   579,   580,   581,   582,   583,     0,   584,   585,     0,
   15621             :        0,   586,     0,   588,   589,   590,   591,   592,   593,     0,
   15622             :      594,   595,   596,     0,     0,   597,   598,   599,   600,   601,
   15623             :        0,   602,   603,   604,   605,   606,   607,   608,   609,   610,
   15624             :        0,     0,   611,   612,   613,   614,   615,     0,     0,   616,
   15625             :      617,   618,   619,   620,   621,   622,     0,   623,     0,   625,
   15626             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   15627             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
   15628             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   658,
   15629             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15630             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
   15631             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
   15632             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   15633             :      250,   251,   252,   253,     0,   255,   256,   257,   258,   259,
   15634             :        0,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   15635             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
   15636             :      276,   277,   278,   279,     0,     0,     0,   281,   282,   283,
   15637             :      284,   285,   286,     0,   288,   289,   290,   291,     0,   292,
   15638             :      293,   294,   295,   296,   297,     0,     0,   299,   300,   301,
   15639             :        0,     0,     0,     0,     0,     0,     0,   303,   304,   305,
   15640             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   15641             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   15642             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   15643             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
   15644             :      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
   15645             :        0,   348,     0,   349,   350,   351,   352,   353,     0,   354,
   15646             :        0,   355,   356,     0,     0,     0,   359,   360,   361,   362,
   15647             :        0,   363,   364,     0,   365,   366,   367,     0,   368,   369,
   15648             :      370,   371,  3810,     0,   374,   375,   376,   377,     0,   378,
   15649             :      379,   380,   381,   382,   383,   384,   385,     0,   386,     0,
   15650             :      388,   389,   390,   391,   392,   393,   394,     0,   395,     0,
   15651             :      396,     0,     0,   399,     0,   401,   402,   403,   404,   405,
   15652             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   15653             :      416,   417,   418,     0,     0,   419,   420,     0,   422,     0,
   15654             :        0,   424,   425,   426,     0,     0,   427,   428,   429,   430,
   15655             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   15656             :      441,   442,   443,   444,   445,   446,     0,   448,   449,   450,
   15657             :      451,   452,   453,   454,   455,   456,   457,   458,   459,     0,
   15658             :      460,   461,     0,   463,     0,   464,   465,   466,   467,   468,
   15659             :      469,   470,     0,   471,   472,   473,     0,     0,   474,   475,
   15660             :      476,     0,     0,   477,   478,   479,     0,   481,     0,   483,
   15661             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   15662             :      494,   495,     0,   496,   497,   498,   499,   500,   501,   502,
   15663             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
   15664             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   15665             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   15666             :      531,   532,     0,   533,   534,     0,   536,   537,   538,   539,
   15667             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
   15668             :      550,   551,     0,   552,   553,   554,   555,   556,     0,   557,
   15669             :      558,   559,   560,   561,     0,   563,   564,   565,   566,     0,
   15670             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   15671             :      577,   578,   579,   580,   581,   582,   583,     0,   584,   585,
   15672             :        0,     0,   586,     0,   588,   589,   590,   591,   592,   593,
   15673             :        0,   594,   595,   596,     0,     0,   597,   598,   599,   600,
   15674             :      601,     0,   602,   603,   604,   605,   606,   607,   608,   609,
   15675             :      610,     0,     0,   611,   612,   613,   614,   615,     0,     0,
   15676             :      616,   617,   618,   619,   620,   621,   622,     0,   623,     0,
   15677             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   15678             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
   15679             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   15680             :      658,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15681             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   15682             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   15683             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   15684             :        0,   250,   251,   252,   253,     0,   255,   256,   257,   258,
   15685             :      259,     0,   261,   262,     0,   263,   264,   265,   266,   267,
   15686             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
   15687             :      275,   276,   277,   278,   279,     0,     0,     0,   281,   282,
   15688             :      283,   284,   285,   286,     0,   288,   289,   290,   291,     0,
   15689             :      292,   293,   294,   295,   296,   297,     0,     0,   299,   300,
   15690             :      301,     0,     0,     0,     0,     0,     0,     0,   303,   304,
   15691             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   15692             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   15693             :      322,   323,     0,     0,   324,  3852,   326,   327,   328,     0,
   15694             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
   15695             :        0,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   15696             :      347,     0,   348,     0,   349,   350,   351,   352,   353,     0,
   15697             :      354,     0,   355,   356,     0,     0,     0,   359,   360,   361,
   15698             :      362,     0,   363,   364,     0,   365,   366,   367,     0,   368,
   15699             :      369,   370,   371,   372,     0,   374,   375,   376,   377,     0,
   15700             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
   15701             :        0,   388,   389,   390,   391,   392,   393,   394,     0,   395,
   15702             :        0,   396,     0,     0,   399,     0,   401,   402,   403,   404,
   15703             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   15704             :      415,   416,   417,   418,     0,     0,   419,   420,     0,   422,
   15705             :        0,     0,   424,   425,   426,     0,     0,   427,   428,   429,
   15706             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   15707             :      440,   441,   442,   443,   444,   445,   446,     0,   448,   449,
   15708             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   15709             :        0,   460,   461,     0,   463,     0,   464,   465,   466,   467,
   15710             :      468,   469,   470,     0,   471,   472,   473,     0,     0,   474,
   15711             :      475,   476,     0,     0,   477,   478,   479,     0,   481,     0,
   15712             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   15713             :      493,   494,   495,     0,   496,   497,   498,   499,   500,   501,
   15714             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
   15715             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   15716             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   15717             :      530,   531,   532,     0,   533,   534,     0,   536,   537,   538,
   15718             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
   15719             :      549,   550,   551,     0,   552,   553,   554,   555,   556,     0,
   15720             :      557,   558,   559,   560,   561,     0,   563,   564,   565,   566,
   15721             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   15722             :      576,   577,   578,   579,   580,   581,   582,   583,     0,   584,
   15723             :      585,     0,     0,   586,     0,   588,   589,   590,   591,   592,
   15724             :      593,     0,   594,   595,   596,     0,     0,   597,   598,   599,
   15725             :      600,   601,     0,   602,   603,   604,   605,   606,   607,   608,
   15726             :      609,   610,     0,     0,   611,   612,   613,   614,   615,     0,
   15727             :        0,   616,   617,   618,   619,   620,   621,   622,     0,   623,
   15728             :        0,   625,   626,   627,   628,   629,     0,     0,   630,     0,
   15729             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   15730             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   15731             :      650,   658,     0,     0,     0,     0,     0,     0,     0,     0,
   15732             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   15733             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   15734             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   15735             :      249,     0,   250,   251,   252,   253,     0,   255,   256,   257,
   15736             :      258,   259,     0,   261,   262,     0,   263,   264,   265,   266,
   15737             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
   15738             :        0,   275,   276,   277,   278,   279,     0,     0,     0,   281,
   15739             :      282,   283,   284,   285,   286,     0,   288,   289,   290,   291,
   15740             :        0,   292,   293,   294,   295,   296,   297,     0,     0,   299,
   15741             :      300,   301,     0,     0,     0,     0,     0,     0,     0,   303,
   15742             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   15743             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   15744             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   15745             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   15746             :      337,     0,   338,   339,   340,   341,   342,   343,   344,   345,
   15747             :      346,   347,     0,   348,     0,   349,   350,   351,   352,   353,
   15748             :        0,   354,     0,   355,   356,     0,     0,     0,   359,   360,
   15749             :      361,   362,     0,   363,   364,     0,   365,   366,   367,     0,
   15750             :      368,   369,   370,   371,  5122,     0,   374,   375,   376,   377,
   15751             :        0,   378,   379,   380,   381,   382,   383,   384,   385,     0,
   15752             :      386,     0,   388,   389,   390,   391,   392,   393,   394,     0,
   15753             :      395,     0,   396,     0,     0,   399,     0,   401,   402,   403,
   15754             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   15755             :      414,   415,   416,   417,   418,     0,     0,   419,   420,     0,
   15756             :      422,     0,     0,   424,   425,   426,     0,     0,   427,   428,
   15757             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   15758             :      439,   440,   441,   442,   443,   444,   445,   446,     0,   448,
   15759             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   15760             :      459,     0,   460,   461,     0,   463,     0,   464,   465,   466,
   15761             :      467,   468,   469,   470,     0,   471,   472,   473,     0,     0,
   15762             :      474,   475,   476,     0,     0,   477,   478,   479,     0,   481,
   15763             :        0,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   15764             :      492,   493,   494,   495,     0,   496,   497,   498,   499,   500,
   15765             :      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
   15766             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   15767             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   15768             :      529,   530,   531,   532,     0,   533,   534,     0,   536,   537,
   15769             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   15770             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
   15771             :        0,   557,   558,   559,   560,   561,     0,   563,   564,   565,
   15772             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   15773             :      575,   576,   577,   578,   579,   580,   581,   582,   583,     0,
   15774             :      584,   585,     0,     0,   586,     0,   588,   589,   590,   591,
   15775             :      592,   593,     0,   594,   595,   596,     0,     0,   597,   598,
   15776             :      599,   600,   601,     0,   602,   603,   604,   605,   606,   607,
   15777             :      608,   609,   610,     0,     0,   611,   612,   613,   614,   615,
   15778             :        0,     0,   616,   617,   618,   619,   620,   621,   622,     0,
   15779             :      623,     0,   625,   626,   627,   628,   629,     0,     0,   630,
   15780             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
   15781             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   15782             :      649,   650,   658,     0,     0,     0,     0,     0,     0,     0,
   15783             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   15784             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   15785             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   15786             :      248,   249,     0,   250,   251,   252,   253,     0,   255,   256,
   15787             :      257,   258,   259,     0,   261,   262,     0,   263,   264,   265,
   15788             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
   15789             :      274,     0,   275,   276,   277,   278,   279,     0,     0,     0,
   15790             :      281,   282,   283,   284,   285,   286,     0,   288,   289,   290,
   15791             :      291,     0,   292,   293,   294,   295,   296,   297,     0,     0,
   15792             :      299,   300,   301,     0,     0,     0,     0,     0,     0,     0,
   15793             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   15794             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   15795             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   15796             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   15797             :      336,   337,     0,   338,   339,   340,   341,   342,   343,   344,
   15798             :      345,   346,   347,     0,   348,     0,   349,   350,   351,   352,
   15799             :      353,     0,   354,     0,   355,   356,     0,     0,     0,   359,
   15800             :      360,   361,   362,     0,   363,   364,     0,   365,   366,   367,
   15801             :        0,   368,   369,   370,   371,   372,     0,   374,   375,   376,
   15802             :      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
   15803             :        0,   386,     0,   388,   389,   390,   391,   392,   393,   394,
   15804             :        0,   395,     0,   396,     0,     0,   399,     0,   401,   402,
   15805             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   15806             :      413,   414,   415,   416,   417,   418,     0,     0,   419,   420,
   15807             :        0,   422,     0,     0,   424,   425,   426,     0,     0,   427,
   15808             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   15809             :      438,   439,   440,   441,   442,   443,   444,   445,   446,     0,
   15810             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   15811             :      458,   459,     0,   460,   461,     0,   463,     0,   464,   465,
   15812             :      466,   467,   468,   469,   470,     0,   471,   472,   473,     0,
   15813             :        0,   474,   475,   476,     0,     0,   477,   478,   479,     0,
   15814             :      481,     0,   483,   484,   485,   486,   487,   488,   489,   490,
   15815             :      491,   492,   493,   494,  5651,     0,   496,   497,   498,   499,
   15816             :      500,   501,   502,   503,   504,     0,   505,   506,   507,   508,
   15817             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   15818             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   15819             :      528,   529,   530,   531,   532,     0,   533,   534,     0,   536,
   15820             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   15821             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   15822             :      556,     0,   557,   558,   559,   560,   561,     0,   563,   564,
   15823             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   15824             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   15825             :        0,   584,   585,     0,     0,   586,     0,   588,   589,   590,
   15826             :      591,   592,   593,     0,   594,   595,   596,     0,     0,   597,
   15827             :      598,   599,   600,   601,     0,   602,   603,   604,   605,   606,
   15828             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
   15829             :      615,     0,     0,   616,   617,   618,   619,   620,   621,   622,
   15830             :        0,   623,     0,   625,   626,   627,   628,   629,     0,     0,
   15831             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
   15832             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   15833             :      648,   649,   650,   658,     0,     0,     0,     0,     0,     0,
   15834             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15835             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   15836             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   15837             :      247,   248,   249,     0,   250,   251,   252,   253,     0,   255,
   15838             :      256,   257,   258,   259,     0,   261,   262,     0,   263,   264,
   15839             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   15840             :      273,   274,     0,   275,   276,   277,   278,   279,     0,     0,
   15841             :        0,   281,   282,   283,   284,   285,   286,     0,   288,   289,
   15842             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   15843             :        0,   299,   300,   301,     0,     0,     0,     0,     0,     0,
   15844             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   15845             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   15846             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   15847             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   15848             :      335,   336,   337,     0,   338,   339,   340,   341,   342,   343,
   15849             :      344,   345,   346,   347,     0,   348,     0,   349,   350,   351,
   15850             :      352,   353,     0,   354,     0,   355,   356,     0,     0,     0,
   15851             :      359,   360,   361,   362,     0,   363,   364,     0,   365,   366,
   15852             :      367,     0,   368,   369,   370,   371,   372,     0,   374,   375,
   15853             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
   15854             :      385,     0,   386,     0,   388,   389,   390,   391,   392,   393,
   15855             :      394,     0,   395,     0,   396,     0,     0,   399,     0,   401,
   15856             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   15857             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
   15858             :      420,     0,   422,     0,     0,   424,   425,   426,     0,     0,
   15859             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   15860             :      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
   15861             :        0,   448,  6367,   450,   451,   452,   453,   454,   455,   456,
   15862             :      457,   458,   459,     0,   460,   461,     0,   463,     0,   464,
   15863             :      465,   466,   467,   468,   469,   470,     0,   471,   472,   473,
   15864             :        0,     0,   474,   475,   476,     0,     0,   477,   478,   479,
   15865             :        0,   481,     0,   483,   484,   485,   486,   487,   488,   489,
   15866             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
   15867             :      499,   500,   501,   502,   503,   504,     0,   505,   506,   507,
   15868             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   15869             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   15870             :      527,   528,   529,   530,   531,   532,     0,   533,   534,     0,
   15871             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   15872             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   15873             :      555,   556,     0,   557,   558,   559,   560,   561,     0,   563,
   15874             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   15875             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   15876             :      583,     0,   584,   585,     0,     0,   586,     0,   588,   589,
   15877             :      590,   591,   592,   593,     0,   594,   595,   596,     0,     0,
   15878             :      597,   598,   599,   600,   601,     0,   602,   603,   604,   605,
   15879             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
   15880             :      614,   615,     0,     0,   616,   617,   618,   619,   620,   621,
   15881             :      622,     0,   623,     0,   625,   626,   627,   628,   629,     0,
   15882             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   15883             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   15884             :      647,   648,   649,   650,   658,     0,     0,     0,     0,     0,
   15885             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15886             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   15887             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   15888             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
   15889             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
   15890             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   15891             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
   15892             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
   15893             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   15894             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
   15895             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
   15896             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   15897             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   15898             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   15899             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
   15900             :      343,   344,   345,   346,   347,     0,   348,     0,   349,   350,
   15901             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
   15902             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
   15903             :        0,   367,     0,   368,   369,   370,   371,   372,     0,   374,
   15904             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
   15905             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
   15906             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
   15907             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   15908             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
   15909             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
   15910             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   15911             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   15912             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
   15913             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
   15914             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
   15915             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
   15916             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
   15917             :      489,   490,     0,   492,   493,   494,   495,     0,   496,   497,
   15918             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
   15919             :      507,   508,   509,   510,   511,   512,   513,     0,   515,   516,
   15920             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   15921             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   15922             :        0,   536,   537,   538,   539,   540,   541,     0,   543,   544,
   15923             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   15924             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
   15925             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   15926             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   15927             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
   15928             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
   15929             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
   15930             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
   15931             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
   15932             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
   15933             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   15934             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   15935             :      646,   647,   648,   649,   650,   879,     0,     0,     0,     0,
   15936             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15937             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   15938             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   15939             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   15940             :      254,   255,   256,   257,     0,   880,   260,   881,   882,     0,
   15941             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   15942             :      271,   883,   884,   274,     0,   275,   276,   277,   278,     0,
   15943             :        0,   280,     0,   281,   282,   283,   284,   285,   286,   287,
   15944             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   15945             :      297,     0,   298,   299,   300,   301,     0,     0,     0,   302,
   15946             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   885,
   15947             :      886,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   15948             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   15949             :      325,   887,   327,   328,     0,   329,   330,   331,   332,     0,
   15950             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
   15951             :        0,   343,   344,   345,   346,     0,     0,   348,     0,   349,
   15952             :      350,   351,   888,   353,     0,   354,     0,   355,   356,   357,
   15953             :        0,   358,   359,   360,   361,   362,     0,   363,     0,     0,
   15954             :        0,   366,   367,     0,   368,   369,   370,   371,   372,   373,
   15955             :      374,   375,   376,   377,  2731,   378,   379,   380,   381,   382,
   15956             :      383,   384,   385,     0,   386,   387,  2732,   389,   390,   391,
   15957             :      392,   889,   890,     0,   891,     0,   396,   397,   398,   399,
   15958             :      400,   892,     0,     0,     0,     0,     0,     0,     0,     0,
   15959             :        0,     0,   412,   413,   414,   415,   416,   417,   418,     0,
   15960             :        0,   419,     0,   421,   422,   423,     0,   424,   425,   426,
   15961             :        0,     0,   427,   428,   429,   430,   431,   432,   433,   434,
   15962             :      435,   436,     0,   438,   439,   440,   441,   442,   443,   444,
   15963             :      445,   893,   447,   894,   449,   450,   451,   452,   453,   454,
   15964             :      455,   456,     0,     0,   459,     0,   460,   461,   462,   463,
   15965             :        0,     0,   465,   895,   467,   468,   469,   470,     0,   471,
   15966             :      472,   473,     0,     0,   474,   475,   476,     0,     0,   477,
   15967             :      478,  2734,   480,   481,   482,     0,   484,   485,   486,   487,
   15968             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
   15969             :      497,   498,     0,   500,     0,   502,   503,   504,     0,   505,
   15970             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   15971             :      896,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   15972             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   15973             :      534,   535,   536,   537,   538,   539,   540,     0,   542,   543,
   15974             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   15975             :      553,   554,   555,   556,     0,   557,   558,  2735,   560,   561,
   15976             :      562,   563,   564,   898,   566,     0,   567,   568,   569,   570,
   15977             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   15978             :      581,     0,   583,     0,   584,   585,     0,     0,   586,   587,
   15979             :      588,   589,   590,   591,   592,   593,     0,   594,   899,   900,
   15980             :        0,     0,   597,   598,     0,   600,     0,     0,   602,   603,
   15981             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
   15982             :      612,   613,   614,   615,     0,     0,   616,   617,   618,   619,
   15983             :      620,     0,   901,  2736,   623,   624,   625,   626,   627,   628,
   15984             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   15985             :      635,   636,   879,     0,     0,     0,     0,     0,     0,     0,
   15986             :        0,     0,     0,   648,   649,   650,     0,     0,     0,   235,
   15987             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   15988             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   15989             :      248,   249,     0,   250,   251,   252,   253,   254,   255,   256,
   15990             :      257,     0,   880,   260,   881,   882,     0,   263,   264,   265,
   15991             :      266,   267,   268,   269,     0,     0,   270,   271,   883,   884,
   15992             :      274,     0,   275,   276,   277,   278,     0,     0,   280,     0,
   15993             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   15994             :      291,     0,   292,   293,   294,   295,   296,   297,     0,   298,
   15995             :      299,   300,   301,     0,     0,     0,   302,     0,     0,     0,
   15996             :      303,   304,   305,   306,   307,   308,   885,   886,   311,     0,
   15997             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   15998             :      320,   321,   322,   323,     0,     0,   324,   325,   887,   327,
   15999             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   16000             :      336,   337,     0,   338,   339,   340,   341,     0,   343,   344,
   16001             :      345,   346,     0,     0,   348,     0,   349,   350,   351,   888,
   16002             :      353,     0,   354,     0,   355,   356,   357,     0,   358,   359,
   16003             :      360,   361,   362,     0,   363,     0,     0,     0,   366,   367,
   16004             :        0,   368,   369,   370,   371,   372,   373,   374,   375,   376,
   16005             :      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
   16006             :        0,   386,   387,     0,   389,   390,   391,   392,   889,   890,
   16007             :        0,   891,     0,   396,   397,   398,   399,   400,   892,     0,
   16008             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   412,
   16009             :      413,   414,   415,   416,   417,   418,     0,     0,   419,     0,
   16010             :      421,   422,   423,     0,   424,   425,   426,     0,     0,   427,
   16011             :      428,   429,   430,   431,   432,   433,   434,   435,   436,     0,
   16012             :      438,   439,   440,   441,   442,   443,   444,   445,   893,   447,
   16013             :      894,   449,   450,   451,   452,   453,   454,   455,   456,     0,
   16014             :        0,   459,     0,   460,   461,   462,   463,  2815,     0,   465,
   16015             :      895,   467,   468,   469,   470,     0,   471,   472,   473,     0,
   16016             :        0,   474,   475,   476,     0,     0,   477,   478,     0,   480,
   16017             :      481,   482,     0,   484,   485,   486,   487,   488,   489,   490,
   16018             :      491,   492,   493,   494,   495,     0,   496,   497,   498,     0,
   16019             :      500,     0,   502,   503,   504,     0,   505,   506,   507,   508,
   16020             :      509,   510,   511,   512,   513,   514,   515,   896,   517,   518,
   16021             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   16022             :      528,   529,   530,   531,   532,     0,   533,   534,   535,   536,
   16023             :      537,   538,   539,   540,     0,   542,   543,   544,   545,   546,
   16024             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   16025             :      556,     0,   557,   558,  2735,   560,   561,   562,   563,   564,
   16026             :      898,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   16027             :      574,   575,   576,   577,   578,   579,   580,   581,     0,   583,
   16028             :        0,   584,   585,     0,  4635,   586,   587,   588,   589,   590,
   16029             :      591,   592,   593,     0,   594,   899,   900,     0,     0,   597,
   16030             :      598,     0,   600,     0,     0,   602,   603,   604,   605,   606,
   16031             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
   16032             :      615,     0,     0,   616,   617,   618,   619,   620,     0,   901,
   16033             :        0,   623,   624,   625,   626,   627,   628,   629,     0,     0,
   16034             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   879,
   16035             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   16036             :      648,   649,   650,     0,     0,     0,   235,   236,   237,   238,
   16037             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
   16038             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   16039             :      250,   251,   252,   253,   254,   255,   256,   257,     0,   880,
   16040             :      260,   881,   882,     0,   263,   264,   265,   266,   267,   268,
   16041             :      269,     0,     0,   270,   271,   883,   884,   274,     0,   275,
   16042             :      276,   277,   278,     0,     0,   280,     0,   281,   282,   283,
   16043             :      284,   285,   286,   287,   288,   289,   290,   291,     0,   292,
   16044             :      293,   294,   295,   296,   297,     0,   298,   299,   300,   301,
   16045             :        0,     0,     0,   302,     0,     0,     0,   303,   304,   305,
   16046             :      306,   307,   308,   885,   886,   311,     0,   312,     0,   313,
   16047             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   16048             :      323,     0,     0,   324,   325,   887,   327,   328,     0,   329,
   16049             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
   16050             :      338,   339,   340,   341,     0,   343,   344,   345,   346,     0,
   16051             :        0,   348,     0,   349,   350,   351,   888,   353,     0,   354,
   16052             :        0,   355,   356,   357,     0,   358,   359,   360,   361,   362,
   16053             :        0,   363,     0,     0,     0,   366,   367,     0,   368,   369,
   16054             :      370,   371,   372,   373,   374,   375,   376,   377,     0,   378,
   16055             :      379,   380,   381,   382,   383,   384,   385,     0,   386,   387,
   16056             :        0,   389,   390,   391,   392,   889,   890,     0,   891,     0,
   16057             :      396,   397,   398,   399,   400,   892,     0,     0,     0,     0,
   16058             :        0,     0,     0,     0,     0,     0,   412,   413,   414,   415,
   16059             :      416,   417,   418,     0,     0,   419,     0,   421,   422,   423,
   16060             :        0,   424,   425,   426,     0,     0,   427,   428,   429,   430,
   16061             :      431,   432,   433,   434,   435,   436,     0,   438,   439,   440,
   16062             :      441,   442,   443,   444,   445,   893,   447,   894,   449,   450,
   16063             :      451,   452,   453,   454,   455,   456,  2896,     0,   459,     0,
   16064             :      460,   461,   462,   463,     0,     0,   465,   895,   467,   468,
   16065             :      469,   470,     0,   471,   472,   473,     0,     0,   474,   475,
   16066             :      476,     0,     0,   477,   478,     0,   480,   481,   482,     0,
   16067             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   16068             :      494,   495,     0,   496,   497,   498,     0,   500,     0,   502,
   16069             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
   16070             :      512,   513,   514,   515,   896,   517,   518,   519,     0,   520,
   16071             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   16072             :      531,   532,     0,   533,   534,   535,   536,   537,   538,   539,
   16073             :      540,     0,   542,   543,   544,   545,   546,   547,   548,   549,
   16074             :      550,   551,     0,   552,   553,   554,   555,   556,     0,   557,
   16075             :      558,   897,   560,   561,   562,   563,   564,   898,   566,     0,
   16076             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   16077             :      577,   578,   579,   580,   581,     0,   583,     0,   584,   585,
   16078             :        0,     0,   586,   587,   588,   589,   590,   591,   592,   593,
   16079             :        0,   594,   899,   900,     0,     0,   597,   598,     0,   600,
   16080             :        0,     0,   602,   603,   604,   605,   606,   607,   608,   609,
   16081             :      610,     0,     0,   611,   612,   613,   614,   615,     0,     0,
   16082             :      616,   617,   618,   619,   620,     0,   901,     0,   623,   624,
   16083             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   16084             :      631,   632,   633,   634,   635,   636,   879,     0,     0,     0,
   16085             :        0,     0,     0,     0,     0,     0,     0,   648,   649,   650,
   16086             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   16087             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
   16088             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   16089             :      253,   254,   255,   256,   257,     0,   880,   260,   881,   882,
   16090             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   16091             :      270,   271,   883,   884,   274,     0,   275,   276,   277,   278,
   16092             :        0,     0,   280,     0,   281,   282,   283,   284,   285,   286,
   16093             :      287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   16094             :      296,   297,     0,   298,   299,   300,   301,     0,     0,     0,
   16095             :      302,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   16096             :      885,   886,   311,     0,   312,     0,   313,   314,   315,   316,
   16097             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   16098             :      324,   325,   887,   327,   328,     0,   329,   330,   331,   332,
   16099             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
   16100             :      341,     0,   343,   344,   345,   346,     0,     0,   348,     0,
   16101             :      349,   350,   351,   888,   353,     0,   354,     0,   355,   356,
   16102             :      357,     0,   358,   359,   360,   361,   362,     0,   363,     0,
   16103             :        0,     0,   366,   367,     0,   368,   369,   370,   371,   372,
   16104             :      373,   374,   375,   376,   377,     0,   378,   379,   380,   381,
   16105             :      382,   383,   384,   385,     0,   386,   387,     0,   389,   390,
   16106             :      391,   392,   889,   890,     0,   891,     0,   396,   397,   398,
   16107             :      399,   400,   892,     0,     0,     0,     0,     0,     0,     0,
   16108             :        0,     0,     0,   412,   413,   414,   415,   416,   417,   418,
   16109             :        0,     0,   419,     0,   421,   422,   423,     0,   424,   425,
   16110             :      426,     0,     0,   427,   428,   429,   430,   431,   432,   433,
   16111             :      434,   435,   436,     0,   438,   439,   440,   441,   442,   443,
   16112             :      444,   445,   893,   447,   894,   449,   450,   451,   452,   453,
   16113             :      454,   455,   456,  4430,     0,   459,     0,   460,   461,   462,
   16114             :      463,     0,     0,   465,   895,   467,   468,   469,   470,     0,
   16115             :      471,   472,   473,     0,     0,   474,   475,   476,     0,     0,
   16116             :      477,   478,     0,   480,   481,   482,     0,   484,   485,   486,
   16117             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
   16118             :      496,   497,   498,     0,   500,     0,   502,   503,   504,     0,
   16119             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   16120             :      515,   896,   517,   518,   519,     0,   520,   521,   522,   523,
   16121             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   16122             :      533,   534,   535,   536,   537,   538,   539,   540,     0,   542,
   16123             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   16124             :      552,   553,   554,   555,   556,     0,   557,   558,   897,   560,
   16125             :      561,   562,   563,   564,   898,   566,     0,   567,   568,   569,
   16126             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   16127             :      580,   581,     0,   583,     0,   584,   585,     0,     0,   586,
   16128             :      587,   588,   589,   590,   591,   592,   593,     0,   594,   899,
   16129             :      900,     0,     0,   597,   598,     0,   600,     0,     0,   602,
   16130             :      603,   604,   605,   606,   607,   608,   609,   610,     0,     0,
   16131             :      611,   612,   613,   614,   615,     0,     0,   616,   617,   618,
   16132             :      619,   620,     0,   901,     0,   623,   624,   625,   626,   627,
   16133             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   16134             :      634,   635,   636,   879,     0,     0,     0,     0,     0,     0,
   16135             :        0,     0,     0,     0,   648,   649,   650,     0,     0,     0,
   16136             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   16137             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   16138             :      247,   248,   249,     0,   250,   251,   252,   253,   254,   255,
   16139             :      256,   257,     0,   880,   260,   881,   882,     0,   263,   264,
   16140             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   883,
   16141             :      884,   274,     0,   275,   276,   277,   278,     0,     0,   280,
   16142             :        0,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   16143             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   16144             :      298,   299,   300,   301,     0,     0,     0,   302,     0,     0,
   16145             :        0,   303,   304,   305,   306,   307,   308,   885,   886,   311,
   16146             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   16147             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   887,
   16148             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   16149             :      335,   336,   337,     0,   338,   339,   340,   341,     0,   343,
   16150             :      344,   345,   346,     0,     0,   348,     0,   349,   350,   351,
   16151             :      888,   353,  6047,   354,     0,   355,   356,   357,     0,   358,
   16152             :      359,   360,   361,   362,     0,   363,     0,     0,     0,   366,
   16153             :      367,     0,   368,   369,   370,   371,   372,   373,   374,   375,
   16154             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
   16155             :      385,     0,   386,   387,     0,   389,   390,   391,   392,   889,
   16156             :      890,     0,   891,     0,   396,   397,   398,   399,   400,   892,
   16157             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   16158             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
   16159             :        0,   421,   422,   423,     0,   424,   425,   426,     0,     0,
   16160             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   16161             :        0,   438,   439,   440,   441,   442,   443,   444,   445,   893,
   16162             :      447,   894,   449,   450,   451,   452,   453,   454,   455,   456,
   16163             :        0,     0,   459,     0,   460,   461,   462,   463,     0,     0,
   16164             :      465,   895,   467,   468,   469,   470,     0,   471,   472,   473,
   16165             :        0,     0,   474,   475,   476,     0,     0,   477,   478,     0,
   16166             :      480,   481,   482,     0,   484,   485,   486,   487,   488,   489,
   16167             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
   16168             :        0,   500,     0,   502,   503,   504,     0,   505,   506,   507,
   16169             :      508,   509,   510,   511,   512,   513,   514,   515,   896,   517,
   16170             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   16171             :      527,   528,   529,   530,   531,   532,     0,   533,   534,   535,
   16172             :      536,   537,   538,   539,   540,     0,   542,   543,   544,   545,
   16173             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   16174             :      555,   556,     0,   557,   558,   897,   560,   561,   562,   563,
   16175             :      564,   898,   566,     0,   567,   568,   569,   570,   571,   572,
   16176             :      573,   574,   575,   576,   577,   578,   579,   580,   581,     0,
   16177             :      583,     0,   584,   585,     0,     0,   586,   587,   588,   589,
   16178             :      590,   591,   592,   593,     0,   594,   899,   900,     0,     0,
   16179             :      597,   598,     0,   600,     0,     0,   602,   603,   604,   605,
   16180             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
   16181             :      614,   615,     0,     0,   616,   617,   618,   619,   620,     0,
   16182             :      901,     0,   623,   624,   625,   626,   627,   628,   629,     0,
   16183             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   16184             :      879,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   16185             :        0,   648,   649,   650,     0,     0,     0,   235,   236,   237,
   16186             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   16187             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   16188             :        0,   250,   251,   252,   253,   254,   255,   256,   257,     0,
   16189             :      880,   260,   881,   882,     0,   263,   264,   265,   266,   267,
   16190             :      268,   269,     0,     0,   270,   271,   883,   884,   274,     0,
   16191             :      275,   276,   277,   278,     0,     0,   280,     0,   281,   282,
   16192             :      283,   284,   285,   286,   287,   288,   289,   290,   291,     0,
   16193             :      292,   293,   294,   295,   296,   297,     0,   298,   299,   300,
   16194             :      301,     0,     0,     0,   302,     0,     0,     0,   303,   304,
   16195             :      305,   306,   307,   308,   885,   886,   311,     0,   312,     0,
   16196             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   16197             :      322,   323,     0,     0,   324,   325,   887,   327,   328,     0,
   16198             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
   16199             :        0,   338,   339,   340,   341,     0,   343,   344,   345,   346,
   16200             :        0,     0,   348,     0,   349,   350,   351,   888,   353,  6411,
   16201             :      354,     0,   355,   356,   357,     0,   358,   359,   360,   361,
   16202             :      362,     0,   363,     0,     0,     0,   366,   367,     0,   368,
   16203             :      369,   370,   371,   372,   373,   374,   375,   376,   377,     0,
   16204             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
   16205             :      387,     0,   389,   390,   391,   392,   889,   890,     0,   891,
   16206             :        0,   396,   397,   398,   399,   400,   892,     0,     0,     0,
   16207             :        0,     0,     0,     0,     0,     0,     0,   412,   413,   414,
   16208             :      415,   416,   417,   418,     0,     0,   419,     0,   421,   422,
   16209             :      423,     0,   424,   425,   426,     0,     0,   427,   428,   429,
   16210             :      430,   431,   432,   433,   434,   435,   436,     0,   438,   439,
   16211             :      440,   441,   442,   443,   444,   445,   893,   447,   894,   449,
   16212             :      450,   451,   452,   453,   454,   455,   456,     0,     0,   459,
   16213             :        0,   460,   461,   462,   463,     0,     0,   465,   895,   467,
   16214             :      468,   469,   470,     0,   471,   472,   473,     0,     0,   474,
   16215             :      475,   476,     0,     0,   477,   478,     0,   480,   481,   482,
   16216             :        0,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   16217             :      493,   494,   495,     0,   496,   497,   498,     0,   500,     0,
   16218             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
   16219             :      511,   512,   513,   514,   515,   896,   517,   518,   519,     0,
   16220             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   16221             :      530,   531,   532,     0,   533,   534,   535,   536,   537,   538,
   16222             :      539,   540,     0,   542,   543,   544,   545,   546,   547,   548,
   16223             :      549,   550,   551,     0,   552,   553,   554,   555,   556,     0,
   16224             :      557,   558,   897,   560,   561,   562,   563,   564,   898,   566,
   16225             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   16226             :      576,   577,   578,   579,   580,   581,     0,   583,     0,   584,
   16227             :      585,     0,     0,   586,   587,   588,   589,   590,   591,   592,
   16228             :      593,     0,   594,   899,   900,     0,     0,   597,   598,     0,
   16229             :      600,     0,     0,   602,   603,   604,   605,   606,   607,   608,
   16230             :      609,   610,     0,     0,   611,   612,   613,   614,   615,     0,
   16231             :        0,   616,   617,   618,   619,   620,     0,   901,     0,   623,
   16232             :      624,   625,   626,   627,   628,   629,     0,     0,   630,     0,
   16233             :        0,   631,   632,   633,   634,   635,   636,   879,     0,     0,
   16234             :        0,     0,     0,     0,     0,     0,     0,     0,   648,   649,
   16235             :      650,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   16236             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
   16237             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   16238             :      252,   253,   254,   255,   256,   257,     0,   880,   260,   881,
   16239             :      882,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   16240             :        0,   270,   271,   883,   884,   274,     0,   275,   276,   277,
   16241             :      278,     0,     0,   280,     0,   281,   282,   283,   284,   285,
   16242             :      286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
   16243             :      295,   296,   297,     0,   298,   299,   300,   301,     0,     0,
   16244             :        0,   302,     0,     0,     0,   303,   304,   305,   306,   307,
   16245             :      308,   885,   886,   311,     0,   312,     0,   313,   314,   315,
   16246             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   16247             :        0,   324,   325,   887,   327,   328,     0,   329,   330,   331,
   16248             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
   16249             :      340,   341,     0,   343,   344,   345,   346,     0,     0,   348,
   16250             :        0,   349,   350,   351,   888,   353,     0,   354,     0,   355,
   16251             :      356,   357,     0,   358,   359,   360,   361,   362,     0,   363,
   16252             :        0,     0,     0,   366,   367,     0,   368,   369,   370,   371,
   16253             :      372,   373,   374,   375,   376,   377,     0,   378,   379,   380,
   16254             :      381,   382,   383,   384,   385,     0,   386,   387,     0,   389,
   16255             :      390,   391,   392,   889,   890,     0,   891,     0,   396,   397,
   16256             :      398,   399,   400,   892,     0,     0,     0,     0,     0,     0,
   16257             :        0,     0,     0,     0,   412,   413,   414,   415,   416,   417,
   16258             :      418,     0,     0,   419,     0,   421,   422,   423,     0,   424,
   16259             :      425,   426,     0,     0,   427,   428,   429,   430,   431,   432,
   16260             :      433,   434,   435,   436,     0,   438,   439,   440,   441,   442,
   16261             :      443,   444,   445,   893,   447,   894,   449,   450,   451,   452,
   16262             :      453,   454,   455,   456,     0,     0,   459,     0,   460,   461,
   16263             :      462,   463,     0,     0,   465,   895,   467,   468,   469,   470,
   16264             :        0,   471,   472,   473,     0,     0,   474,   475,   476,     0,
   16265             :        0,   477,   478,     0,   480,   481,   482,     0,   484,   485,
   16266             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
   16267             :        0,   496,   497,   498,     0,   500,     0,   502,   503,   504,
   16268             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   16269             :      514,   515,   896,   517,   518,   519,     0,   520,   521,   522,
   16270             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   16271             :        0,   533,   534,   535,   536,   537,   538,   539,   540,     0,
   16272             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   16273             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   897,
   16274             :      560,   561,   562,   563,   564,   898,   566,     0,   567,   568,
   16275             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   16276             :      579,   580,   581,     0,   583,     0,   584,   585,     0,     0,
   16277             :      586,   587,   588,   589,   590,   591,   592,   593,     0,   594,
   16278             :      899,   900,     0,     0,   597,   598,     0,   600,     0,     0,
   16279             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
   16280             :        0,   611,   612,   613,   614,   615,     0,     0,   616,   617,
   16281             :      618,   619,   620,     0,   901,     0,   623,   624,   625,   626,
   16282             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   16283             :      633,   634,   635,   636,   879,     0,     0,     0,     0,     0,
   16284             :        0,     0,     0,     0,     0,   648,   649,   650,     0,     0,
   16285             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   16286             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   16287             :        0,   247,   248,   249,     0,   250,   251,   252,   253,   254,
   16288             :      255,   256,   257,     0,   880,   260,   881,   882,     0,   263,
   16289             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   16290             :      883,   884,   274,     0,   275,   276,   277,   278,     0,     0,
   16291             :      280,     0,   281,   282,   283,   284,   285,   286,   287,   288,
   16292             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   16293             :        0,   298,   299,   300,   301,     0,     0,     0,   302,     0,
   16294             :        0,     0,   303,   304,   305,   306,   307,   308,   885,   886,
   16295             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   16296             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   16297             :      887,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   16298             :      334,   335,   336,   337,     0,   338,   339,   340,   341,     0,
   16299             :      343,   344,   345,   346,     0,     0,   348,     0,   349,   350,
   16300             :      351,   888,   353,     0,   354,     0,   355,   356,   357,     0,
   16301             :      358,   359,   360,   361,   362,     0,   363,     0,     0,     0,
   16302             :      366,   367,     0,   368,   369,   370,   371,  1155,   373,   374,
   16303             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
   16304             :      384,   385,     0,   386,   387,     0,   389,   390,   391,   392,
   16305             :      889,   890,     0,   891,     0,   396,   397,   398,   399,   400,
   16306             :      892,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   16307             :        0,   412,   413,   414,   415,   416,   417,   418,     0,     0,
   16308             :      419,     0,   421,   422,   423,     0,   424,   425,   426,     0,
   16309             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   16310             :      436,     0,   438,   439,   440,   441,   442,   443,   444,   445,
   16311             :      893,   447,   894,   449,   450,   451,   452,   453,   454,   455,
   16312             :      456,     0,     0,   459,     0,   460,   461,   462,   463,     0,
   16313             :        0,   465,   895,   467,   468,   469,   470,     0,   471,   472,
   16314             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
   16315             :        0,   480,   481,   482,     0,   484,   485,   486,   487,   488,
   16316             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
   16317             :      498,     0,   500,     0,   502,   503,   504,     0,   505,   506,
   16318             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   896,
   16319             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   16320             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   16321             :      535,   536,   537,   538,   539,   540,     0,   542,   543,   544,
   16322             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   16323             :      554,   555,   556,     0,   557,   558,   897,   560,   561,   562,
   16324             :      563,   564,   898,   566,     0,   567,   568,   569,   570,   571,
   16325             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   16326             :        0,   583,     0,   584,   585,     0,     0,   586,   587,   588,
   16327             :      589,   590,   591,   592,   593,     0,   594,   899,   900,     0,
   16328             :        0,   597,   598,     0,   600,     0,     0,   602,   603,   604,
   16329             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
   16330             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
   16331             :        0,   901,     0,   623,   624,   625,   626,   627,   628,   629,
   16332             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   16333             :      636,   879,     0,     0,     0,     0,     0,     0,     0,     0,
   16334             :        0,     0,   648,   649,   650,     0,     0,     0,   235,   236,
   16335             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   16336             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   16337             :      249,     0,   250,   251,   252,   253,   254,   255,   256,   257,
   16338             :        0,   880,   260,   881,   882,     0,   263,   264,   265,   266,
   16339             :      267,   268,   269,     0,     0,   270,   271,   883,   884,   274,
   16340             :        0,   275,   276,   277,   278,     0,     0,   280,     0,   281,
   16341             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   16342             :        0,   292,   293,   294,   295,   296,   297,     0,   298,   299,
   16343             :      300,   301,     0,     0,     0,   302,     0,     0,     0,   303,
   16344             :      304,   305,   306,   307,   308,   885,   886,   311,     0,   312,
   16345             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   16346             :      321,   322,   323,     0,     0,   324,   325,   887,   327,   328,
   16347             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   16348             :      337,     0,   338,   339,   340,   341,     0,   343,   344,   345,
   16349             :      346,     0,     0,   348,     0,   349,   350,   351,   888,   353,
   16350             :        0,   354,     0,   355,   356,   357,     0,   358,   359,   360,
   16351             :      361,   362,     0,   363,     0,     0,     0,   366,   367,     0,
   16352             :      368,   369,   370,   371,  1187,   373,   374,   375,   376,   377,
   16353             :        0,   378,   379,   380,   381,   382,   383,   384,   385,     0,
   16354             :      386,   387,     0,   389,   390,   391,   392,   889,   890,     0,
   16355             :      891,     0,   396,   397,   398,   399,   400,   892,     0,     0,
   16356             :        0,     0,     0,     0,     0,     0,     0,     0,   412,   413,
   16357             :      414,   415,   416,   417,   418,     0,     0,   419,     0,   421,
   16358             :      422,   423,     0,   424,   425,   426,     0,     0,   427,   428,
   16359             :      429,   430,   431,   432,   433,   434,   435,   436,     0,   438,
   16360             :      439,   440,   441,   442,   443,   444,   445,   893,   447,   894,
   16361             :      449,   450,   451,   452,   453,   454,   455,   456,     0,     0,
   16362             :      459,     0,   460,   461,   462,   463,     0,     0,   465,   895,
   16363             :      467,   468,   469,   470,     0,   471,   472,   473,     0,     0,
   16364             :      474,   475,   476,     0,     0,   477,   478,     0,   480,   481,
   16365             :      482,     0,   484,   485,   486,   487,   488,   489,   490,   491,
   16366             :      492,   493,   494,   495,     0,   496,   497,   498,     0,   500,
   16367             :        0,   502,   503,   504,     0,   505,   506,   507,   508,   509,
   16368             :      510,   511,   512,   513,   514,   515,   896,   517,   518,   519,
   16369             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   16370             :      529,   530,   531,   532,     0,   533,   534,   535,   536,   537,
   16371             :      538,   539,   540,     0,   542,   543,   544,   545,   546,   547,
   16372             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
   16373             :        0,   557,   558,   897,   560,   561,   562,   563,   564,   898,
   16374             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   16375             :      575,   576,   577,   578,   579,   580,   581,     0,   583,     0,
   16376             :      584,   585,     0,     0,   586,   587,   588,   589,   590,   591,
   16377             :      592,   593,     0,   594,   899,   900,     0,     0,   597,   598,
   16378             :        0,   600,     0,     0,   602,   603,   604,   605,   606,   607,
   16379             :      608,   609,   610,     0,     0,   611,   612,   613,   614,   615,
   16380             :        0,     0,   616,   617,   618,   619,   620,     0,   901,     0,
   16381             :      623,   624,   625,   626,   627,   628,   629,     0,     0,   630,
   16382             :        0,     0,   631,   632,   633,   634,   635,   636,   879,     0,
   16383             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   648,
   16384             :      649,   650,     0,     0,     0,   235,   236,   237,   238,   239,
   16385             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
   16386             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   16387             :      251,   252,   253,   254,   255,   256,   257,     0,   880,   260,
   16388             :      881,   882,     0,   263,   264,   265,   266,   267,   268,   269,
   16389             :        0,     0,   270,   271,   883,   884,   274,     0,   275,   276,
   16390             :      277,   278,     0,     0,   280,     0,   281,   282,   283,   284,
   16391             :      285,   286,   287,   288,   289,   290,   291,     0,   292,   293,
   16392             :      294,   295,   296,   297,     0,   298,   299,   300,   301,     0,
   16393             :        0,     0,   302,     0,     0,     0,   303,   304,   305,   306,
   16394             :      307,   308,   885,   886,   311,     0,   312,     0,   313,   314,
   16395             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   16396             :        0,     0,   324,   325,   887,   327,   328,     0,   329,   330,
   16397             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
   16398             :      339,   340,   341,     0,   343,   344,   345,   346,     0,     0,
   16399             :      348,     0,   349,   350,   351,   888,   353,     0,   354,     0,
   16400             :      355,   356,   357,     0,   358,   359,   360,   361,   362,     0,
   16401             :      363,     0,     0,     0,   366,   367,     0,   368,   369,   370,
   16402             :      371,   372,   373,   374,   375,   376,   377,     0,   378,   379,
   16403             :      380,   381,   382,   383,   384,   385,     0,   386,   387,     0,
   16404             :      389,   390,   391,   392,   889,   890,     0,   891,     0,   396,
   16405             :      397,   398,   399,   400,   892,     0,     0,     0,     0,     0,
   16406             :        0,     0,     0,     0,     0,   412,   413,   414,   415,   416,
   16407             :      417,   418,     0,     0,   419,     0,   421,   422,   423,     0,
   16408             :      424,   425,   426,     0,     0,   427,   428,   429,   430,   431,
   16409             :      432,   433,   434,   435,   436,     0,   438,   439,   440,   441,
   16410             :      442,   443,   444,   445,   893,   447,   894,   449,   450,   451,
   16411             :      452,   453,   454,   455,   456,     0,     0,   459,     0,   460,
   16412             :      461,   462,   463,     0,     0,   465,   895,   467,   468,   469,
   16413             :      470,     0,   471,   472,   473,     0,     0,   474,   475,   476,
   16414             :        0,     0,   477,   478,     0,   480,   481,   482,     0,   484,
   16415             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   16416             :      495,     0,   496,   497,   498,     0,   500,     0,   502,   503,
   16417             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
   16418             :      513,   514,   515,   896,   517,   518,   519,     0,   520,   521,
   16419             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   16420             :      532,     0,   533,   534,   535,   536,   537,   538,   539,   540,
   16421             :        0,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   16422             :      551,     0,   552,   553,   554,   555,   556,     0,   557,   558,
   16423             :     2735,   560,   561,   562,   563,   564,   898,   566,     0,   567,
   16424             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   16425             :      578,   579,   580,   581,     0,   583,     0,   584,   585,     0,
   16426             :        0,   586,   587,   588,   589,   590,   591,   592,   593,     0,
   16427             :      594,   899,   900,     0,     0,   597,   598,     0,   600,     0,
   16428             :        0,   602,   603,   604,   605,   606,   607,   608,   609,   610,
   16429             :        0,     0,   611,   612,   613,   614,   615,     0,     0,   616,
   16430             :      617,   618,   619,   620,     0,   901,     0,   623,   624,   625,
   16431             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   16432             :      632,   633,   634,   635,   636,   879,     0,     0,     0,     0,
   16433             :        0,     0,     0,     0,     0,     0,   648,   649,   650,     0,
   16434             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   16435             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   16436             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   16437             :      254,   255,   256,   257,     0,   880,   260,   881,   882,     0,
   16438             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   16439             :      271,   883,   884,   274,     0,   275,   276,   277,   278,     0,
   16440             :        0,   280,     0,   281,   282,   283,   284,   285,   286,   287,
   16441             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   16442             :      297,     0,   298,   299,   300,   301,     0,     0,     0,   302,
   16443             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   885,
   16444             :      886,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   16445             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   16446             :      325,   887,   327,   328,     0,   329,   330,   331,   332,     0,
   16447             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
   16448             :        0,   343,   344,   345,   346,     0,     0,   348,     0,   349,
   16449             :      350,   351,   888,   353,     0,   354,     0,   355,   356,   357,
   16450             :        0,   358,   359,   360,   361,   362,     0,   363,     0,     0,
   16451             :        0,   366,   367,     0,   368,   369,   370,   371,   372,   373,
   16452             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
   16453             :      383,   384,   385,     0,   386,   387,     0,   389,   390,   391,
   16454             :      392,   889,   890,     0,   891,     0,   396,   397,   398,   399,
   16455             :      400,   892,     0,     0,     0,     0,     0,     0,     0,     0,
   16456             :        0,     0,   412,   413,   414,   415,   416,   417,   418,     0,
   16457             :        0,   419,     0,   421,   422,   423,     0,   424,   425,   426,
   16458             :        0,     0,   427,   428,   429,   430,   431,   432,   433,   434,
   16459             :      435,   436,     0,   438,   439,   440,   441,   442,   443,   444,
   16460             :      445,   893,   447,   894,   449,   450,   451,   452,   453,   454,
   16461             :      455,   456,     0,     0,   459,     0,   460,   461,   462,   463,
   16462             :        0,     0,   465,   895,   467,   468,   469,   470,     0,   471,
   16463             :      472,   473,     0,     0,   474,   475,   476,     0,     0,   477,
   16464             :      478,     0,   480,   481,   482,     0,   484,   485,   486,   487,
   16465             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
   16466             :      497,   498,     0,   500,     0,   502,   503,   504,     0,   505,
   16467             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   16468             :      896,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   16469             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   16470             :      534,   535,   536,   537,   538,   539,   540,     0,   542,   543,
   16471             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   16472             :      553,   554,   555,   556,     0,   557,   558,     0,   560,   561,
   16473             :      562,   563,   564,   898,   566,     0,   567,   568,   569,   570,
   16474             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   16475             :      581,     0,   583,     0,   584,   585,     0,     0,   586,   587,
   16476             :      588,   589,   590,   591,   592,   593,     0,   594,   899,   900,
   16477             :        0,     0,   597,   598,     0,   600,     0,     0,   602,   603,
   16478             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
   16479             :      612,   613,   614,   615,     0,     0,   616,   617,   618,   619,
   16480             :      620,     0,   901,     0,   623,   624,   625,   626,   627,   628,
   16481             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   16482             :      635,   636,   879,     0,     0,     0,     0,     0,     0,     0,
   16483             :        0,     0,     0,   648,   649,   650,     0,     0,     0,   235,
   16484             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   16485             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   16486             :      248,   249,     0,   250,   251,   252,   253,   254,   255,   256,
   16487             :      257,     0,     0,   260,     0,     0,     0,   263,   264,   265,
   16488             :      266,   267,   268,   269,     0,     0,   270,   271,     0,     0,
   16489             :      274,     0,   275,   276,   277,   278,     0,     0,   280,     0,
   16490             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   16491             :      291,     0,   292,   293,   294,   295,   296,   297,     0,   298,
   16492             :      299,   300,   301,     0,     0,     0,   302,     0,     0,     0,
   16493             :      303,   304,   305,   306,   307,   308,     0,     0,   311,     0,
   16494             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   16495             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   16496             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   16497             :      336,   337,     0,   338,   339,   340,   341,     0,   343,   344,
   16498             :      345,   346,     0,     0,   348,     0,   349,   350,   351,     0,
   16499             :      353,     0,   354,     0,   355,   356,   357,     0,   358,   359,
   16500             :      360,   361,   362,     0,   363,     0,     0,     0,   366,   367,
   16501             :        0,   368,   369,   370,   371,   372,   373,   374,   375,   376,
   16502             :      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
   16503             :        0,   386,   387,     0,   389,   390,   391,   392,     0,     0,
   16504             :        0,     0,     0,   396,   397,   398,   399,   400,     0,     0,
   16505             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   412,
   16506             :      413,   414,   415,   416,   417,   418,     0,     0,   419,     0,
   16507             :      421,   422,   423,     0,   424,   425,   426,     0,     0,   427,
   16508             :      428,   429,   430,   431,   432,   433,   434,   435,   436,     0,
   16509             :      438,   439,   440,   441,   442,   443,   444,   445,     0,   447,
   16510             :        0,   449,   450,   451,   452,   453,   454,   455,   456,     0,
   16511             :        0,   459,     0,   460,   461,   462,   463,     0,     0,   465,
   16512             :        0,   467,   468,   469,   470,     0,   471,   472,   473,     0,
   16513             :        0,   474,   475,   476,     0,     0,   477,   478,     0,   480,
   16514             :      481,   482,     0,   484,   485,   486,   487,   488,   489,   490,
   16515             :      491,   492,   493,   494,   495,     0,   496,   497,   498,     0,
   16516             :      500,     0,   502,   503,   504,     0,   505,   506,   507,   508,
   16517             :      509,   510,   511,   512,   513,   514,   515,     0,   517,   518,
   16518             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   16519             :      528,   529,   530,   531,   532,     0,   533,   534,   535,   536,
   16520             :      537,   538,   539,   540,     0,   542,   543,   544,   545,   546,
   16521             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   16522             :      556,     0,   557,   558,     0,   560,   561,   562,   563,   564,
   16523             :        0,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   16524             :      574,   575,   576,   577,   578,   579,   580,   581,     0,   583,
   16525             :        0,   584,   585,     0,     0,   586,   587,   588,   589,   590,
   16526             :      591,   592,   593,     0,   594,     0,     0,     0,     0,   597,
   16527             :      598,     0,   600,     0,     0,   602,   603,   604,   605,   606,
   16528             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
   16529             :      615,     0,     0,   616,   617,   618,   619,   620,     0,     0,
   16530             :        0,   623,   624,   625,   626,   627,   628,   629,     0,     0,
   16531             :      630,     0,     0,   631,   632,   633,   634,   635,   636,     0,
   16532             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   16533             :      648,   649,   650
   16534             : };
   16535             : 
   16536             : static const yytype_int16 yycheck[] =
   16537             : {
   16538             :        6,     0,   211,   665,     0,     0,     0,     0,     0,  1041,
   16539             :       56,     0,   211,     0,   206,     0,     0,    23,   942,    25,
   16540             :        0,     0,   214,    29,    36,   217,    21,     0,    34,    35,
   16541             :       36,     0,    38,     0,  1050,    41,    42,  1013,    44,   843,
   16542             :       46,  1167,    21,   686,   840,   189,  1662,    53,    54,    55,
   16543             :     1579,   897,  1595,  2844,    45,  1030,   718,  1014,    22,  1579,
   16544             :        0,     0,   718,  1045,    28,   867,   799,   800,   801,     0,
   16545             :      759,  1228,   805,   936,   916,   938,  2717,  1572,  1039,  1275,
   16546             :     2718,  1584,     0,  2044,   197,   885,   886,    44,   873,  1262,
   16547             :     1505,   850,  3247,  1116,  3137,   895,  3428,   216,  3430,   900,
   16548             :      833,  3197,  3523,   765,  1902,   763,  1247,  3728,  3099,  3072,
   16549             :     1251,   230,   954,  1254,  1255,  1090,  3926,  3953,  2033,  1094,
   16550             :     2085,  1730,  3084,  2071,  1099,  3942,    23,  3611,  2052,   866,
   16551             :        8,  3975,  4275,   741,  1109,  2070,  3674,    15,  3676,    36,
   16552             :     1625,  1626,  2990,  3878,  1629,   667,  3481,   755,  1123,  4359,
   16553             :     3533,  4835,  4297,  4318,  1697,  1698,   818,  1572,  3646,  2109,
   16554             :     3648,   191,  1562,  1462,  2968,   191,   175,  1043,  1915,  2066,
   16555             :     2067,  2068,  2069,     2,  5232,  2072,  1974,  2074,  2075,  1154,
   16556             :     4606,   980,   764,  4611,   846,  4623,   739,   979,  1691,   742,
   16557             :      846,   197,   198,   199,  5160,  4568,   202,   754,  5366,  5152,
   16558             :      206,  5324,   208,    35,  4737,   211,  4739,  5460,   214,   871,
   16559             :       42,   217,  1004,  3497,   220,  1718,   222,  1009,  1105,   225,
   16560             :     2739,  2740,  1622,   229,  3475,   231,  4406,  1013,   965,  4600,
   16561             :     4851,  2597,  4853,  5103,  1121,  2601,  1022,  4610,    50,  1639,
   16562             :     2634,  2702,  5496,  3543,  3382,  2704,  1032,  5357,  3290,    41,
   16563             :     5508,  1050,  3387,  3940,  3037,  5147,  3039,  3040,  4927,   939,
   16564             :     5457,  3044,  3045,  3046,     0,  3048,  3049,  3050,   225,  5766,
   16565             :      939,   933,   963,    11,     0,  1545,  3080,     0,     6,     6,
   16566             :     3531,  5151,    21,     0,  5750,    38,  4459,  2681,    15,    16,
   16567             :     4775,     6,  2039,    54,  5422,  5423,    37,    63,     6,     6,
   16568             :       15,    16,    37,    63,    63,  5415,     6,    63,  3480,     6,
   16569             :     3482,  3483,    37,  1004,     6,    15,    16,  1054,  1009,     0,
   16570             :       25,     6,    21,    32,    13,    43,    95,     6,    47,   120,
   16571             :       11,    37,     0,     6,     6,    29,    37,    35,   149,   172,
   16572             :        6,   120,   120,    11,   178,    47,     6,    88,    29,    13,
   16573             :      178,  1084,     6,    63,     6,   883,   884,     6,   178,   157,
   16574             :        6,    29,   178,    85,  1525,   153,   894,     6,   195,    80,
   16575             :      164,     6,    63,    47,     5,   120,  3613,    11,   179,    37,
   16576             :       11,    45,     0,     3,    51,     5,     6,   190,  1050,  1156,
   16577             :       15,    11,   179,  5447,  6027,  1162,  1881,   178,   122,  6064,
   16578             :      179,   178,    13,    21,     5,  1172,    13,    68,     6,  1176,
   16579             :       11,    43,   178,  1180,    78,  1182,  5649,  1202,  4701,  4702,
   16580             :     4703,  1188,  4705,  4706,  4707,  4708,  4709,  1194,   316,   331,
   16581             :     1197,   125,   180,   221,    45,   140,  1418,   158,    56,   353,
   16582             :      257,   310,   178,    32,  4624,  1406,  6020,   180,  1106,   135,
   16583             :      345,  1474,   178,    63,   348,   178,   403,    63,   345,   669,
   16584             :      120,   178,   361,   404,  6151,   376,   202,    78,    11,    35,
   16585             :      448,   360,   385,   166,    25,   272,   202,   206,   325,   202,
   16586             :      122,    39,  5979,  5375,  1466,   202,   120,   686,   240,   424,
   16587             :       78,   120,    29,  1293,  1294,    63,   289,   178,   448,   385,
   16588             :      120,    13,   153,   227,  5970,   495,    92,   450,   433,    32,
   16589             :      178,   372,   267,  1623,  5768,   294,   283,  6466,   178,   313,
   16590             :       80,   202,   535,   217,   440,  1325,   442,   540,   316,   330,
   16591             :     1640,  6480,    92,   178,   202,  1336,    59,   736,   293,     6,
   16592             :      178,   308,   403,   172,  5497,   356,   324,   472,   293,   435,
   16593             :      540,   761,   487,   496,  5664,   450,   403,   309,   471,   298,
   16594             :      289,   254,   540,   450,   312,   684,  1174,   302,  4939,   293,
   16595             :     1355,   690,   130,   191,    29,   368,    80,    29,   489,   478,
   16596             :       29,    36,  6269,   702,    36,   227,  1462,    36,    92,   140,
   16597             :      540,   157,  1574,   540,    80,   536,   485,   394,   135,   298,
   16598             :       80,   496,   222,   254,   373,  1404,  1268,   293,   409,   496,
   16599             :     1409,  1410,  1268,   334,   374,   374,   178,   350,   374,  1356,
   16600             :       29,    92,   536,    80,   390,   835,  1208,  1235,   289,   446,
   16601             :       80,   185,   448,   357,   536,    92,    80,   257,  1246,    80,
   16602             :       13,   185,   536,  6140,   302,   390,   244,  6312,  1433,  1386,
   16603             :     3887,   293,   540,   185,   389,  1263,  5889,  6290,  5712,    23,
   16604             :      666,   455,   371,  1463,   374,   534,   672,   448,   674,   538,
   16605             :      676,  4406,    45,   679,   477,   423,   385,   465,   387,   127,
   16606             :      686,  1656,   125,   374,  1659,   691,   671,   693,   412,  5886,
   16607             :     5311,   489,   671,   699,   473,   334,  1728,  1729,   403,  4434,
   16608             :      142,   479,   396,   536,  1865,    78,   540,  6394,   375,   536,
   16609             :      526,  1668,   540,   431,  1499,   357,   536,   723,   484,   765,
   16610             :       10,   462,   538,    13,  5978,   536,   732,    17,    18,    19,
   16611             :      736,   671,   671,   739,  4879,   526,   742,   448,  1427,  1401,
   16612             :      671,   463,  1629,   478,   453,  1401,   448,  1409,  1410,   536,
   16613             :      448,  1550,   758,   671,  1282,  1283,   497,  6254,   536,   478,
   16614             :      769,  1560,  1548,   540,   374,  1726,   471,  4940,   374,  4579,
   16615             :       25,   540,   497,  5258,   482,   536,   478,   471,  4951,  2049,
   16616             :      540,   540,   371,   536,   540,   764,  6252,  5915,   448,   517,
   16617             :      518,   497,  1320,   514,  1681,  1682,   497,   535,   942,   431,
   16618             :     1646,   540,  4619,   539,   478,   811,   374,  5760,   536,   536,
   16619             :     4620,  1735,  1492,   539,   820,   779,   539,   781,  1610,   783,
   16620             :     4441,   536,   539,  1492,  1610,   789,  4447,   534,   536,   536,
   16621             :      540,   538,   517,   518,   840,   841,   536,   843,   844,   536,
   16622             :     6337,   540,   848,   532,   536,  2002,   527,   528,  1647,   540,
   16623             :     1976,   536,  1651,  1652,   811,  1064,   862,   536,   539,   527,
   16624             :      528,   867,   448,   536,   536,  1064,   526,   873,   532,  1061,
   16625             :      536,   539,  5764,  1065,  4362,  1067,  4364,  6131,   538,  1570,
   16626             :     6077,  6078,   536,  2009,   536,   140,  6144,   536,  6385,  4624,
   16627             :      536,   536,   493,   527,   528,  2021,   527,   528,   540,   263,
   16628             :      930,   526,   540,  4238,   930,  6479,  6159,   527,   528,   534,
   16629             :      867,  1439,  1440,   538,   920,   793,   517,  6491,   529,   530,
   16630             :      531,   532,   529,   530,   531,   532,   527,   528,   934,   338,
   16631             :      540,  5214,  1623,   932,   540,   225,   932,   932,   932,   932,
   16632             :      932,   947,  1055,   932,   448,   932,   534,   932,   932,  1640,
   16633             :      538,  3913,   932,   932,   421,   422,   962,   956,   413,   932,
   16634             :     6070,   413,   448,   932,   413,   932,  3770,  3771,   448,  4104,
   16635             :     4105,  3775,   540,  5642,  1617,   981,  4114,   934,   540,  6089,
   16636             :      986,   987,   453,  4670,   527,   528,   540,  1863,     3,   398,
   16637             :      947,   448,   932,   932,    52,  1882,   540,    72,   448,  4250,
   16638             :       23,   932,  6256,  4254,   448,   962,     3,   448,   540,     6,
   16639             :     4310,  5977,  1018,  1019,   932,   527,   528,   529,   530,   531,
   16640             :      532,  5974,   312,  1545,   122,   473,   390,  3546,   471,  3548,
   16641             :        6,   440,    76,   442,   156,  1041,  1042,    89,  2070,   156,
   16642             :     4528,  3502,    89,  4527,  3503,  4087,  1845,   489,  3442,  1055,
   16643             :      148,  1057,   844,   671,  4189,  1061,   848,    23,  1064,  1065,
   16644             :      202,  1067,   874,  6151,   125,  4237,  1072,  4239,  4240,  2051,
   16645             :       63,   326,   207,  3856,   438,   136,    91,   113,   185,   154,
   16646             :      132,     6,  6336,   223,   125,   132,     6,  5957,   187,   113,
   16647             :     1096,   125,  6260,  6261,   310,   313,   113,  1103,  1104,   174,
   16648             :      172,   103,    25,  5973,   385,   469,  3910,    33,    34,  5480,
   16649             :      331,  6169,   113,   368,  5487,  6225,   124,    89,   115,  1125,
   16650             :     1126,  1127,   294,  1129,  2106,  1131,  2675,  1133,  1134,    10,
   16651             :      145,   495,    13,   156,   169,    21,    17,    18,    19,   197,
   16652             :      289,   178,    21,   311,   202,   297,   764,   765,   403,     6,
   16653             :     4434,   125,  5362,    23,   527,   528,   529,   530,   531,   532,
   16654             :      132,  1167,   390,  1169,  1170,   202,  1828,   368,  3534,   178,
   16655             :     4591,  4655,   536,    99,  6427,  6141,   217,   190,  1911,  6132,
   16656             :       25,  6269,  1949,   217,     6,   187,  1018,  1019,    23,    23,
   16657             :     1957,  6409,  6315,   119,   526,   253,  1202,   194,   368,   266,
   16658             :       48,   372,   283,   174,   115,  5701,   538,  5703,   113,  5389,
   16659             :        3,  5707,  5708,   310,  2018,  2019,   224,   140,   293,  6387,
   16660             :     5841,   476,  1228,    71,  1230,   304,   293,   308,  1234,  1208,
   16661             :     1236,   157,   403,   403,   524,   525,   526,   527,   528,   529,
   16662             :      530,   531,   532,   217,    72,   260,  6464,   448,    30,   284,
   16663             :     1626,   316,   331,  1629,  1260,   536,  1262,  2133,   410,    23,
   16664             :     1266,    10,   172,   307,    13,  2050,    63,  2052,    17,    18,
   16665             :       19,   346,   289,  2058,  1280,   272,   289,   329,   275,  2064,
   16666             :     2065,   380,   329,   194,   406,    10,    35,   289,    13,   406,
   16667             :     1979,  2076,    17,    18,    19,   140,  6262,   263,    91,   471,
   16668             :      435,  2086,  2805,   114,  5732,  5838,  6394,  2092,   536,  1355,
   16669             :     1139,   326,   930,  5149,   932,   536,  1322,  2837,   536,  2008,
   16670             :      536,   202,   298,  2012,  2739,  5142,  5136,  6450,  2017,  5173,
   16671             :      498,  2020,  5758,  1211,  5762,  1213,  3083,  1215,  1946,  1217,
   16672             :     5778,  1219,  1220,  1221,   225,  1351,  1352,  1353,  1226,  1355,
   16673             :      408,  6409,  1960,   146,   125,  3320,  3321,   329,  5731,  3878,
   16674             :     3325,   272,   385,   512,   275,  1973,  2103,   311,  4359,  6335,
   16675             :     1376,  3306,    23,   298,  2673,   197,  5747,   475,   298,   189,
   16676             :     6346,   374,  1939,   406,   206,  5756,   493,  2890,  5761,   441,
   16677             :     1943,   466,   214,   263,   441,   217,   207,   394,   540,   435,
   16678             :      540,  3366,  3367,   326,  1986,  1958,  6464,  4895,  1961,  1415,
   16679             :      471,   435,   298,  1422,  1971,   456,   209,  3026,  1617,   298,
   16680             :     6386,   493,   396,   438,   390,  2825,   441,  1433,   263,   263,
   16681             :      471,   312,  4920,   540,   435,  5806,   218,   471,   364,   448,
   16682             :     2083,   298,   300,   445,  6365,   368,   217,  1477,  1478,  3968,
   16683             :     1480,  1477,  1478,   120,  1480,  6421,   493,   536,  2011,   390,
   16684             :      370,   403,  2015,  2016,   477,   293,   326,   316,    23,   441,
   16685             :      396,  5636,   438,  1479,    38,   540,   225,  1483,  1484,   380,
   16686             :      403,   326,    92,   394,  3434,  5630,    37,  6453,  1494,  1495,
   16687             :     1496,  1497,   289,  1499,  4877,   400,    60,   471,   269,   263,
   16688             :     3116,  4836,  6186,   469,  6000,  1881,   172,   115,   368,   435,
   16689             :      120,    40,    58,    72,   511,   171,  1522,  6438,   184,    27,
   16690             :      390,    28,   324,   368,     6,    54,   289,  2049,   190,   495,
   16691             :      368,   403,    42,    92,   133,     5,   202,  1494,    25,  1496,
   16692             :      333,    11,    50,   403,    31,   144,   356,   403,   112,   493,
   16693             :     3099,  1557,   100,   479,   241,   390,  1562,   483,   403,  1565,
   16694             :      180,   311,  5100,   312,   325,   403,  2598,   493,   438,   120,
   16695             :      536,   472,  1578,  1579,    87,   473,   386,   374,    94,   390,
   16696             :      125,  1587,   111,   129,  1590,    92,   194,   312,  5959,  4840,
   16697             :     1208,   517,   536,  4636,  4845,   140,   435,  4848,   540,   469,
   16698             :      511,  4592,   289,   438,   438,   536,   403,   124,    72,   311,
   16699             :      536,  1617,   263,  1619,   311,   473,  1622,   120,  2600,  1625,
   16700             :     1626,   137,   433,  1629,   435,   495,   390,   289,   194,  6137,
   16701             :     6138,   179,  1631,  1639,   469,   469,  1642,  1636,   536,  1645,
   16702             :     3135,   205,   403,   524,   525,   526,   527,   528,   529,   530,
   16703             :      531,   532,   314,   140,  5389,   168,   120,   324,  1276,  5869,
   16704             :      495,   495,  5498,  1669,   272,   213,   536,   275,   540,  5486,
   16705             :      357,   464,   122,   180,   438,   190,   536,   479,  1296,   472,
   16706             :      228,  1687,   475,   293,   540,   341,    10,   216,   537,    13,
   16707             :      200,   540,   312,  1699,  1700,  1701,  1702,  1703,   148,   263,
   16708             :      471,   536,   536,   251,   268,   469,   272,   224,   263,   273,
   16709             :      218,  1717,   378,  1712,   477,   304,  3131,  1716,   182,   406,
   16710             :     3135,    45,  1728,  1729,  1730,   289,   304,   326,    52,   396,
   16711             :     1687,   495,   280,  4516,   293,   325,   304,  1355,  4521,   390,
   16712             :      183,    10,   331,   493,    13,  5888,  1955,  2763,    17,    18,
   16713             :       19,  4599,  1944,   331,    78,  1954,  1955,  6128,    29,   448,
   16714             :      289,   325,   310,   331,  4555,   316,    35,   166,   435,   368,
   16715             :      136,   122,   536,   181,   289,   524,   525,   526,   527,   528,
   16716             :      529,   530,   531,   532,   471,    10,   394,   438,    13,  4593,
   16717             :     2926,   493,    17,    18,    19,   298,   493,  2673,   343,   524,
   16718             :      525,   526,   527,   528,   529,   530,   531,   532,   403,   373,
   16719             :       35,   326,   479,   396,   257,   477,     3,   403,   469,    25,
   16720             :     1933,  1827,   123,   179,   267,    31,   493,   151,   394,   293,
   16721             :     6338,   379,  1838,   397,   298,   390,    99,   526,    10,   326,
   16722             :     1846,  1847,  4833,   350,   495,    17,    18,    19,   298,   538,
   16723             :      517,   217,   435,   368,   418,   254,  1862,   213,   112,  1477,
   16724             :     1478,   123,  1480,   392,   135,    13,  2633,  2652,  5386,   536,
   16725             :      241,  3007,   228,   197,  1880,  1881,   227,    23,   202,  6250,
   16726             :      387,   368,   346,   438,  2083,   536,   326,  4406,   325,  2735,
   16727             :     1896,  1897,  1898,  1899,   414,   251,   479,   198,   362,  1905,
   16728             :     6445,   723,     5,   511,   267,   469,  1912,   306,    11,  1915,
   16729             :      732,  2715,  5430,   536,   469,  4434,   403,   739,   289,   439,
   16730             :      742,   184,  6467,  3472,  1930,   473,  3475,  1933,   536,   253,
   16731             :       78,  5767,  6075,   120,   140,   243,   198,  1943,  1944,  5749,
   16732             :      495,   123,   293,   351,   451,   540,   453,   536,  1954,  1955,
   16733             :      457,   387,  1958,   536,   540,  1961,   225,   314,   536,  5776,
   16734             :     2936,  6332,   477,   403,  2763,   135,   403,   137,   536,   326,
   16735             :     1976,  1977,   370,   537,  3523,   526,   384,  1983,   120,  1985,
   16736             :      178,   536,  3531,   534,   483,   536,   537,   538,   312,   540,
   16737             :      398,   493,   490,    64,    23,    23,  2002,   440,  2874,   442,
   16738             :      225,    72,   466,  2009,   202,  2011,   357,  1986,  2014,  2015,
   16739             :     2016,   368,  2018,  2019,   268,  2021,   198,   453,   160,   273,
   16740             :      483,  2067,  2028,   379,  2900,   387,   469,   316,   436,  2035,
   16741             :     2042,   122,  2038,  2039,  3160,   406,  2042,   536,   540,  2045,
   16742             :     2046,  5525,   540,   312,  2050,   385,  2052,   387,  2033,  2835,
   16743             :     5205,  2057,  2058,   195,  2033,  6265,  5307,   148,  2064,  2065,
   16744             :     2066,  2067,  2068,  2069,  2070,  2071,  2072,  2073,  2074,  2075,
   16745             :     2076,  2028,  4033,   536,  2080,   450,  2082,  2083,  2084,  2085,
   16746             :     2086,  2087,  2088,  2089,   408,   173,  2092,   312,  2094,  2095,
   16747             :     4051,   453,  2098,  2033,  2033,   493,  3020,  3021,  3022,  2986,
   16748             :      471,  2763,  2033,   536,   393,  4624,   293,  2113,  2114,  2115,
   16749             :     1988,   298,  1990,   453,  1992,  2033,  1994,   263,  1996,   517,
   16750             :      211,   209,  2000,   293,  3000,  2131,   473,   484,  3543,  1631,
   16751             :       69,    70,    25,  3628,  1636,  5126,  5972,  3753,  3553,  5102,
   16752             :      312,  2940,   540,  4067,    13,   169,  5990,   334,  2045,  2948,
   16753             :     2936,   293,  2951,  4088,  5971,  4103,    38,  3353,  4093,  5121,
   16754             :     4125,  4126,  4127,  4128,   157,  2171,  4131,  4132,  4133,  4134,
   16755             :     4135,  4136,  4137,  4138,  4139,  4140,    45,  3152,  5141,  2916,
   16756             :     6390,  2914,  5337,  2916,  5339,   326,   257,  5519,  2974,   536,
   16757             :     3066,   515,  5730,   493,   180,  4092,   326,  2989,   289,    81,
   16758             :     4097,  4098,   293,   527,   528,   529,   530,   531,   532,    78,
   16759             :     1712,  4009,   765,  3628,  1716,   360,  3103,  3104,  3105,  3106,
   16760             :      155,  3108,   246,  3009,   293,  2833,  3835,   368,   214,   298,
   16761             :     4195,  4196,  3841,  1055,   263,   263,   166,   390,   368,  1061,
   16762             :      540,  3726,   172,  1065,   390,  1067,  3133,   140,   166,  6415,
   16763             :      540,  6417,   397,   326,   172,   524,   525,   526,   527,   528,
   16764             :      529,   530,   531,   532,   440,   818,   442,   420,   326,   204,
   16765             :      493,   360,  5368,  2279,  3777,  2964,    38,  2966,   493,     0,
   16766             :     5063,  2970,  5065,  5066,  5067,   354,  5090,   202,  5092,   326,
   16767             :      435,     3,   438,  5781,   517,   368,   326,  6133,    60,   524,
   16768             :      525,   526,   527,   528,   529,   530,   531,   532,   397,  1131,
   16769             :      368,  1133,  1134,  4228,    26,  6481,    80,   540,   871,  5803,
   16770             :      493,  3824,   539,   469,   254,   540,     5,  2333,    92,   157,
   16771             :      403,   368,    11,   385,  5755,   372,   254,  5328,   368,  4236,
   16772             :      485,  3537,    27,    29,   517,   403,   435,  3223,   122,   495,
   16773             :      112,   373,   524,   525,   526,   527,   528,   529,   530,   531,
   16774             :      532,   390,   390,    25,  1008,    50,   403,   419,  1986,    31,
   16775             :      448,  5362,   112,   403,   148,  6477,   306,   172,  5710,    91,
   16776             :      933,   403,  3149,  1027,  2390,    22,  1030,  3154,   306,  3156,
   16777             :      536,    28,  6494,  3126,   326,   473,   485,    83,   172,  3166,
   16778             :       86,   196,  3169,   396,  3171,  3172,  3949,    93,  3175,   438,
   16779             :      438,  3210,  3179,   100,  3181,  2033,   326,  3184,  4941,  6255,
   16780             :      182,   314,   172,   781,   782,   783,  4949,  3085,   786,   787,
   16781             :      788,   153,   120,   173,   146,   121,   368,   211,   796,   493,
   16782             :      469,   469,   435,   205,   166,  1884,   196,    15,    16,  2067,
   16783             :      172,  6072,   357,   368,   364,   143,  6266,   372,   368,   172,
   16784             :      493,    35,   150,   517,   369,  1904,   495,   495,  3344,   209,
   16785             :      531,   403,   183,  2091,  3350,   536,   164,   538,   140,   372,
   16786             :      373,  3248,   536,   196,   517,   534,   479,   536,   403,   538,
   16787             :      202,    38,   179,   403,   399,    10,   182,   209,    13,   221,
   16788             :      493,   263,    17,    18,    19,  3429,   268,   536,   536,   195,
   16789             :      403,   273,   135,    60,   137,   289,   531,  5508,  3207,   293,
   16790             :       35,   536,   208,   538,   517,     5,   213,   289,   268,   517,
   16791             :      518,    11,   254,   273,   517,   518,  5868,  3322,   143,    19,
   16792             :       99,   228,   310,   536,   348,   150,   257,   315,   536,  3334,
   16793             :       33,    34,  3289,   536,   535,  5651,  5666,    37,   453,   540,
   16794             :      119,  5671,  5672,   325,   251,   112,    25,   302,   396,  2575,
   16795             :     2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,   493,  2585,
   16796             :      536,  4546,   538,   310,   306,  3370,  1004,  2796,   315,  2595,
   16797             :     2596,  1009,  2598,   280,   316,   485,  5587,  2796,   157,  2605,
   16798             :      534,   244,   517,  2795,   538,  2797,  2798,   435,   529,   537,
   16799             :      298,   373,   540,   534,  6424,   536,  3333,   538,  3335,  3336,
   16800             :      534,   333,   536,   310,   285,   286,   287,   288,  2634,  3414,
   16801             :     2636,   453,    91,  2639,  2640,   397,  3435,  2643,   529,  2645,
   16802             :     2635,  3782,  2648,   534,   393,   536,  2652,   538,   536,   360,
   16803             :      538,   479,  5435,  3454,  3455,   536,   418,  3614,   205,   537,
   16804             :      537,   271,   540,   540,   326,   493,  2284,   537,   380,  2675,
   16805             :      540,   153,   536,  3432,   133,  2681,  2682,  2634,   370,  2792,
   16806             :      537,   140,   267,   540,   166,   144,  2692,   393,   537,   517,
   16807             :      172,   540,   379,  3650,   537,  2701,  2702,   540,   517,   518,
   16808             :      537,  4250,  3544,   540,   267,  4254,   368,   469,   536,  2715,
   16809             :      225,   537,   537,  2832,   540,   540,   263,  2723,   207,  2725,
   16810             :      432,   268,  4683,    96,  2681,  2682,   273,   385,   386,   440,
   16811             :     6218,   442,   385,   386,   420,  6223,  6224,   423,  4699,   221,
   16812             :     5783,   403,   289,   465,   271,   537,  3389,  3729,   540,   385,
   16813             :      386,  3488,   464,  2765,  3554,  2767,   385,   386,   469,  2765,
   16814             :      472,  2767,  4378,   475,   196,   537,   537,   455,   540,   540,
   16815             :      324,    25,   254,  3435,   485,  2781,   453,    31,   325,   467,
   16816             :      537,  3938,   537,   540,   100,   540,  2792,  5654,  5655,  2795,
   16817             :     2796,  2797,  2798,  4728,    87,  2801,   537,   312,  2804,   540,
   16818             :     4735,  4736,  2720,  4601,   537,   364,  2925,   540,  5830,  5831,
   16819             :     4359,  3578,   534,    59,   537,   537,   538,   540,   537,  2825,
   16820             :      537,   540,    76,   540,   306,  6443,   373,   396,  6446,  3615,
   16821             :      493,  2837,   495,  4376,   316,  4378,   537,   396,  4341,   540,
   16822             :     5644,  4361,   396,  6033,  6034,  2851,  2852,  2804,   393,   483,
   16823             :      397,  1209,  2858,   493,  1212,   495,  1214,   485,  1216,   537,
   16824             :     1218,  2867,   540,   179,  1222,   537,   435,   326,   540,   537,
   16825             :     5389,   418,   540,  6205,    54,    55,   435,  4050,  5869,   133,
   16826             :      244,   435,  3571,  2889,    11,   537,   140,  3006,   540,   536,
   16827             :      144,  6379,  3659,   390,  3661,  4310,  3919,   213,   537,   537,
   16828             :     2096,   540,   540,  2099,  2910,   364,  3881,   433,   310,   368,
   16829             :      479,  4414,   228,   537,  6069,  3701,   540,  2923,   537,   173,
   16830             :      479,   540,   469,   537,   493,   479,   540,   540,   537,   537,
   16831             :     3592,   540,   540,   536,   493,   251,  3592,   536,    10,   493,
   16832             :     2946,    13,    59,  2949,   403,    17,    18,    19,   517,   537,
   16833             :      485,   410,   540,  2910,   537,   209,   537,   540,   517,   540,
   16834             :     3568,  3569,   537,   517,   280,   540,   440,   536,   442,  2975,
   16835             :     2976,   537,   537,    45,   540,   540,   537,   536,    48,   540,
   16836             :       52,  5619,   536,   465,  2990,  5976,  2992,  2993,  3875,   513,
   16837             :      538,  3724,  5511,   227,   181,   537,  3729,   537,   540,  2963,
   16838             :      540,  3877,   294,   295,   537,   537,    78,   540,   540,   524,
   16839             :      525,   526,   527,   528,   529,   530,   531,   532,  3024,  3025,
   16840             :     3026,   310,   313,  2641,  3030,   135,   537,   137,   537,   540,
   16841             :      537,   540,  3038,   540,   537,   289,   172,   540,  3805,   293,
   16842             :     2675,   310,  4591,  4592,  3811,  3051,   537,   513,   313,   540,
   16843             :      304,  3057,   534,  3059,   164,    48,   538,  2675,   245,  6391,
   16844             :      314,   513,  3254,   379,  3256,  3257,  3072,  2666,  2667,  2668,
   16845             :     4613,  3077,   326,   537,   227,   177,   540,  3083,   153,  4608,
   16846             :     3086,   537,   537,   537,   540,   540,   540,   537,  5892,  5893,
   16847             :      540,   166,  3098,  3099,   440,   529,   442,   172,    10,  4295,
   16848             :      540,    13,  2720,  3109,   396,    17,    18,    19,  1930,   537,
   16849             :     3718,  1933,   540,  3119,   368,  3121,   536,   371,   372,   229,
   16850             :      537,  1943,  1944,   540,   537,   197,    38,   540,   537,   482,
   16851             :      202,   540,  3740,   493,  4629,   495,  1958,  6469,  3251,  1961,
   16852             :      342,   537,   537,   435,   540,   540,   221,   537,   537,   403,
   16853             :      540,   540,   537,  6144,  3160,   540,  3162,   537,  3164,   537,
   16854             :      540,   536,   540,   537,  6127,   537,   540,   537,   540,   537,
   16855             :      540,   493,   540,   495,  3907,   285,   286,   287,   288,   254,
   16856             :      536,   253,   292,   293,    37,   536,  4168,   479,   298,  2011,
   16857             :     3389,  3197,   537,  2015,  2016,   540,   537,   384,   537,   540,
   16858             :     3118,   493,    92,  4360,   391,   537,  4363,   537,   540,  4366,
   16859             :      540,   398,   537,   537,  4629,   540,   540,   537,   537,  5860,
   16860             :      540,  3883,   476,  3885,    59,   517,     0,  3883,   178,  3885,
   16861             :     3997,   306,  3999,   223,  4001,  4037,  3925,   223,   538,   537,
   16862             :      312,   316,   540,   368,   536,  3251,  3252,   202,  3254,   436,
   16863             :     3256,  3257,   537,  3259,   537,   540,   493,   540,   495,  4058,
   16864             :     3266,  4222,   497,   537,   537,  3271,   540,   540,  6259,    43,
   16865             :      537,   158,   459,   540,  6265,   537,  3322,   537,   540,  5244,
   16866             :      540,   537,   158,   539,  4833,  4161,  4268,   537,   536,   539,
   16867             :     3898,  4840,  3900,   183,   536,   536,  4845,    10,  3497,  4848,
   16868             :       13,   537,  5237,  5238,   540,  3967,  4219,   537,  4221,     3,
   16869             :      540,  3967,   536,   225,  3320,  3321,  3322,   207,   537,  3325,
   16870             :     4822,   540,  4824,  4305,  3370,    99,   536,  3333,  3334,  3335,
   16871             :     3336,   537,    45,  4022,   540,  4120,   408,   538,   537,    52,
   16872             :     4956,   540,   310,  3349,    10,   455,  3352,    13,  3354,   368,
   16873             :      202,    17,    18,    19,   310,  6146,   537,   467,   158,   540,
   16874             :     3366,  3367,   158,   537,  3370,    78,   540,   257,   537,  4154,
   16875             :      537,   540,   537,   540,   537,   540,   202,   540,   537,   153,
   16876             :     4255,   540,  4257,  3389,  1494,  3391,  1496,  3393,   158,  3395,
   16877             :      465,   310,   166,   153,  5288,   172,  5290,    91,   172,  6390,
   16878             :      312,  4921,  4377,   368,   178,   158,   166,   252,  3414,   473,
   16879             :      184,  3417,   172,   187,   122,  3421,   310,   191,   536,   302,
   16880             :     4205,   172,   537,    72,   293,   315,    38,   293,   497,  3475,
   16881             :      536,  3422,  3423,  3424,   293,   310,  3442,    48,   151,    48,
   16882             :      295,   458,   293,   515,   293,  4053,   326,   221,    91,   223,
   16883             :      485,   145,   524,   525,   526,   527,   528,   529,   530,   531,
   16884             :      532,   221,   485,    87,  3099,   453,  3472,    54,   172,  3475,
   16885             :     3476,   349,   158,   158,  3480,  3481,  3482,  3483,   536,   158,
   16886             :      254,  3527,   158,  3489,   197,  3442,   153,   497,  3494,   202,
   16887             :      135,  4333,   137,   158,   254,  4652,   158,   540,   158,   166,
   16888             :     3118,   158,   158,  3509,   158,   172,   158,  4307,   158,   172,
   16889             :      158,   158,   158,   310,   101,   435,   158,  3523,   158,   164,
   16890             :      536,  3527,    38,   252,  3530,  3531,   310,  3533,   172,  4405,
   16891             :       10,  4407,   306,    13,   172,   536,   310,     6,     6,   126,
   16892             :      253,   396,   316,   172,   536,  4502,   306,   536,     6,  4524,
   16893             :      440,   536,   442,   536,   221,   536,   316,  4433,   145,   225,
   16894             :      536,   536,   536,   453,   151,    45,   260,     6,  3574,   536,
   16895             :      536,     6,    52,  5534,   536,   536,   466,  5126,   536,   469,
   16896             :      435,     6,   536,   536,   229,   536,   173,   254,  4512,   536,
   16897             :      177,   536,  3598,  3599,  5559,   536,   536,  6388,    78,   312,
   16898             :      536,   536,   376,   536,   536,   192,   536,   536,   536,   536,
   16899             :      536,   536,   524,   525,   526,   527,   528,   529,   530,   531,
   16900             :      532,   536,   300,   536,   479,  5590,   536,   536,  3634,   536,
   16901             :      536,   536,   326,   536,   494,  4434,  3642,   167,   493,   306,
   16902             :      285,   286,   287,   288,   223,   322,   312,   292,   540,   316,
   16903             :       38,   540,   103,   298,   252,    38,    37,   431,    10,   536,
   16904             :      446,    13,   517,   446,   534,    17,    18,    19,   448,   534,
   16905             :      364,   151,   448,   448,   368,   536,   448,   178,   372,  3878,
   16906             :      172,   536,   537,    35,   539,   306,  3692,   172,   304,   403,
   16907             :      540,   465,    68,    45,   448,   408,   448,   390,   448,   484,
   16908             :       52,   448,   390,   448,  3322,   465,   538,   448,   390,   403,
   16909             :     3716,   298,   254,   448,    79,   448,   490,   197,   492,   493,
   16910             :     3726,   526,   202,   448,    92,   158,    78,   310,   249,   390,
   16911             :      448,   395,   448,   298,   128,   472,   448,   438,   331,   310,
   16912             :      514,   304,   536,   448,   438,   448,   385,   441,   195,   536,
   16913             :       92,   540,  3370,    10,   128,   158,    13,  5172,  5307,   326,
   16914             :       17,    18,    19,   537,   202,   539,   540,   354,   448,   128,
   16915             :      114,   473,   128,   253,   473,   448,  3394,   448,    35,  5328,
   16916             :      448,    59,    59,   277,   353,   314,   331,   353,    45,   448,
   16917             :      448,   353,  3410,   448,   331,    52,    47,   448,   465,   493,
   16918             :      540,   537,   515,   438,   225,   225,   310,   448,   225,  4685,
   16919             :      455,   448,   448,  5362,   527,   528,   529,   530,   531,   532,
   16920             :      448,    78,   467,   448,   541,   448,   448,   225,   448,  3835,
   16921             :      448,   448,   312,   448,   448,  3841,   225,  3472,   448,   225,
   16922             :     3475,   225,   448,   225,   310,   197,  3852,   225,   225,   536,
   16923             :      202,   458,    38,  2675,  3472,   158,   310,  3475,   524,   525,
   16924             :      526,   527,   528,   529,   530,   531,   532,   158,   120,   293,
   16925             :      473,   158,   158,   225,   226,   158,   484,   293,  4677,   310,
   16926             :      260,   293,   293,  3889,  3890,  3891,    38,   172,  3523,    38,
   16927             :     4872,   244,  2675,   392,   158,   158,  3531,   473,   158,  4666,
   16928             :     3906,   253,  4669,   536,   536,  3523,   536,   302,   158,  3527,
   16929             :      448,   178,   473,  3531,  3920,   489,   277,   536,   297,   277,
   16930             :       13,   448,   187,   195,   537,   321,   450,   195,   408,   513,
   16931             :      534,  4698,  3938,  3939,  3940,   540,   536,   536,  3944,   536,
   16932             :      197,  4787,   537,   513,   296,   202,   540,   537,   537,   537,
   16933             :     3956,   537,   394,   275,  5111,   537,   490,   406,   473,  5508,
   16934             :      312,   241,   221,  5492,   311,  4573,  4574,   540,   225,   226,
   16935             :     2792,    38,   540,  2795,   319,  2797,  2798,   473,    59,   537,
   16936             :      390,   484,  4671,  4672,  4673,  4674,  4675,   536,  4773,   298,
   16937             :      298,   298,  4855,   448,   172,   448,   253,   536,   448,  3956,
   16938             :      298,    48,   241,   412,   310,   310,  4012,   241,   536,   293,
   16939             :      298,   252,   252,   385,   252,   271,   310,   128,   448,   438,
   16940             :     4026,  4027,   540,   202,   196,   368,   540,   357,   310,   310,
   16941             :      403,  4037,   493,   400,  3952,   515,   310,   316,  5587,   296,
   16942             :      448,   448,   537,    38,  4050,   225,   473,   527,   528,   529,
   16943             :      530,   531,   532,   244,   526,   312,   408,   352,   315,  4203,
   16944             :      473,   158,   304,  4069,   172,    38,   436,   485,   174,   536,
   16945             :     3988,   400,  4078,   158,   536,   158,   158,   353,   304,   493,
   16946             :     4037,   473,   293,    38,   293,   310,  4092,    27,   310,   244,
   16947             :     4096,  4097,  4098,   193,   304,   193,  5071,  4103,   172,    38,
   16948             :     4106,   173,   244,  4109,   400,   310,   172,  5650,   293,  4115,
   16949             :      202,  4117,   202,   202,  4120,   202,   202,   540,    62,  4125,
   16950             :     4126,  4127,  4128,   538,    59,  4131,  4132,  4133,  4134,  4135,
   16951             :     4136,  4137,  4138,  4139,  4140,  4902,   540,   497,  4144,  4145,
   16952             :     4146,   540,   178,   540,   448,   536,   274,  4946,  4154,   310,
   16953             :      540,   408,   493,  4159,    98,  4201,   302,  4163,   178,   514,
   16954             :      316,   478,   537,   515,   376,  4171,   537,   536,  4174,   322,
   16955             :     4176,   537,   524,   525,   526,   527,   528,   529,   530,   531,
   16956             :      532,   135,   332,   537,   178,   513,  4192,   537,   292,  4195,
   16957             :     4196,   540,  4959,  4960,  4200,  4201,   267,   490,   537,  4205,
   16958             :      540,  4207,  4208,   540,   537,   537,  5755,  4406,   535,   540,
   16959             :     4216,  4217,  4218,   537,   537,  4858,   537,   537,   162,   537,
   16960             :     4211,  4212,  4213,  4214,  6189,  6190,   540,  1484,  6193,   448,
   16961             :     4236,  4237,  4238,  4239,  4240,  4434,  4242,  4243,   537,   536,
   16962             :     4246,   178,   187,  4228,  4250,   537,    23,   536,  4254,  4228,
   16963             :      540,    28,   262,   471,  4260,   199,   479,   490,   515,   310,
   16964             :      526,   536,   517,   536,   535,    59,   536,   524,   525,   526,
   16965             :      527,   528,   529,   530,   531,   532,   537,  3099,   536,   516,
   16966             :      310,  4287,   536,   310,   541,   313,  5053,  5054,  4228,  4228,
   16967             :      158,   448,   215,   298,   448,   161,  4302,  4228,  4304,   158,
   16968             :      448,   448,    79,    80,   293,   249,   536,   536,   207,  4917,
   16969             :     4228,   423,   536,   209,   158,   403,  3099,   395,   158,    96,
   16970             :     5869,   252,   395,   207,   161,   395,   310,   526,   448,   473,
   16971             :      161,   390,   490,   254,  3952,   333,   333,   114,   470,   161,
   16972             :      420,  5030,  5031,   448,  5033,   289,   448,   448,   264,   293,
   16973             :      264,   264,   448,  4359,  4360,  4361,   390,  4363,  5091,  5283,
   16974             :     4366,   138,  4368,   128,   448,   390,   390,   390,   293,  5784,
   16975             :     3988,   448,   448,   448,   403,   152,   158,    47,    47,   448,
   16976             :      448,  4387,   326,   327,   161,   448,   448,   448,   448,   225,
   16977             :      225,   190,   537,  5317,   537,   535,   537,   174,   537,   314,
   16978             :      537,   458,   540,   180,     3,   172,    48,   113,   537,   540,
   16979             :      172,   536,    38,  5021,   537,   158,   448,  5184,   158,   526,
   16980             :     5187,  5188,   172,   304,   368,  4624,   190,  5976,   372,  3251,
   16981             :      207,   473,  3254,   377,  3256,  3257,  4442,   536,   473,   158,
   16982             :     5207,   390,   386,   390,   390,   540,   156,   390,   390,   400,
   16983             :      225,   395,   156,   225,   225,   225,   225,   225,   147,   403,
   16984             :      466,   310,   225,   229,   225,   225,   466,   310,   245,   534,
   16985             :       59,   310,   416,   537,    13,   322,   310,   484,   178,   537,
   16986             :      292,   425,   535,   537,  4448,   540,   430,   537,   537,   537,
   16987             :      267,  4497,   537,  6109,   540,  4459,   537,   537,   536,   228,
   16988             :      537,   320,   228,   536,   437,   536,   317,    59,   191,   445,
   16989             :      536,  5119,   376,   478,    90,   172,    38,   458,   448,   244,
   16990             :      473,   473,   215,    59,  4530,   158,  5322,   438,    86,   420,
   16991             :      182,   458,   395,   161,   390,   473,   448,   390,  4544,   448,
   16992             :     4546,   448,   448,   448,   488,   537,   537,   537,  4554,   536,
   16993             :      368,   536,    59,   438,  4560,   479,   172,   310,    78,   493,
   16994             :      158,  5687,   113,  5689,  5440,  4571,   458,   537,   536,   225,
   16995             :      225,   225,   349,   350,   225,   241,   353,   536,   210,   536,
   16996             :     4586,   448,   310,  4201,   540,  4591,  4592,   497,    38,   537,
   16997             :      331,   307,   310,  4599,    72,  6144,     3,   458,    44,   400,
   16998             :       78,   184,  4608,   380,   185,   113,   383,   536,   540,   537,
   16999             :     4228,  5300,  4618,   390,    92,  4250,   448,   536,   540,  4254,
   17000             :      397,   178,  5311,   400,  4630,  4631,   145,   242,   225,   537,
   17001             :      242,   298,  4250,   537,    10,  4641,  4254,    13,   298,   537,
   17002             :      298,   178,   120,   420,   122,   298,  4652,  4653,   537,   537,
   17003             :     3472,   428,   331,  3475,    59,   537,   536,   540,   435,  4858,
   17004             :      322,   438,   491,   491,  4670,  5469,   443,   537,   537,    45,
   17005             :      148,   492,   228,   304,   536,   540,    52,   493,  5835,   536,
   17006             :      526,   458,  5698,   303,   458,   178,   445,   493,   209,  3472,
   17007             :      448,    78,  3475,   196,   196,    38,   298,    38,   540,  4617,
   17008             :      526,  3523,    78,   298,   182,  4711,    59,   438,   485,  3531,
   17009             :     6259,   448,    72,   540,   448,   540,  6265,   158,   448,    62,
   17010             :     5363,  4727,   161,   537,  4359,   448,   225,   536,  5885,     6,
   17011             :      127,   180,   120,   211,    38,   289,   202,   304,   536,  4745,
   17012             :     3523,     0,    38,   293,   174,   304,   473,   493,  3531,    59,
   17013             :      400,   400,    84,   438,   493,    98,    38,   178,  5401,   172,
   17014             :      536,   310,   540,   363,   212,   313,   223,  4773,   178,   478,
   17015             :     4776,   417,    59,    38,    51,  5932,  5933,    92,  4784,  4785,
   17016             :     5565,   537,  5390,   537,   536,  4791,  4792,   393,   537,   537,
   17017             :     4796,    81,   536,   310,  5579,  4801,   136,   203,  4804,  4805,
   17018             :      536,   448,   537,   536,   322,  4811,    38,   158,   158,  4815,
   17019             :     4816,  4817,  4818,  2070,  2071,   293,  5601,   537,   448,   162,
   17020             :      298,   197,   537,  5608,   537,   537,   202,  4833,  2085,   536,
   17021             :     4836,   536,    38,   536,  4840,   536,   172,  2094,   536,  4845,
   17022             :       99,  6390,  4848,  4849,   536,  4851,   536,  4853,   209,   473,
   17023             :     4856,   298,  4858,   265,   536,   536,   199,   537,   400,   158,
   17024             :      113,    38,   537,   314,   178,  4871,   458,   172,   346,  4875,
   17025             :     5637,  4877,   415,   537,   415,   540,    38,   253,     0,    10,
   17026             :      206,  4893,    13,   310,   362,   112,    38,  4893,   478,   537,
   17027             :       35,   438,   537,   536,   153,   536,   536,  5682,  5683,  5698,
   17028             :      536,   244,   540,   540,   362,   473,   249,   166,  5924,  5598,
   17029             :      195,   536,   172,   172,    45,  4921,  4922,   536,   207,   178,
   17030             :      197,    52,   438,   537,   310,   184,  5693,     6,   187,   206,
   17031             :      207,  4937,   191,  5809,   165,   497,   312,   214,    72,   216,
   17032             :      217,   386,   536,   386,   313,  6102,    72,    78,   539,   136,
   17033             :      293,  4869,  4870,   230,   477,   493,  4591,  4592,   493,   141,
   17034             :      489,   150,   221,   310,   537,  5941,   478,   537,   169,  5845,
   17035             :      169,   540,   536,  4591,   332,   536,  4940,    99,    38,   403,
   17036             :      266,   444,   444,   178,   327,   438,   298,  4951,   466,   310,
   17037             :      310,   536,   400,    10,   438,   254,    13,  5003,    38,  4617,
   17038             :       38,   203,  5691,   536,  5010,   313,   313,   180,   180,   536,
   17039             :      157,   497,   497,   355,   385,   154,   355,    59,    59,    81,
   17040             :      151,   369,  5684,   317,  6181,  6182,  5032,    38,    45,   372,
   17041             :       59,   153,   408,   537,   377,    52,  5698,    59,   536,   448,
   17042             :     5807,  5047,   125,   386,   166,  5921,   471,   306,   537,     6,
   17043             :      172,   310,   395,   536,   400,   141,   178,   316,   310,   497,
   17044             :      403,    78,   184,   497,  6221,   187,   197,   310,  5853,   191,
   17045             :     5855,   202,  5078,   416,    35,   298,   537,   536,   294,   403,
   17046             :      536,   294,   425,    24,   536,   385,   540,   430,   389,  5095,
   17047             :      310,   389,   385,   318,    81,   479,  5102,   178,   540,   221,
   17048             :      536,   536,   150,   448,   426,  5111,    10,   426,   451,    13,
   17049             :      478,   540,   157,   415,   537,     6,   120,   376,   415,   317,
   17050             :     5126,   493,   253,   479,   334,   180,   493,   180,    81,   473,
   17051             :      932,  5518,   254,  5139,   151,  5141,   537,   536,   536,   515,
   17052             :      478,    45,   537,   536,  1019,   488,  1018,  3435,    52,   492,
   17053             :     2974,   527,   528,   529,   530,   531,   532,   972,  1715,  2883,
   17054             :     3650,  5167,  1410,  4405,  5363,  4380,  6093,  3001,  3055,  3869,
   17055             :     5443,  5921,  5178,  6233,    78,  4571,   435,  5492,  4378,  4378,
   17056             :      197,   312,  5080,  5468,   306,   202,  3637,  3575,   310,  5716,
   17057             :     5389,  4934,  5401,  6321,   316,  6222,  5362,  6322,  4833,  5951,
   17058             :     6259,  5950,  5401,  6113,  3643,  4840,   465,  5126,  5400,  4592,
   17059             :     4845,  4618,  4603,  4848,  4561,  5894,  3069,  6233,  3069,  4400,
   17060             :     5138,  3675,  4840,  3917,  1014,  5231,  4587,  4845,  5120,  5475,
   17061             :     4848,   490,  3961,   492,   493,  5241,   253,  4654,  5244,  6347,
   17062             :     5796,  5247,  5248,  5249,  5887,  6483,  6458,   151,  5459,  3877,
   17063             :     4626,  4869,  4870,  5445,   376,   514,  6125,  5403,  5669,  5406,
   17064             :       18,    28,  5924,   667,  1236,  5635,  5272,  5273,  4026,  4682,
   17065             :     5276,  4685,  6343,  1875,  3085,   534,  4629,   408,   537,   538,
   17066             :      539,  3553,  2740,  5518,  3972,  1919,  5784,  5293,   719,  1916,
   17067             :     3809,  5297,   752,   197,  4433,   312,  3000,  5303,   202,  1930,
   17068             :     3726,  5307,  6151,  6394,  4658,  5311,   861,  6317,  5314,  1529,
   17069             :     5316,  4660,  4871,   435,  6059,  3031,  5322,  1828,  4302,  2682,
   17070             :     5630,  5633,  5328,  1426,    40,  5331,    40,  4727,  1954,  3494,
   17071             :     3509,  1387,  6052,  2692,  5857,  3475,  1487,  4256,  4238,  3472,
   17072             :     5308,  4303,  5587,   465,  5586,  3472,  6371,  6046,  5844,   253,
   17073             :     1486,  6194,  3472,  6410,  1489,  5563,  5362,  5363,  5364,  4163,
   17074             :     5366,  2590,  5368,  5858,  1443,  3412,    38,  5859,   490,  2591,
   17075             :      492,   493,  2087,  3394,  3030,  3267,  3392,  5808,  6412,  3382,
   17076             :     3303,  4095,  2596,  2680,   515,    -1,   920,    -1,   665,    -1,
   17077             :       62,   408,   514,    -1,  5400,  5401,   527,   528,   529,   530,
   17078             :      531,   532,    -1,    -1,    -1,  6437,    -1,   684,   312,    -1,
   17079             :       -1,    -1,   534,   690,    -1,   537,   538,   539,    -1,    -1,
   17080             :       -1,    -1,    -1,    -1,    -1,   702,    98,    -1,  4250,    -1,
   17081             :       -1,  6093,  4254,    -1,    -1,  2692,    -1,    -1,    -1,  5445,
   17082             :       -1,   718,  5320,    -1,    -1,    -1,   723,    -1,  6215,    -1,
   17083             :       -1,   728,    -1,  5459,    -1,   732,   733,    -1,  5464,    -1,
   17084             :       -1,    -1,   739,  5469,   741,   742,    -1,  4250,    -1,    -1,
   17085             :       -1,  4254,  5478,    -1,    -1,    -1,    -1,   754,   755,    -1,
   17086             :       -1,    -1,  5488,    -1,    -1,    -1,  5492,    -1,   765,  5495,
   17087             :      162,  5126,    -1,    -1,    -1,    -1,    -1,    -1,   515,    -1,
   17088             :     5506,  5507,  5508,    -1,   408,    -1,    -1,    -1,    -1,    -1,
   17089             :      527,   528,   529,   530,   531,   532,    -1,    -1,    -1,  5518,
   17090             :     5138,  6397,  5518,  5518,  5518,  5518,  5518,   199,    -1,  5518,
   17091             :       -1,  5518,    -1,  5518,  5518,  6459,  5542,  4359,  5518,  5518,
   17092             :       -1,   818,  6327,    -1,    -1,  5518,    -1,    -1,    -1,  5518,
   17093             :     5507,  5518,    -1,  5559,    -1,  5473,    -1,  5563,    -1,  5565,
   17094             :       -1,    -1,  5608,   840,   841,    -1,    -1,    -1,    -1,   846,
   17095             :       -1,  6233,   244,  5579,    -1,    -1,  4359,   249,  5518,  5518,
   17096             :       -1,  5587,  6458,    -1,  5590,    -1,  5504,  5518,  5594,    -1,
   17097             :       -1,  6376,    -1,    -1,   871,  5601,   873,  6330,  6331,    -1,
   17098             :     5518,    -1,  5608,    -1,    -1,    -1,    -1,  6483,    -1,    -1,
   17099             :       -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17100             :      897,   293,    -1,   527,   528,   529,   530,   531,   532,    -1,
   17101             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17102             :       -1,    -1,    -1,   920,    -1,  5651,    -1,    -1,    -1,    -1,
   17103             :       -1,    -1,    -1,    25,  5660,   327,   933,    -1,    -1,    31,
   17104             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17105             :     5676,    -1,  5307,    -1,    46,    -1,  5682,  5683,    -1,    -1,
   17106             :       -1,  5687,  5688,  5689,  5690,    -1,    -1,    -1,  5887,  5307,
   17107             :       -1,    -1,    -1,  5328,    -1,    -1,    -1,    -1,    -1,    -1,
   17108             :      372,    -1,    -1,    -1,    76,   377,    -1,    -1,    -1,    -1,
   17109             :       -1,    -1,  5718,    -1,   386,    -1,    -1,    -1,    -1,    -1,
   17110             :       -1,  5727,    -1,   395,    -1,    -1,    -1,  5362,    -1,    -1,
   17111             :       -1,   403,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17112             :       -1,    -1,    -1,    -1,   416,    -1,  5752,    -1,    -1,  5755,
   17113             :       -1,    -1,    -1,   425,    -1,    -1,    -1,    -1,   430,   131,
   17114             :       -1,   133,    -1,    -1,  1041,  1042,  1043,    -1,   140,  4591,
   17115             :     4592,    -1,   144,  1050,  5780,    -1,    -1,    -1,  1055,   451,
   17116             :       -1,    -1,    -1,  1060,  1061,    -1,    -1,    -1,  1065,    -1,
   17117             :     1067,    -1,    -1,    -1,  1071,    -1,    -1,    -1,    -1,    -1,
   17118             :       -1,   173,  5808,    -1,    -1,    -1,    -1,    -1,  4591,  4592,
   17119             :     1087,    -1,    -1,    -1,  5820,    -1,   488,    -1,    -1,    -1,
   17120             :      492,    -1,    -1,  5829,  5830,  5831,    -1,    -1,    -1,  5835,
   17121             :       -1,    -1,    -1,    -1,    -1,  5841,    -1,   209,  5844,  5757,
   17122             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5853,    -1,  5855,
   17123             :       -1,  5857,  5858,    -1,  1131,  5473,  1133,  1134,    -1,    -1,
   17124             :       -1,    -1,    -1,  5869,    -1,    -1,    -1,    -1,    -1,    -1,
   17125             :     5876,    -1,    -1,  5508,    -1,    -1,    -1,    -1,    -1,  5885,
   17126             :       -1,  5887,    -1,    -1,    -1,  5891,  5504,    -1,    -1,    -1,
   17127             :     5896,  6083,    -1,    -1,    -1,    -1,    -1,  1174,    -1,    -1,
   17128             :     5518,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17129             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   289,    -1,    -1,
   17130             :       -1,   293,    -1,    -1,    -1,  1202,  5932,  5933,    -1,    -1,
   17131             :       -1,    -1,   304,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17132             :       -1,    -1,   314,    -1,    -1,    -1,    -1,    -1,  5866,    -1,
   17133             :       -1,    -1,  5587,    -1,   326,    -1,  5962,    -1,  1235,    -1,
   17134             :     6152,  6153,    -1,    -1,    -1,    -1,    -1,  1244,    -1,  1246,
   17135             :     5976,    25,    -1,    -1,    -1,    -1,    -1,    31,    -1,    -1,
   17136             :       -1,    -1,    -1,    -1,    -1,    -1,  1263,    -1,    -1,    -1,
   17137             :     5608,  1268,    46,    -1,    -1,    -1,   368,    -1,    -1,   371,
   17138             :      372,    -1,    -1,  1280,    -1,    -1,    -1,    -1,    -1,    -1,
   17139             :       -1,  4833,    -1,    -1,    -1,    -1,    -1,    -1,  4840,    -1,
   17140             :       -1,  6027,    76,  4845,    -1,    -1,  4848,  4849,    -1,    -1,
   17141             :       -1,   403,    -1,    -1,    -1,    -1,  6042,    -1,    -1,    -1,
   17142             :     6046,    -1,    -1,    -1,    -1,  1322,  6052,    -1,    -1,    -1,
   17143             :     4833,    -1,    -1,    -1,  6060,    -1,    -1,  4840,  6064,    -1,
   17144             :       -1,    -1,  4845,  3320,  3321,  4848,    -1,    -1,  3325,    -1,
   17145             :       -1,    -1,    -1,    -1,  1351,  1352,  1353,  6083,  1355,   133,
   17146             :       -1,    -1,    -1,    -1,    -1,    -1,   140,    -1,    -1,  6095,
   17147             :      144,    -1,    -1,    -1,    -1,    -1,  6102,    -1,    -1,  1376,
   17148             :       -1,    -1,    -1,    -1,   476,    -1,    -1,    -1,    -1,  3366,
   17149             :     3367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   173,
   17150             :     5755,  6127,    -1,    -1,  1401,    -1,    -1,    -1,  6134,    -1,
   17151             :       -1,    -1,  1409,  1410,    -1,    -1,    -1,  5755,  6144,  5757,
   17152             :       -1,    -1,    -1,    -1,    -1,    -1,  6152,  6153,  6154,    -1,
   17153             :       -1,    -1,  6158,    -1,    -1,   209,  1433,    -1,    -1,    -1,
   17154             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17155             :       -1,    -1,  6151,    -1,    -1,  6181,  6182,  6183,    -1,    -1,
   17156             :       -1,    -1,    -1,  6189,  6190,  1462,    -1,  6193,    -1,    -1,
   17157             :     6196,    -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,    13,
   17158             :       -1,    -1,  1479,    17,    18,    19,  1483,  1484,  6126,    -1,
   17159             :       -1,  6151,  6151,    -1,    -1,  6221,    -1,    -1,    -1,    -1,
   17160             :     6151,  6227,  1499,  6269,    -1,    -1,    -1,    -1,  1505,    -1,
   17161             :       -1,    45,    -1,  6151,  5869,   289,    -1,    -1,    52,   293,
   17162             :       -1,    -1,    62,    -1,    -1,    -1,    -1,    -1,  5866,    -1,
   17163             :      304,    -1,    -1,  6259,  6260,  6261,    -1,    -1,    -1,  6265,
   17164             :      314,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,    -1,
   17165             :       -1,    -1,   326,  5095,    -1,    -1,    -1,  6283,    98,  6471,
   17166             :     6472,    -1,    -1,    -1,  6290,    -1,    -1,    -1,    -1,    -1,
   17167             :     6269,    -1,  6298,    -1,    -1,  1572,    -1,    -1,    -1,    -1,
   17168             :     6306,    -1,    -1,    -1,  5126,    -1,  6312,    -1,    -1,    22,
   17169             :       -1,  6317,    -1,    -1,   368,    28,    -1,   371,   372,    -1,
   17170             :       -1,  6327,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  6269,
   17171             :     6269,    -1,    -1,    -1,    -1,    -1,  1613,    -1,  6269,    -1,
   17172             :       -1,  5976,   162,  5126,    -1,    10,    -1,    -1,    13,   403,
   17173             :       -1,  6269,    17,    18,    19,    -1,    -1,  6363,  6364,  6365,
   17174             :     6366,    -1,    -1,    -1,    -1,  6371,    -1,    -1,    -1,  1646,
   17175             :     6376,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   199,
   17176             :       45,  6387,    -1,   197,  6390,    -1,    -1,    52,   202,    -1,
   17177             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17178             :       -1,    -1,    -1,    -1,  6410,    -1,    -1,    -1,    -1,    -1,
   17179             :       -1,   225,   226,    78,    -1,  6394,    -1,    -1,    -1,    -1,
   17180             :       -1,    -1,   476,    -1,    -1,    -1,    -1,    -1,    -1,   249,
   17181             :       -1,  6437,  6438,    -1,    -1,    -1,  1713,    -1,    -1,   253,
   17182             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  6454,    -1,
   17183             :        0,  1728,  1729,  1730,  6394,  6394,    -1,    -1,    -1,    -1,
   17184             :       -1,    -1,    -1,  6394,    -1,  6471,  6472,    -1,    -1,  6475,
   17185             :       -1,  6477,    -1,   293,    -1,    -1,  6394,    -1,    -1,    -1,
   17186             :       -1,    -1,   296,    -1,    -1,  5307,    -1,    -1,  6494,    -1,
   17187             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   312,    -1,
   17188             :       -1,    -1,    -1,    -1,    -1,    -1,  5328,   327,  6126,  6144,
   17189             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17190             :       -1,   207,    -1,    -1,  5307,    -1,    -1,    -1,    -1,    -1,
   17191             :      216,    -1,   197,  6151,    -1,    -1,    -1,   202,    -1,    -1,
   17192             :     5362,    -1,    -1,    -1,   230,  5328,    -1,    -1,    -1,    99,
   17193             :       -1,  1828,   372,    -1,   374,    -1,    -1,   377,    -1,    -1,
   17194             :      225,   226,    -1,  1840,    -1,    -1,   386,    -1,    -1,    -1,
   17195             :       -1,    -1,    17,    -1,  1851,   395,    -1,    -1,  5400,  5362,
   17196             :       -1,    26,    -1,   403,    -1,    -1,  1863,    -1,   253,    -1,
   17197             :     1867,    -1,    -1,    -1,   408,    -1,   416,    -1,    -1,    -1,
   17198             :       -1,    -1,    -1,   153,    -1,   425,    -1,    -1,    -1,  1886,
   17199             :      430,    -1,    -1,    -1,    -1,    -1,   166,  1894,    -1,    -1,
   17200             :       -1,    -1,   172,  5445,  6259,  1902,    -1,    -1,   178,    -1,
   17201             :     6265,   296,    -1,    -1,   184,    -1,    -1,   187,    -1,    -1,
   17202             :       -1,   191,    -1,    -1,  1921,    -1,    -1,   312,    -1,    -1,
   17203             :       -1,  6269,    -1,  1930,    -1,    -1,  1933,    -1,    -1,  1936,
   17204             :       -1,    -1,  1939,  1940,    -1,    -1,  1943,  1944,   488,  1946,
   17205             :     1947,   221,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17206             :       -1,  1958,    -1,  1960,  1961,    -1,  5508,    -1,    -1,    -1,
   17207             :       -1,    -1,    -1,  1970,  1971,    -1,  1973,  1974,    -1,    -1,
   17208             :       -1,   515,    -1,    -1,   254,    -1,    -1,    -1,    -1,    -1,
   17209             :      524,   525,   526,   527,   528,   529,   530,   531,   532,    -1,
   17210             :       -1,    -1,    -1,    -1,    -1,  5508,    -1,    -1,    -1,    -1,
   17211             :       -1,    -1,    -1,    -1,  2011,    -1,    -1,    -1,  2015,  2016,
   17212             :       -1,    -1,    -1,   408,    -1,    -1,    -1,    -1,    -1,    -1,
   17213             :       -1,    -1,    -1,    -1,    -1,  6390,   306,    -1,    -1,    -1,
   17214             :      310,    -1,    -1,    -1,    -1,  5587,   316,    -1,    -1,    -1,
   17215             :       -1,    -1,    -1,  2050,    -1,  2052,  6394,    -1,    -1,    -1,
   17216             :     2057,  2058,    -1,    -1,    -1,    -1,    -1,  2064,  2065,  2066,
   17217             :     2067,  2068,  2069,  2070,  2071,  2072,  2073,  2074,  2075,  2076,
   17218             :       -1,    -1,    -1,  2080,  5587,  2082,    -1,  2084,  2085,  2086,
   17219             :     2087,  2088,  2089,    -1,    -1,  2092,    -1,  2094,  2095,    -1,
   17220             :       -1,  2098,    -1,    -1,    -1,    -1,   376,    -1,    -1,    -1,
   17221             :       -1,    -1,    -1,    -1,    -1,  2112,  2113,  2114,  2115,    -1,
   17222             :       -1,    -1,    25,    -1,    -1,    -1,  4103,    -1,    31,    -1,
   17223             :      515,    -1,    -1,    -1,  2131,    -1,  2133,    -1,    -1,   524,
   17224             :      525,   526,   527,   528,   529,   530,   531,   532,  4125,  4126,
   17225             :     4127,  4128,    -1,    -1,  4131,  4132,  4133,  4134,  4135,  4136,
   17226             :     4137,  4138,  4139,  4140,    38,   435,    -1,    -1,    -1,    -1,
   17227             :       -1,    -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,    -1,
   17228             :       -1,    -1,  4159,    -1,    -1,  5727,    60,    -1,    -1,    -1,
   17229             :       -1,    -1,    -1,    -1,    -1,   465,    -1,    -1,    -1,    -1,
   17230             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17231             :       -1,    -1,    86,  5755,    -1,    -1,    -1,    -1,  4195,  4196,
   17232             :      490,    -1,   492,   493,    -1,    -1,    -1,    -1,    -1,    -1,
   17233             :      133,    -1,    -1,    -1,    -1,    -1,    -1,   140,   112,   113,
   17234             :       -1,   144,    -1,    -1,   514,    -1,   120,    -1,    -1,    -1,
   17235             :       -1,    -1,  5755,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17236             :       -1,    -1,    -1,    -1,   534,  4242,    -1,   537,   538,   539,
   17237             :      173,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   684,    -1,
   17238             :       -1,    -1,  2279,    -1,   690,    -1,   160,    -1,    -1,    -1,
   17239             :       -1,    10,    -1,    -1,    13,    -1,   702,    -1,    17,    18,
   17240             :       19,    -1,    -1,    -1,    -1,    -1,   209,    -1,   182,    -1,
   17241             :       -1,    -1,    -1,    -1,    -1,    -1,    35,    -1,    -1,    -1,
   17242             :       -1,    -1,    -1,    -1,    -1,    -1,    45,  5869,    -1,    -1,
   17243             :       -1,   205,    -1,    52,    -1,    -1,  2333,    -1,    -1,    -1,
   17244             :       -1,    25,    -1,    -1,    -1,    -1,   779,    31,   781,    -1,
   17245             :      783,    -1,    -1,    -1,    -1,    -1,   789,   790,   791,    78,
   17246             :       -1,    -1,    46,    -1,    -1,    -1,  5869,    -1,    -1,    -1,
   17247             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17248             :       -1,    -1,    -1,    -1,    -1,    -1,   289,    -1,    -1,   263,
   17249             :      293,    -1,    76,  2390,   268,    -1,    -1,    -1,    -1,   273,
   17250             :       -1,   304,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17251             :       -1,   314,    -1,    -1,    -1,   289,    -1,    -1,    -1,   293,
   17252             :       -1,    -1,    -1,   326,    -1,    -1,    -1,    -1,    -1,    -1,
   17253             :       -1,    -1,    -1,    -1,  5976,    -1,    -1,    -1,    -1,    -1,
   17254             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,    -1,   133,
   17255             :       -1,   325,    -1,    -1,    -1,    -1,   140,    -1,    -1,    -1,
   17256             :      144,    -1,    -1,    -1,    -1,   368,    -1,    -1,   371,   372,
   17257             :       -1,    -1,    -1,  5976,    -1,    51,    -1,    -1,   197,    -1,
   17258             :       -1,    -1,    -1,   202,    -1,    -1,    -1,    -1,    -1,   173,
   17259             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   373,
   17260             :      403,    -1,    -1,   668,    -1,    -1,   225,   226,    -1,    -1,
   17261             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17262             :       -1,    -1,    -1,   397,    -1,   209,    -1,    -1,    -1,    -1,
   17263             :       -1,    -1,    -1,    -1,   253,    -1,    -1,    -1,    -1,    -1,
   17264             :       -1,  6083,    -1,    -1,   418,    -1,   420,   980,    -1,   423,
   17265             :       -1,    -1,    -1,   718,   719,    -1,    -1,    -1,    -1,    -1,
   17266             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4546,
   17267             :       -1,    -1,    -1,   476,    -1,    -1,    -1,   296,  2575,  2576,
   17268             :     2577,  2578,  2579,  2580,  2581,  2582,  2583,    -1,  2585,    -1,
   17269             :       -1,    -1,    -1,   312,    -1,   469,   315,    -1,    -1,  2596,
   17270             :       -1,  2598,  6144,    -1,    -1,   289,    -1,    -1,    -1,   293,
   17271             :     6152,  6153,    -1,    -1,    -1,    -1,    -1,  1050,    -1,    -1,
   17272             :      304,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17273             :      314,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2636,
   17274             :       -1,  6144,   326,  2640,    -1,    -1,  2643,    -1,  2645,   814,
   17275             :       -1,  2648,    -1,    -1,    -1,  2652,    -1,    -1,    -1,    -1,
   17276             :       -1,    -1,   536,    -1,    -1,    -1,    -1,    -1,    -1,   834,
   17277             :       -1,    -1,    -1,    -1,    -1,    -1,  2673,   842,  2675,    -1,
   17278             :      845,   846,   847,    -1,   368,    -1,    -1,   371,   372,   408,
   17279             :       -1,    -1,    -1,    -1,    -1,  2692,    -1,    -1,    -1,    -1,
   17280             :       -1,    -1,    -1,    -1,  2701,  2702,    -1,    -1,    -1,    -1,
   17281             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  6259,    -1,   403,
   17282             :       -1,    -1,    -1,  6265,    -1,    -1,    -1,    -1,    -1,    -1,
   17283             :       -1,  2728,    -1,    -1,    -1,    -1,    -1,    -1,  2735,    -1,
   17284             :       -1,  6283,  2739,  2740,    -1,    -1,    -1,    -1,    -1,  2746,
   17285             :       -1,    -1,    -1,  2750,    -1,    -1,  6259,  2754,    -1,    -1,
   17286             :       -1,    -1,  6265,    -1,    -1,    -1,  2763,    -1,    -1,    -1,
   17287             :       -1,    -1,    -1,    -1,    -1,    -1,    25,    -1,    -1,    -1,
   17288             :       -1,  2778,    31,    -1,  2781,    -1,    -1,    -1,    -1,    -1,
   17289             :       -1,    -1,   476,    -1,    -1,  2792,   515,  2794,  2795,  4776,
   17290             :     2797,  2798,    -1,  2800,    -1,   524,   525,   526,   527,   528,
   17291             :      529,   530,   531,   532,    -1,  2812,    -1,    -1,   537,    -1,
   17292             :       -1,   540,    -1,  6365,    -1,    -1,    -1,    76,    -1,    -1,
   17293             :       -1,    -1,    -1,    -1,    -1,  2832,  2833,    -1,    -1,    -1,
   17294             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  6390,    -1,
   17295             :       -1,  2848,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17296             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17297             :       -1,    -1,    -1,  2870,  2871,    -1,    -1,  2874,    -1,    -1,
   17298             :       -1,    -1,    -1,    -1,   133,  1050,    -1,  6390,    -1,    -1,
   17299             :       -1,   140,    -1,    -1,    -1,   144,  6438,    -1,    -1,    -1,
   17300             :       -1,  2898,    -1,  2900,    -1,    -1,    -1,  2904,    -1,    -1,
   17301             :       -1,    -1,  6454,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17302             :       -1,  2918,    -1,    -1,   173,    -1,    -1,    -1,  2925,  6471,
   17303             :     6472,  2928,    -1,    -1,    25,    -1,    -1,  2934,    -1,    -1,
   17304             :       31,    -1,    -1,    -1,    10,    -1,    -1,    13,    -1,    -1,
   17305             :       -1,    17,    18,    19,    -1,    -1,    -1,  2954,    -1,    -1,
   17306             :      209,    -1,    -1,  2960,    -1,    -1,    -1,    -1,    -1,    35,
   17307             :     2967,  1404,    -1,    -1,    -1,    -1,  1409,  1410,    -1,    45,
   17308             :       -1,    -1,    -1,    -1,  2981,    76,    52,    -1,    -1,    -1,
   17309             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2995,    -1,
   17310             :       -1,    -1,    -1,  3000,  1437,    -1,    -1,    -1,    -1,  3006,
   17311             :       -1,    -1,    78,  1446,    -1,  1448,    -1,    -1,    -1,  1452,
   17312             :       -1,    -1,    -1,    -1,    -1,    -1,  1459,  3024,  3025,  3026,
   17313             :       -1,    -1,    -1,  3030,    -1,    -1,    -1,    -1,    -1,    -1,
   17314             :      289,    -1,   133,    -1,   293,    -1,    -1,    -1,    -1,   140,
   17315             :       -1,    -1,    -1,   144,    -1,   304,    -1,    -1,    -1,    -1,
   17316             :     3057,  3058,    -1,    -1,    -1,   314,    -1,    -1,    -1,  3066,
   17317             :       -1,    -1,    -1,    -1,    -1,    -1,  1241,   326,    -1,    -1,
   17318             :       -1,    -1,   173,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17319             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17320             :       -1,    -1,  3099,  1268,    -1,    -1,    -1,    -1,    -1,    -1,
   17321             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1550,   209,   368,
   17322             :       -1,    -1,   371,   372,    -1,    -1,    -1,  1560,    -1,    -1,
   17323             :       -1,   197,    -1,    -1,  3131,    -1,   202,    -1,  3135,    -1,
   17324             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17325             :       -1,    -1,   728,    -1,   403,    -1,    -1,    -1,    -1,   225,
   17326             :      226,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17327             :       -1,  1604,  1605,    -1,    -1,    -1,    -1,    -1,   754,    -1,
   17328             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   253,    -1,    -1,
   17329             :       -1,    -1,  1357,    -1,    -1,    -1,    -1,    -1,   289,    -1,
   17330             :       -1,  1366,   293,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17331             :       -1,    -1,    -1,   304,  1647,    -1,    -1,  1382,  1651,  1652,
   17332             :       -1,    -1,    -1,   314,  3221,    -1,  3223,   476,    -1,    -1,
   17333             :      296,    -1,    -1,    -1,    -1,   326,  1401,    -1,    -1,  1404,
   17334             :     1405,  3238,    -1,  3240,  1409,  1410,   312,    -1,    -1,   315,
   17335             :     3247,    -1,    -1,    -1,  3251,    -1,  3253,  3254,    -1,  3256,
   17336             :     3257,  3258,    -1,    -1,    -1,    -1,    -1,  5244,    -1,  3266,
   17337             :       -1,    -1,    -1,    -1,  3271,    -1,    -1,   368,    -1,    -1,
   17338             :      371,   372,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17339             :       -1,  3288,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17340             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1713,    -1,    -1,
   17341             :       -1,    -1,   403,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17342             :     5297,   897,    -1,  3320,  3321,  3322,    -1,    -1,  3325,    -1,
   17343             :       -1,    -1,    -1,    -1,    -1,    -1,  3333,  3334,  3335,  3336,
   17344             :       -1,    -1,   408,    -1,    -1,    -1,    -1,  3344,    -1,    -1,
   17345             :       -1,    -1,  3349,  3350,    -1,  3352,    -1,  3354,    -1,    -1,
   17346             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3366,
   17347             :     3367,    25,    -1,  3370,    -1,    -1,    -1,    31,    -1,    -1,
   17348             :       -1,    -1,    -1,    -1,    -1,   476,    -1,    -1,    -1,    -1,
   17349             :       -1,    25,    -1,    -1,  3391,    -1,  3393,    31,  3395,    -1,
   17350             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17351             :       -1,    -1,  1845,    -1,    -1,    -1,    -1,  3414,    -1,    -1,
   17352             :       -1,    25,    76,    -1,    -1,    -1,    -1,    31,    -1,    -1,
   17353             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3435,    -1,
   17354             :       -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,    -1,   515,
   17355             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   524,   525,
   17356             :      526,   527,   528,   529,   530,   531,   532,    -1,    -1,    -1,
   17357             :       -1,    -1,    76,    -1,   540,  3472,    -1,    -1,  3475,   133,
   17358             :     1886,    -1,    -1,    -1,  1060,    -1,   140,    -1,  1894,    -1,
   17359             :      144,    51,  3489,    -1,    -1,  1071,  1902,  3494,    -1,   133,
   17360             :       -1,  1666,    -1,    -1,    -1,    -1,   140,    -1,    -1,  1674,
   17361             :      144,  1087,  3509,    -1,    -1,    -1,    -1,    -1,    -1,   173,
   17362             :       -1,    -1,    -1,    -1,    -1,    -1,  3523,    -1,    -1,   133,
   17363             :       -1,    -1,    -1,    -1,  3531,    -1,   140,    -1,    -1,   173,
   17364             :      144,  1947,    -1,    -1,    -1,    -1,  3543,    -1,    -1,  3546,
   17365             :        0,  3548,    -1,    -1,    -1,   209,  3553,    -1,    -1,    -1,
   17366             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1974,   173,
   17367             :       20,  3568,  3569,    -1,    -1,   209,    -1,  3574,    -1,    -1,
   17368             :       -1,    31,  5559,    33,    34,    -1,    -1,    -1,    -1,    -1,
   17369             :       -1,    -1,  3589,    -1,    -1,  3592,    -1,    -1,  3595,    -1,
   17370             :       -1,    51,    -1,    -1,    -1,   209,  3603,    -1,    -1,    -1,
   17371             :       -1,    61,    -1,  5590,    -1,    -1,    -1,    -1,    -1,    -1,
   17372             :       -1,    -1,    -1,    73,    -1,    75,    76,  2060,  2061,    -1,
   17373             :       -1,  3628,    82,    -1,    84,   289,    -1,  3634,    -1,   293,
   17374             :       -1,    -1,    -1,    -1,  2077,  2078,    -1,    97,    -1,    99,
   17375             :      304,    -1,    -1,    -1,    -1,   289,    -1,    -1,    -1,   293,
   17376             :      314,    -1,    -1,    -1,    -1,    -1,   116,    -1,  1244,   119,
   17377             :      304,    -1,   326,    -1,    -1,  2108,    -1,  3674,  3675,  3676,
   17378             :      314,    -1,    -1,    -1,   134,   289,   136,    -1,    -1,   293,
   17379             :      140,    -1,   326,    -1,    -1,    -1,    -1,   147,    -1,    -1,
   17380             :      304,    -1,  3699,    -1,    -1,    -1,    -1,   157,    -1,   159,
   17381             :      314,  3708,    -1,  3710,   368,    -1,   166,   371,   372,    -1,
   17382             :       -1,  3718,   326,    -1,  1889,    -1,    -1,    -1,  1893,    -1,
   17383             :       -1,    -1,    -1,    -1,   184,    -1,    -1,   371,   372,    -1,
   17384             :       -1,    -1,    -1,  3740,    -1,    -1,    -1,    -1,    -1,   403,
   17385             :       -1,   201,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17386             :       -1,    -1,    -1,    -1,   368,    -1,    -1,   371,   372,   403,
   17387             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17388             :       -1,    -1,    10,    -1,    -1,    13,    -1,    -1,    -1,    17,
   17389             :       18,    19,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   403,
   17390             :       -1,    -1,    -1,    -1,    -1,   255,   256,    35,    -1,  3806,
   17391             :       -1,   261,    -1,    -1,    -1,    -1,    -1,    45,    -1,    -1,
   17392             :       -1,    -1,   476,    -1,    52,    -1,   276,    -1,  1404,    -1,
   17393             :       -1,    -1,    -1,  3830,    -1,    -1,    -1,    -1,  3835,    -1,
   17394             :       -1,    -1,   476,    -1,  3841,   295,    -1,    -1,    -1,    -1,
   17395             :       78,    -1,    -1,  3850,    -1,    -1,    -1,    -1,    -1,    -1,
   17396             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5844,    -1,    -1,
   17397             :       -1,    -1,   476,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17398             :     3877,  3878,    -1,    -1,    -1,    -1,  3883,    -1,  3885,    -1,
   17399             :       -1,    -1,    -1,    -1,   344,    -1,    -1,    -1,  2063,    -1,
   17400             :       -1,  3898,    -1,  3900,    -1,    -1,    -1,    -1,    -1,   359,
   17401             :       -1,    -1,    -1,    -1,   364,   365,    -1,   367,    -1,    -1,
   17402             :       -1,    -1,   372,  3920,    -1,    -1,    -1,    -1,   378,  1505,
   17403             :       -1,   381,    -1,    -1,    -1,    -1,    -1,    -1,   388,    -1,
   17404             :       -1,    -1,    -1,    -1,    -1,   395,   396,    -1,    -1,  3946,
   17405             :       -1,    -1,    -1,   403,    -1,    -1,    -1,   407,    -1,    -1,
   17406             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   418,   197,
   17407             :     3967,  3968,    -1,    -1,   202,    -1,    -1,    -1,    -1,    -1,
   17408             :       -1,    -1,    -1,    -1,    -1,   435,    -1,    -1,    -1,    -1,
   17409             :       -1,    -1,    -1,  3990,    -1,    -1,  1572,   225,   226,    -1,
   17410             :       -1,    -1,    -1,    -1,    -1,    -1,   456,    -1,    -1,    -1,
   17411             :       -1,    -1,  4009,    -1,    -1,    -1,    -1,    -1,   468,    -1,
   17412             :       -1,    -1,    -1,    -1,   474,   253,    -1,    -1,    -1,   479,
   17413             :       -1,  4028,    -1,    -1,    -1,  4032,    -1,  1613,    -1,    -1,
   17414             :       -1,    -1,    -1,   493,    -1,    -1,    -1,    -1,    -1,    -1,
   17415             :       -1,    -1,    -1,    -1,    -1,    51,  4053,    -1,    -1,    -1,
   17416             :       -1,    -1,    -1,    -1,    -1,  6042,    -1,   517,   296,    -1,
   17417             :     1646,    -1,  4069,    -1,    -1,  4072,    -1,    -1,    -1,    -1,
   17418             :       -1,  4078,    -1,    -1,   312,    -1,   536,   315,    -1,   539,
   17419             :       -1,    -1,    -1,    -1,    -1,  4092,    -1,    -1,    -1,  4096,
   17420             :     4097,  4098,    -1,    -1,    -1,    -1,  4103,    -1,    -1,  4106,
   17421             :       -1,    -1,  4109,    -1,    -1,    -1,    -1,    -1,  4115,    -1,
   17422             :     4117,    -1,    -1,  4120,    -1,    -1,    -1,  4124,  4125,  4126,
   17423             :     4127,  4128,    -1,    -1,  4131,  4132,  4133,  4134,  4135,  4136,
   17424             :     4137,  4138,  4139,  4140,    -1,    -1,    -1,  4144,  4145,  4146,
   17425             :       -1,    -1,  4149,    -1,    -1,    -1,    -1,  4154,    -1,    -1,
   17426             :       -1,    -1,  4159,    -1,  4161,    -1,  4163,    -1,   728,    -1,
   17427             :       -1,    -1,    -1,    -1,  4171,    -1,    -1,  4174,    -1,  4176,
   17428             :      408,    -1,    -1,    -1,    10,    -1,    -1,    13,    -1,    -1,
   17429             :       -1,    17,    18,    19,   754,  4192,    -1,    -1,  4195,  4196,
   17430             :       -1,    -1,    -1,  4200,  4201,    -1,    -1,    -1,  4205,    35,
   17431             :     4207,    -1,  6189,  6190,    -1,    -1,  6193,    -1,    -1,    45,
   17432             :       -1,    -1,    -1,    -1,    -1,    -1,    52,    -1,    -1,    -1,
   17433             :     2663,  2664,    -1,    -1,    -1,    -1,  2669,    -1,    -1,  4236,
   17434             :       -1,    -1,    -1,    -1,    -1,  4242,    -1,    -1,    -1,    -1,
   17435             :       -1,    -1,    78,  4250,    -1,    -1,    -1,  4254,    -1,    -1,
   17436             :       -1,    -1,    -1,    -1,  1840,    -1,    -1,    -1,  2701,  2702,
   17437             :       -1,    -1,    -1,    -1,    -1,  1851,    -1,    -1,    -1,    -1,
   17438             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   515,    -1,    -1,
   17439             :     4287,  1867,    -1,    -1,    -1,    -1,   524,   525,   526,   527,
   17440             :      528,   529,   530,   531,   532,    -1,    -1,  4304,    -1,    -1,
   17441             :       -1,    -1,   540,  4310,    -1,    -1,    -1,    -1,    -1,    -1,
   17442             :       -1,    -1,  2728,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17443             :     2763,    -1,    -1,    -1,    -1,    -1,    -1,   897,    -1,  4336,
   17444             :     2746,    -1,    -1,    -1,  2750,  1921,    -1,    -1,  2754,    -1,
   17445             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17446             :     1936,    -1,  4359,  1939,  1940,    -1,    -1,    -1,    -1,    -1,
   17447             :       -1,   197,  2778,    -1,    -1,    -1,   202,    10,    -1,    -1,
   17448             :       13,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,
   17449             :       -1,    -1,    -1,    -1,  1970,  1971,    -1,    -1,    -1,   225,
   17450             :      226,    -1,    35,  4400,    -1,    -1,  2812,    -1,  4405,  4406,
   17451             :     4407,    -1,    45,    -1,    -1,    -1,    -1,    -1,  2851,    52,
   17452             :       -1,    -1,    -1,    -1,    -1,    -1,  2832,   253,    -1,    -1,
   17453             :       -1,    -1,    -1,    -1,    -1,    -1,  4433,  4434,    -1,    -1,
   17454             :       -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    10,
   17455             :     2615,    -1,    13,    -1,    -1,    -1,    17,    18,    19,    -1,
   17456             :       -1,    -1,    -1,    -1,    -1,  2871,    -1,    -1,    -1,    -1,
   17457             :      296,    -1,    -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,
   17458             :       -1,  1041,  4479,    -1,    45,  4482,   312,    -1,    -1,   315,
   17459             :       -1,    52,  2898,    -1,    -1,    -1,    -1,    -1,  2904,    -1,
   17460             :     1060,    -1,    -1,    -1,    -1,    -1,    -1,  2940,    -1,    -1,
   17461             :       -1,  1071,  2918,    -1,    -1,  2948,    -1,    78,  2951,  2925,
   17462             :       -1,    -1,  2928,    -1,    -1,    -1,    -1,  1087,  2934,    -1,
   17463             :     2963,    -1,    -1,    -1,    -1,    -1,  2112,    -1,    -1,    -1,
   17464             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2954,  4546,
   17465             :       -1,    -1,    -1,    -1,  2960,    -1,    -1,    -1,    -1,    -1,
   17466             :       -1,  2967,    -1,    -1,   197,    -1,    -1,    -1,    -1,   202,
   17467             :       -1,    -1,    -1,    -1,    -1,  2981,  4573,  4574,    -1,    -1,
   17468             :     4577,    -1,   408,    -1,    -1,    -1,    -1,  4584,    -1,  2995,
   17469             :       -1,    -1,   225,   226,  4591,  4592,    -1,    -1,  2763,    -1,
   17470             :     3006,    -1,    -1,    -1,  4601,    -1,    -1,    -1,    -1,    -1,
   17471             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17472             :      253,    -1,    -1,    -1,    -1,    -1,    -1,  4624,    -1,    -1,
   17473             :       -1,    -1,  4629,  4630,  4631,    -1,   197,    -1,    -1,    -1,
   17474             :       -1,   202,    -1,    -1,  4641,    -1,    -1,    -1,    -1,    -1,
   17475             :       -1,    -1,    -1,    -1,  2819,    -1,    -1,    -1,    -1,    -1,
   17476             :       -1,    -1,    -1,   296,   225,   226,    -1,    -1,    -1,    -1,
   17477             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   312,
   17478             :       -1,    -1,   315,    -1,  1244,  4682,    -1,    -1,  4685,   515,
   17479             :       -1,    -1,   253,    -1,    -1,    -1,    -1,    -1,   524,   525,
   17480             :      526,   527,   528,   529,   530,   531,   532,    -1,    -1,    -1,
   17481             :       -1,   537,    -1,    -1,  4711,    -1,    25,    -1,    -1,    -1,
   17482             :       -1,    -1,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17483             :     4727,    -1,   728,    -1,    -1,   296,    -1,    -1,    -1,    -1,
   17484             :       -1,  2906,    -1,    -1,    -1,    -1,    -1,    -1,  4745,    -1,
   17485             :       -1,   312,    -1,    -1,   315,    -1,    -1,    -1,   754,    -1,
   17486             :       -1,    -1,    -1,    -1,    -1,  2930,    -1,    76,    -1,    -1,
   17487             :       -1,    -1,    -1,    -1,    -1,   408,  4773,  3210,    -1,  4776,
   17488             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4784,  4785,    -1,
   17489             :     4787,    -1,    -1,    -1,  4791,  4792,    -1,    -1,    -1,  4796,
   17490             :       -1,    -1,    -1,    -1,  4801,    -1,    -1,  4804,  4805,    -1,
   17491             :       -1,    -1,    -1,    -1,  4811,  3221,    -1,    -1,    -1,    -1,
   17492             :       -1,    -1,    -1,    -1,   133,    -1,    -1,    -1,    -1,  2994,
   17493             :       -1,   140,    -1,  2998,  3240,   144,  4833,    -1,    -1,    -1,
   17494             :       -1,  3247,    -1,  4840,    -1,    -1,    -1,   408,  4845,    -1,
   17495             :       -1,  4848,  4849,    -1,    -1,    -1,    -1,    -1,    -1,  4856,
   17496             :       -1,    -1,    -1,    -1,   173,    -1,    -1,    -1,    -1,    -1,
   17497             :     3035,    -1,  3037,    -1,  3039,  3040,    -1,    -1,  4875,  3044,
   17498             :     3045,  3046,   515,  3048,  3049,  3050,    -1,    -1,    -1,    -1,
   17499             :       -1,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   17500             :      209,   897,    -1,    -1,   537,    -1,    -1,  4904,    -1,    -1,
   17501             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17502             :     4917,    -1,    -1,    -1,    -1,  4922,    -1,    -1,    -1,    -1,
   17503             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3102,    -1,    -1,
   17504             :       -1,    -1,    -1,    -1,    -1,  1505,    -1,    -1,    -1,    -1,
   17505             :       -1,    -1,    -1,    -1,   515,    -1,    -1,    -1,    -1,    -1,
   17506             :       -1,  4958,  3127,   524,   525,   526,   527,   528,   529,   530,
   17507             :      531,   532,    -1,    -1,    -1,    -1,   537,    -1,  4975,    10,
   17508             :      289,    -1,    13,  4980,   293,    -1,    17,    18,    19,    -1,
   17509             :     4987,    -1,    -1,    -1,    -1,   304,    -1,    -1,    -1,    -1,
   17510             :     3433,    -1,  3435,    -1,    35,   314,  5003,    -1,    -1,    -1,
   17511             :       -1,    -1,  1572,  5010,    45,    -1,    -1,   326,  3451,    -1,
   17512             :       -1,    52,    -1,    -1,  5021,    -1,    -1,    -1,    -1,    -1,
   17513             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17514             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,
   17515             :       -1,    -1,    -1,  1613,    -1,  5052,    -1,    -1,    -1,   368,
   17516             :       -1,    -1,   371,   372,  1060,    -1,    -1,    -1,  3501,  3502,
   17517             :       -1,    -1,    -1,    -1,    -1,  1071,    -1,    -1,    -1,    -1,
   17518             :       -1,  5078,    -1,    -1,    -1,    -1,  1646,    -1,    -1,    -1,
   17519             :       -1,  1087,    -1,    -1,   403,    -1,    -1,    -1,  5095,    62,
   17520             :       -1,    -1,    -1,  5100,    -1,    -1,    -1,    -1,    -1,    -1,
   17521             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17522             :       -1,    -1,  5119,    -1,    -1,    -1,    -1,    -1,    -1,  5126,
   17523             :       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,    -1,
   17524             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17525             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2735,
   17526             :       -1,    -1,    -1,  2739,  2740,    -1,   197,   476,  1728,  1729,
   17527             :     1730,   202,    -1,    -1,    -1,  5172,    -1,  5174,    -1,    -1,
   17528             :       -1,    -1,    -1,  3589,    -1,    -1,    23,    -1,    -1,    -1,
   17529             :       -1,    28,    -1,    -1,   225,   226,    -1,    -1,    -1,   162,
   17530             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5205,    -1,
   17531             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2794,    -1,
   17532             :       -1,    -1,   253,    -1,  2800,    -1,    -1,    -1,    -1,    66,
   17533             :       -1,    -1,    -1,    -1,  5231,    -1,   199,    -1,    -1,    -1,
   17534             :       -1,    -1,    79,    -1,  5241,    -1,    -1,  5244,  1244,    -1,
   17535             :     5247,  5248,  5249,    -1,    -1,    -1,    -1,    -1,    -1,    96,
   17536             :       -1,    -1,    -1,    -1,    -1,   296,    -1,    -1,    -1,    -1,
   17537             :     3435,    -1,  2848,    -1,    -1,  5272,  5273,   114,    -1,  5276,
   17538             :     1840,   312,    -1,    -1,   315,    -1,   249,    -1,    -1,    -1,
   17539             :       -1,  1851,    -1,  3699,    -1,    -1,  5293,    -1,    -1,    -1,
   17540             :     5297,   138,    -1,    -1,    -1,    -1,  5303,  1867,    -1,    -1,
   17541             :     5307,    -1,    -1,    -1,    -1,   152,  5313,  5314,    -1,    -1,
   17542             :       -1,    -1,    -1,    -1,   161,  5322,   289,    -1,    -1,    -1,
   17543             :      293,  5328,    -1,    -1,  5331,    -1,    -1,   174,    -1,    -1,
   17544             :     5337,    -1,  5339,   180,    -1,    -1,    -1,    -1,    -1,    -1,
   17545             :      187,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17546             :       -1,  1921,    -1,   326,   327,  5362,    -1,    -1,    -1,    -1,
   17547             :      207,    -1,    -1,    -1,    -1,    -1,  1936,   408,    -1,  1939,
   17548             :     1940,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17549             :       -1,    -1,  5389,  5390,    -1,    -1,    -1,    -1,    -1,    -1,
   17550             :       -1,    -1,    -1,  5400,    -1,   368,    -1,    -1,    -1,   372,
   17551             :     1970,  1971,    -1,    -1,   377,    -1,    -1,    -1,    -1,    -1,
   17552             :       -1,    -1,    -1,   386,  3830,    -1,    -1,  3592,    -1,    -1,
   17553             :      267,    -1,   395,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17554             :      403,    -1,    -1,  5440,    -1,  3878,    -1,    -1,  5445,    -1,
   17555             :       -1,    -1,    -1,   416,    -1,    -1,    -1,    -1,    -1,    -1,
   17556             :       -1,    -1,   425,    -1,    -1,    -1,    -1,   430,  3901,    -1,
   17557             :       -1,    -1,    -1,    -1,    -1,   312,    -1,    -1,    -1,    -1,
   17558             :       -1,    -1,  3058,    -1,   515,    -1,    -1,    -1,   325,    -1,
   17559             :       -1,    -1,    -1,   524,   525,   526,   527,   528,   529,   530,
   17560             :      531,   532,   339,    -1,    -1,    -1,   537,    -1,    -1,  1505,
   17561             :     2070,  5508,   349,   350,  5511,  3680,   353,    -1,    -1,    -1,
   17562             :       -1,    -1,    -1,    -1,  2084,   488,    -1,  2087,    -1,    -1,
   17563             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17564             :       -1,    -1,    -1,   380,    -1,  5542,   383,    -1,    -1,    -1,
   17565             :      387,    -1,  2112,   390,    -1,  3131,    -1,    -1,    -1,  3135,
   17566             :      397,    -1,  5559,   400,    -1,    -1,  5563,    -1,  5565,    -1,
   17567             :       -1,    -1,    -1,  3738,    -1,    -1,  1572,    -1,    -1,    -1,
   17568             :       -1,    -1,  5579,   420,    -1,    -1,    -1,    -1,    -1,    -1,
   17569             :     5587,   428,    -1,  5590,    -1,    -1,    -1,    -1,   435,    -1,
   17570             :       -1,   438,    -1,  4009,  5601,    -1,   443,    -1,    -1,    -1,
   17571             :       -1,  5608,    -1,    -1,   451,    -1,   453,  1613,    -1,    -1,
   17572             :       -1,   458,  4028,    -1,    -1,  4058,  4032,    -1,    -1,    -1,
   17573             :       -1,    -1,    -1,    -1,    -1,   472,    -1,    -1,    -1,    -1,
   17574             :       -1,    -1,    -1,  3808,    -1,    -1,    -1,    -1,   485,    -1,
   17575             :     1646,    -1,    -1,    -1,    62,    -1,    -1,    -1,    -1,    -1,
   17576             :       -1,    -1,  3238,  5660,    -1,    -1,    -1,    -1,    -1,  5666,
   17577             :       -1,    -1,    -1,    -1,  5671,  5672,    -1,  3253,    -1,  5676,
   17578             :       -1,    -1,  3258,    -1,    -1,  5682,  5683,  5684,    -1,    -1,
   17579             :       98,  3856,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17580             :       -1,  5698,     8,  3868,  3869,    -1,    -1,    -1,    14,    15,
   17581             :       -1,    -1,  3288,  3878,    20,    -1,    22,    -1,  3883,    -1,
   17582             :     3885,  5718,    28,    -1,    30,    -1,    -1,    -1,    -1,    -1,
   17583             :     5727,    -1,    -1,  5730,    -1,    -1,    -1,    -1,    -1,    -1,
   17584             :       -1,    -1,    -1,    49,    50,    -1,    -1,    -1,    -1,    -1,
   17585             :       -1,    -1,    -1,    -1,   162,    -1,    -1,    -1,  5755,    -1,
   17586             :       -1,    -1,    -1,    -1,    -1,    -1,  3931,    -1,    -1,    -1,
   17587             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17588             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5784,  5785,    -1,
   17589             :       -1,   199,    -1,    -1,    -1,    -1,    10,    -1,    -1,    13,
   17590             :       -1,  3966,  3967,    17,    18,    19,    -1,    -1,    -1,    -1,
   17591             :       -1,  5808,  5809,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17592             :       -1,    35,    -1,  5820,    -1,    -1,    -1,    -1,    -1,    -1,
   17593             :       -1,    45,  5829,  5830,  5831,    -1,    -1,    -1,    52,    -1,
   17594             :       -1,   249,    -1,    -1,  1840,    -1,    -1,  5844,  5845,    -1,
   17595             :       -1,  5848,    -1,    -1,    -1,  1851,  5853,    -1,  5855,    -1,
   17596             :     5857,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,    -1,
   17597             :       -1,  1867,  5869,    -1,    -1,    -1,    -1,    -1,    -1,  5876,
   17598             :       -1,   289,    -1,    -1,    -1,   293,    -1,    -1,    -1,    -1,
   17599             :       -1,    -1,    -1,    -1,   200,    -1,    -1,    -1,   204,  5896,
   17600             :       -1,    -1,    -1,    -1,    -1,    -1,   212,    -1,    -1,   215,
   17601             :       -1,    -1,   218,   219,    -1,   221,    -1,   223,   326,   327,
   17602             :      226,    -1,   228,    -1,  5921,  1921,    -1,  5924,    -1,    -1,
   17603             :     4336,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17604             :     1936,    -1,    -1,  1939,  1940,    -1,    -1,    -1,    -1,    -1,
   17605             :       -1,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17606             :      368,    -1,    -1,    -1,   372,    -1,    -1,  3543,    -1,   377,
   17607             :     3546,    -1,  3548,  4406,  1970,  1971,    -1,  3553,   386,  5976,
   17608             :       -1,    -1,    -1,   197,    -1,    -1,    -1,   395,   202,    -1,
   17609             :       -1,    -1,    -1,    -1,    -1,   403,    51,    -1,    -1,    -1,
   17610             :       -1,  4434,    -1,    -1,    -1,  4170,    -1,    -1,   416,    -1,
   17611             :       -1,   225,   226,    -1,    -1,  4448,    -1,   425,    -1,  3595,
   17612             :       -1,    -1,   430,    -1,    -1,    -1,  4459,  3603,    -1,    -1,
   17613             :     6027,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2598,   253,
   17614             :       -1,    -1,    -1,    -1,    -1,  6042,    -1,    -1,    -1,    -1,
   17615             :       -1,    -1,  3628,    -1,    -1,  6052,    -1,    -1,    -1,    -1,
   17616             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17617             :       -1,    -1,  6069,  4479,    -1,    -1,  4482,    -1,    -1,    -1,
   17618             :      488,    -1,   296,    -1,    -1,    -1,  6083,    -1,    -1,    -1,
   17619             :       -1,    -1,    -1,    -1,    -1,    -1,  6093,    -1,   312,    -1,
   17620             :       -1,   315,  4535,  4536,    10,    -1,    -1,    13,    -1,    -1,
   17621             :       -1,    17,    18,    19,    -1,    -1,  2112,    -1,    -1,    -1,
   17622             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    35,
   17623             :       -1,    -1,  3708,    -1,  3710,    -1,    -1,  6134,    -1,    45,
   17624             :       -1,    -1,    -1,    -1,    -1,    -1,    52,  6144,    -1,    -1,
   17625             :       -1,    -1,    -1,    -1,    -1,  6152,  6153,    -1,    -1,    -1,
   17626             :       -1,  6158,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17627             :       -1,    -1,    78,    -1,    -1,  2735,    -1,    -1,  4584,  2739,
   17628             :     2740,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17629             :       -1,  4624,  6189,  6190,   408,  4601,  6193,    -1,    -1,    -1,
   17630             :       -1,    -1,    -1,    -1,    10,    -1,    -1,    13,    -1,    -1,
   17631             :       -1,    17,    18,    19,    51,    -1,    -1,    -1,    -1,    -1,
   17632             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    35,
   17633             :     3806,    -1,    -1,    -1,  2794,    -1,  6233,    -1,    -1,    45,
   17634             :     2800,  4406,    -1,    -1,  4677,    -1,    52,    51,    -1,    -1,
   17635             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17636             :       -1,    -1,  6259,    -1,    -1,    -1,    -1,    -1,  6265,  4434,
   17637             :       -1,    -1,    78,    -1,  3850,    -1,  4682,    -1,    -1,    -1,
   17638             :       -1,    -1,    -1,    -1,  4449,    -1,  6283,  4452,  2848,  4454,
   17639             :       -1,   197,    -1,  6290,    -1,    -1,   202,    -1,    -1,    -1,
   17640             :       -1,   515,  3878,    -1,    -1,    -1,    -1,    -1,    -1,  6306,
   17641             :      524,   525,   526,   527,   528,   529,   530,   531,   532,   225,
   17642             :      226,    -1,    -1,   537,    -1,    -1,    -1,    -1,    -1,    -1,
   17643             :     6327,    -1,    -1,    -1,    -1,  4500,    -1,    -1,    -1,    -1,
   17644             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   253,    -1,    -1,
   17645             :       -1,  4516,    -1,    -1,    -1,    -1,  4521,    -1,    -1,    -1,
   17646             :      666,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  6365,    -1,
   17647             :     3946,   677,    -1,  6370,    -1,   681,    -1,    -1,    -1,  6376,
   17648             :       -1,    -1,   688,   689,    -1,    -1,   692,    -1,   694,   695,
   17649             :      296,   197,  3968,  6390,    -1,    -1,   202,    -1,    -1,    -1,
   17650             :     6397,    -1,    -1,   709,    -1,    -1,   312,    -1,    -1,   315,
   17651             :       -1,    -1,    -1,    -1,  3990,    -1,    -1,    -1,    -1,   225,
   17652             :      226,   727,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17653             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17654             :     6437,  6438,   748,    -1,   750,    -1,    -1,   253,    -1,    -1,
   17655             :       -1,    -1,    -1,    -1,   760,    -1,  4621,  6454,    -1,  4624,
   17656             :       -1,  6458,    -1,    -1,    -1,    -1,  3026,    -1,    -1,    -1,
   17657             :       -1,    -1,    -1,    -1,  6471,  6472,    -1,    -1,    -1,    -1,
   17658             :       -1,    -1,    -1,    -1,    -1,    -1,  6483,   793,    -1,    -1,
   17659             :      296,    -1,    -1,    -1,    -1,    -1,  4072,    -1,  3058,    -1,
   17660             :       -1,    -1,   408,    -1,    -1,    -1,   312,  4940,    -1,   315,
   17661             :       -1,    -1,    -1,  4946,    -1,    -1,    -1,    -1,  4951,    -1,
   17662             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17663             :       -1,    -1,    -1,    -1,    -1,  4700,  4701,  4702,  4703,    -1,
   17664             :     4705,  4706,  4707,  4708,  4709,  4978,  4979,    -1,  4124,    -1,
   17665             :     4983,  4984,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17666             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   874,  4975,
   17667             :       -1,  3131,    -1,  4149,    -1,  3135,    -1,    -1,    -1,    -1,
   17668             :       -1,  4987,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17669             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17670             :       -1,    -1,   408,    -1,    -1,    -1,    -1,    -1,    -1,   515,
   17671             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   524,   525,
   17672             :      526,   527,   528,   529,   530,   531,   532,    -1,   728,    -1,
   17673             :       -1,   537,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17674             :       10,    -1,    -1,    13,    -1,    -1,    -1,    17,    18,    19,
   17675             :       -1,    -1,    -1,   959,   754,    -1,    -1,    -1,  4823,    -1,
   17676             :     4825,    10,    -1,    -1,    13,    35,    -1,    -1,    17,    18,
   17677             :       19,    -1,    -1,   728,    -1,    45,    -1,    -1,  3238,    -1,
   17678             :       -1,    -1,    52,    -1,    -1,    -1,    35,    -1,    -1,    -1,
   17679             :       -1,    -1,    -1,  3253,    -1,    -1,    45,    -1,  3258,   754,
   17680             :       -1,    -1,    -1,    52,    -1,    -1,    -1,    -1,    78,   515,
   17681             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   524,   525,
   17682             :      526,   527,   528,   529,   530,   531,   532,  1033,  3288,    78,
   17683             :       -1,   537,    -1,    -1,  4310,    -1,    -1,    -1,    -1,  2735,
   17684             :       -1,    -1,    -1,  2739,  2740,    -1,    -1,    -1,    -1,    -1,
   17685             :       -1,    -1,  1058,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17686             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1073,    -1,  1075,
   17687             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1085,
   17688             :       -1,    -1,    -1,    -1,    -1,    -1,  1092,    -1,    -1,    -1,
   17689             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   897,  2794,  5205,
   17690             :       -1,    -1,    -1,    -1,  2800,    -1,    -1,    -1,    -1,    -1,
   17691             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17692             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   197,    -1,  1135,
   17693             :     4406,  1137,   202,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17694             :       -1,    -1,   897,    -1,    -1,    -1,    -1,    -1,   197,    -1,
   17695             :       -1,    -1,  2848,   202,    -1,   225,   226,    -1,  4434,    -1,
   17696             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17697             :       -1,    -1,    -1,    -1,    -1,    -1,   225,   226,    -1,    -1,
   17698             :       -1,    -1,    -1,   253,    -1,  5050,  5051,    -1,    -1,    -1,
   17699             :       -1,   728,    -1,    -1,    -1,    -1,    -1,    -1,  5063,    -1,
   17700             :     5065,  5066,  5067,    -1,   253,  1211,    -1,  1213,    -1,  1215,
   17701             :       -1,  1217,    -1,  1219,  1220,  1221,    -1,   754,    -1,    -1,
   17702             :     1226,    -1,    -1,    -1,   728,    -1,   296,    10,    -1,    -1,
   17703             :       13,  5337,  1238,  5339,    17,    18,    19,    -1,    -1,    -1,
   17704             :       -1,    -1,   312,    -1,    -1,   315,    -1,   296,    -1,    -1,
   17705             :      754,    -1,    35,    -1,    -1,    -1,  5389,    -1,    -1,    -1,
   17706             :     1060,    -1,    45,   312,    -1,    -1,   315,  5132,    -1,    52,
   17707             :       -1,  1071,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17708             :       -1,    -1,    10,  3543,    -1,    13,  3546,  1087,  3548,    17,
   17709             :       18,    19,    -1,  3553,    -1,    78,    -1,    -1,    -1,    -1,
   17710             :       -1,  4577,    -1,    -1,    -1,  1060,  5171,    35,    -1,    -1,
   17711             :       -1,    -1,    -1,    -1,    -1,    -1,  1071,    45,    -1,    -1,
   17712             :       -1,    -1,    -1,    -1,    52,    -1,    -1,    -1,    -1,    -1,
   17713             :       -1,    -1,  1087,    -1,    -1,  3595,    -1,    -1,   408,    -1,
   17714             :       -1,    -1,    -1,  3603,    -1,    -1,    -1,    -1,  4624,  5214,
   17715             :       78,    -1,    -1,  4629,    -1,    -1,    -1,    10,    -1,   408,
   17716             :       13,    -1,  3058,    -1,    17,    18,    19,    -1,  3628,    -1,
   17717             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17718             :       -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17719             :       -1,    -1,    45,   897,    -1,    -1,    -1,    -1,    -1,    52,
   17720             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17721             :       -1,    -1,    -1,    -1,   197,    -1,    -1,    -1,    -1,   202,
   17722             :     1426,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,
   17723             :       -1,    -1,    -1,    -1,    -1,  3131,    -1,    -1,    -1,  3135,
   17724             :       -1,    -1,   225,   226,  1244,   515,    -1,    -1,  3708,    -1,
   17725             :     3710,    -1,    -1,    -1,   524,   525,   526,   527,   528,   529,
   17726             :      530,   531,   532,    -1,    -1,    -1,   515,   537,    -1,   197,
   17727             :      253,    -1,    -1,    -1,   202,   524,   525,   526,   527,   528,
   17728             :      529,   530,   531,   532,    -1,    -1,    -1,    -1,   537,  1244,
   17729             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   225,   226,    -1,
   17730             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17731             :       -1,  4787,    -1,   296,    -1,    -1,    -1,    -1,    -1,    -1,
   17732             :       -1,    -1,    -1,  1060,  5389,   253,    -1,    -1,    -1,   312,
   17733             :       -1,    -1,   315,    -1,  1071,    -1,    -1,    -1,    -1,    -1,
   17734             :     1546,    -1,  3238,    -1,   197,    -1,  3806,    -1,    -1,   202,
   17735             :     1087,    -1,    -1,    -1,    -1,    -1,  1060,  3253,    -1,    -1,
   17736             :       -1,    -1,  3258,    -1,    -1,  5698,    -1,  1071,   296,    -1,
   17737             :     5435,    -1,   225,   226,    -1,  3835,    -1,    -1,    -1,  5444,
   17738             :       -1,  3841,    -1,  1087,   312,    -1,    -1,   315,    -1,    -1,
   17739             :     3850,    -1,  3288,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17740             :      253,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17741             :       -1,    -1,  1618,    -1,    -1,    -1,    -1,    -1,  3878,    -1,
   17742             :       -1,    -1,    -1,    -1,    -1,   408,    -1,    -1,  4904,    -1,
   17743             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17744             :       -1,    -1,    -1,   296,    -1,    -1,    -1,    -1,    -1,    -1,
   17745             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   312,
   17746             :       -1,    -1,   315,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17747             :       -1,    -1,    -1,    -1,    -1,    -1,    51,    -1,    -1,    -1,
   17748             :      408,    -1,  4958,    -1,    -1,    -1,  3946,    -1,    -1,    -1,
   17749             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17750             :       -1,    -1,    -1,    -1,  4980,  1505,    -1,  1244,  3968,    -1,
   17751             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17752             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17753             :     3990,    -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17754             :     1244,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   17755             :     1505,    -1,    -1,    -1,   537,   408,    -1,    -1,    -1,    -1,
   17756             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17757             :       -1,    -1,  1572,    -1,    -1,    -1,  5052,    -1,    -1,    -1,
   17758             :     5913,    -1,    -1,    -1,    -1,    -1,    -1,   515,    -1,    -1,
   17759             :       -1,    -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,
   17760             :      528,   529,   530,   531,   532,    -1,    -1,    -1,    -1,   537,
   17761             :       -1,    -1,  4072,  1613,    -1,    -1,    -1,  1572,    -1,    -1,
   17762             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17763             :     1836,    -1,    -1,  5698,    -1,    -1,    -1,  5702,    -1,    -1,
   17764             :       -1,    -1,    -1,    -1,    -1,    -1,  1646,  3543,    -1,    -1,
   17765             :     3546,    -1,  3548,    -1,    -1,    -1,    -1,  3553,  1613,    -1,
   17766             :       -1,    -1,   515,    -1,  4124,  1871,    -1,    -1,    -1,    -1,
   17767             :       -1,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   17768             :       -1,    -1,    -1,    -1,   537,    -1,    -1,    -1,    -1,  4149,
   17769             :       -1,  1646,    -1,    -1,    -1,    -1,    -1,    -1,  5174,  3595,
   17770             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3603,    -1,    -1,
   17771             :       -1,  1917,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17772             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17773             :       -1,  1937,  3628,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17774             :       -1,    -1,    -1,    10,    -1,    -1,    13,    -1,    -1,    -1,
   17775             :       17,    18,    19,    -1,    -1,    -1,    -1,  1963,    -1,  1965,
   17776             :       -1,    -1,    -1,  6069,    -1,    -1,    -1,    -1,    35,    -1,
   17777             :       -1,    -1,    -1,    -1,  1980,    -1,  1982,    -1,    45,    -1,
   17778             :       -1,    -1,  1988,    -1,  1990,    52,  1992,    -1,  1994,    -1,
   17779             :     1996,    -1,    -1,    -1,  2000,    -1,    -1,    -1,    -1,    -1,
   17780             :       -1,  1505,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17781             :       -1,    78,  3708,    -1,  3710,    -1,    -1,    -1,    -1,    -1,
   17782             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17783             :       -1,  2037,    -1,    -1,    -1,    -1,    -1,  5313,    -1,    -1,
   17784             :     1840,    -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,    13,
   17785             :     4310,  1851,    -1,    17,    18,    19,    -1,    -1,    -1,  5924,
   17786             :       -1,    -1,    -1,  5928,    -1,  5930,    -1,  1867,  1572,  5934,
   17787             :     5935,    35,    -1,    -1,    -1,    -1,  1613,    -1,    -1,    -1,
   17788             :       -1,    45,    -1,    -1,    -1,  1840,    -1,    -1,    52,    -1,
   17789             :       -1,    -1,    -1,    -1,    -1,    -1,  1851,    -1,    -1,    -1,
   17790             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1613,
   17791             :     3806,    -1,  1867,  5389,    78,    -1,    -1,    -1,    -1,    -1,
   17792             :       -1,  1921,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17793             :      197,    -1,    -1,    -1,    -1,   202,  1936,    -1,    -1,  1939,
   17794             :     1940,    -1,  1646,    -1,    -1,    -1,  4406,    -1,    -1,    51,
   17795             :       -1,    -1,    -1,    -1,  3850,    -1,    -1,    -1,   225,   226,
   17796             :       -1,    -1,    -1,    -1,    -1,    -1,  1921,    -1,    -1,    -1,
   17797             :     1970,  1971,    -1,    -1,  4434,    -1,    -1,    -1,    -1,    -1,
   17798             :       -1,  1936,  3878,    -1,  1939,  1940,   253,    -1,    -1,    -1,
   17799             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17800             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17801             :       -1,    -1,    -1,    -1,    -1,  1970,  1971,    -1,    -1,    -1,
   17802             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   296,
   17803             :       -1,    -1,    -1,   197,    -1,  5511,    -1,    -1,   202,    -1,
   17804             :       -1,    -1,    -1,    -1,    -1,   312,    -1,    -1,   315,    -1,
   17805             :     3946,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17806             :       -1,   225,   226,    -1,  6397,    -1,    -1,    -1,    -1,    -1,
   17807             :       -1,    -1,  3968,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17808             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   253,
   17809             :       -1,    -1,    -1,    -1,  3990,    -1,    -1,    -1,    -1,    -1,
   17810             :       -1,    -1,    10,  1840,    -1,    13,    -1,    -1,    -1,    17,
   17811             :       18,    19,  2112,    -1,  1851,    -1,    -1,  4577,    -1,    -1,
   17812             :       -1,    -1,    -1,    -1,    -1,  6458,    -1,    35,    -1,    -1,
   17813             :     1867,    -1,   296,    -1,    -1,    -1,  1840,    45,    -1,    -1,
   17814             :       -1,   408,    -1,    -1,    52,    -1,    -1,  1851,   312,    -1,
   17815             :     6483,   315,    -1,   728,    -1,    -1,    -1,  2112,    -1,    -1,
   17816             :       -1,    -1,    -1,  1867,  4624,    -1,    -1,    -1,  6233,  4629,
   17817             :       78,    -1,    -1,    -1,    -1,    -1,  4072,    -1,    -1,   754,
   17818             :       -1,    -1,    -1,    -1,  1921,    -1,    -1,    -1,    -1,    -1,
   17819             :     5666,    -1,    -1,    -1,    -1,  5671,  5672,    -1,    -1,  1936,
   17820             :       -1,    -1,  1939,  1940,    -1,    -1,    -1,    -1,    -1,    -1,
   17821             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1921,    -1,    -1,
   17822             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4124,    -1,
   17823             :       -1,    -1,  1936,  1970,  1971,  1939,  1940,    -1,    -1,    -1,
   17824             :       -1,    -1,    -1,    -1,   408,    -1,    -1,    -1,   515,    -1,
   17825             :       -1,    -1,    -1,  4149,    -1,    -1,    -1,   524,   525,   526,
   17826             :      527,   528,   529,   530,   531,   532,  1970,  1971,    -1,    -1,
   17827             :      537,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17828             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   197,
   17829             :       -1,    -1,    -1,    -1,   202,    -1,    -1,    -1,    -1,    -1,
   17830             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5785,
   17831             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   225,   226,    -1,
   17832             :       -1,    -1,   897,    -1,    -1,    -1,    -1,  4787,    -1,    -1,
   17833             :       -1,    -1,  6397,    -1,    -1,    -1,    -1,    -1,    -1,  6404,
   17834             :       -1,    -1,    -1,  6408,    -1,   253,    -1,    -1,    -1,    -1,
   17835             :       -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17836             :      524,   525,   526,   527,   528,   529,   530,   531,   532,    -1,
   17837             :       -1,    -1,  5848,   537,    -1,  2112,    -1,    -1,    -1,  6444,
   17838             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   296,    -1,
   17839             :       -1,    -1,    -1,  6458,    -1,    -1,    -1,    -1,    -1,    -1,
   17840             :       -1,    -1,    -1,    -1,   312,    -1,    -1,   315,  2112,    -1,
   17841             :       -1,    -1,    -1,    -1,  4310,    -1,    -1,    -1,  6483,    -1,
   17842             :       -1,  6486,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17843             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17844             :       -1,    -1,    -1,    -1,  4904,    -1,    -1,    -1,    -1,    -1,
   17845             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17846             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17847             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17848             :       -1,    -1,    -1,    -1,    -1,  1060,    -1,    -1,    -1,    -1,
   17849             :       -1,    -1,    -1,    -1,    -1,    -1,  1071,    -1,  4958,    -1,
   17850             :      408,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17851             :     4406,    -1,  1087,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17852             :     4980,    -1,    -1,  2729,  2730,    -1,    -1,    -1,    -1,    -1,
   17853             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4434,    -1,
   17854             :       -1,    -1,  2748,  2749,    -1,  2751,  2752,    -1,    -1,    -1,
   17855             :     2756,  2757,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17856             :       -1,    -1,    -1,    -1,    -1,  2771,    -1,    -1,    -1,  2775,
   17857             :       -1,    -1,    -1,  2779,  2780,    -1,    -1,  2783,  2784,    -1,
   17858             :       -1,    -1,    -1,    -1,  2790,    -1,    -1,    -1,    -1,    -1,
   17859             :       -1,    -1,  5052,    -1,    -1,    -1,  2802,    -1,    -1,    -1,
   17860             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   515,  2814,    -1,
   17861             :       -1,    -1,    -1,  2819,    -1,    -1,   524,   525,   526,   527,
   17862             :      528,   529,   530,   531,   532,    -1,   728,    -1,  2834,   537,
   17863             :       -1,    -1,  2838,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17864             :       -1,    -1,    -1,    -1,  2850,    -1,    -1,  2853,    -1,  2855,
   17865             :     2856,  2857,   754,    -1,    -1,    -1,  2862,  2863,    -1,    -1,
   17866             :       -1,    -1,    -1,    23,    -1,    -1,  2872,    -1,    28,  1244,
   17867             :       -1,    -1,  2878,    -1,    -1,    -1,  2882,    -1,    -1,    -1,
   17868             :       -1,  4577,    -1,    -1,    -1,    -1,    -1,    -1,  2894,  2895,
   17869             :       -1,    -1,    -1,  2899,    -1,    -1,    -1,    -1,    -1,  2905,
   17870             :     2906,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
   17871             :       -1,    -1,  5172,  2919,  5174,    -1,  2922,    -1,    -1,    79,
   17872             :       80,    -1,    -1,  2929,  2930,    -1,    -1,    -1,  4624,  2935,
   17873             :       -1,    -1,    92,  4629,    -1,  2735,    96,    -1,    -1,  2739,
   17874             :     2740,  2947,    -1,    -1,  2950,    -1,    -1,    -1,    -1,  2955,
   17875             :       -1,    -1,    -1,    -1,   114,  2961,  2962,    -1,    -1,    -1,
   17876             :       -1,    -1,    -1,  2969,    -1,    -1,    -1,  2973,    -1,    -1,
   17877             :       -1,  2977,  2978,  2979,  2980,    -1,  2982,    -1,   138,    -1,
   17878             :     2735,    -1,    -1,    -1,  2739,  2740,    -1,    -1,    -1,    -1,
   17879             :     2996,  2997,   152,  2999,  2794,   897,    -1,    -1,    -1,    -1,
   17880             :     2800,   161,    -1,    -1,  3010,  3011,  3012,    -1,    -1,    -1,
   17881             :       -1,    -1,    -1,    -1,   174,    -1,    -1,    -1,    -1,    -1,
   17882             :      180,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17883             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2794,
   17884             :       -1,    -1,    -1,    -1,    -1,  2800,    -1,   207,  2848,    -1,
   17885             :       -1,    -1,    -1,  5313,    -1,    -1,    -1,    -1,    -1,    -1,
   17886             :       -1,  3067,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3075,
   17887             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17888             :       -1,    -1,    -1,    -1,    -1,   245,    -1,    -1,  3094,    -1,
   17889             :       -1,  4787,    -1,  2848,  6370,    -1,    -1,    -1,    -1,    -1,
   17890             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   267,    -1,    -1,
   17891             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17892             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5389,
   17893             :     1505,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3144,    -1,
   17894             :       -1,    -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,    13,
   17895             :       -1,    -1,   312,    17,    18,    19,    -1,  3163,  1060,  3165,
   17896             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1071,
   17897             :       -1,    35,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   339,
   17898             :       -1,    45,    -1,    -1,    -1,  1087,    -1,    -1,    52,   349,
   17899             :      350,    -1,    -1,   353,    -1,    -1,    -1,  1572,    -1,    -1,
   17900             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4904,    -1,
   17901             :       -1,    -1,    -1,    -1,    78,    -1,    -1,    51,    -1,    -1,
   17902             :      380,    -1,    -1,   383,    -1,    -1,    -1,   387,    -1,    -1,
   17903             :      390,  2735,    -1,    -1,    -1,  2739,  2740,   397,  1613,    -1,
   17904             :      400,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17905             :       -1,  5511,    -1,    -1,  3260,    -1,    -1,  2794,  3058,    -1,
   17906             :      420,    -1,  4958,  2800,    -1,    -1,    -1,    -1,   428,    -1,
   17907             :       -1,  1646,    -1,    -1,    -1,   435,    -1,    -1,   438,    -1,
   17908             :       -1,    -1,    -1,   443,  4980,    -1,    -1,    -1,    -1,    -1,
   17909             :     2794,   451,    10,   453,    -1,    13,  2800,    -1,   458,    17,
   17910             :       18,    19,    -1,  3058,    -1,    -1,    -1,    -1,    -1,    -1,
   17911             :       -1,  2848,    -1,    -1,    -1,    -1,    -1,    35,    -1,    -1,
   17912             :       -1,    -1,    -1,    -1,    -1,   485,    -1,    45,    -1,    -1,
   17913             :       -1,  3131,    -1,   197,    52,  3135,    -1,    -1,   202,    -1,
   17914             :       -1,    -1,  1244,    -1,  2848,    -1,    -1,    -1,    -1,    -1,
   17915             :       -1,    -1,    -1,    -1,    -1,    -1,  5052,    -1,    -1,    -1,
   17916             :       78,   225,   226,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17917             :       -1,    -1,    -1,    -1,    -1,    -1,  3131,    -1,    -1,    -1,
   17918             :     3135,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   253,
   17919             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17920             :       -1,    -1,    -1,    -1,    -1,    -1,  5666,    -1,    -1,    -1,
   17921             :       -1,  5671,  5672,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17922             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17923             :       -1,    -1,   296,    -1,    -1,    -1,    -1,    -1,  3238,    -1,
   17924             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   312,    -1,
   17925             :       -1,   315,    -1,  3253,    -1,    -1,    -1,    -1,  3258,    -1,
   17926             :       -1,    -1,    -1,    -1,    -1,  1840,    -1,    -1,    -1,    -1,
   17927             :       -1,    -1,    -1,    -1,    -1,    -1,  1851,    -1,  5174,   197,
   17928             :       -1,    -1,    -1,  3238,   202,    -1,    -1,    -1,  3288,    -1,
   17929             :       -1,    -1,  1867,    -1,    -1,    -1,    -1,    -1,  3253,    -1,
   17930             :       -1,    -1,    -1,  3258,    -1,    -1,    -1,   225,   226,    -1,
   17931             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17932             :       -1,  3058,    -1,    -1,  5784,  5785,    -1,    -1,    -1,    -1,
   17933             :       -1,    -1,    -1,  3288,    -1,   253,    -1,    -1,    -1,    -1,
   17934             :       -1,    -1,    -1,    -1,   408,    -1,  1921,    -1,    -1,    -1,
   17935             :       -1,    -1,    -1,    -1,  3058,    -1,    -1,    -1,    -1,    -1,
   17936             :       -1,  1936,    -1,    -1,  1939,  1940,    -1,    -1,    -1,    -1,
   17937             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   296,    -1,
   17938             :       -1,    -1,    -1,    -1,  3590,    -1,    -1,    -1,  5848,    -1,
   17939             :       -1,    -1,    -1,    -1,   312,  1970,  1971,   315,    -1,    -1,
   17940             :       -1,  3607,    -1,  1505,    -1,  3611,    -1,    -1,    -1,    -1,
   17941             :     3616,  3617,  3618,    -1,    -1,    -1,    -1,  5313,    -1,    -1,
   17942             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3131,    -1,    -1,
   17943             :       -1,  3135,  3638,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17944             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17945             :       -1,   515,    -1,    -1,    -1,    -1,  3662,  3663,  3664,  3665,
   17946             :      524,   525,   526,   527,   528,   529,   530,   531,   532,    -1,
   17947             :     1572,    -1,    -1,   537,    -1,    -1,    -1,    -1,    -1,    -1,
   17948             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17949             :      408,    -1,    -1,  5389,  3700,    -1,  3702,  3703,  3704,    -1,
   17950             :       -1,  3238,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17951             :       -1,  1613,    -1,    -1,    -1,    -1,  3253,    -1,    -1,    -1,
   17952             :       -1,  3258,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17953             :       -1,    -1,    -1,    -1,  3238,    -1,    -1,  2112,    -1,    -1,
   17954             :       -1,    -1,    -1,  3543,  1646,    -1,  3546,    -1,  3548,  3253,
   17955             :       -1,  3288,    -1,  3553,  3258,    -1,    -1,    -1,    -1,    -1,
   17956             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17957             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17958             :       -1,    -1,    -1,    -1,  3288,    -1,    -1,    -1,  3543,    -1,
   17959             :       -1,  3546,    -1,  3548,    -1,  3595,    -1,   515,  3553,    -1,
   17960             :       -1,    -1,    -1,  3603,    -1,    -1,   524,   525,   526,   527,
   17961             :      528,   529,   530,   531,   532,  5511,  3822,    -1,    -1,   537,
   17962             :       -1,    -1,    -1,    -1,    -1,  3831,    -1,    -1,  3628,    -1,
   17963             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17964             :     3595,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3603,    -1,
   17965             :       -1,  3857,  3858,    -1,    -1,    -1,  3862,    -1,    -1,    -1,
   17966             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17967             :       -1,    -1,    -1,  3628,    -1,    -1,    -1,    -1,  3884,    -1,
   17968             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17969             :       -1,    -1,    -1,    -1,   728,    -1,    -1,    -1,    -1,    -1,
   17970             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3708,    -1,
   17971             :     3710,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17972             :      754,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17973             :     3936,    -1,    -1,    -1,    -1,  3941,    -1,    -1,  1840,    -1,
   17974             :       -1,  3947,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1851,
   17975             :       -1,    -1,    -1,  3708,    -1,  3710,    -1,    -1,    -1,    -1,
   17976             :       -1,    -1,    -1,    -1,    -1,  1867,    -1,    -1,    -1,    -1,
   17977             :     5666,  3977,    -1,    -1,    -1,  5671,  5672,    -1,    -1,    -1,
   17978             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,
   17979             :       13,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,
   17980             :     4006,    -1,  4008,    -1,    -1,    -1,  3806,    -1,    -1,    -1,
   17981             :       -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,    -1,  1921,
   17982             :       -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,    52,
   17983             :       -1,    -1,    -1,    -1,  1936,    -1,    -1,  1939,  1940,  3543,
   17984             :       -1,    -1,  3546,    -1,  3548,    -1,    -1,    -1,    -1,  3553,
   17985             :     3850,  3806,    -1,    -1,    -1,    78,    -1,    -1,  3595,    -1,
   17986             :       -1,    -1,    -1,   897,    -1,    -1,  3603,    -1,  1970,  1971,
   17987             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3878,    -1,
   17988             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5785,
   17989             :       -1,  3595,    -1,    -1,    -1,  3850,    -1,    -1,    -1,  3603,
   17990             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17991             :     6370,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17992             :       -1,    -1,    -1,  3878,  3628,    -1,    -1,    -1,    -1,    -1,
   17993             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17994             :       -1,    -1,    -1,    -1,    -1,    -1,  3946,    -1,    -1,    -1,
   17995             :       -1,    -1,  5848,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17996             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3968,    -1,
   17997             :       -1,  3708,    -1,  3710,   197,    -1,    -1,  6437,    -1,   202,
   17998             :       -1,    -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,    13,
   17999             :     3990,  3946,    -1,    17,    18,    19,    -1,    -1,    -1,    -1,
   18000             :       -1,    -1,   225,   226,  3708,    -1,  3710,    -1,    -1,    -1,
   18001             :     2112,    35,    -1,  3968,    -1,    -1,    -1,    -1,    -1,    -1,
   18002             :       -1,    45,    -1,    -1,    -1,    -1,  1060,    -1,    52,    -1,
   18003             :      253,    -1,    -1,    -1,    -1,  3990,    -1,  1071,    -1,    -1,
   18004             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18005             :       -1,    -1,    -1,  1087,    78,    -1,    -1,    -1,    -1,    -1,
   18006             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3806,
   18007             :       -1,    -1,  4072,   296,    -1,    -1,    -1,    -1,    -1,    -1,
   18008             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   312,
   18009             :       -1,    -1,   315,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18010             :       -1,    -1,  3806,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18011             :       -1,    -1,    -1,  3850,    -1,    -1,  4322,  4072,  4324,    -1,
   18012             :       -1,    -1,    -1,    -1,  4124,    -1,    -1,    -1,    -1,    -1,
   18013             :       -1,  4337,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18014             :       -1,    -1,    -1,  4349,    -1,    -1,  3850,  4353,    -1,  4149,
   18015             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4365,
   18016             :     2735,    -1,    -1,    -1,  2739,  2740,    -1,    -1,    -1,  4124,
   18017             :       -1,    -1,    -1,   197,  3878,    -1,    -1,    -1,   202,  4385,
   18018             :       -1,    -1,    -1,    -1,    -1,   408,    -1,    -1,    -1,    -1,
   18019             :       -1,    -1,    -1,    -1,  4149,    -1,    -1,  4403,    -1,    -1,
   18020             :       -1,   225,   226,    -1,    -1,  4411,    -1,    -1,    -1,  3946,
   18021             :     1244,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2794,
   18022             :       -1,    -1,    -1,    -1,    -1,  2800,    -1,    -1,    -1,   253,
   18023             :     4436,    -1,    -1,    -1,  4440,    -1,    -1,    -1,    -1,    -1,
   18024             :       -1,    -1,  3946,    -1,    -1,    -1,    -1,    -1,    -1,  4455,
   18025             :     4456,  4457,  4458,  3990,    -1,    -1,    -1,    -1,    -1,  4465,
   18026             :     4466,  4467,  4468,    -1,  3968,    -1,    -1,    -1,  4474,  4475,
   18027             :       -1,    -1,   296,  2848,  4480,  4481,    -1,  4483,  4484,  4485,
   18028             :     4486,  4487,  4488,  4489,    -1,    -1,  3990,    -1,   312,    -1,
   18029             :       -1,   315,   515,  4499,    -1,    -1,    -1,  4503,  4504,  4505,
   18030             :     4506,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   18031             :     4310,    -1,    -1,    -1,   537,    -1,    -1,    -1,   207,    -1,
   18032             :       -1,  4527,    -1,    -1,    -1,    -1,    -1,   216,    -1,    -1,
   18033             :       -1,    -1,    -1,    -1,    -1,  4072,    -1,    -1,    -1,  4545,
   18034             :       -1,   230,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18035             :       -1,    -1,    -1,    -1,    -1,  4310,    -1,    -1,    -1,    -1,
   18036             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4072,    -1,
   18037             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18038             :       -1,    -1,    -1,    -1,   408,    -1,    -1,  4124,    -1,    -1,
   18039             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18040             :       -1,    -1,    -1,    -1,    -1,    -1,  4406,    -1,    -1,    -1,
   18041             :       -1,    -1,  4149,    -1,    -1,    -1,  4622,    -1,    -1,    -1,
   18042             :     4124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18043             :       -1,    -1,    -1,    -1,  4434,    -1,    -1,    -1,    -1,    -1,
   18044             :       -1,    -1,    -1,    -1,    -1,  4149,    -1,    -1,    -1,  4655,
   18045             :       -1,  4406,    -1,    -1,    -1,    -1,  4662,    -1,  4664,    -1,
   18046             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18047             :       -1,  1505,    -1,    -1,  6370,    -1,    -1,    -1,    -1,  4434,
   18048             :       -1,    -1,    -1,  3058,    -1,    -1,  4692,    -1,    -1,    -1,
   18049             :       -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18050             :      524,   525,   526,   527,   528,   529,   530,   531,   532,    -1,
   18051             :       -1,    -1,    -1,   537,    -1,    -1,    -1,    -1,    -1,    -1,
   18052             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18053             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1572,    -1,
   18054             :       -1,    10,    -1,    -1,    13,    -1,    -1,    -1,    17,    18,
   18055             :       19,    -1,    -1,    -1,    -1,    -1,  3131,    -1,    -1,    -1,
   18056             :     3135,    -1,    -1,    -1,    -1,    -1,    35,    -1,    -1,    -1,
   18057             :       -1,    -1,    -1,    -1,    -1,    -1,    45,  4577,    -1,  1613,
   18058             :       -1,    -1,    -1,    52,    -1,    -1,    -1,    -1,    10,    -1,
   18059             :       -1,    13,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,
   18060             :       -1,    -1,    -1,    -1,    -1,    -1,  4310,    -1,    -1,    78,
   18061             :       -1,    -1,  1646,    35,    -1,    -1,    -1,   206,   207,    -1,
   18062             :       -1,    -1,  4577,    45,  4624,   214,    -1,   216,   217,  4629,
   18063             :       52,    -1,    -1,  2735,    -1,    -1,    -1,  2739,  2740,    -1,
   18064             :       -1,   230,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18065             :       -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,
   18066             :       -1,    -1,    -1,  3238,    -1,    -1,    -1,    -1,    -1,  4624,
   18067             :       -1,    -1,    -1,    -1,  4629,    -1,    -1,    -1,  3253,    -1,
   18068             :       -1,    -1,    -1,  3258,    -1,    -1,    -1,    -1,    -1,    -1,
   18069             :       -1,    -1,  2794,    -1,    -1,    -1,    -1,    -1,  2800,  4905,
   18070             :     4906,  4907,  4406,    -1,    -1,  4911,  4912,  4913,  4914,    -1,
   18071             :       -1,    -1,  4918,  3288,    -1,    -1,    -1,    -1,    -1,    -1,
   18072             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   197,    -1,
   18073             :     4434,    -1,    -1,   202,    -1,    -1,    -1,    -1,    -1,    -1,
   18074             :       -1,    -1,    -1,    -1,    -1,    -1,  2848,    -1,    -1,    -1,
   18075             :       -1,    -1,    -1,    -1,    -1,    -1,   225,   226,    -1,    -1,
   18076             :       -1,    -1,    -1,    -1,  4970,  4971,  4972,  4973,  4974,    -1,
   18077             :     4976,  4977,    -1,    -1,    -1,   197,   665,    -1,    -1,    -1,
   18078             :      202,    -1,  4988,  4989,   253,    -1,    -1,  4787,    -1,    -1,
   18079             :       -1,    -1,    -1,    -1,    -1,   684,    -1,    -1,    -1,    -1,
   18080             :       -1,   690,    -1,   225,   226,    -1,  1840,    -1,    -1,    -1,
   18081             :       -1,    -1,    -1,   702,    -1,    -1,  5022,  1851,    -1,    -1,
   18082             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   296,    -1,   718,
   18083             :       -1,   253,  4787,  1867,    -1,    -1,    -1,    -1,    -1,    -1,
   18084             :     4577,    -1,    -1,   312,   733,    -1,   315,    -1,    -1,    -1,
   18085             :       -1,    -1,   741,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18086             :       -1,    -1,    -1,    -1,    -1,    -1,   755,    -1,    -1,    -1,
   18087             :       -1,    -1,    -1,  4577,   296,    -1,   765,    -1,    -1,    -1,
   18088             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1921,    -1,    -1,
   18089             :      312,    -1,    -1,   315,    -1,    -1,    -1,    -1,    -1,    -1,
   18090             :       -1,    -1,  1936,    -1,  4904,  1939,  1940,    -1,    -1,    -1,
   18091             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5125,
   18092             :     4624,    -1,    -1,    -1,    -1,  4629,    -1,    -1,    -1,   818,
   18093             :       -1,    -1,    -1,    -1,    -1,    -1,  1970,  1971,    -1,   408,
   18094             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4904,
   18095             :       -1,    -1,    -1,    -1,    -1,    -1,  3058,   846,  4958,    -1,
   18096             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3543,    -1,
   18097             :       -1,  3546,    -1,  3548,    -1,    -1,    -1,    -1,  3553,    -1,
   18098             :     4980,    -1,   871,    -1,  5190,    -1,   408,    -1,    -1,    -1,
   18099             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18100             :       -1,    -1,    -1,  4958,    -1,    -1,    -1,    -1,    -1,    -1,
   18101             :       -1,    -1,    -1,    -1,    -1,    -1,  5222,    -1,    -1,    -1,
   18102             :     3595,    -1,    -1,    -1,    -1,  4980,    -1,    -1,  3603,  3131,
   18103             :       -1,    -1,    -1,  3135,    -1,    -1,    -1,    -1,    -1,    -1,
   18104             :       -1,    -1,    -1,    -1,   933,    -1,   515,    -1,    -1,    -1,
   18105             :       -1,    -1,  5052,  3628,    -1,   524,   525,   526,   527,   528,
   18106             :      529,   530,   531,   532,    -1,    -1,    -1,    -1,   537,    -1,
   18107             :       -1,    -1,    -1,    -1,    -1,    -1,   665,    -1,  2112,    -1,
   18108             :       -1,    -1,    -1,  4787,    -1,    -1,    -1,    -1,    -1,    -1,
   18109             :       -1,    -1,    -1,   515,    -1,   684,    -1,  5052,    -1,    -1,
   18110             :       -1,   690,   524,   525,   526,   527,   528,   529,   530,   531,
   18111             :      532,    -1,    -1,   702,  5320,   537,    -1,    -1,    -1,    -1,
   18112             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   718,
   18113             :       -1,    -1,    -1,  3708,    -1,  3710,  3238,    -1,    -1,    -1,
   18114             :       -1,    -1,    -1,   732,   733,    -1,    -1,    -1,    -1,    -1,
   18115             :      739,  3253,   741,   742,  1043,    -1,  3258,    -1,    -1,    -1,
   18116             :       -1,  1050,    -1,    -1,    -1,    -1,   755,  4904,    -1,    -1,
   18117             :       -1,    -1,    -1,    -1,  5174,    -1,   765,    -1,    -1,    -1,
   18118             :       -1,    -1,    -1,    -1,    -1,  5391,  3288,    -1,    -1,    -1,
   18119             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18120             :     4904,    -1,    -1,    -1,  5410,    -1,    -1,    -1,    -1,    -1,
   18121             :     5416,  5417,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5174,
   18122             :     5426,  4958,    -1,    -1,    -1,    -1,    -1,  5433,    -1,   818,
   18123             :       -1,  3806,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18124             :       -1,    -1,    -1,  4980,    -1,    -1,    25,    -1,    -1,    -1,
   18125             :       -1,    -1,    31,    10,  4958,    -1,    13,   846,    -1,    38,
   18126             :       17,    18,    19,    -1,  5470,  5471,    -1,    -1,    -1,    -1,
   18127             :       -1,    -1,    -1,    -1,    -1,  3850,  4980,  5483,    35,  5485,
   18128             :       -1,    60,   871,    -1,    -1,  1174,    -1,    -1,    45,    -1,
   18129             :       -1,    -1,    -1,    -1,  5500,    52,    -1,    76,    -1,    -1,
   18130             :       -1,    -1,    -1,  3878,    -1,    -1,    -1,    -1,    -1,    -1,
   18131             :       -1,    -1,    -1,  5313,    -1,  5052,    -1,    -1,    -1,  5525,
   18132             :       -1,    78,    -1,    -1,    -1,    -1,    -1,  5533,    -1,    -1,
   18133             :       -1,    -1,    -1,   112,    -1,    -1,    -1,    -1,    -1,    -1,
   18134             :       -1,    -1,    -1,    -1,   933,    -1,  1235,    -1,  5052,    -1,
   18135             :       -1,    -1,    -1,    -1,   133,    -1,    -1,  1246,  5313,    -1,
   18136             :       -1,   140,    -1,    -1,    -1,   144,    -1,    -1,    -1,    -1,
   18137             :       -1,  3946,    -1,    -1,  1263,    -1,    -1,    -1,    -1,  1268,
   18138             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5389,
   18139             :       -1,    -1,    -1,  3968,   173,    -1,    -1,    -1,    -1,    -1,
   18140             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18141             :       -1,    -1,    -1,    -1,    -1,  3990,    -1,    -1,    -1,  5625,
   18142             :       -1,    -1,    -1,    -1,    -1,    -1,   205,    -1,    -1,    -1,
   18143             :      209,    -1,    -1,  5639,  5389,    -1,    -1,  5174,    -1,    -1,
   18144             :      197,  3543,    -1,    -1,  3546,   202,  3548,    -1,    -1,    -1,
   18145             :       -1,  3553,    -1,    -1,  1043,    -1,    -1,    -1,    -1,  5665,
   18146             :       -1,  1050,    -1,    -1,    -1,    -1,    -1,    -1,   225,   226,
   18147             :     5174,    -1,  1061,    -1,    -1,    -1,  1065,    -1,  1067,    -1,
   18148             :       -1,    -1,    -1,    -1,   263,    -1,    -1,    -1,    -1,   268,
   18149             :       -1,    -1,    -1,  3595,   273,    -1,   253,  4072,    -1,    -1,
   18150             :       -1,  3603,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18151             :      289,  5511,  1401,    -1,   293,    -1,    -1,    -1,    -1,    -1,
   18152             :     1409,  1410,    -1,    -1,    -1,   304,  3628,  5733,    -1,    -1,
   18153             :       -1,    -1,    -1,    -1,    -1,   314,    -1,    -1,    -1,   296,
   18154             :       -1,    -1,    -1,    -1,    -1,    -1,   325,   326,    -1,  4124,
   18155             :       -1,    -1,    -1,    -1,    -1,   312,  5511,    -1,   315,    -1,
   18156             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18157             :       -1,    -1,    -1,  1462,  4149,    -1,  5313,    -1,    -1,    -1,
   18158             :       -1,    -1,    -1,    -1,    -1,  1174,    -1,    -1,    -1,   368,
   18159             :       -1,    -1,   371,   372,   373,    -1,    -1,  5803,    -1,    -1,
   18160             :       -1,    -1,    -1,    -1,    -1,    -1,  3708,    -1,  3710,  5313,
   18161             :       -1,    -1,    10,    -1,    -1,    13,    -1,    -1,   397,    17,
   18162             :       18,    19,    -1,    -1,   403,    -1,    -1,    -1,    -1,    -1,
   18163             :       -1,  5837,    -1,    -1,    -1,    -1,    -1,    35,    -1,   418,
   18164             :       -1,    -1,    -1,    -1,    -1,    -1,  1235,    45,    -1,    -1,
   18165             :       -1,   408,    -1,    -1,    52,    -1,    -1,  1246,    -1,    -1,
   18166             :       -1,    -1,    -1,    -1,    -1,    -1,  5666,    -1,    -1,    -1,
   18167             :       -1,  5671,  5672,    -1,  1263,    -1,    -1,  5883,    -1,  1268,
   18168             :       78,    -1,    -1,    -1,    -1,  5389,    -1,   208,    -1,    -1,
   18169             :      469,    -1,    -1,    -1,    -1,    -1,    -1,   476,    -1,   220,
   18170             :       -1,  2735,  5908,    -1,  3806,  2739,  2740,    -1,    -1,    -1,
   18171             :      231,  5666,    -1,    -1,    -1,    -1,  5671,  5672,    -1,    -1,
   18172             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18173             :       -1,    -1,    -1,    -1,    -1,  4310,    -1,    -1,    -1,    -1,
   18174             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3850,    -1,
   18175             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   515,    -1,
   18176             :     2794,  5967,    -1,    -1,    -1,    -1,  2800,   524,   525,   526,
   18177             :      527,   528,   529,   530,   531,   532,  3878,    -1,    -1,    -1,
   18178             :      537,    -1,    -1,    -1,    -1,  5785,    -1,    -1,    -1,    -1,
   18179             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   197,
   18180             :       -1,    -1,    -1,    -1,   202,    -1,    -1,  5511,    -1,    -1,
   18181             :       -1,    -1,  1401,    -1,  2848,    -1,    -1,    -1,    -1,    -1,
   18182             :     1409,  1410,    -1,    -1,  1713,    -1,    -1,   225,   226,    -1,
   18183             :     5785,  4406,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18184             :       -1,    -1,    -1,    -1,  3946,    -1,    -1,    -1,  5848,    -1,
   18185             :       -1,    -1,    -1,    -1,    -1,   253,    -1,    -1,    -1,  4434,
   18186             :       -1,    -1,    -1,    -1,    -1,    -1,  3968,    -1,    -1,    -1,
   18187             :       -1,    -1,    -1,  1462,    -1,    -1,  6082,    10,    -1,    -1,
   18188             :       13,    -1,    -1,    -1,    17,    18,    19,    -1,  3990,    -1,
   18189             :       -1,    -1,    -1,  5848,    -1,    -1,    -1,    -1,   296,    -1,
   18190             :       -1,    -1,    35,    -1,    -1,  6111,    -1,    -1,    -1,    -1,
   18191             :       -1,    -1,    45,    -1,   312,    -1,  6122,   315,    -1,    52,
   18192             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5666,
   18193             :       -1,    -1,    -1,    -1,  5671,  5672,    -1,    -1,    -1,  1828,
   18194             :       -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,
   18195             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18196             :       -1,    -1,  5666,    -1,    -1,    -1,    -1,  5671,  5672,    -1,
   18197             :     4072,    -1,    -1,    -1,  1863,    -1,    -1,   198,   199,    -1,
   18198             :       -1,   202,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18199             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1886,    -1,    -1,
   18200             :       -1,   222,  4577,    -1,    -1,  1894,    -1,    -1,   229,    -1,
   18201             :      408,    -1,    -1,  1902,    -1,    -1,    -1,    -1,    -1,    -1,
   18202             :       -1,    -1,  4124,    -1,  3058,    -1,    -1,    -1,    -1,    -1,
   18203             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18204             :       -1,    -1,    -1,  6249,    -1,    -1,    -1,  4149,  5785,  4624,
   18205             :       -1,    -1,    -1,    -1,  4629,    -1,    -1,  1946,  1947,    -1,
   18206             :       -1,    -1,    -1,    -1,   197,    -1,    -1,    -1,    -1,   202,
   18207             :       -1,  1960,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18208             :       -1,  5785,    -1,    -1,  1973,  1974,    -1,    -1,    -1,    -1,
   18209             :       -1,    -1,   225,   226,    -1,    -1,    -1,  3131,    -1,    -1,
   18210             :       -1,  3135,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18211             :       -1,  5848,    -1,    -1,    -1,    -1,    -1,   515,    -1,    -1,
   18212             :      253,    -1,    -1,    -1,  1713,    -1,   524,   525,   526,   527,
   18213             :      528,   529,   530,   531,   532,    -1,    -1,    -1,    -1,   537,
   18214             :       -1,    -1,    -1,    -1,  5848,   666,    -1,    -1,    -1,    -1,
   18215             :       -1,   672,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18216             :       -1,    -1,    -1,   296,    -1,    -1,    -1,    -1,    -1,    -1,
   18217             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   312,
   18218             :       -1,    -1,   315,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18219             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18220             :       -1,    -1,    -1,    -1,  3238,    -1,    -1,    -1,  4310,    -1,
   18221             :       -1,    -1,  4787,    -1,    -1,    -1,    -1,    -1,    -1,  3253,
   18222             :       -1,    -1,    -1,    -1,  3258,    -1,    -1,    -1,    -1,    -1,
   18223             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1828,
   18224             :       -1,    -1,    -1,    -1,  2133,    -1,    -1,    -1,    -1,    -1,
   18225             :       -1,    -1,    -1,    -1,  3288,  6461,    -1,    -1,    -1,    -1,
   18226             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18227             :       -1,    -1,    -1,    -1,  1863,   408,    -1,    -1,    -1,    -1,
   18228             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18229             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1886,    -1,    -1,
   18230             :       -1,    -1,    -1,    -1,  4406,  1894,    -1,    -1,    -1,    -1,
   18231             :       -1,    -1,    -1,  1902,    -1,    -1,    -1,    -1,    -1,    -1,
   18232             :       -1,    -1,   843,    -1,    -1,    -1,    -1,    -1,    -1,  4904,
   18233             :       -1,    -1,  4434,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18234             :       -1,   862,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18235             :       -1,    -1,    -1,    -1,  1943,  1944,    -1,  1946,  1947,    -1,
   18236             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1958,
   18237             :     6370,  1960,  1961,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18238             :       -1,    -1,   515,  4958,  1973,  1974,    -1,    -1,    -1,    -1,
   18239             :       -1,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   18240             :       10,    -1,    -1,    13,   537,  4980,    -1,    17,    18,    19,
   18241             :       -1,    -1,    -1,    -1,    -1,  6370,    -1,    -1,    -1,    -1,
   18242             :       -1,    -1,  2011,    -1,    -1,    35,  2015,  2016,    -1,    -1,
   18243             :       -1,    -1,    -1,    -1,    -1,    45,    -1,    -1,    -1,    -1,
   18244             :       -1,    -1,    52,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18245             :       -1,    -1,    -1,   674,    -1,   676,    -1,    -1,   679,    -1,
   18246             :      981,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,
   18247             :       -1,    -1,   693,    10,    -1,  4577,    13,  5052,   699,    -1,
   18248             :       17,    18,    19,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18249             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    35,    -1,
   18250             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    45,  3543,
   18251             :       -1,    -1,  3546,    -1,  3548,    52,    -1,    -1,    -1,  3553,
   18252             :       -1,    -1,  4624,    -1,    -1,    -1,    -1,  4629,    -1,    -1,
   18253             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18254             :       -1,    78,    -1,    -1,  2133,    -1,    -1,    -1,    -1,    -1,
   18255             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18256             :       -1,  3595,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3603,
   18257             :       -1,    -1,    -1,    -1,    -1,  1096,    -1,    -1,    -1,    -1,
   18258             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   197,    -1,    -1,
   18259             :       -1,    -1,   202,    -1,  3628,    -1,    -1,    -1,    -1,  5174,
   18260             :       -1,    -1,    -1,    -1,  1125,  1126,  1127,    -1,    -1,    -1,
   18261             :       -1,    -1,    -1,    -1,    -1,   225,   226,    -1,    -1,    -1,
   18262             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18263             :       -1,    -1,    -1,  6370,    -1,   172,    -1,    -1,    -1,    -1,
   18264             :       -1,   178,    -1,   253,    -1,    -1,    -1,    -1,    -1,    -1,
   18265             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18266             :      197,    -1,    -1,    -1,    -1,   202,  6370,    -1,    -1,    -1,
   18267             :       -1,    -1,    -1,    -1,  3708,    -1,  3710,    -1,    -1,    -1,
   18268             :       -1,    -1,    -1,    -1,    -1,  4787,   296,    -1,   225,   226,
   18269             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18270             :       -1,    -1,   312,    -1,    -1,   315,    -1,    -1,    -1,    -1,
   18271             :       -1,    -1,    -1,  1234,    -1,    10,   253,    -1,    13,    -1,
   18272             :       -1,    -1,    17,    18,    19,    -1,    -1,    -1,    -1,    -1,
   18273             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5313,    -1,
   18274             :       35,  1262,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,
   18275             :       45,    -1,    -1,    -1,    -1,    -1,    -1,    52,    -1,   296,
   18276             :       -1,    -1,    -1,    -1,    -1,   986,   987,    -1,    -1,    -1,
   18277             :       -1,    -1,  3806,    -1,    -1,   312,    -1,    -1,   315,    -1,
   18278             :       -1,    -1,    -1,    78,  2673,    -1,    -1,    -1,    -1,    -1,
   18279             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   408,    -1,
   18280             :       -1,    -1,  4904,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18281             :       -1,    -1,    -1,    -1,  5389,    -1,  3850,    -1,    -1,    -1,
   18282             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18283             :       -1,    -1,    -1,    -1,    -1,   130,  1057,    -1,    -1,  2728,
   18284             :       -1,    -1,    -1,    -1,  3878,    -1,    -1,    -1,    -1,    -1,
   18285             :       -1,  1072,    -1,    -1,    -1,    -1,  4958,  2746,    -1,    -1,
   18286             :       -1,  2750,    -1,    -1,    -1,  2754,    -1,    -1,    -1,    -1,
   18287             :       -1,   408,    -1,    -1,  2763,    -1,    -1,    -1,  4980,    -1,
   18288             :       -1,    -1,  1103,  1104,    -1,    -1,    -1,    -1,    -1,  2778,
   18289             :       -1,    -1,    -1,    -1,  1415,    -1,    -1,    -1,    -1,    -1,
   18290             :       -1,    -1,   197,    -1,    -1,   515,    -1,   202,  1129,    -1,
   18291             :       -1,    -1,  3946,    -1,   524,   525,   526,   527,   528,   529,
   18292             :      530,   531,   532,  2812,    -1,   535,    -1,    -1,    -1,    -1,
   18293             :      225,   226,    -1,    -1,  3968,    -1,  5511,    -1,    -1,    -1,
   18294             :       -1,    -1,    -1,  2832,  2833,    -1,    -1,    -1,  1169,  1170,
   18295             :     5052,    -1,    -1,    -1,    -1,    -1,  3990,    -1,   253,    -1,
   18296             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18297             :       -1,    -1,    -1,    -1,  1495,    -1,    -1,    -1,   515,    -1,
   18298             :       -1,  2870,  2871,    -1,    -1,  2874,    -1,   524,   525,   526,
   18299             :      527,   528,   529,   530,   531,   532,    -1,    -1,    -1,    -1,
   18300             :       -1,   296,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2898,
   18301             :       -1,  2900,    -1,    -1,    -1,  2904,    -1,   312,    -1,    -1,
   18302             :      315,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2918,
   18303             :       -1,    -1,    -1,    -1,    -1,    -1,  2925,    -1,  4072,  2928,
   18304             :       -1,    -1,    -1,    -1,    -1,  2934,    -1,    -1,    -1,    -1,
   18305             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1578,    -1,    -1,
   18306             :       -1,    -1,    -1,    -1,    -1,  2954,  1587,    -1,    -1,    -1,
   18307             :       -1,  2960,  5174,    -1,    -1,    -1,    -1,    -1,  2967,    -1,
   18308             :       -1,    -1,    -1,    -1,  2673,    -1,    -1,    -1,    -1,    -1,
   18309             :     4124,  5666,  2981,    -1,    -1,    -1,  5671,  5672,  1619,    -1,
   18310             :       -1,    -1,    -1,    -1,  1625,  1626,  2995,    -1,  1629,    -1,
   18311             :       -1,  3000,    -1,   408,    -1,  4149,    -1,  3006,    -1,    -1,
   18312             :       -1,  1642,    -1,    -1,  1645,    -1,    -1,    -1,    -1,    -1,
   18313             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2728,
   18314             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18315             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2746,    -1,    -1,
   18316             :       -1,  2750,    -1,    -1,    -1,  2754,    -1,    -1,    -1,    -1,
   18317             :       -1,    -1,    -1,    -1,  2763,    -1,    -1,  3066,   473,    -1,
   18318             :       -1,    -1,  1703,    -1,    -1,    -1,    -1,    -1,    -1,  2778,
   18319             :       -1,    -1,    -1,    -1,    -1,    -1,  1717,    -1,    -1,    -1,
   18320             :       -1,    -1,    -1,    -1,    -1,    -1,  2795,    -1,  2797,  2798,
   18321             :     5785,  5313,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18322             :      515,    -1,    -1,  2812,    -1,    -1,    -1,    -1,    -1,   524,
   18323             :      525,   526,   527,   528,   529,   530,   531,   532,    -1,    -1,
   18324             :       -1,    -1,    -1,  2832,  2833,    -1,    -1,    -1,    -1,    -1,
   18325             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    10,    -1,
   18326             :       -1,    13,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,
   18327             :       -1,    -1,    -1,  5848,    -1,    -1,  4310,    -1,    -1,    -1,
   18328             :       -1,  2870,  2871,    35,    -1,  2874,    -1,  5389,    -1,    -1,
   18329             :       -1,    -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,
   18330             :       52,    -1,    -1,    -1,    -1,    -1,  1827,    -1,    -1,  2898,
   18331             :       -1,  2900,    -1,    -1,    -1,  2904,    -1,  1838,    -1,    -1,
   18332             :       -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,  2918,
   18333             :       -1,    -1,  3221,    -1,  3223,    -1,  2925,    -1,    -1,  2928,
   18334             :       -1,    -1,    -1,    -1,  1565,  2934,    -1,    -1,    -1,    -1,
   18335             :       -1,  3240,    -1,    -1,    -1,    -1,    -1,    -1,  3247,  1880,
   18336             :     1881,    -1,    -1,    -1,    -1,  2954,    -1,    -1,    -1,  1590,
   18337             :       -1,  2960,  4406,    -1,    -1,    -1,    -1,    -1,  2967,    -1,
   18338             :       -1,    -1,    -1,    -1,  1905,    -1,    -1,    -1,    -1,    -1,
   18339             :       -1,  1912,  2981,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18340             :     4434,    -1,    -1,    -1,    -1,    -1,  2995,    -1,    -1,  5511,
   18341             :       -1,  3000,    -1,    -1,    -1,    -1,    -1,  3006,    -1,   171,
   18342             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18343             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18344             :       -1,    -1,    -1,    -1,    -1,   197,    -1,    -1,  1669,    -1,
   18345             :      202,    -1,    -1,    -1,    -1,  3344,    -1,    -1,    -1,    -1,
   18346             :       -1,  3350,    -1,    -1,  1985,    -1,    -1,    -1,    -1,    -1,
   18347             :       -1,    -1,    -1,   225,   226,    -1,    -1,  3066,  1699,  1700,
   18348             :     1701,  1702,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18349             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2018,  2019,    -1,
   18350             :       -1,   253,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18351             :       -1,    -1,    -1,    -1,  2035,    10,    -1,  2038,    13,    -1,
   18352             :       -1,    -1,    17,    18,    19,    -1,    -1,    -1,    -1,    -1,
   18353             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18354             :       35,    -1,    -1,  4577,   296,    -1,  3435,    -1,    -1,    -1,
   18355             :       45,    -1,    -1,    -1,    -1,    -1,    -1,    52,    -1,    -1,
   18356             :      312,    -1,    -1,   315,  5666,    -1,    -1,    -1,    -1,  5671,
   18357             :     5672,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    10,    -1,
   18358             :       -1,    13,    -1,    78,    -1,    17,    18,    19,    -1,   341,
   18359             :     4624,    -1,    -1,    -1,    -1,  4629,    -1,    -1,    -1,    -1,
   18360             :       -1,    -1,    -1,    35,    -1,    -1,    38,    -1,    -1,    -1,
   18361             :       -1,    -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,
   18362             :       52,    -1,    -1,    -1,    -1,  1846,  1847,    -1,    -1,    -1,
   18363             :       -1,    -1,  3221,    -1,  3223,    -1,    -1,    -1,    -1,    -1,
   18364             :       -1,  1862,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,
   18365             :       -1,  3240,    -1,    -1,    -1,    -1,   408,    -1,  3247,    -1,
   18366             :       -1,    -1,    -1,    -1,    -1,  3254,    -1,  3256,  3257,    -1,
   18367             :       -1,    -1,    -1,    -1,    -1,  1896,  1897,  1898,  1899,  3568,
   18368             :     3569,    -1,    -1,  5785,    10,    -1,    -1,    13,    -1,    -1,
   18369             :       -1,    17,    18,    19,    -1,    -1,    -1,    -1,    -1,    -1,
   18370             :     3589,    -1,   197,  3592,    -1,    -1,    -1,   202,    -1,    35,
   18371             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    45,
   18372             :       -1,    -1,    -1,    -1,    -1,    -1,    52,    -1,    -1,    -1,
   18373             :      225,   226,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18374             :       -1,    -1,    -1,    -1,    -1,    -1,  5848,    -1,    -1,    -1,
   18375             :       -1,    -1,    78,  4787,    -1,  3344,  1977,    -1,   253,    -1,
   18376             :       -1,  3350,  1983,   515,    -1,   197,    -1,    -1,    -1,    -1,
   18377             :      202,    -1,   524,   525,   526,   527,   528,   529,   530,   531,
   18378             :      532,    -1,    -1,    -1,    -1,  3674,  3675,  3676,    -1,    -1,
   18379             :       -1,    -1,    -1,   225,   226,  6370,    -1,    -1,    -1,    -1,
   18380             :       -1,   296,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18381             :     3699,    -1,    -1,    -1,    -1,    -1,    -1,   312,    -1,    -1,
   18382             :      315,   253,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3718,
   18383             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18384             :       -1,    -1,    -1,    -1,    -1,    -1,  3435,    -1,   343,    -1,
   18385             :       -1,  3740,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18386             :       -1,    -1,    -1,    -1,   296,    -1,    25,    -1,    -1,    -1,
   18387             :     4904,   197,    31,    -1,    -1,    -1,   202,    -1,    -1,    38,
   18388             :      312,    -1,    -1,   315,    -1,    -1,    -1,    -1,    -1,    -1,
   18389             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   225,
   18390             :      226,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18391             :       -1,    -1,    -1,   408,    -1,    -1,    -1,    76,    -1,    -1,
   18392             :       -1,    -1,    -1,    -1,  4958,    -1,    -1,   253,    -1,    -1,
   18393             :       -1,    -1,   427,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18394             :       -1,  3830,    -1,    -1,    -1,    -1,  4980,    -1,    -1,    -1,
   18395             :     2171,    -1,    -1,   112,    -1,    -1,    -1,    -1,    -1,    -1,
   18396             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18397             :      296,    -1,    -1,    -1,   133,    -1,   408,    -1,    -1,  3568,
   18398             :     3569,   140,    -1,    -1,    -1,   144,   312,    -1,  3877,   315,
   18399             :       -1,    -1,    -1,    -1,  3883,    -1,  3885,    -1,    -1,    -1,
   18400             :     3589,    -1,    -1,  3592,    -1,    -1,    -1,    -1,    -1,  3898,
   18401             :       -1,  3900,    -1,    -1,   173,    -1,    -1,    -1,  5052,    -1,
   18402             :      515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   524,
   18403             :      525,   526,   527,   528,   529,   530,   531,   532,    -1,    -1,
   18404             :       -1,    -1,    -1,    -1,    -1,    -1,   205,    -1,    -1,    -1,
   18405             :      209,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18406             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18407             :       -1,    -1,    -1,    -1,  2595,    -1,    -1,    -1,  3967,    -1,
   18408             :       -1,    -1,   408,   515,  2605,  3674,  3675,  3676,    -1,    -1,
   18409             :       -1,    -1,   524,   525,   526,   527,   528,   529,   530,   531,
   18410             :      532,    -1,    -1,    -1,   263,    -1,    -1,    -1,    -1,   268,
   18411             :     3699,    -1,    -1,    -1,   273,    -1,    -1,    -1,    -1,    -1,
   18412             :     4009,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3718,
   18413             :      289,    -1,    -1,    -1,   293,    -1,    -1,    -1,    -1,  4028,
   18414             :     5174,    -1,    -1,  4032,    -1,   304,    -1,    -1,    -1,    -1,
   18415             :       -1,  3740,    -1,    -1,    -1,   314,    -1,    -1,    -1,    -1,
   18416             :       -1,    -1,    -1,    -1,  4053,    -1,   325,   326,    -1,    -1,
   18417             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18418             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   514,   515,
   18419             :       -1,    -1,    -1,    -1,  2715,    -1,    -1,    -1,   524,   525,
   18420             :      526,   527,   528,   529,   530,   531,   532,    -1,    -1,   368,
   18421             :       -1,    -1,   371,   372,   373,    10,    -1,    -1,    13,    -1,
   18422             :       -1,    -1,    17,    18,    19,    -1,    -1,    -1,    -1,    -1,
   18423             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   397,    -1,
   18424             :       35,  3830,    -1,    -1,   403,    -1,    -1,    -1,    -1,    -1,
   18425             :       45,    -1,    -1,    -1,    -1,    -1,    -1,    52,    -1,   418,
   18426             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  6370,    -1,
   18427             :       -1,    -1,  4161,    -1,    -1,    -1,    -1,    -1,    -1,  5313,
   18428             :       -1,    -1,    -1,    78,    -1,    -1,    -1,     0,  3877,    -1,
   18429             :       -1,    -1,    -1,    -1,  3883,    -1,  3885,    -1,    -1,    -1,
   18430             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    -1,  3898,
   18431             :      469,  3900,    -1,    -1,    -1,    -1,    -1,   476,    31,    -1,
   18432             :       33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18433             :       -1,  2852,    -1,    -1,    -1,    -1,    -1,    -1,    51,    -1,
   18434             :       -1,    -1,    -1,    -1,    -1,    -1,  2867,    -1,    61,    -1,
   18435             :       -1,    -1,    -1,    -1,    -1,  5389,    -1,    -1,    -1,    -1,
   18436             :       73,    -1,    75,    76,    -1,    -1,    -1,    -1,  2889,    82,
   18437             :       -1,    84,    -1,    -1,    -1,    -1,    -1,    -1,  3967,    -1,
   18438             :       -1,    -1,    -1,    -1,    97,    -1,    99,    -1,    -1,    -1,
   18439             :       -1,    10,    -1,    -1,    13,    -1,    -1,    -1,    17,    18,
   18440             :       19,    -1,   197,   116,    -1,    -1,   119,   202,    -1,    -1,
   18441             :       -1,    -1,    -1,    -1,    -1,    -1,    35,    -1,  2639,    38,
   18442             :     4009,   134,    -1,   136,    -1,    -1,    45,   140,    -1,    -1,
   18443             :      225,   226,    -1,    52,   147,    -1,    -1,    -1,    -1,  4028,
   18444             :       -1,    -1,    -1,  4032,   157,    -1,   159,  4336,    -1,    -1,
   18445             :       -1,    -1,    -1,   166,  2975,  2976,    -1,    -1,   253,    78,
   18446             :       -1,    -1,    -1,    -1,  4053,    -1,    -1,    -1,    -1,    -1,
   18447             :       -1,   184,    -1,    -1,    -1,    -1,    -1,  5511,    -1,    -1,
   18448             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   201,    -1,
   18449             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18450             :       -1,   296,    -1,    -1,    -1,   840,   841,    -1,    -1,    -1,
   18451             :       -1,  4400,    -1,    -1,    -1,    -1,  4405,   312,  4407,    -1,
   18452             :      315,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    10,
   18453             :       -1,    -1,    13,    -1,    -1,    -1,    17,    18,    19,    -1,
   18454             :       -1,   336,   255,   256,  4433,    -1,    -1,    -1,   261,    -1,
   18455             :       -1,    -1,    -1,    -1,    35,    -1,  3077,    -1,    -1,    -1,
   18456             :       -1,    -1,    -1,   276,    45,    -1,    -1,    -1,    -1,    -1,
   18457             :       -1,    52,  4161,    -1,    -1,    -1,    -1,    -1,   197,    -1,
   18458             :     2801,    -1,   295,   202,    -1,   920,    -1,    -1,    -1,    -1,
   18459             :     4479,    -1,    -1,  4482,    -1,    -1,    -1,    78,    -1,    -1,
   18460             :       -1,    -1,    -1,    -1,    -1,    -1,   225,   226,    -1,    -1,
   18461             :       -1,    -1,    -1,   408,    -1,    -1,    -1,    -1,    -1,    -1,
   18462             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18463             :       -1,   344,  5666,    -1,   253,    -1,    -1,  5671,  5672,    -1,
   18464             :       -1,    -1,    -1,    -1,    -1,    -1,   359,    -1,    -1,    -1,
   18465             :       -1,   364,   365,    -1,   367,    -1,    -1,    -1,    -1,   372,
   18466             :       -1,    -1,    -1,    -1,    -1,   378,    -1,    -1,   381,    -1,
   18467             :       -1,    -1,    -1,    -1,    -1,   388,    -1,   296,    -1,    -1,
   18468             :       -1,    -1,   395,   396,  4573,  4574,    -1,    -1,    -1,    -1,
   18469             :      403,    -1,    -1,   312,   407,  4584,   315,   178,    -1,    -1,
   18470             :       -1,    -1,    -1,    -1,    -1,   418,  1041,  1042,    -1,    -1,
   18471             :       -1,    -1,  4601,    -1,    -1,    -1,   197,    -1,    -1,    -1,
   18472             :      515,   202,   435,    -1,    -1,  2946,    -1,    -1,  2949,   524,
   18473             :      525,   526,   527,   528,   529,   530,   531,   532,    -1,    -1,
   18474             :       -1,    -1,    -1,   456,   225,   226,    -1,  4336,    -1,    -1,
   18475             :       -1,  5785,    -1,    -1,    -1,   468,    -1,    -1,    -1,    -1,
   18476             :       -1,   474,    -1,    -1,    -1,    -1,   479,    -1,    -1,    -1,
   18477             :       -1,    -1,   253,    -1,    -1,    -1,    -1,    -1,    10,    -1,
   18478             :      493,    13,    -1,    -1,    -1,    17,    18,    19,    -1,   408,
   18479             :       -1,    -1,    -1,  4682,    -1,    -1,  4685,    -1,    -1,    -1,
   18480             :       -1,  1368,    -1,    35,   517,    -1,   519,   520,   521,   522,
   18481             :      523,  4400,    -1,    45,  5848,   296,  4405,  3038,  4407,    -1,
   18482             :       52,    -1,    -1,   536,    -1,    -1,   539,    -1,    -1,    -1,
   18483             :     3051,   312,    -1,    -1,   315,    -1,    -1,    -1,  3059,    -1,
   18484             :       -1,    -1,    -1,    -1,  4433,    -1,    78,    -1,    -1,    -1,
   18485             :       -1,    -1,    -1,    -1,    -1,    -1,  1423,    -1,    -1,    -1,
   18486             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18487             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3098,    -1,    -1,
   18488             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18489             :     4479,    -1,    -1,  4482,    -1,    -1,   515,    -1,  3119,    -1,
   18490             :     3421,    -1,    -1,    -1,    -1,   524,   525,   526,   527,   528,
   18491             :      529,   530,   531,   532,    -1,    -1,    -1,    -1,    -1,    -1,
   18492             :       -1,    10,    -1,    -1,    13,    -1,    -1,   408,    17,    18,
   18493             :       19,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18494             :       -1,  3162,    -1,  3164,    -1,  1280,    35,    -1,    -1,    38,
   18495             :       -1,    -1,    -1,    -1,    -1,    -1,    45,    -1,    -1,    -1,
   18496             :       -1,    -1,    -1,    52,    -1,   197,    -1,    -1,    -1,    -1,
   18497             :      202,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18498             :       -1,    -1,    -1,    -1,  4573,  4574,    -1,  1322,    -1,    78,
   18499             :       -1,    -1,    -1,   225,   226,  4584,    -1,    -1,    -1,    -1,
   18500             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18501             :       -1,    -1,  4601,    -1,    -1,    -1,  1351,  1352,  1353,    -1,
   18502             :     1355,   253,    -1,    -1,    -1,    -1,    -1,    -1,  4917,    -1,
   18503             :       -1,  3252,    -1,    -1,   515,    -1,    -1,    -1,  3259,    -1,
   18504             :       -1,  1376,    -1,   524,   525,   526,   527,   528,   529,   530,
   18505             :      531,   532,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    10,
   18506             :       -1,    -1,    13,    -1,   296,    -1,    17,    18,    19,    -1,
   18507             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18508             :      312,    -1,    -1,   315,    35,    -1,  4975,    38,    -1,    -1,
   18509             :       -1,    -1,    -1,  4682,    45,    -1,  4685,    -1,  4987,    -1,
   18510             :       -1,    52,    -1,    -1,    -1,    -1,    -1,    -1,   197,    -1,
   18511             :       -1,    -1,    -1,   202,    -1,    -1,    -1,    -1,    -1,    -1,
   18512             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,
   18513             :       -1,    -1,  5021,    -1,    -1,    -1,   225,   226,    -1,    -1,
   18514             :       -1,    -1,    -1,    -1,  1479,    -1,    -1,    10,  1483,  1484,
   18515             :       13,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,
   18516             :       -1,    -1,    -1,    -1,   253,    -1,    -1,  1734,    -1,    -1,
   18517             :       -1,  1738,    35,    -1,    -1,    -1,   408,    -1,    -1,    -1,
   18518             :       -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,    52,
   18519             :       -1,    -1,    -1,    -1,    -1,  3716,    -1,    -1,    -1,    -1,
   18520             :       -1,    -1,    -1,    -1,    -1,  3726,    -1,   296,    -1,    -1,
   18521             :       -1,  5100,   444,    -1,    -1,    78,    -1,    -1,    -1,    -1,
   18522             :       -1,    -1,    -1,   312,    -1,    -1,   315,    -1,    -1,    -1,
   18523             :     5119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18524             :       -1,    -1,    -1,    -1,    -1,    -1,   197,    -1,    -1,    -1,
   18525             :       -1,   202,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18526             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18527             :       -1,    -1,    -1,    -1,   225,   226,    -1,    -1,    -1,    -1,
   18528             :       -1,    -1,    -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,
   18529             :       -1,    -1,   524,   525,   526,   527,   528,   529,   530,   531,
   18530             :      532,    -1,   253,    -1,    -1,    10,    -1,    -1,    13,    -1,
   18531             :       -1,    -1,    17,    18,    19,    -1,  5205,    -1,    -1,   408,
   18532             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4917,    -1,
   18533             :       35,    -1,    -1,    -1,   197,    -1,  6370,    -1,    -1,   202,
   18534             :       45,    -1,    -1,    -1,    -1,   296,    -1,    52,    -1,    -1,
   18535             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18536             :       -1,   312,   225,   226,   315,    -1,    -1,    -1,  3889,  3890,
   18537             :     3891,    -1,    -1,    78,    -1,    -1,    -1,  3598,  3599,    -1,
   18538             :       -1,    -1,    -1,    -1,    -1,  3906,  4975,    -1,    -1,    -1,
   18539             :      253,    -1,    -1,  1728,  1729,  1730,    -1,    -1,  4987,    -1,
   18540             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18541             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3939,  3940,
   18542             :       -1,    -1,    -1,  3944,    -1,    -1,   515,    -1,    -1,    -1,
   18543             :       -1,    -1,  5021,   296,    -1,   524,   525,   526,   527,   528,
   18544             :      529,   530,   531,   532,    -1,    -1,    -1,    -1,  5337,   312,
   18545             :     5339,    -1,   315,    -1,    -1,    -1,    10,   408,    -1,    13,
   18546             :       -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,   332,
   18547             :       -1,    -1,    -1,   178,    -1,    -1,    -1,    -1,    -1,    -1,
   18548             :       -1,    35,    -1,    -1,    -1,    -1,    -1,    -1,  2055,    -1,
   18549             :       -1,    45,   197,    -1,    -1,    -1,    -1,   202,    52,    -1,
   18550             :       -1,  5390,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18551             :       -1,  5100,    -1,    -1,  2081,    -1,    -1,    -1,  2085,    -1,
   18552             :      225,   226,    -1,    -1,    78,    -1,    -1,    -1,    -1,  4050,
   18553             :     5119,    -1,    -1,  2100,  2101,  2102,    -1,  2104,    -1,    -1,
   18554             :       -1,    -1,    -1,    -1,    -1,   408,    -1,    -1,   253,    -1,
   18555             :       -1,  5440,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    10,
   18556             :       -1,    -1,    13,    -1,   515,    -1,    17,    18,    19,    -1,
   18557             :       -1,    -1,    -1,   524,   525,   526,   527,   528,   529,   530,
   18558             :      531,   532,    -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,
   18559             :       -1,   296,    -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,
   18560             :       -1,    52,    -1,    -1,    -1,    -1,    -1,   312,    -1,    -1,
   18561             :      315,    -1,    -1,    -1,    -1,    -1,  5205,    -1,    -1,    -1,
   18562             :       -1,    -1,    -1,    -1,   178,    -1,    -1,    78,    -1,    -1,
   18563             :       -1,  3852,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18564             :       -1,    -1,    -1,   197,    -1,    -1,    -1,    -1,   202,    -1,
   18565             :       -1,    -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18566             :       -1,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   18567             :       -1,   225,   226,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18568             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18569             :       -1,    -1,    -1,    -1,    -1,  4216,  4217,  4218,    -1,   253,
   18570             :       -1,    -1,    -1,   408,    -1,    -1,    -1,    -1,    -1,    -1,
   18571             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18572             :       -1,   172,  2057,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18573             :       -1,  2066,  2067,  2068,  2069,  2070,  2071,  2072,  2073,  2074,
   18574             :     2075,    -1,   296,    -1,    -1,  2080,   197,  2082,  5337,  2084,
   18575             :     5339,   202,  2087,  2088,  2089,    -1,    -1,    -1,   312,    -1,
   18576             :     2095,   315,    -1,  2098,    -1,    -1,    -1,    -1,    -1,    -1,
   18577             :       -1,    -1,    -1,    -1,   225,   226,    -1,    -1,  2113,  2114,
   18578             :     2115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18579             :       -1,  4012,    -1,    -1,    -1,  5684,  2131,    -1,    -1,    -1,
   18580             :       -1,  5390,   253,    -1,    -1,    -1,    -1,    -1,    -1,  5698,
   18581             :      515,  5400,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   524,
   18582             :      525,   526,   527,   528,   529,   530,   531,   532,    -1,    -1,
   18583             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18584             :       -1,  5730,    -1,    -1,    -1,   296,    -1,    -1,    -1,    -1,
   18585             :       -1,  5440,    -1,    -1,   408,    -1,  5445,    -1,    -1,    -1,
   18586             :       -1,   312,    -1,    -1,   315,    -1,    -1,    10,    -1,    -1,
   18587             :       13,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,
   18588             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18589             :       -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18590             :       -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,    52,
   18591             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18592             :     5809,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18593             :       -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,
   18594             :       -1,    -1,    -1,    -1,  2279,    -1,    -1,    -1,    -1,    -1,
   18595             :       -1,    -1,    -1,    -1,    -1,    -1,  5845,   408,    -1,    -1,
   18596             :       -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18597             :      524,   525,   526,   527,   528,   529,   530,   531,   532,    -1,
   18598             :       -1,    10,    -1,    -1,    13,    -1,    -1,    -1,    17,    18,
   18599             :       19,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2333,    -1,
   18600             :       -1,    -1,    -1,    -1,    -1,    -1,    35,    -1,   151,    -1,
   18601             :       -1,    -1,    -1,    -1,    -1,    -1,    45,    -1,    -1,    -1,
   18602             :       -1,    -1,    -1,    52,    -1,  2592,    -1,    -1,    -1,    -1,
   18603             :       -1,    -1,  5921,  4554,    -1,  5924,    -1,    -1,    -1,    -1,
   18604             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,
   18605             :       -1,    -1,    -1,    -1,   197,  2390,    -1,    -1,    -1,   202,
   18606             :       -1,    -1,    -1,    -1,   515,  4586,    -1,    -1,    -1,    -1,
   18607             :       -1,    -1,    -1,   524,   525,   526,   527,   528,   529,   530,
   18608             :      531,   532,   225,   226,    -1,    -1,    -1,    -1,    -1,    -1,
   18609             :       -1,    -1,    -1,    -1,    -1,  5684,    -1,  4618,    -1,    -1,
   18610             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5698,
   18611             :      253,    -1,    -1,    -1,    -1,    10,    -1,    -1,    13,    -1,
   18612             :       -1,  2688,    17,    18,    19,    -1,    -1,    -1,    -1,    -1,
   18613             :       -1,    -1,  4653,  2700,    -1,    -1,    -1,    -1,  2705,    -1,
   18614             :       35,  5730,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4670,
   18615             :       45,    -1,    -1,   296,    -1,    -1,    -1,    52,    -1,    -1,
   18616             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   197,   312,
   18617             :       -1,    -1,   315,   202,    -1,    -1,    -1,    -1,    -1,    -1,
   18618             :     6069,    -1,    -1,    78,    -1,    -1,    -1,    -1,    -1,    -1,
   18619             :       -1,    -1,    -1,    -1,    -1,    -1,   225,   226,    -1,    -1,
   18620             :       -1,    -1,    -1,    -1,  6093,    -1,    -1,    -1,    -1,    -1,
   18621             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18622             :     5809,    -1,    -1,    -1,   253,    -1,    -1,    -1,    -1,    -1,
   18623             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18624             :     2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,    -1,
   18625             :     2585,    -1,    -1,    -1,    -1,    -1,  5845,    -1,    -1,    -1,
   18626             :       -1,  2596,    -1,  2598,    -1,   408,    -1,   296,    -1,    -1,
   18627             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   172,    -1,    -1,
   18628             :       -1,    -1,    -1,   312,    -1,    -1,   315,    -1,    -1,    -1,
   18629             :       -1,    -1,    -1,    -1,  4815,  4816,  4817,  4818,    -1,    -1,
   18630             :       -1,  2636,   197,    -1,    -1,  2640,    -1,   202,  2643,  4530,
   18631             :     2645,    -1,    -1,  2648,    -1,    -1,    -1,    -1,    -1,    -1,
   18632             :       -1,    -1,    -1,  4544,    -1,    -1,    -1,    -1,    -1,    -1,
   18633             :      225,   226,  5921,    -1,    -1,  5924,    -1,    -1,    -1,    -1,
   18634             :       -1,    -1,    -1,    -1,  6233,    -1,    -1,    -1,    -1,    -1,
   18635             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   253,    -1,
   18636             :       -1,    -1,    -1,    -1,    -1,    -1,  2701,  2702,    -1,    -1,
   18637             :       -1,    -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,   408,
   18638             :       -1,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   18639             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18640             :       -1,   296,    -1,    -1,    -1,    -1,    10,    -1,    -1,    13,
   18641             :       -1,    -1,    -1,    17,    18,    19,    -1,   312,    -1,    -1,
   18642             :      315,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18643             :       -1,    35,    -1,    -1,    38,    -1,    -1,    -1,    -1,    -1,
   18644             :       -1,    45,    -1,    -1,    -1,    -1,  2781,    -1,    52,    -1,
   18645             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18646             :      489,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18647             :       -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,    -1,
   18648             :     6069,    -1,    -1,    -1,    -1,    -1,   515,    -1,    -1,    -1,
   18649             :       -1,    -1,    -1,    -1,  6083,   524,   525,   526,   527,   528,
   18650             :      529,   530,   531,   532,  6093,    -1,    -1,    -1,  6397,    -1,
   18651             :       -1,    -1,    -1,   408,    -1,    -1,    -1,    10,    -1,    -1,
   18652             :       13,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,
   18653             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18654             :       -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18655             :       -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,    52,
   18656             :       -1,    -1,    -1,  6152,  6153,    -1,    -1,    -1,    -1,  6458,
   18657             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18658             :       -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,
   18659             :       -1,    -1,    -1,   197,  6483,    -1,    -1,    -1,   202,    -1,
   18660             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18661             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18662             :      515,   225,   226,    -1,    -1,    -1,    -1,    -1,    -1,   524,
   18663             :      525,   526,   527,   528,   529,   530,   531,   532,    -1,    -1,
   18664             :       -1,    -1,    -1,    -1,  6233,    -1,  5167,    -1,    -1,   253,
   18665             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5178,    -1,    -1,
   18666             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18667             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18668             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3024,
   18669             :     3025,  3026,   296,    -1,    -1,  3030,    -1,    -1,    -1,    -1,
   18670             :       -1,    -1,  3269,    -1,   197,    -1,    -1,    -1,   312,   202,
   18671             :       -1,   315,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3286,
   18672             :       -1,    -1,  3057,    -1,    -1,    -1,    -1,    -1,    -1,  3296,
   18673             :       -1,    -1,   225,   226,    -1,  3302,    -1,    -1,  3305,    -1,
   18674             :       -1,    -1,    -1,    -1,    -1,  3312,  3313,    -1,  3315,    -1,
   18675             :       -1,    -1,    -1,  3320,  3321,    -1,  3323,    -1,  3325,    -1,
   18676             :      253,    -1,  3329,    -1,    -1,  3332,    -1,    -1,    -1,    -1,
   18677             :     3337,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3346,
   18678             :       -1,    -1,    -1,    -1,  3351,    -1,    -1,    -1,    -1,    -1,
   18679             :       -1,  3358,  3359,  3360,  3361,    -1,    -1,    -1,    -1,  3366,
   18680             :     3367,    -1,  3369,   296,   408,    -1,    -1,    -1,  6397,    -1,
   18681             :       -1,  5032,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   312,
   18682             :       -1,  3388,   315,  3390,    -1,    -1,  5047,    -1,    -1,    -1,
   18683             :     3397,  3398,  3399,  3400,  3401,  3402,  3403,  3404,  3405,  3406,
   18684             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18685             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18686             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  6458,
   18687             :       -1,    -1,    -1,    -1,    -1,    -1,  3443,    -1,    -1,    -1,
   18688             :       -1,    -1,  6471,  6472,    -1,    -1,    -1,    -1,    -1,    -1,
   18689             :       -1,    -1,    -1,    -1,  6483,    -1,    -1,    -1,    -1,    -1,
   18690             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18691             :       -1,   515,    -1,    -1,    -1,   408,    -1,    -1,  5139,    -1,
   18692             :      524,   525,   526,   527,   528,   529,   530,   531,   532,    -1,
   18693             :       -1,  3266,    -1,    -1,    -1,    -1,  3271,    -1,    -1,    -1,
   18694             :       -1,    -1,    -1,  5464,    -1,    -1,    -1,    -1,  5469,    -1,
   18695             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18696             :       -1,    -1,    -1,    -1,    -1,    20,    -1,  5488,    -1,    -1,
   18697             :       -1,    -1,    -1,    -1,    -1,    -1,    31,    -1,    33,    34,
   18698             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3322,    -1,    -1,
   18699             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3333,    -1,
   18700             :     3335,  3336,    -1,    -1,    -1,    -1,    61,    -1,    -1,    -1,
   18701             :       -1,    -1,    -1,    -1,  3349,    -1,  3583,  3352,    73,  3354,
   18702             :       75,    76,   515,    -1,    -1,    -1,    -1,    82,    -1,    84,
   18703             :       -1,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   18704             :       -1,    -1,    97,    -1,    99,    -1,    -1,    -1,    -1,    -1,
   18705             :       -1,    -1,    -1,    23,    -1,    -1,  3391,    -1,  3393,    -1,
   18706             :     3395,   116,    -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,
   18707             :       -1,    41,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   134,
   18708             :       -1,   136,    -1,    -1,    -1,   140,    -1,    -1,    -1,    -1,
   18709             :       -1,    -1,   147,    -1,    -1,    -1,    66,    -1,    -1,    -1,
   18710             :       -1,    -1,   157,    -1,   159,    -1,    -1,    -1,    -1,    79,
   18711             :       -1,   166,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18712             :       -1,    -1,    -1,    -1,    -1,    -1,    96,    -1,    -1,   184,
   18713             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18714             :       -1,    -1,    -1,  5364,   114,  5366,   201,    -1,    -1,    -1,
   18715             :      120,    -1,    -1,    -1,  3489,    -1,    -1,    -1,    -1,  3494,
   18716             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   138,    -1,
   18717             :       -1,    -1,    -1,    -1,  3509,    -1,    -1,    -1,    -1,    -1,
   18718             :       -1,    -1,   152,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18719             :       -1,   161,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18720             :      255,   256,    -1,    -1,   174,    -1,   261,    -1,    -1,    -1,
   18721             :       -1,    -1,    -1,   183,    -1,    -1,    -1,   187,    -1,    -1,
   18722             :       -1,   276,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18723             :       -1,  5752,    -1,    -1,    -1,    -1,    -1,   207,    -1,  3574,
   18724             :      295,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18725             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5780,
   18726             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18727             :       -1,    -1,  3839,  3840,    -1,    -1,    -1,  3844,    -1,    -1,
   18728             :       -1,    -1,    -1,    -1,    -1,  5506,    -1,   257,    -1,   344,
   18729             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   267,    -1,  3634,
   18730             :       -1,    -1,    -1,    -1,   359,    -1,  3873,    -1,    -1,   364,
   18731             :      365,    -1,   367,    -1,    -1,    -1,    -1,   372,    -1,    -1,
   18732             :      375,    -1,    -1,   378,    -1,    -1,   381,    -1,    -1,    -1,
   18733             :       -1,    -1,    -1,   388,    -1,    -1,    -1,    -1,    -1,    -1,
   18734             :      395,   396,   312,    -1,    -1,   315,    -1,    -1,   403,    -1,
   18735             :       -1,    -1,   407,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18736             :       -1,    -1,    -1,   418,    -1,    -1,    -1,    -1,    -1,   339,
   18737             :     5891,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18738             :      435,    -1,    -1,   353,    -1,    -1,    -1,    -1,    -1,    -1,
   18739             :      360,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18740             :       -1,   456,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18741             :      380,    -1,    -1,   468,    -1,    -1,    -1,    -1,    -1,   474,
   18742             :      390,    -1,    -1,    -1,   479,    -1,    -1,   397,    -1,    -1,
   18743             :      400,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   493,    -1,
   18744             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18745             :      420,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   428,    -1,
   18746             :       -1,    -1,   517,    -1,    -1,   435,    -1,  5688,   438,  5690,
   18747             :      440,    -1,   442,   443,    -1,    -1,    -1,    -1,    -1,    -1,
   18748             :       -1,   536,    -1,    -1,   539,    -1,    -1,    -1,   458,    -1,
   18749             :       -1,    -1,    -1,    -1,    -1,    -1,   466,    -1,    -1,   469,
   18750             :     3835,  4068,   472,    -1,    -1,    -1,  3841,  4074,    -1,    -1,
   18751             :       -1,    -1,    -1,    -1,    -1,   485,    -1,    -1,    -1,    -1,
   18752             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18753             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18754             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18755             :       -1,    -1,    -1,    -1,  4121,  4122,    -1,    -1,  4125,  4126,
   18756             :     4127,  4128,    -1,    -1,  4131,  4132,  4133,  4134,  4135,  4136,
   18757             :     4137,  4138,  4139,  4140,  4141,    -1,    -1,    -1,    -1,    -1,
   18758             :       -1,    23,    -1,    -1,    -1,  3920,    28,    -1,    -1,    -1,
   18759             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4164,    -1,    -1,
   18760             :     4167,    -1,  4169,    -1,    -1,  4172,  4173,    -1,    -1,    -1,
   18761             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18762             :       -1,    -1,    -1,    -1,    66,    -1,    -1,  4194,  4195,  4196,
   18763             :     4197,    -1,  4199,    -1,    -1,    -1,    -1,    79,    -1,    -1,
   18764             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18765             :       -1,    -1,    -1,    -1,    96,    -1,    -1,    -1,    -1,    -1,
   18766             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18767             :       -1,    -1,   114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18768             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18769             :       -1,    -1,    -1,    -1,    -1,    -1,   138,    -1,    -1,    -1,
   18770             :       -1,    -1,  4269,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18771             :      152,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   161,
   18772             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,
   18773             :       -1,    -1,   174,    -1,  4069,    -1,    -1,    -1,   180,    -1,
   18774             :       -1,  5962,    -1,  4078,    -1,    -1,    -1,    -1,    -1,    -1,
   18775             :       -1,    -1,  4319,    -1,    -1,    -1,    -1,  4092,    -1,    -1,
   18776             :       -1,  4096,  4097,  4098,    -1,   207,    -1,    -1,  4103,    -1,
   18777             :       -1,  4106,    -1,    -1,  4109,    -1,    -1,    -1,    79,    -1,
   18778             :     4115,    -1,  4117,    -1,    -1,    -1,    -1,  4354,    -1,    -1,
   18779             :       -1,    -1,    -1,    -1,    -1,    96,    -1,    -1,    -1,    -1,
   18780             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4144,
   18781             :     4145,  4146,    -1,   114,    -1,    -1,    -1,    -1,    -1,   120,
   18782             :       -1,    -1,    -1,    -1,    -1,   267,    -1,    -1,  4163,    -1,
   18783             :       -1,    -1,    -1,    -1,    -1,    -1,  4171,   138,    -1,  4174,
   18784             :       -1,  4176,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18785             :       -1,   152,    -1,    -1,    -1,    -1,    -1,  4192,    -1,    -1,
   18786             :      161,    -1,    -1,    -1,    -1,  4200,  4201,    -1,    -1,    -1,
   18787             :      312,    -1,  4207,   174,  6095,    -1,    -1,    -1,    -1,   180,
   18788             :       -1,    -1,    -1,    -1,    -1,    -1,   187,    -1,    -1,    -1,
   18789             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18790             :       -1,  4236,    -1,    -1,    -1,    -1,   207,   349,   350,    -1,
   18791             :       -1,   353,    -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,   380,    -1,
   18794             :       -1,   383,    -1,    -1,   245,    -1,    -1,    -1,   390,    -1,
   18795             :       -1,    -1,  4287,    -1,    -1,   397,    -1,    -1,   400,    -1,
   18796             :       -1,    -1,    -1,    -1,    -1,    -1,   267,    -1,    -1,  4304,
   18797             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   420,  4546,
   18798             :       -1,    -1,    -1,    -1,    -1,    -1,   428,    -1,    -1,    -1,
   18799             :       -1,    -1,    -1,   435,    -1,    -1,   438,    -1,    -1,    -1,
   18800             :       -1,   443,    -1,    -1,    -1,    -1,  6227,    -1,    -1,   451,
   18801             :       -1,   312,    -1,    -1,    -1,    -1,   458,    -1,    -1,    -1,
   18802             :       -1,    -1,    -1,  4590,    -1,    -1,    -1,    -1,    -1,    -1,
   18803             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   339,  6260,
   18804             :     6261,    -1,    -1,   485,    -1,    -1,    -1,    -1,   349,   350,
   18805             :       -1,    -1,   353,    -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,   380,
   18808             :       -1,    -1,   383,    -1,    -1,    -1,   387,    -1,    -1,   390,
   18809             :       -1,    -1,    -1,    -1,    -1,    -1,   397,    -1,    -1,   400,
   18810             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18811             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   420,
   18812             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   428,    -1,    -1,
   18813             :       -1,    -1,   433,    -1,   435,    -1,    -1,   438,    -1,    -1,
   18814             :       -1,    -1,   443,    -1,    -1,  4712,    -1,    -1,    -1,  4716,
   18815             :       -1,    -1,   453,    -1,    -1,    -1,    -1,   458,    -1,    -1,
   18816             :       -1,    -1,  4729,    -1,    -1,    -1,  6387,    -1,    -1,    -1,
   18817             :     4737,   472,  4739,    -1,  4741,  4742,    -1,    -1,    -1,    -1,
   18818             :     4747,  4748,  4749,  4750,   485,    -1,    -1,  4754,  4755,  4756,
   18819             :     4757,  4758,  4759,  4760,  4761,  4762,  4763,  4764,  4765,  4766,
   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,  4790,    -1,    -1,  4793,    -1,  4795,    -1,
   18823             :       -1,    -1,  4799,    -1,    -1,  4802,  4803,    -1,    -1,  4806,
   18824             :     4807,    -1,    -1,    -1,    -1,  4812,    -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,    -1,    -1,    -1,    -1,    -1,    -1,
   18828             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18829             :       -1,    -1,    -1,    -1,    -1,  4630,  4631,    -1,    -1,  4866,
   18830             :       -1,    -1,    -1,    -1,    -1,    -1,  4641,    -1,    -1,    -1,
   18831             :       -1,    -1,    -1,  4880,    -1,    -1,    -1,    -1,    -1,    -1,
   18832             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18833             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18834             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18835             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18836             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18837             :       -1,    -1,    -1,    -1,    -1,    -1,  4711,    -1,    -1,    -1,
   18838             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18839             :       -1,    -1,  4727,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18840             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18841             :     4745,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18842             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18843             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18844             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4784,
   18845             :     4785,    -1,    -1,    -1,    -1,    -1,  4791,  4792,    -1,    -1,
   18846             :       -1,  4796,    -1,    -1,    -1,    -1,  4801,    -1,    -1,  4804,
   18847             :     4805,    -1,    -1,    -1,    -1,    -1,  4811,    -1,    -1,    -1,
   18848             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18849             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18850             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18851             :       -1,    -1,    -1,    -1,  5081,    -1,    -1,    -1,    -1,    -1,
   18852             :       -1,  4856,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18853             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18854             :     4875,    -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,  4922,    -1,    -1,
   18859             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18860             :       -1,    -1,  5169,  5170,    -1,    -1,    -1,    -1,    -1,    -1,
   18861             :     5177,    -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,    -1,    -1,    -1,
   18864             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18865             :       -1,    -1,    -1,  5220,    -1,    -1,    -1,    -1,    -1,    -1,
   18866             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5003,    -1,
   18867             :       -1,    -1,    -1,    -1,    -1,  5010,  5243,  5244,    -1,    -1,
   18868             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18869             :       -1,    -1,    -1,    -1,    -1,  5262,    -1,  5264,    -1,    -1,
   18870             :       -1,  5268,  5269,  5270,  5271,    -1,    -1,  5274,  5275,    -1,
   18871             :       -1,    -1,    -1,  5280,    -1,    -1,    -1,    -1,    -1,    -1,
   18872             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18873             :     5297,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18874             :       -1,    -1,    -1,  5078,    -1,    -1,    -1,    -1,  5315,    -1,
   18875             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18876             :       -1,    -1,    -1,  5330,    -1,    -1,    -1,    -1,    -1,    -1,
   18877             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18878             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18879             :       -1,    -1,    -1,  5360,    -1,    -1,    -1,    -1,    -1,    -1,
   18880             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18881             :       -1,    -1,    -1,    -1,    -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,  5411,    -1,  5413,    -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,  5448,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18889             :       -1,    -1,    -1,    -1,    -1,    -1,  5231,    -1,    -1,    -1,
   18890             :       -1,    -1,    -1,    -1,    -1,    -1,  5241,    -1,    -1,    -1,
   18891             :       -1,    -1,  5247,  5248,  5249,    -1,    -1,    -1,    -1,    -1,
   18892             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18893             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5272,  5273,    -1,
   18894             :       -1,  5276,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18895             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5293,    -1,
   18896             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5303,    -1,
   18897             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5314,
   18898             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5322,    -1,  5556,
   18899             :       -1,  5558,  5559,  5560,  5561,  5562,  5331,    -1,    -1,    -1,
   18900             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5575,  5576,
   18901             :     5577,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5585,    -1,
   18902             :       -1,    -1,    -1,  5590,    -1,    -1,  5593,    -1,    -1,    -1,
   18903             :     5597,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18904             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5615,    -1,
   18905             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18906             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5634,    -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             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18913             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18914             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18915             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18916             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -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,  5542,    -1,    -1,
   18921             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18922             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5563,    -1,
   18923             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18924             :       -1,    -1,    -1,  5810,    -1,    -1,    -1,    -1,    -1,    -1,
   18925             :       -1,    -1,    -1,    -1,  5821,    -1,    -1,    -1,    -1,    -1,
   18926             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18927             :       -1,    -1,    -1,  5608,    -1,  5842,    -1,  5844,    -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,  5660,    -1,    -1,  5895,    -1,
   18933             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18934             :     5907,  5676,    -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,    -1,
   18937             :       -1,    -1,    -1,    -1,    -1,    -1,  5943,    -1,    -1,    -1,
   18938             :       -1,    -1,    -1,  5718,    -1,    -1,    -1,    -1,    -1,    -1,
   18939             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18940             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18941             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18942             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18943             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18944             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18945             :       -1,    -1,    -1,    -1,    -1,    -1,  6023,    -1,    -1,    -1,
   18946             :       -1,    -1,    -1,  6030,    -1,    -1,    -1,    -1,    -1,    -1,
   18947             :       -1,    -1,    -1,  5808,    -1,    -1,    -1,    -1,    -1,    -1,
   18948             :       -1,    -1,    -1,    -1,    -1,  5820,    -1,    -1,    -1,    -1,
   18949             :       -1,    -1,    -1,    -1,  5829,  5830,  5831,    -1,    -1,  6066,
   18950             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18951             :       -1,    -1,    -1,    -1,  6081,    -1,    -1,    -1,    -1,    -1,
   18952             :       -1,    -1,  5857,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18953             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18954             :       -1,  5876,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18955             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18956             :       -1,  5896,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18957             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18958             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18959             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18960             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18961             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18962             :       -1,    -1,  6189,  6190,    -1,    -1,  6193,    -1,    -1,    -1,
   18963             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18964             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18965             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18966             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18967             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18968             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18969             :     6257,    -1,  6027,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18970             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18971             :       -1,    -1,    -1,    -1,    -1,  6282,    -1,  6052,    -1,    -1,
   18972             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18973             :       -1,    -1,    -1,  6300,  6301,    -1,  6303,    -1,    -1,    -1,
   18974             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18975             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18976             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18977             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18978             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18979             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  6134,
   18980             :       -1,    -1,    -1,    -1,    -1,  6372,    -1,    -1,    -1,    -1,
   18981             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18982             :       -1,    -1,    -1,  6158,    -1,    -1,    -1,    -1,    -1,    -1,
   18983             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18984             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18985             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18986             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18987             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18988             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18989             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18990             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18991             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18992             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18993             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
   18994             :       -1,     5,     6,    -1,     8,     9,    10,    11,    12,    -1,
   18995             :       -1,    -1,    -1,    -1,    -1,  6290,    20,    21,    22,    23,
   18996             :       24,    25,    26,    27,    28,    29,    30,    31,    32,    -1,
   18997             :       -1,  6306,    -1,    37,    -1,    -1,    40,    41,    42,    -1,
   18998             :       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
   18999             :       54,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   19000             :       64,    65,    66,    67,    68,    69,    70,    71,    -1,    73,
   19001             :       74,    75,    76,    77,    -1,    79,    -1,    81,    82,    83,
   19002             :       84,    85,    86,    87,    88,    89,    90,    91,    -1,    93,
   19003             :       94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
   19004             :      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
   19005             :      114,   115,   116,   117,   118,   119,   120,   121,    -1,   123,
   19006             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   19007             :      134,   135,    -1,   137,   138,   139,   140,   141,    -1,   143,
   19008             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   19009             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   19010             :      164,   165,  6437,   167,   168,   169,   170,   171,    -1,   173,
   19011             :       -1,   175,   176,   177,    -1,   179,   180,   181,   182,   183,
   19012             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   19013             :      194,   195,   196,   197,   198,   199,   200,   201,    -1,   203,
   19014             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,   213,
   19015             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   19016             :      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
   19017             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   19018             :      244,   245,   246,    -1,    -1,   249,   250,   251,   252,   253,
   19019             :       -1,   255,   256,   257,   258,   259,   260,   261,   262,   263,
   19020             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   19021             :      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
   19022             :      284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
   19023             :      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
   19024             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   19025             :      314,    -1,    -1,   317,   318,   319,   320,   321,   322,   323,
   19026             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   19027             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   19028             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   19029             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   19030             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   19031             :      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
   19032             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   19033             :      394,   395,    -1,   397,   398,   399,   400,   401,   402,   403,
   19034             :      404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
   19035             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   19036             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   19037             :      434,    -1,   436,   437,   438,   439,   440,   441,   442,   443,
   19038             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   19039             :      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
   19040             :      464,    -1,   466,   467,   468,   469,   470,   471,   472,    -1,
   19041             :      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
   19042             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   19043             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   19044             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   19045             :       -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19046             :       -1,    -1,    -1,   527,   528,   529,    -1,    -1,    -1,    -1,
   19047             :       -1,    -1,   536,   537,     3,    -1,     5,     6,    -1,     8,
   19048             :        9,    10,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,
   19049             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   19050             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,    -1,
   19051             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
   19052             :       49,    50,    51,    52,    53,    54,    55,    56,    -1,    58,
   19053             :       59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
   19054             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   19055             :       79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
   19056             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   19057             :       -1,   100,   101,   102,   103,   104,   105,   106,   107,   108,
   19058             :      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
   19059             :      119,   120,   121,    -1,   123,   124,   125,   126,   127,   128,
   19060             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   19061             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   19062             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   19063             :      159,   160,   161,   162,   163,   164,   165,    -1,   167,   168,
   19064             :      169,   170,   171,    -1,   173,    -1,   175,   176,   177,    -1,
   19065             :      179,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   19066             :      189,   190,    -1,   192,   193,   194,   195,   196,   197,   198,
   19067             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   19068             :      209,   210,    -1,   212,   213,   214,   215,   216,   217,   218,
   19069             :      219,   220,    -1,   222,    -1,   224,   225,   226,   227,   228,
   19070             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   19071             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   19072             :      249,   250,   251,   252,   253,    -1,   255,   256,   257,   258,
   19073             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   19074             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   19075             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   19076             :      289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
   19077             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   19078             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   19079             :      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
   19080             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   19081             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   19082             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   19083             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   19084             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   19085             :      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   19086             :      389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
   19087             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   19088             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   19089             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   19090             :      429,   430,    -1,   432,   433,   434,   435,   436,   437,   438,
   19091             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   19092             :       -1,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   19093             :      459,   460,   461,   462,   463,   464,    -1,   466,   467,   468,
   19094             :      469,   470,   471,   472,    -1,   474,   475,   476,   477,   478,
   19095             :      479,   480,    -1,   482,   483,   484,   485,   486,   487,   488,
   19096             :       -1,    -1,   491,    -1,   493,   494,   495,   496,   497,   498,
   19097             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   19098             :      509,   510,   511,   512,   513,    -1,   515,    -1,   517,    -1,
   19099             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   527,   528,
   19100             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   536,   537,     3,
   19101             :       -1,     5,     6,    -1,     8,     9,    10,    11,    12,    -1,
   19102             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   19103             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   19104             :       -1,    -1,    -1,    37,    -1,    -1,    40,    41,    42,    -1,
   19105             :       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
   19106             :       54,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   19107             :       64,    65,    66,    67,    68,    69,    70,    71,    -1,    73,
   19108             :       74,    75,    76,    77,    -1,    79,    -1,    81,    82,    83,
   19109             :       84,    85,    86,    87,    88,    89,    90,    91,    -1,    93,
   19110             :       94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
   19111             :      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
   19112             :      114,   115,   116,   117,   118,   119,   120,   121,    -1,   123,
   19113             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   19114             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   19115             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   19116             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   19117             :      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   19118             :       -1,   175,   176,   177,    -1,   179,   180,   181,   182,   183,
   19119             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   19120             :      194,   195,   196,   197,   198,   199,   200,   201,    -1,   203,
   19121             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,   213,
   19122             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   19123             :      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
   19124             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   19125             :      244,   245,   246,    -1,    -1,   249,   250,   251,   252,   253,
   19126             :       -1,   255,   256,   257,   258,   259,   260,   261,   262,   263,
   19127             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   19128             :      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
   19129             :      284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
   19130             :      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
   19131             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   19132             :      314,    -1,    -1,   317,   318,   319,   320,   321,   322,   323,
   19133             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   19134             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   19135             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   19136             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   19137             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   19138             :      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
   19139             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   19140             :      394,   395,    -1,   397,   398,   399,   400,   401,   402,   403,
   19141             :      404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
   19142             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   19143             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   19144             :      434,    -1,   436,   437,   438,   439,   440,   441,   442,   443,
   19145             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   19146             :      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
   19147             :      464,    -1,   466,   467,   468,   469,   470,   471,   472,    -1,
   19148             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,   483,
   19149             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   19150             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   19151             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   19152             :       -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19153             :       -1,    -1,    -1,   527,   528,    -1,    -1,    -1,    -1,    -1,
   19154             :       -1,    -1,   536,   537,     3,    -1,     5,     6,    -1,     8,
   19155             :        9,    10,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,
   19156             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   19157             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,    -1,
   19158             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
   19159             :       49,    50,    51,    52,    53,    54,    55,    56,    -1,    58,
   19160             :       59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
   19161             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   19162             :       79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
   19163             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   19164             :       -1,   100,   101,   102,   103,   104,   105,   106,   107,   108,
   19165             :      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
   19166             :      119,   120,   121,    -1,   123,   124,   125,   126,   127,   128,
   19167             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   19168             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   19169             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   19170             :      159,   160,   161,   162,   163,   164,   165,    -1,   167,   168,
   19171             :      169,   170,   171,    -1,   173,    -1,   175,   176,   177,    -1,
   19172             :      179,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   19173             :      189,   190,    -1,   192,   193,   194,   195,   196,   197,   198,
   19174             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   19175             :      209,   210,    -1,   212,   213,   214,   215,   216,   217,   218,
   19176             :      219,   220,    -1,   222,    -1,   224,   225,   226,   227,   228,
   19177             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   19178             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   19179             :      249,   250,   251,   252,   253,    -1,   255,   256,   257,   258,
   19180             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   19181             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   19182             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   19183             :      289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
   19184             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   19185             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   19186             :      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
   19187             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   19188             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   19189             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   19190             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   19191             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   19192             :      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   19193             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   19194             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   19195             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   19196             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   19197             :      429,   430,    -1,   432,   433,   434,    -1,   436,   437,   438,
   19198             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   19199             :       -1,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   19200             :      459,   460,   461,   462,   463,   464,    -1,   466,   467,   468,
   19201             :      469,   470,   471,   472,    -1,   474,   475,   476,   477,   478,
   19202             :      479,   480,    -1,   482,   483,   484,   485,   486,   487,   488,
   19203             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   19204             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   19205             :      509,   510,   511,   512,   513,    -1,   515,    -1,    -1,    -1,
   19206             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   527,   528,
   19207             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   536,   537,     3,
   19208             :       -1,     5,     6,    -1,     8,     9,    10,    11,    12,    -1,
   19209             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   19210             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   19211             :       -1,    -1,    -1,    37,    -1,    -1,    40,    41,    42,    -1,
   19212             :       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
   19213             :       54,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   19214             :       64,    65,    66,    67,    68,    69,    70,    71,    -1,    73,
   19215             :       74,    75,    76,    77,    -1,    79,    -1,    81,    82,    83,
   19216             :       84,    85,    86,    87,    88,    89,    90,    91,    -1,    93,
   19217             :       94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
   19218             :      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
   19219             :      114,   115,   116,   117,   118,   119,   120,   121,    -1,   123,
   19220             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   19221             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   19222             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   19223             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   19224             :      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   19225             :       -1,   175,   176,   177,    -1,   179,   180,   181,   182,   183,
   19226             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   19227             :      194,   195,   196,   197,   198,   199,   200,   201,    -1,   203,
   19228             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,   213,
   19229             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   19230             :      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
   19231             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   19232             :      244,   245,   246,    -1,    -1,   249,   250,   251,   252,   253,
   19233             :       -1,   255,   256,   257,   258,   259,   260,   261,   262,   263,
   19234             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   19235             :      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
   19236             :      284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
   19237             :      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
   19238             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   19239             :      314,    -1,    -1,   317,   318,   319,   320,   321,   322,   323,
   19240             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   19241             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   19242             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   19243             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   19244             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   19245             :      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
   19246             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   19247             :      394,   395,    -1,   397,   398,   399,   400,   401,   402,   403,
   19248             :      404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
   19249             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   19250             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   19251             :      434,    -1,   436,   437,   438,   439,   440,   441,   442,   443,
   19252             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   19253             :      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
   19254             :      464,    -1,   466,   467,   468,   469,   470,   471,   472,    -1,
   19255             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,   483,
   19256             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   19257             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   19258             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   19259             :       -1,   515,    -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,
   19260             :       -1,    -1,    -1,   527,   528,    -1,    -1,    -1,    -1,    -1,
   19261             :       -1,    -1,   536,   537,    20,    21,    22,    23,    24,    25,
   19262             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   19263             :       -1,    -1,    38,    -1,    40,    41,    42,    -1,    44,    45,
   19264             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   19265             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   19266             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   19267             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   19268             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   19269             :       96,    97,    98,    -1,   100,   101,   102,   103,    -1,    -1,
   19270             :       -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   19271             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   19272             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   19273             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   19274             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   19275             :      156,   157,   158,   159,   160,   161,   162,   163,    -1,   165,
   19276             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   19277             :      176,    -1,    -1,   179,   180,   181,   182,   183,    -1,   185,
   19278             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   19279             :      196,    -1,   198,   199,   200,   201,    -1,   203,   204,   205,
   19280             :      206,   207,   208,   209,   210,    -1,   212,   213,   214,   215,
   19281             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,    -1,
   19282             :       -1,   227,   228,   229,   230,   231,   232,   233,   234,   235,
   19283             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   19284             :      246,    -1,    -1,   249,   250,   251,   252,    -1,    -1,   255,
   19285             :      256,   257,    -1,    -1,   260,   261,   262,   263,   264,   265,
   19286             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   19287             :      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
   19288             :      286,   287,   288,   289,   290,   291,   292,    -1,   294,   295,
   19289             :       -1,   297,    -1,   299,   300,   301,   302,   303,   304,   305,
   19290             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   19291             :       -1,   317,   318,   319,    -1,   321,    -1,   323,   324,   325,
   19292             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   19293             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   19294             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   19295             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   19296             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   19297             :       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
   19298             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   19299             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   19300             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   19301             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   19302             :      426,   427,   428,   429,   430,    -1,   432,   433,    -1,    -1,
   19303             :      436,    -1,   438,   439,   440,   441,   442,   443,    -1,   445,
   19304             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,    -1,
   19305             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   19306             :       -1,   467,   468,   469,   470,   471,    -1,    -1,   474,   475,
   19307             :      476,   477,   478,   479,   480,    -1,   482,    -1,   484,   485,
   19308             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   19309             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   19310             :      506,   507,   508,   509,   510,   511,   512,   513,    -1,    -1,
   19311             :       -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,
   19312             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19313             :       -1,   537,    20,    21,    22,    23,    24,    25,    26,    27,
   19314             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   19315             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   19316             :       48,    49,    50,    51,    -1,    53,    54,    55,    56,    -1,
   19317             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   19318             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    -1,
   19319             :       -1,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
   19320             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   19321             :       98,    -1,   100,   101,   102,   103,    -1,    -1,    -1,   107,
   19322             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   19323             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   19324             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   19325             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   19326             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   19327             :       -1,   159,   160,   161,   162,    -1,    -1,   165,    -1,   167,
   19328             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,   177,
   19329             :       -1,   179,   180,   181,   182,   183,    -1,   185,    -1,    -1,
   19330             :       -1,   189,   190,    -1,   192,   193,   194,   195,   196,   197,
   19331             :      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
   19332             :      208,   209,   210,    -1,   212,   213,   214,   215,   216,   217,
   19333             :      218,   219,   220,    -1,   222,    -1,   224,   225,   226,   227,
   19334             :      228,   229,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19335             :       -1,    -1,   240,   241,   242,   243,   244,   245,   246,    -1,
   19336             :       -1,   249,    -1,   251,   252,   253,    -1,   255,   256,   257,
   19337             :       -1,    -1,   260,   261,   262,   263,   264,   265,   266,   267,
   19338             :      268,   269,    -1,   271,   272,   273,   274,   275,   276,   277,
   19339             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   19340             :      288,   289,    -1,    -1,   292,    -1,   294,   295,   296,   297,
   19341             :       -1,    -1,   300,   301,   302,   303,   304,   305,    -1,   307,
   19342             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   19343             :      318,   319,   320,   321,   322,    -1,   324,   325,   326,   327,
   19344             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   19345             :      338,   339,    -1,   341,    -1,   343,   344,   345,    -1,   347,
   19346             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   19347             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   19348             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   19349             :      378,   379,   380,   381,   382,   383,   384,    -1,   386,   387,
   19350             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   19351             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   19352             :      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   19353             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   19354             :      428,    -1,   430,    -1,   432,   433,    -1,    -1,   436,   437,
   19355             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   19356             :       -1,    -1,   450,   451,    -1,   453,    -1,    -1,   456,   457,
   19357             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   19358             :      468,   469,   470,   471,    -1,    -1,   474,   475,   476,   477,
   19359             :      478,    -1,   480,   481,   482,   483,   484,   485,   486,   487,
   19360             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   19361             :      498,   499,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   19362             :       -1,    -1,    -1,   511,   512,   513,    -1,    -1,    -1,    -1,
   19363             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   19364             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,   537,
   19365             :       40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
   19366             :       50,    51,    -1,    53,    54,    55,    56,    -1,    58,    59,
   19367             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   19368             :       70,    71,    -1,    73,    74,    75,    76,    -1,    -1,    79,
   19369             :       -1,    81,    82,    83,    84,    85,    86,    87,    88,    89,
   19370             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   19371             :      100,   101,   102,   103,    -1,    -1,    -1,   107,    -1,    -1,
   19372             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   19373             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   19374             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   19375             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   19376             :      150,   151,   152,    -1,   154,   155,   156,   157,    -1,   159,
   19377             :      160,   161,   162,    -1,    -1,   165,    -1,   167,   168,   169,
   19378             :      170,   171,    -1,   173,    -1,   175,   176,   177,    -1,   179,
   19379             :      180,   181,   182,   183,    -1,   185,    -1,    -1,    -1,   189,
   19380             :      190,    -1,   192,   193,   194,   195,   196,   197,   198,   199,
   19381             :      200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
   19382             :      210,    -1,   212,   213,   214,   215,   216,   217,   218,   219,
   19383             :      220,    -1,   222,    -1,   224,   225,   226,   227,   228,   229,
   19384             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19385             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   19386             :       -1,   251,   252,   253,    -1,   255,   256,   257,    -1,    -1,
   19387             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   19388             :       -1,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   19389             :      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   19390             :       -1,    -1,   292,    -1,   294,   295,   296,   297,    -1,    -1,
   19391             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   19392             :       -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,   319,
   19393             :      320,   321,   322,    -1,   324,   325,   326,   327,   328,   329,
   19394             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   19395             :       -1,   341,    -1,   343,   344,   345,    -1,   347,   348,   349,
   19396             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   19397             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   19398             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
   19399             :      380,   381,   382,   383,   384,    -1,   386,   387,   388,   389,
   19400             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   19401             :      400,   401,    -1,   403,   404,   405,   406,   407,   408,   409,
   19402             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   19403             :      420,   421,   422,   423,   424,   425,   426,   427,   428,    -1,
   19404             :      430,    -1,   432,   433,    -1,    -1,   436,   437,   438,   439,
   19405             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   19406             :      450,   451,    -1,   453,    -1,    -1,   456,   457,   458,   459,
   19407             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   19408             :      470,   471,    -1,    -1,   474,   475,   476,   477,   478,    -1,
   19409             :      480,   481,   482,   483,   484,   485,   486,   487,   488,    -1,
   19410             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   19411             :       -1,     3,    -1,     5,     6,    -1,     8,     9,    10,    11,
   19412             :       12,   511,   512,   513,    -1,    -1,    -1,    -1,    20,    21,
   19413             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   19414             :       32,    -1,    -1,    -1,    -1,    37,    -1,   537,    40,    41,
   19415             :       42,    -1,    44,    45,    46,    47,    48,    49,    50,    51,
   19416             :       52,    53,    54,    55,    56,    -1,    58,    59,    60,    61,
   19417             :       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
   19418             :       -1,    73,    74,    75,    76,    77,    -1,    79,    -1,    81,
   19419             :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
   19420             :       -1,    93,    94,    95,    96,    97,    98,    -1,   100,   101,
   19421             :      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
   19422             :      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
   19423             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   19424             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   19425             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   19426             :      152,    -1,   154,   155,   156,   157,   158,   159,   160,   161,
   19427             :      162,   163,   164,   165,    -1,   167,   168,   169,   170,   171,
   19428             :       -1,   173,    -1,   175,   176,   177,    -1,   179,   180,   181,
   19429             :      182,   183,    -1,   185,   186,    -1,   188,   189,   190,    -1,
   19430             :      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
   19431             :       -1,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
   19432             :      212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
   19433             :      222,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
   19434             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   19435             :      242,   243,   244,   245,   246,    -1,    -1,   249,   250,   251,
   19436             :      252,   253,    -1,   255,   256,   257,   258,   259,   260,   261,
   19437             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   19438             :      272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
   19439             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   19440             :      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
   19441             :      302,   303,   304,   305,    -1,   307,   308,   309,    -1,    -1,
   19442             :      312,   313,   314,    -1,    -1,   317,   318,   319,   320,   321,
   19443             :      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   19444             :      332,   333,   334,   335,    -1,   337,   338,   339,   340,   341,
   19445             :      342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
   19446             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   19447             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   19448             :      372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
   19449             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   19450             :      392,   393,   394,   395,   396,   397,   398,   399,   400,   401,
   19451             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   19452             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   19453             :      422,   423,   424,   425,   426,   427,   428,   429,   430,    -1,
   19454             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   19455             :      442,   443,    -1,   445,   446,   447,    -1,    -1,   450,   451,
   19456             :      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
   19457             :      462,   463,   464,    -1,   466,   467,   468,   469,   470,   471,
   19458             :      472,    -1,   474,   475,   476,   477,   478,   479,   480,    -1,
   19459             :      482,   483,   484,   485,   486,   487,   488,    -1,    -1,   491,
   19460             :       -1,   493,   494,   495,   496,   497,   498,   499,   500,   501,
   19461             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   19462             :      512,   513,    -1,   515,    -1,   517,    -1,    -1,    -1,    -1,
   19463             :       -1,    -1,    -1,    -1,    -1,   527,   528,    -1,    -1,    -1,
   19464             :        3,    -1,     5,     6,   536,     8,     9,    10,    11,    12,
   19465             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   19466             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   19467             :       -1,    -1,    -1,    -1,    37,    -1,    -1,    40,    41,    42,
   19468             :       -1,    44,    45,    46,    47,    48,    49,    50,    51,    52,
   19469             :       53,    54,    55,    56,    -1,    58,    59,    60,    61,    62,
   19470             :       63,    64,    65,    66,    67,    68,    69,    70,    71,    -1,
   19471             :       73,    74,    75,    76,    77,    -1,    79,    -1,    81,    82,
   19472             :       83,    84,    85,    86,    87,    88,    89,    90,    91,    -1,
   19473             :       93,    94,    95,    96,    97,    98,    -1,   100,   101,   102,
   19474             :      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
   19475             :      113,   114,   115,   116,   117,   118,   119,   120,   121,    -1,
   19476             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   19477             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   19478             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   19479             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   19480             :      163,   164,   165,    -1,   167,   168,   169,   170,   171,    -1,
   19481             :      173,    -1,   175,   176,   177,    -1,   179,   180,   181,   182,
   19482             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   19483             :      193,   194,   195,   196,   197,   198,   199,   200,   201,    -1,
   19484             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   19485             :      213,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   19486             :       -1,   224,   225,   226,   227,   228,   229,   230,   231,   232,
   19487             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   19488             :      243,   244,   245,   246,    -1,    -1,   249,   250,   251,   252,
   19489             :      253,    -1,   255,   256,   257,   258,   259,   260,   261,   262,
   19490             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   19491             :      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
   19492             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   19493             :      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
   19494             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   19495             :      313,   314,    -1,    -1,   317,   318,   319,   320,   321,   322,
   19496             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   19497             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   19498             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   19499             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   19500             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   19501             :      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
   19502             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   19503             :      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
   19504             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   19505             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   19506             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   19507             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   19508             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   19509             :      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
   19510             :      463,   464,    -1,   466,   467,   468,   469,   470,   471,   472,
   19511             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   19512             :      483,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   19513             :      493,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   19514             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   19515             :      513,    -1,   515,    -1,   517,    -1,    -1,    -1,    -1,    -1,
   19516             :       -1,    -1,    -1,    -1,   527,   528,    -1,    -1,    -1,     3,
   19517             :       -1,     5,     6,   536,     8,     9,    10,    11,    12,    -1,
   19518             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   19519             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   19520             :       -1,    -1,    -1,    37,    -1,    -1,    40,    41,    42,    -1,
   19521             :       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
   19522             :       54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
   19523             :       64,    65,    66,    67,    68,    69,    70,    71,    -1,    73,
   19524             :       74,    75,    76,    77,    -1,    79,    -1,    81,    82,    83,
   19525             :       84,    85,    86,    87,    88,    89,    90,    91,    -1,    93,
   19526             :       94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
   19527             :      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
   19528             :      114,   115,   116,   117,   118,   119,   120,   121,    -1,   123,
   19529             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   19530             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   19531             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   19532             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   19533             :      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   19534             :       -1,   175,   176,   177,   178,   179,   180,   181,   182,   183,
   19535             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   19536             :      194,   195,   196,   197,   198,   199,   200,   201,    -1,   203,
   19537             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,   213,
   19538             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   19539             :      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
   19540             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   19541             :      244,   245,   246,    -1,   248,   249,   250,   251,   252,   253,
   19542             :       -1,   255,   256,   257,   258,   259,   260,   261,   262,   263,
   19543             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   19544             :      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
   19545             :      284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
   19546             :      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
   19547             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   19548             :      314,    -1,    -1,   317,   318,   319,   320,   321,   322,   323,
   19549             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   19550             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   19551             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   19552             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   19553             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   19554             :      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
   19555             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   19556             :      394,   395,    -1,   397,   398,   399,   400,   401,   402,   403,
   19557             :      404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
   19558             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   19559             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   19560             :      434,    -1,   436,   437,   438,   439,   440,   441,   442,   443,
   19561             :       -1,   445,   446,   447,    -1,   449,   450,   451,   452,   453,
   19562             :      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
   19563             :      464,    -1,   466,   467,   468,   469,   470,   471,   472,    -1,
   19564             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,   483,
   19565             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   19566             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   19567             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   19568             :       -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19569             :       -1,    -1,    -1,   527,   528,    -1,    -1,    -1,     3,    -1,
   19570             :        5,     6,   536,     8,     9,    10,    11,    12,    -1,    -1,
   19571             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   19572             :       25,    26,    27,    28,    29,    30,    31,    32,    -1,    -1,
   19573             :       -1,    36,    37,    -1,    -1,    40,    41,    42,    -1,    44,
   19574             :       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
   19575             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   19576             :       65,    66,    67,    68,    69,    70,    71,    -1,    73,    74,
   19577             :       75,    76,    77,    -1,    79,    -1,    81,    82,    83,    84,
   19578             :       85,    86,    87,    88,    89,    90,    91,    -1,    93,    94,
   19579             :       95,    96,    97,    98,    -1,   100,   101,   102,   103,   104,
   19580             :      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
   19581             :      115,   116,   117,   118,   119,   120,   121,    -1,   123,   124,
   19582             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   19583             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   19584             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   19585             :      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
   19586             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   19587             :      175,   176,   177,    -1,   179,   180,   181,   182,   183,    -1,
   19588             :      185,   186,    -1,   188,   189,   190,    -1,   192,   193,   194,
   19589             :      195,   196,   197,   198,   199,   200,   201,    -1,   203,   204,
   19590             :      205,   206,   207,   208,   209,   210,    -1,   212,   213,   214,
   19591             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   19592             :      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
   19593             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   19594             :      245,   246,    -1,    -1,   249,   250,   251,   252,   253,    -1,
   19595             :      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
   19596             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   19597             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
   19598             :      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
   19599             :      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
   19600             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   19601             :       -1,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
   19602             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   19603             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   19604             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   19605             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   19606             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   19607             :      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
   19608             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   19609             :      395,    -1,   397,   398,   399,   400,   401,   402,   403,   404,
   19610             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   19611             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   19612             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,   434,
   19613             :       -1,   436,   437,   438,   439,   440,   441,   442,   443,    -1,
   19614             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   19615             :      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   19616             :       -1,   466,   467,   468,   469,   470,   471,   472,    -1,   474,
   19617             :      475,   476,   477,   478,   479,   480,    -1,   482,   483,   484,
   19618             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   19619             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   19620             :      505,   506,   507,   508,   509,   510,   511,   512,   513,    -1,
   19621             :      515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19622             :       -1,    -1,   527,   528,    -1,    -1,    -1,     3,    -1,     5,
   19623             :        6,   536,     8,     9,    10,    11,    12,    -1,    -1,    -1,
   19624             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   19625             :       26,    27,    28,    29,    30,    31,    32,    -1,    -1,    -1,
   19626             :       36,    37,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   19627             :       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
   19628             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    65,
   19629             :       66,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   19630             :       76,    77,    -1,    79,    -1,    81,    82,    83,    84,    85,
   19631             :       86,    87,    88,    89,    90,    91,    -1,    93,    94,    95,
   19632             :       96,    97,    98,    -1,   100,   101,   102,   103,   104,   105,
   19633             :      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
   19634             :      116,   117,   118,   119,   120,   121,    -1,   123,   124,   125,
   19635             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   19636             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   19637             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   19638             :      156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
   19639             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   19640             :      176,   177,    -1,   179,   180,   181,   182,   183,    -1,   185,
   19641             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   19642             :      196,   197,   198,   199,   200,   201,    -1,   203,   204,   205,
   19643             :      206,   207,   208,   209,   210,    -1,   212,   213,   214,   215,
   19644             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,   225,
   19645             :      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
   19646             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   19647             :      246,    -1,    -1,   249,   250,   251,   252,   253,    -1,   255,
   19648             :      256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
   19649             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   19650             :      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
   19651             :      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
   19652             :      296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
   19653             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   19654             :       -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
   19655             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   19656             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   19657             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   19658             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   19659             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   19660             :       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
   19661             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   19662             :       -1,   397,   398,   399,   400,   401,   402,   403,   404,   405,
   19663             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   19664             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   19665             :      426,   427,   428,   429,   430,    -1,   432,   433,   434,    -1,
   19666             :      436,   437,   438,   439,   440,   441,   442,   443,    -1,   445,
   19667             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,   455,
   19668             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   19669             :      466,   467,   468,   469,   470,   471,   472,    -1,   474,   475,
   19670             :      476,   477,   478,   479,   480,    -1,   482,   483,   484,   485,
   19671             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   19672             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   19673             :      506,   507,   508,   509,   510,   511,   512,   513,    -1,   515,
   19674             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19675             :       -1,   527,   528,    -1,    -1,    -1,     3,    -1,     5,     6,
   19676             :      536,     8,     9,    10,    11,    12,    -1,    -1,    -1,    -1,
   19677             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   19678             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   19679             :       37,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   19680             :       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
   19681             :       -1,    58,    59,    60,    61,    62,    63,    64,    65,    66,
   19682             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   19683             :       77,    -1,    79,    -1,    81,    82,    83,    84,    85,    86,
   19684             :       87,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   19685             :       97,    98,    -1,   100,   101,   102,   103,   104,   105,   106,
   19686             :      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
   19687             :      117,   118,   119,   120,   121,    -1,   123,   124,   125,   126,
   19688             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   19689             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   19690             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   19691             :      157,   158,   159,   160,   161,   162,   163,   164,   165,    -1,
   19692             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   19693             :      177,    -1,   179,   180,   181,   182,   183,    -1,   185,   186,
   19694             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   19695             :      197,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   19696             :      207,   208,   209,   210,    -1,   212,   213,   214,   215,   216,
   19697             :      217,   218,   219,   220,    -1,   222,    -1,   224,   225,   226,
   19698             :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
   19699             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   19700             :       -1,    -1,   249,   250,   251,   252,   253,    -1,   255,   256,
   19701             :      257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
   19702             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   19703             :      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
   19704             :      287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
   19705             :      297,   298,   299,   300,   301,   302,   303,   304,   305,    -1,
   19706             :      307,   308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,
   19707             :      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
   19708             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   19709             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   19710             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   19711             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   19712             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   19713             :      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
   19714             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   19715             :      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
   19716             :      407,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
   19717             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   19718             :      427,   428,   429,   430,    -1,   432,   433,   434,    -1,   436,
   19719             :      437,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   19720             :      447,    -1,    -1,   450,   451,   452,   453,   454,   455,   456,
   19721             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,   466,
   19722             :      467,   468,   469,   470,   471,   472,    -1,   474,   475,   476,
   19723             :      477,   478,   479,   480,    -1,   482,   483,   484,   485,   486,
   19724             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   19725             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   19726             :      507,   508,   509,   510,   511,   512,   513,    -1,   515,    -1,
   19727             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19728             :      527,   528,    -1,    -1,    -1,    -1,    -1,   534,   535,   536,
   19729             :        3,    -1,     5,     6,    -1,     8,     9,    10,    11,    12,
   19730             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   19731             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   19732             :       -1,    -1,    -1,    -1,    37,    -1,    -1,    40,    41,    42,
   19733             :       -1,    44,    45,    46,    47,    48,    49,    50,    51,    52,
   19734             :       53,    54,    55,    56,    -1,    58,    59,    60,    61,    62,
   19735             :       63,    64,    65,    66,    67,    68,    69,    70,    71,    -1,
   19736             :       73,    74,    75,    76,    77,    -1,    79,    -1,    81,    82,
   19737             :       83,    84,    85,    86,    87,    88,    89,    90,    91,    -1,
   19738             :       93,    94,    95,    96,    97,    98,    -1,   100,   101,   102,
   19739             :      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
   19740             :      113,   114,   115,   116,   117,   118,   119,   120,   121,    -1,
   19741             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   19742             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   19743             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   19744             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   19745             :      163,   164,   165,    -1,   167,   168,   169,   170,   171,    -1,
   19746             :      173,    -1,   175,   176,   177,    -1,   179,   180,   181,   182,
   19747             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   19748             :      193,   194,   195,   196,   197,   198,   199,   200,   201,    -1,
   19749             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   19750             :      213,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   19751             :       -1,   224,   225,   226,   227,   228,   229,   230,   231,   232,
   19752             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   19753             :      243,   244,   245,   246,    -1,    -1,   249,   250,   251,   252,
   19754             :      253,    -1,   255,   256,   257,   258,   259,   260,   261,   262,
   19755             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   19756             :      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
   19757             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   19758             :      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
   19759             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   19760             :      313,   314,    -1,    -1,   317,   318,   319,   320,   321,   322,
   19761             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   19762             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   19763             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   19764             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   19765             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   19766             :      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
   19767             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   19768             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,   402,
   19769             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   19770             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   19771             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   19772             :      433,   434,    -1,   436,   437,   438,   439,   440,   441,   442,
   19773             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   19774             :      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
   19775             :      463,   464,    -1,   466,   467,   468,   469,   470,   471,   472,
   19776             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   19777             :      483,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   19778             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   19779             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   19780             :      513,    -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19781             :       -1,    -1,    -1,    -1,   527,   528,   529,    -1,    -1,     3,
   19782             :       -1,     5,     6,   536,     8,     9,    10,    11,    12,    -1,
   19783             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   19784             :       24,    25,    26,    27,    28,    29,    30,    31,    32,    -1,
   19785             :       -1,    -1,    -1,    37,    -1,    -1,    40,    41,    42,    -1,
   19786             :       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
   19787             :       54,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   19788             :       64,    65,    66,    67,    68,    69,    70,    71,    -1,    73,
   19789             :       74,    75,    76,    77,    -1,    79,    -1,    81,    82,    83,
   19790             :       84,    85,    86,    87,    88,    89,    90,    91,    -1,    93,
   19791             :       94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
   19792             :      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
   19793             :      114,   115,   116,   117,   118,   119,   120,   121,    -1,   123,
   19794             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   19795             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   19796             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   19797             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   19798             :      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   19799             :       -1,   175,   176,   177,    -1,   179,   180,   181,   182,   183,
   19800             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   19801             :      194,   195,   196,   197,   198,   199,   200,   201,    -1,   203,
   19802             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,   213,
   19803             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   19804             :      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
   19805             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   19806             :      244,   245,   246,    -1,    -1,   249,   250,   251,   252,   253,
   19807             :       -1,   255,   256,   257,   258,   259,   260,   261,   262,   263,
   19808             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   19809             :      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
   19810             :      284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
   19811             :      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
   19812             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   19813             :      314,    -1,    -1,   317,   318,   319,   320,   321,   322,   323,
   19814             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   19815             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   19816             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   19817             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   19818             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   19819             :      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
   19820             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   19821             :      394,   395,    -1,   397,   398,   399,   400,   401,   402,   403,
   19822             :      404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
   19823             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   19824             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   19825             :      434,    -1,   436,   437,   438,   439,   440,   441,   442,   443,
   19826             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   19827             :      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
   19828             :      464,    -1,   466,   467,   468,   469,   470,   471,   472,    -1,
   19829             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,   483,
   19830             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   19831             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   19832             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   19833             :       -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19834             :       -1,    -1,    -1,   527,   528,    -1,    -1,    -1,     3,    -1,
   19835             :        5,     6,   536,     8,     9,    10,    11,    12,    -1,    -1,
   19836             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   19837             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   19838             :       -1,    -1,    37,    -1,    -1,    40,    41,    42,    -1,    44,
   19839             :       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
   19840             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   19841             :       65,    66,    67,    68,    69,    70,    71,    -1,    73,    74,
   19842             :       75,    76,    77,    -1,    79,    -1,    81,    82,    83,    84,
   19843             :       85,    86,    87,    88,    89,    90,    91,    -1,    93,    94,
   19844             :       95,    96,    97,    98,    -1,   100,   101,   102,   103,   104,
   19845             :      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
   19846             :      115,   116,   117,   118,   119,   120,   121,    -1,   123,   124,
   19847             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   19848             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   19849             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   19850             :      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
   19851             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   19852             :      175,   176,   177,    -1,   179,   180,   181,   182,   183,    -1,
   19853             :      185,   186,    -1,   188,   189,   190,    -1,   192,   193,   194,
   19854             :      195,   196,   197,   198,   199,   200,   201,    -1,   203,   204,
   19855             :      205,   206,   207,   208,   209,   210,    -1,   212,   213,   214,
   19856             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   19857             :      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
   19858             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   19859             :      245,   246,    -1,    -1,   249,   250,   251,   252,   253,    -1,
   19860             :      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
   19861             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   19862             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
   19863             :      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
   19864             :      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
   19865             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   19866             :       -1,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
   19867             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   19868             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   19869             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   19870             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   19871             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   19872             :      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
   19873             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   19874             :      395,    -1,   397,   398,   399,   400,   401,   402,   403,   404,
   19875             :      405,   406,   407,   408,   409,   410,   411,   412,    -1,   414,
   19876             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   19877             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,   434,
   19878             :       -1,   436,   437,   438,   439,   440,   441,   442,   443,    -1,
   19879             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   19880             :      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   19881             :       -1,   466,   467,   468,   469,   470,   471,   472,    -1,   474,
   19882             :      475,   476,   477,   478,   479,   480,    -1,   482,   483,   484,
   19883             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   19884             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   19885             :      505,   506,   507,   508,   509,   510,   511,   512,   513,    -1,
   19886             :      515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19887             :       -1,    -1,   527,   528,    -1,    -1,    -1,     3,    -1,     5,
   19888             :        6,   536,     8,     9,    10,    11,    12,    -1,    -1,    -1,
   19889             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   19890             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   19891             :       -1,    37,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   19892             :       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
   19893             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    65,
   19894             :       66,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   19895             :       76,    77,    -1,    79,    -1,    81,    82,    83,    84,    85,
   19896             :       86,    87,    88,    89,    90,    91,    -1,    93,    94,    95,
   19897             :       96,    97,    98,    -1,   100,   101,   102,   103,   104,   105,
   19898             :      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
   19899             :      116,   117,   118,   119,   120,   121,    -1,   123,   124,   125,
   19900             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   19901             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   19902             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   19903             :      156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
   19904             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   19905             :      176,   177,    -1,   179,   180,   181,   182,   183,    -1,   185,
   19906             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   19907             :      196,   197,   198,   199,   200,   201,    -1,   203,   204,   205,
   19908             :      206,   207,   208,   209,   210,    -1,   212,   213,   214,   215,
   19909             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,   225,
   19910             :      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
   19911             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   19912             :      246,    -1,    -1,   249,   250,   251,   252,   253,    -1,   255,
   19913             :      256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
   19914             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   19915             :      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
   19916             :      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
   19917             :      296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
   19918             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   19919             :       -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
   19920             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   19921             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   19922             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   19923             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   19924             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   19925             :       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
   19926             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   19927             :       -1,   397,   398,   399,   400,   401,   402,   403,   404,   405,
   19928             :      406,   407,   408,   409,   410,   411,   412,    -1,   414,   415,
   19929             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   19930             :      426,   427,   428,   429,   430,    -1,   432,   433,   434,    -1,
   19931             :      436,   437,   438,   439,   440,   441,   442,   443,    -1,   445,
   19932             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,   455,
   19933             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   19934             :      466,   467,   468,   469,   470,   471,   472,    -1,   474,   475,
   19935             :      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
   19936             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   19937             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   19938             :      506,   507,   508,   509,   510,   511,   512,   513,    -1,   515,
   19939             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19940             :       -1,   527,   528,    -1,    -1,    -1,     3,    -1,     5,     6,
   19941             :      536,     8,     9,    10,    11,    12,    -1,    -1,    -1,    -1,
   19942             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   19943             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   19944             :       37,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   19945             :       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
   19946             :       -1,    58,    59,    60,    61,    62,    63,    64,    65,    66,
   19947             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   19948             :       77,    -1,    79,    -1,    81,    82,    83,    84,    85,    86,
   19949             :       87,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   19950             :       97,    98,    -1,   100,   101,   102,   103,   104,   105,   106,
   19951             :      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
   19952             :      117,   118,   119,   120,   121,    -1,   123,   124,   125,   126,
   19953             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   19954             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   19955             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   19956             :      157,   158,   159,   160,   161,   162,   163,   164,   165,    -1,
   19957             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   19958             :      177,   178,   179,   180,   181,   182,   183,    -1,   185,   186,
   19959             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   19960             :      197,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   19961             :      207,   208,   209,   210,    -1,   212,   213,   214,   215,   216,
   19962             :      217,   218,   219,   220,    -1,   222,    -1,   224,   225,   226,
   19963             :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
   19964             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   19965             :       -1,    -1,   249,   250,   251,   252,   253,    -1,   255,   256,
   19966             :      257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
   19967             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   19968             :      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
   19969             :      287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
   19970             :      297,   298,   299,   300,   301,   302,   303,   304,   305,    -1,
   19971             :      307,   308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,
   19972             :      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
   19973             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   19974             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   19975             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   19976             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   19977             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   19978             :      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
   19979             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   19980             :      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
   19981             :      407,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
   19982             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   19983             :      427,   428,   429,   430,    -1,   432,   433,   434,    -1,   436,
   19984             :      437,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   19985             :      447,    -1,    -1,   450,   451,   452,   453,   454,   455,   456,
   19986             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,   466,
   19987             :      467,   468,   469,   470,   471,   472,    -1,   474,   475,   476,
   19988             :      477,   478,   479,   480,    -1,   482,   483,   484,   485,   486,
   19989             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   19990             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   19991             :      507,   508,   509,   510,   511,   512,   513,    -1,   515,    -1,
   19992             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19993             :      527,   528,    -1,    -1,    -1,     3,    -1,     5,     6,   536,
   19994             :        8,     9,    10,    11,    12,    -1,    -1,    -1,    -1,    -1,
   19995             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   19996             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
   19997             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   19998             :       48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
   19999             :       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
   20000             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   20001             :       -1,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
   20002             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   20003             :       98,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
   20004             :      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
   20005             :      118,   119,   120,   121,    -1,   123,   124,   125,   126,   127,
   20006             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   20007             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   20008             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   20009             :      158,   159,   160,   161,   162,   163,   164,   165,    -1,   167,
   20010             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,   177,
   20011             :       -1,   179,   180,   181,   182,   183,    -1,   185,   186,    -1,
   20012             :      188,   189,   190,    -1,   192,   193,   194,   195,   196,   197,
   20013             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   20014             :      208,   209,   210,    -1,   212,   213,   214,   215,   216,   217,
   20015             :      218,   219,   220,    -1,   222,    -1,   224,   225,   226,   227,
   20016             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   20017             :      238,   239,   240,   241,   242,   243,   244,   245,   246,    -1,
   20018             :       -1,   249,   250,   251,   252,   253,    -1,   255,   256,   257,
   20019             :      258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   20020             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   20021             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   20022             :      288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
   20023             :      298,   299,   300,   301,   302,   303,   304,   305,    -1,   307,
   20024             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   20025             :      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
   20026             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   20027             :      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
   20028             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   20029             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   20030             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   20031             :      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
   20032             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   20033             :      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
   20034             :      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   20035             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   20036             :      428,   429,   430,    -1,   432,   433,   434,    -1,   436,   437,
   20037             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   20038             :      448,    -1,   450,   451,   452,   453,   454,   455,   456,   457,
   20039             :      458,   459,   460,   461,   462,   463,   464,    -1,   466,   467,
   20040             :      468,   469,   470,   471,   472,    -1,   474,   475,   476,   477,
   20041             :      478,   479,   480,    -1,   482,   483,   484,   485,   486,   487,
   20042             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   20043             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   20044             :      508,   509,   510,   511,   512,   513,    -1,   515,    -1,    -1,
   20045             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   527,
   20046             :      528,    -1,    -1,    -1,     3,    -1,     5,     6,   536,     8,
   20047             :        9,    10,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,
   20048             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   20049             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,    -1,
   20050             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
   20051             :       49,    50,    51,    52,    53,    54,    55,    56,    -1,    58,
   20052             :       59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
   20053             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   20054             :       79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
   20055             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   20056             :       -1,   100,   101,   102,   103,   104,   105,   106,   107,   108,
   20057             :      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
   20058             :      119,   120,   121,    -1,   123,   124,   125,   126,   127,   128,
   20059             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   20060             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   20061             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   20062             :      159,   160,   161,   162,   163,   164,   165,    -1,   167,   168,
   20063             :      169,   170,   171,    -1,   173,    -1,   175,   176,   177,    -1,
   20064             :      179,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   20065             :      189,   190,    -1,   192,   193,   194,   195,   196,   197,   198,
   20066             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   20067             :      209,   210,    -1,   212,   213,   214,   215,   216,   217,   218,
   20068             :      219,   220,    -1,   222,    -1,   224,   225,   226,   227,   228,
   20069             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   20070             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   20071             :      249,   250,   251,   252,   253,    -1,   255,   256,   257,   258,
   20072             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   20073             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   20074             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   20075             :      289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
   20076             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   20077             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   20078             :      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
   20079             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   20080             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   20081             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   20082             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   20083             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   20084             :      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   20085             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   20086             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   20087             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   20088             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   20089             :      429,   430,    -1,   432,   433,   434,    -1,   436,   437,   438,
   20090             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   20091             :       -1,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   20092             :      459,   460,   461,   462,   463,   464,    -1,   466,   467,   468,
   20093             :      469,   470,   471,   472,    -1,   474,   475,   476,   477,   478,
   20094             :      479,   480,    -1,   482,   483,   484,   485,   486,   487,   488,
   20095             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   20096             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   20097             :      509,   510,   511,   512,   513,    -1,   515,    -1,    -1,    -1,
   20098             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   527,   528,
   20099             :       -1,    -1,    -1,     3,    -1,     5,     6,   536,     8,     9,
   20100             :       10,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20101             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   20102             :       30,    31,    32,    -1,    -1,    -1,    -1,    37,    -1,    -1,
   20103             :       40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
   20104             :       50,    51,    52,    53,    54,    55,    56,    -1,    58,    59,
   20105             :       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
   20106             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    79,
   20107             :       -1,    81,    82,    83,    84,    85,    86,    87,    88,    89,
   20108             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   20109             :      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
   20110             :      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   20111             :      120,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   20112             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   20113             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   20114             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   20115             :      160,   161,   162,   163,   164,   165,    -1,   167,   168,   169,
   20116             :      170,   171,    -1,   173,    -1,   175,   176,   177,    -1,   179,
   20117             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   20118             :      190,    -1,   192,   193,   194,   195,   196,   197,   198,   199,
   20119             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   20120             :      210,    -1,   212,   213,   214,   215,   216,   217,   218,   219,
   20121             :      220,    -1,   222,    -1,   224,   225,   226,   227,   228,   229,
   20122             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   20123             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   20124             :      250,   251,   252,   253,    -1,   255,   256,   257,   258,   259,
   20125             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   20126             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   20127             :      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   20128             :      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
   20129             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   20130             :       -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,   319,
   20131             :      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
   20132             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   20133             :      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
   20134             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   20135             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   20136             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
   20137             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   20138             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   20139             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   20140             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   20141             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   20142             :      430,    -1,   432,   433,   434,    -1,   436,   437,   438,   439,
   20143             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   20144             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   20145             :      460,   461,   462,   463,   464,    -1,   466,   467,   468,   469,
   20146             :      470,   471,   472,    -1,   474,   475,   476,   477,   478,   479,
   20147             :      480,    -1,   482,   483,   484,   485,   486,   487,   488,    -1,
   20148             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   20149             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   20150             :      510,   511,   512,   513,    -1,   515,    -1,    -1,    -1,    -1,
   20151             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   527,   528,    -1,
   20152             :       -1,    -1,     3,    -1,     5,     6,   536,     8,     9,    10,
   20153             :       11,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   20154             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   20155             :       31,    32,    -1,    -1,    -1,    -1,    37,    -1,    -1,    40,
   20156             :       41,    42,    -1,    44,    45,    46,    47,    48,    49,    50,
   20157             :       51,    52,    53,    54,    55,    56,    -1,    58,    59,    60,
   20158             :       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
   20159             :       71,    -1,    73,    74,    75,    76,    77,    -1,    79,    -1,
   20160             :       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
   20161             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,   100,
   20162             :      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
   20163             :      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
   20164             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   20165             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   20166             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   20167             :      151,   152,    -1,   154,   155,   156,   157,   158,   159,   160,
   20168             :      161,   162,   163,   164,   165,    -1,   167,   168,   169,   170,
   20169             :      171,    -1,   173,    -1,   175,   176,   177,    -1,   179,   180,
   20170             :      181,   182,   183,    -1,   185,   186,    -1,   188,   189,   190,
   20171             :       -1,   192,   193,   194,   195,   196,   197,   198,   199,   200,
   20172             :      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
   20173             :       -1,   212,   213,   214,   215,   216,   217,   218,   219,   220,
   20174             :       -1,   222,    -1,   224,   225,   226,   227,   228,   229,   230,
   20175             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   20176             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,   250,
   20177             :      251,   252,   253,    -1,   255,   256,   257,   258,   259,   260,
   20178             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   20179             :      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
   20180             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   20181             :      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
   20182             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   20183             :       -1,   312,   313,   314,    -1,    -1,   317,   318,   319,   320,
   20184             :      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
   20185             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,   340,
   20186             :      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
   20187             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   20188             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   20189             :      371,   372,   373,   374,   375,    -1,   377,   378,   379,   380,
   20190             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   20191             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   20192             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   20193             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   20194             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   20195             :       -1,   432,   433,   434,    -1,   436,   437,   438,   439,   440,
   20196             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   20197             :      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
   20198             :      461,   462,   463,   464,    -1,   466,   467,   468,   469,   470,
   20199             :      471,   472,    -1,   474,   475,   476,   477,   478,   479,   480,
   20200             :       -1,   482,   483,   484,   485,   486,   487,   488,    -1,    -1,
   20201             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   20202             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   20203             :      511,   512,   513,    -1,   515,    -1,    -1,    -1,    -1,    -1,
   20204             :       -1,    -1,    -1,    -1,    -1,    -1,   527,   528,    -1,    -1,
   20205             :       -1,     3,    -1,     5,     6,   536,     8,     9,    10,    11,
   20206             :       12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   20207             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   20208             :       32,    -1,    -1,    -1,    -1,    37,    -1,    -1,    40,    41,
   20209             :       42,    -1,    44,    45,    46,    47,    48,    49,    50,    51,
   20210             :       52,    53,    54,    55,    56,    -1,    58,    59,    60,    61,
   20211             :       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
   20212             :       -1,    73,    74,    75,    76,    77,    -1,    79,    -1,    81,
   20213             :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
   20214             :       -1,    93,    94,    95,    96,    97,    98,    -1,   100,   101,
   20215             :      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
   20216             :      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
   20217             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   20218             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   20219             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   20220             :      152,    -1,   154,   155,   156,   157,   158,   159,   160,   161,
   20221             :      162,   163,   164,   165,    -1,   167,   168,   169,   170,   171,
   20222             :       -1,   173,    -1,   175,   176,   177,    -1,   179,   180,   181,
   20223             :      182,   183,    -1,   185,   186,    -1,   188,   189,   190,    -1,
   20224             :      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
   20225             :       -1,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
   20226             :      212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
   20227             :      222,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
   20228             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   20229             :      242,   243,   244,   245,   246,    -1,    -1,   249,   250,   251,
   20230             :      252,   253,    -1,   255,   256,   257,   258,   259,   260,   261,
   20231             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   20232             :      272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
   20233             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   20234             :      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
   20235             :      302,   303,   304,   305,    -1,   307,   308,   309,    -1,    -1,
   20236             :      312,   313,   314,    -1,    -1,   317,   318,   319,   320,   321,
   20237             :      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   20238             :      332,   333,   334,   335,    -1,   337,   338,   339,   340,   341,
   20239             :      342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
   20240             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   20241             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   20242             :      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
   20243             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   20244             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   20245             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   20246             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   20247             :      422,   423,   424,   425,   426,   427,   428,   429,   430,    -1,
   20248             :      432,   433,   434,    -1,   436,   437,   438,   439,   440,   441,
   20249             :      442,   443,    -1,   445,   446,   447,    -1,    -1,   450,   451,
   20250             :      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
   20251             :      462,   463,   464,    -1,   466,   467,   468,   469,   470,   471,
   20252             :      472,    -1,   474,   475,   476,   477,   478,   479,   480,    -1,
   20253             :      482,   483,   484,   485,   486,   487,   488,    -1,    -1,   491,
   20254             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   20255             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   20256             :      512,   513,    -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,
   20257             :       -1,    -1,    -1,    -1,    -1,   527,   528,    -1,    -1,    -1,
   20258             :        3,    -1,     5,     6,   536,     8,     9,    10,    11,    12,
   20259             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   20260             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   20261             :       -1,    -1,    -1,    -1,    37,    -1,    -1,    40,    41,    42,
   20262             :       -1,    44,    45,    46,    47,    48,    49,    50,    51,    52,
   20263             :       53,    54,    55,    56,    -1,    58,    59,    60,    61,    62,
   20264             :       63,    64,    65,    66,    67,    68,    69,    70,    71,    -1,
   20265             :       73,    74,    75,    76,    77,    -1,    79,    -1,    81,    82,
   20266             :       83,    84,    85,    86,    87,    88,    89,    90,    91,    -1,
   20267             :       93,    94,    95,    96,    97,    98,    -1,   100,   101,   102,
   20268             :      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
   20269             :      113,   114,   115,   116,   117,   118,   119,   120,   121,    -1,
   20270             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   20271             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   20272             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   20273             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   20274             :      163,   164,   165,    -1,   167,   168,   169,   170,   171,    -1,
   20275             :      173,    -1,   175,   176,   177,    -1,   179,   180,   181,   182,
   20276             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   20277             :      193,   194,   195,   196,   197,   198,   199,   200,   201,    -1,
   20278             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   20279             :      213,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   20280             :       -1,   224,   225,   226,   227,   228,   229,   230,   231,   232,
   20281             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   20282             :      243,   244,   245,   246,    -1,    -1,   249,   250,   251,   252,
   20283             :      253,    -1,   255,   256,   257,   258,   259,   260,   261,   262,
   20284             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   20285             :      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
   20286             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   20287             :      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
   20288             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   20289             :      313,   314,    -1,    -1,   317,   318,   319,   320,   321,   322,
   20290             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   20291             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   20292             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   20293             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   20294             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   20295             :      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
   20296             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   20297             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,   402,
   20298             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   20299             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   20300             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   20301             :      433,   434,    -1,   436,   437,   438,   439,   440,   441,   442,
   20302             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   20303             :      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
   20304             :      463,   464,    -1,   466,   467,   468,   469,   470,   471,   472,
   20305             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   20306             :      483,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   20307             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   20308             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   20309             :      513,    -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20310             :       -1,    -1,    -1,    -1,   527,   528,    -1,    -1,    -1,     3,
   20311             :       -1,     5,     6,   536,     8,     9,    10,    11,    12,    -1,
   20312             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   20313             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   20314             :       -1,    -1,    -1,    37,    -1,    -1,    40,    41,    42,    -1,
   20315             :       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
   20316             :       54,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   20317             :       64,    65,    66,    67,    68,    69,    70,    71,    -1,    73,
   20318             :       74,    75,    76,    77,    -1,    79,    -1,    81,    82,    83,
   20319             :       84,    85,    86,    87,    88,    89,    90,    91,    -1,    93,
   20320             :       94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
   20321             :      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
   20322             :      114,   115,   116,   117,   118,   119,   120,   121,    -1,   123,
   20323             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   20324             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   20325             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   20326             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   20327             :      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   20328             :       -1,   175,   176,   177,    -1,   179,   180,   181,   182,   183,
   20329             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   20330             :      194,   195,   196,   197,   198,   199,   200,   201,    -1,   203,
   20331             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,   213,
   20332             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   20333             :      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
   20334             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   20335             :      244,   245,   246,    -1,    -1,   249,   250,   251,   252,   253,
   20336             :       -1,   255,   256,   257,   258,   259,   260,   261,   262,   263,
   20337             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   20338             :      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
   20339             :      284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
   20340             :      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
   20341             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   20342             :      314,    -1,    -1,   317,   318,   319,   320,   321,   322,   323,
   20343             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   20344             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   20345             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   20346             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   20347             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   20348             :      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
   20349             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   20350             :      394,   395,    -1,   397,   398,   399,   400,   401,   402,   403,
   20351             :      404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
   20352             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   20353             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   20354             :      434,    -1,   436,   437,   438,   439,   440,   441,   442,   443,
   20355             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   20356             :      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
   20357             :      464,    -1,   466,   467,   468,   469,   470,   471,   472,    -1,
   20358             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,   483,
   20359             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   20360             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   20361             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   20362             :       -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20363             :       -1,    -1,    -1,   527,   528,    -1,    -1,    -1,     3,    -1,
   20364             :        5,     6,   536,     8,     9,    10,    11,    12,    -1,    -1,
   20365             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   20366             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   20367             :       -1,    -1,    37,    -1,    -1,    40,    41,    42,    -1,    44,
   20368             :       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
   20369             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   20370             :       65,    66,    67,    68,    69,    70,    71,    -1,    73,    74,
   20371             :       75,    76,    77,    -1,    79,    -1,    81,    82,    83,    84,
   20372             :       85,    86,    87,    88,    89,    90,    91,    -1,    93,    94,
   20373             :       95,    96,    97,    98,    -1,   100,   101,   102,   103,   104,
   20374             :      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
   20375             :      115,   116,   117,   118,   119,   120,   121,    -1,   123,   124,
   20376             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   20377             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   20378             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   20379             :      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
   20380             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   20381             :      175,   176,   177,    -1,   179,   180,   181,   182,   183,    -1,
   20382             :      185,   186,    -1,   188,   189,   190,    -1,   192,   193,   194,
   20383             :      195,   196,   197,   198,   199,   200,   201,    -1,   203,   204,
   20384             :      205,   206,   207,   208,   209,   210,    -1,   212,   213,   214,
   20385             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   20386             :      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
   20387             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   20388             :      245,   246,    -1,    -1,   249,   250,   251,   252,   253,    -1,
   20389             :      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
   20390             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   20391             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
   20392             :      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
   20393             :      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
   20394             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   20395             :       -1,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
   20396             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   20397             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   20398             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   20399             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   20400             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   20401             :      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
   20402             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   20403             :      395,    -1,   397,   398,   399,   400,   401,   402,   403,   404,
   20404             :      405,   406,   407,   408,   409,   410,   411,   412,    -1,   414,
   20405             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   20406             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,   434,
   20407             :       -1,   436,   437,   438,   439,   440,   441,   442,   443,    -1,
   20408             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   20409             :      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   20410             :       -1,   466,   467,   468,   469,   470,   471,   472,    -1,   474,
   20411             :      475,   476,   477,   478,   479,   480,    -1,   482,   483,   484,
   20412             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   20413             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   20414             :      505,   506,   507,   508,   509,   510,   511,   512,   513,    -1,
   20415             :      515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20416             :       -1,    -1,   527,   528,    -1,    -1,    -1,     3,    -1,     5,
   20417             :        6,   536,     8,     9,    10,    11,    12,    -1,    -1,    -1,
   20418             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   20419             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   20420             :       -1,    37,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   20421             :       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
   20422             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    65,
   20423             :       66,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   20424             :       76,    77,    -1,    79,    -1,    81,    82,    83,    84,    85,
   20425             :       86,    87,    88,    89,    90,    91,    -1,    93,    94,    95,
   20426             :       96,    97,    98,    -1,   100,   101,   102,   103,   104,   105,
   20427             :      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
   20428             :      116,   117,   118,   119,   120,   121,    -1,   123,   124,   125,
   20429             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   20430             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   20431             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   20432             :      156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
   20433             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   20434             :      176,   177,    -1,   179,   180,   181,   182,   183,    -1,   185,
   20435             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   20436             :      196,   197,   198,   199,   200,   201,    -1,   203,   204,   205,
   20437             :      206,   207,   208,   209,   210,    -1,   212,   213,   214,   215,
   20438             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,   225,
   20439             :      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
   20440             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   20441             :      246,    -1,    -1,   249,   250,   251,   252,   253,    -1,   255,
   20442             :      256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
   20443             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   20444             :      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
   20445             :      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
   20446             :      296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
   20447             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   20448             :       -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
   20449             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   20450             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   20451             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   20452             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   20453             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   20454             :       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
   20455             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   20456             :       -1,   397,   398,   399,   400,   401,   402,   403,   404,   405,
   20457             :      406,   407,   408,   409,   410,   411,   412,    -1,   414,   415,
   20458             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   20459             :      426,   427,   428,   429,   430,    -1,   432,   433,   434,    -1,
   20460             :      436,   437,   438,   439,   440,   441,   442,   443,    -1,   445,
   20461             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,   455,
   20462             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   20463             :      466,   467,   468,   469,   470,   471,   472,    -1,   474,   475,
   20464             :      476,   477,   478,   479,   480,    -1,   482,   483,   484,   485,
   20465             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   20466             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   20467             :      506,   507,   508,   509,   510,   511,   512,   513,    -1,   515,
   20468             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20469             :       -1,   527,   528,    -1,    -1,    -1,     3,    -1,     5,     6,
   20470             :      536,     8,     9,    10,    11,    12,    -1,    -1,    -1,    -1,
   20471             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   20472             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   20473             :       37,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   20474             :       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
   20475             :       -1,    58,    59,    60,    61,    62,    63,    64,    65,    66,
   20476             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   20477             :       77,    -1,    79,    -1,    81,    82,    83,    84,    85,    86,
   20478             :       87,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   20479             :       97,    98,    -1,   100,   101,   102,   103,   104,   105,   106,
   20480             :      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
   20481             :      117,   118,   119,   120,   121,    -1,   123,   124,   125,   126,
   20482             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   20483             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   20484             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   20485             :      157,   158,   159,   160,   161,   162,   163,   164,   165,    -1,
   20486             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   20487             :      177,    -1,   179,   180,   181,   182,   183,    -1,   185,   186,
   20488             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   20489             :      197,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   20490             :      207,   208,   209,   210,    -1,   212,   213,   214,   215,   216,
   20491             :      217,   218,   219,   220,    -1,   222,    -1,   224,   225,   226,
   20492             :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
   20493             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   20494             :       -1,    -1,   249,   250,   251,   252,   253,    -1,   255,   256,
   20495             :      257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
   20496             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   20497             :      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
   20498             :      287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
   20499             :      297,   298,   299,   300,   301,   302,   303,   304,   305,    -1,
   20500             :      307,   308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,
   20501             :      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
   20502             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   20503             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   20504             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   20505             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   20506             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   20507             :      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
   20508             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   20509             :      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
   20510             :      407,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
   20511             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   20512             :      427,   428,   429,   430,    -1,   432,   433,   434,    -1,   436,
   20513             :      437,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   20514             :      447,    -1,    -1,   450,   451,   452,   453,   454,   455,   456,
   20515             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,   466,
   20516             :      467,   468,   469,   470,   471,   472,    -1,   474,   475,   476,
   20517             :      477,   478,   479,   480,    -1,   482,   483,   484,   485,   486,
   20518             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   20519             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   20520             :      507,   508,   509,   510,   511,   512,   513,    -1,   515,    -1,
   20521             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20522             :      527,   528,    -1,    -1,    -1,     3,    -1,     5,     6,   536,
   20523             :        8,     9,    10,    11,    12,    -1,    -1,    -1,    -1,    -1,
   20524             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   20525             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
   20526             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   20527             :       48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
   20528             :       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
   20529             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   20530             :       -1,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
   20531             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   20532             :       98,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
   20533             :      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
   20534             :      118,   119,   120,   121,    -1,   123,   124,   125,   126,   127,
   20535             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   20536             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   20537             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   20538             :      158,   159,   160,   161,   162,   163,   164,   165,    -1,   167,
   20539             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,   177,
   20540             :       -1,   179,   180,   181,   182,   183,    -1,   185,   186,    -1,
   20541             :      188,   189,   190,    -1,   192,   193,   194,   195,   196,   197,
   20542             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   20543             :      208,   209,   210,    -1,   212,   213,   214,   215,   216,   217,
   20544             :      218,   219,   220,    -1,   222,    -1,   224,   225,   226,   227,
   20545             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   20546             :      238,   239,   240,   241,   242,   243,   244,   245,   246,    -1,
   20547             :       -1,   249,   250,   251,   252,   253,    -1,   255,   256,   257,
   20548             :      258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   20549             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   20550             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   20551             :      288,   289,   290,   291,   292,    -1,   294,   295,   296,   297,
   20552             :      298,   299,   300,   301,   302,   303,   304,   305,    -1,   307,
   20553             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   20554             :      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
   20555             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   20556             :      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
   20557             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   20558             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   20559             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   20560             :      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
   20561             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   20562             :      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
   20563             :      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   20564             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   20565             :      428,   429,   430,    -1,   432,   433,   434,    -1,   436,   437,
   20566             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   20567             :       -1,    -1,   450,   451,   452,   453,   454,   455,   456,   457,
   20568             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   20569             :      468,   469,   470,   471,   472,    -1,   474,   475,   476,   477,
   20570             :      478,   479,   480,    -1,   482,   483,   484,   485,   486,   487,
   20571             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   20572             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   20573             :      508,   509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,
   20574             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   527,
   20575             :      528,    -1,    -1,    -1,     3,    -1,     5,     6,   536,     8,
   20576             :        9,    10,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,
   20577             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   20578             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,    -1,
   20579             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
   20580             :       49,    50,    51,    52,    53,    54,    55,    56,    -1,    58,
   20581             :       59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
   20582             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   20583             :       79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
   20584             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   20585             :       -1,   100,   101,   102,   103,   104,   105,   106,   107,   108,
   20586             :      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
   20587             :      119,   120,   121,    -1,   123,   124,   125,   126,   127,   128,
   20588             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   20589             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   20590             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   20591             :      159,   160,   161,   162,   163,   164,   165,    -1,   167,   168,
   20592             :      169,   170,   171,    -1,   173,    -1,   175,   176,   177,    -1,
   20593             :      179,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   20594             :      189,   190,    -1,   192,   193,   194,   195,   196,   197,   198,
   20595             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   20596             :      209,   210,    -1,   212,   213,   214,   215,   216,   217,   218,
   20597             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,   228,
   20598             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   20599             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   20600             :      249,   250,   251,   252,   253,    -1,   255,   256,   257,   258,
   20601             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   20602             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   20603             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   20604             :      289,   290,   291,   292,   293,   294,   295,    -1,   297,   298,
   20605             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   20606             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   20607             :      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
   20608             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   20609             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   20610             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   20611             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   20612             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   20613             :      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   20614             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   20615             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   20616             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   20617             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   20618             :      429,   430,    -1,   432,   433,   434,    -1,   436,   437,   438,
   20619             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   20620             :       -1,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   20621             :      459,   460,   461,   462,   463,   464,    -1,   466,   467,   468,
   20622             :      469,   470,   471,   472,    -1,   474,   475,   476,   477,   478,
   20623             :      479,   480,    -1,   482,   483,   484,   485,   486,   487,   488,
   20624             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   20625             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   20626             :      509,   510,   511,   512,   513,    -1,   515,    -1,    -1,    -1,
   20627             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   527,   528,
   20628             :       -1,    -1,    -1,     3,    -1,     5,     6,   536,     8,     9,
   20629             :       10,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20630             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   20631             :       30,    31,    32,    -1,    -1,    -1,    -1,    37,    -1,    -1,
   20632             :       40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
   20633             :       50,    51,    52,    53,    54,    55,    56,    -1,    58,    59,
   20634             :       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
   20635             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    79,
   20636             :       -1,    81,    82,    83,    84,    85,    86,    87,    88,    89,
   20637             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   20638             :      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
   20639             :      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   20640             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   20641             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   20642             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   20643             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   20644             :      160,   161,   162,   163,   164,   165,    -1,   167,   168,   169,
   20645             :      170,   171,    -1,   173,    -1,   175,   176,   177,    -1,   179,
   20646             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   20647             :      190,    -1,   192,   193,   194,   195,   196,   197,   198,   199,
   20648             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   20649             :      210,    -1,   212,   213,   214,   215,   216,   217,   218,   219,
   20650             :      220,    -1,   222,    -1,   224,   225,   226,   227,   228,   229,
   20651             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   20652             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   20653             :      250,   251,   252,   253,    -1,   255,   256,   257,   258,   259,
   20654             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   20655             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   20656             :      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   20657             :      290,   291,   292,    -1,   294,   295,   296,   297,   298,   299,
   20658             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   20659             :       -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,   319,
   20660             :      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
   20661             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   20662             :      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
   20663             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   20664             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   20665             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
   20666             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   20667             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   20668             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   20669             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   20670             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   20671             :      430,    -1,   432,   433,   434,    -1,   436,   437,   438,   439,
   20672             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   20673             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   20674             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   20675             :      470,   471,   472,    -1,   474,   475,   476,   477,   478,   479,
   20676             :      480,    -1,   482,   483,   484,   485,   486,   487,   488,    -1,
   20677             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   20678             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   20679             :      510,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,    -1,
   20680             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   527,   528,     3,
   20681             :       -1,     5,     6,    -1,     8,     9,   536,    11,    12,    -1,
   20682             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   20683             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   20684             :       -1,    -1,    -1,    37,    -1,    -1,    40,    41,    42,    -1,
   20685             :       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
   20686             :       54,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   20687             :       64,    65,    66,    67,    68,    69,    70,    71,    -1,    73,
   20688             :       74,    75,    76,    77,    -1,    79,    -1,    81,    82,    83,
   20689             :       84,    85,    86,    87,    88,    89,    90,    91,    -1,    93,
   20690             :       94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
   20691             :      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
   20692             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   20693             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   20694             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   20695             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   20696             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   20697             :      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   20698             :       -1,   175,   176,   177,    -1,   179,   180,   181,   182,   183,
   20699             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   20700             :      194,   195,   196,   197,   198,   199,   200,   201,    -1,   203,
   20701             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,   213,
   20702             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   20703             :      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
   20704             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   20705             :      244,   245,   246,    -1,    -1,   249,   250,   251,   252,   253,
   20706             :       -1,   255,   256,   257,   258,   259,   260,   261,   262,   263,
   20707             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   20708             :      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
   20709             :      284,   285,   286,   287,   288,   289,   290,   291,   292,    -1,
   20710             :      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
   20711             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   20712             :      314,    -1,    -1,   317,   318,   319,   320,   321,   322,   323,
   20713             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   20714             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   20715             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   20716             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   20717             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   20718             :      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
   20719             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   20720             :      394,   395,    -1,   397,   398,   399,   400,   401,   402,   403,
   20721             :      404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
   20722             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   20723             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   20724             :      434,    -1,   436,   437,   438,   439,   440,   441,   442,   443,
   20725             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   20726             :      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
   20727             :      464,    -1,    -1,   467,   468,   469,   470,   471,   472,    -1,
   20728             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,   483,
   20729             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   20730             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   20731             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   20732             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20733             :       -1,    -1,    -1,   527,   528,     3,    -1,     5,     6,    -1,
   20734             :        8,     9,   536,    11,    12,    -1,    -1,    -1,    -1,    -1,
   20735             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   20736             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
   20737             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   20738             :       48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
   20739             :       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
   20740             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   20741             :       -1,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
   20742             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   20743             :       98,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
   20744             :      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
   20745             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   20746             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   20747             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   20748             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   20749             :      158,   159,   160,   161,   162,   163,   164,   165,    -1,   167,
   20750             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,   177,
   20751             :       -1,   179,   180,   181,   182,   183,    -1,   185,   186,    -1,
   20752             :      188,   189,   190,    -1,   192,   193,   194,   195,   196,   197,
   20753             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   20754             :      208,   209,   210,    -1,   212,   213,   214,   215,   216,   217,
   20755             :      218,   219,   220,    -1,   222,    -1,   224,   225,   226,   227,
   20756             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   20757             :      238,   239,   240,   241,   242,   243,   244,   245,   246,    -1,
   20758             :       -1,   249,   250,   251,   252,   253,    -1,   255,   256,   257,
   20759             :      258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   20760             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   20761             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   20762             :      288,   289,   290,   291,   292,    -1,   294,   295,   296,   297,
   20763             :      298,   299,   300,   301,   302,   303,   304,   305,    -1,   307,
   20764             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   20765             :      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
   20766             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   20767             :      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
   20768             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   20769             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   20770             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   20771             :      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
   20772             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   20773             :      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
   20774             :      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   20775             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   20776             :      428,   429,   430,    -1,   432,   433,   434,    -1,   436,   437,
   20777             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   20778             :       -1,    -1,   450,   451,   452,   453,   454,   455,   456,   457,
   20779             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   20780             :      468,   469,   470,   471,   472,    -1,   474,   475,   476,   477,
   20781             :      478,   479,   480,    -1,   482,   483,   484,   485,   486,   487,
   20782             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   20783             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   20784             :      508,   509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,
   20785             :       -1,    -1,     3,    -1,     5,     6,    -1,     8,     9,    -1,
   20786             :       11,    12,    -1,    -1,    -1,    -1,    -1,    -1,   536,    20,
   20787             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   20788             :       31,    32,    -1,    -1,    -1,    -1,    37,    -1,    -1,    40,
   20789             :       41,    42,    -1,    44,    45,    46,    47,    48,    49,    50,
   20790             :       51,    52,    53,    54,    55,    56,    -1,    58,    59,    60,
   20791             :       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
   20792             :       71,    -1,    73,    74,    75,    76,    77,    -1,    79,    -1,
   20793             :       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
   20794             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,   100,
   20795             :      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
   20796             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   20797             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   20798             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   20799             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   20800             :      151,   152,    -1,   154,   155,   156,   157,   158,   159,   160,
   20801             :      161,   162,   163,   164,   165,    -1,   167,   168,   169,   170,
   20802             :      171,    -1,   173,    -1,   175,   176,   177,    -1,   179,   180,
   20803             :      181,   182,   183,    -1,   185,   186,    -1,   188,   189,   190,
   20804             :       -1,   192,   193,   194,   195,   196,   197,   198,   199,   200,
   20805             :      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
   20806             :       -1,   212,   213,   214,   215,   216,   217,   218,   219,   220,
   20807             :       -1,   222,    -1,   224,   225,   226,   227,   228,   229,   230,
   20808             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   20809             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,   250,
   20810             :      251,   252,   253,    -1,   255,   256,   257,   258,   259,   260,
   20811             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   20812             :      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
   20813             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   20814             :      291,   292,    -1,   294,   295,   296,   297,   298,   299,   300,
   20815             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   20816             :       -1,   312,   313,   314,    -1,    -1,   317,   318,   319,   320,
   20817             :      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
   20818             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,   340,
   20819             :      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
   20820             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   20821             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   20822             :      371,   372,   373,   374,   375,    -1,   377,   378,   379,   380,
   20823             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   20824             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   20825             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   20826             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   20827             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   20828             :       -1,   432,   433,   434,    -1,   436,   437,   438,   439,   440,
   20829             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   20830             :      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
   20831             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   20832             :      471,   472,    -1,   474,   475,   476,   477,   478,   479,   480,
   20833             :       -1,   482,   483,   484,   485,   486,   487,   488,    -1,    -1,
   20834             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   20835             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   20836             :      511,   512,   513,    -1,    -1,    -1,    -1,    -1,    -1,     3,
   20837             :       -1,     5,     6,    -1,     8,     9,    -1,    11,    12,    -1,
   20838             :       -1,    -1,    -1,    -1,    -1,   536,    20,    21,    22,    23,
   20839             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   20840             :       -1,    -1,    -1,    37,    -1,    -1,    40,    41,    42,    -1,
   20841             :       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
   20842             :       54,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   20843             :       64,    65,    66,    67,    68,    69,    70,    71,    -1,    73,
   20844             :       74,    75,    76,    77,    -1,    79,    -1,    81,    82,    83,
   20845             :       84,    85,    86,    87,    88,    89,    90,    91,    -1,    93,
   20846             :       94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
   20847             :      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
   20848             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   20849             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   20850             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   20851             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   20852             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   20853             :      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   20854             :       -1,   175,   176,   177,    -1,   179,   180,   181,   182,   183,
   20855             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   20856             :      194,   195,   196,   197,   198,   199,   200,   201,    -1,   203,
   20857             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,   213,
   20858             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   20859             :      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
   20860             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   20861             :      244,   245,   246,    -1,    -1,   249,   250,   251,   252,   253,
   20862             :       -1,   255,   256,   257,   258,   259,   260,   261,   262,   263,
   20863             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   20864             :      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
   20865             :      284,   285,   286,   287,   288,   289,   290,   291,   292,    -1,
   20866             :      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
   20867             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   20868             :      314,    -1,    -1,   317,   318,   319,   320,   321,   322,   323,
   20869             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   20870             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   20871             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   20872             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   20873             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   20874             :      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
   20875             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   20876             :      394,   395,    -1,   397,   398,   399,   400,   401,   402,   403,
   20877             :      404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
   20878             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   20879             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   20880             :      434,    -1,   436,   437,   438,   439,   440,   441,   442,   443,
   20881             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   20882             :      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
   20883             :      464,    -1,    -1,   467,   468,   469,   470,   471,   472,    -1,
   20884             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,   483,
   20885             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   20886             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   20887             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   20888             :       -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,
   20889             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20890             :       -1,    -1,   536,    20,    21,    22,    23,    24,    25,    26,
   20891             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   20892             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   20893             :       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
   20894             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    66,
   20895             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   20896             :       77,    -1,    79,    -1,    81,    82,    83,    84,    85,    86,
   20897             :       87,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   20898             :       97,    98,    -1,   100,   101,   102,   103,   104,   105,   106,
   20899             :      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
   20900             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   20901             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   20902             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   20903             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   20904             :      157,   158,   159,   160,   161,   162,   163,    -1,   165,    -1,
   20905             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   20906             :      177,    -1,   179,   180,   181,   182,   183,    -1,   185,   186,
   20907             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   20908             :      197,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   20909             :      207,   208,   209,   210,    -1,   212,   213,   214,   215,   216,
   20910             :      217,   218,   219,   220,    -1,   222,    -1,   224,   225,   226,
   20911             :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
   20912             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   20913             :      247,    -1,   249,   250,   251,   252,   253,    -1,   255,   256,
   20914             :      257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
   20915             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   20916             :      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
   20917             :      287,   288,   289,   290,   291,   292,    -1,   294,   295,   296,
   20918             :      297,    -1,   299,   300,   301,   302,   303,   304,   305,    -1,
   20919             :      307,   308,   309,    -1,   311,   312,   313,   314,    -1,    -1,
   20920             :      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
   20921             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   20922             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   20923             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   20924             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   20925             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   20926             :      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
   20927             :      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
   20928             :      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
   20929             :      407,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
   20930             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   20931             :      427,   428,   429,   430,    -1,   432,   433,   434,   435,   436,
   20932             :      437,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   20933             :      447,    -1,    -1,   450,   451,   452,   453,   454,    -1,   456,
   20934             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,    -1,
   20935             :      467,   468,   469,   470,   471,   472,    -1,   474,   475,   476,
   20936             :      477,   478,   479,   480,    -1,   482,   483,   484,   485,   486,
   20937             :      487,   488,    -1,    -1,   491,    -1,   493,   494,   495,   496,
   20938             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   20939             :      507,   508,   509,   510,   511,   512,   513,    -1,    -1,    -1,
   20940             :      517,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   20941             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   536,
   20942             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   20943             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20944             :       40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
   20945             :       50,    51,    52,    53,    54,    55,    56,    -1,    58,    59,
   20946             :       60,    61,    62,    63,    64,    -1,    66,    67,    68,    69,
   20947             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    79,
   20948             :       -1,    81,    82,    83,    84,    85,    86,    87,    88,    89,
   20949             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   20950             :      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
   20951             :      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   20952             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   20953             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   20954             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   20955             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   20956             :      160,   161,   162,   163,    -1,   165,    -1,   167,   168,   169,
   20957             :      170,   171,    -1,   173,    -1,   175,   176,   177,    -1,   179,
   20958             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   20959             :      190,    -1,   192,   193,   194,   195,   196,   197,   198,   199,
   20960             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   20961             :      210,    -1,   212,   213,   214,   215,   216,   217,   218,   219,
   20962             :      220,    -1,   222,    -1,   224,   225,   226,   227,   228,   229,
   20963             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   20964             :      240,   241,   242,   243,   244,   245,   246,   247,    -1,   249,
   20965             :      250,   251,   252,   253,    -1,   255,   256,   257,   258,   259,
   20966             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   20967             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   20968             :      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   20969             :      290,   291,   292,    -1,   294,   295,   296,   297,    -1,   299,
   20970             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   20971             :       -1,   311,   312,   313,   314,    -1,    -1,   317,   318,   319,
   20972             :      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
   20973             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   20974             :      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
   20975             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   20976             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   20977             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
   20978             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   20979             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   20980             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   20981             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   20982             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   20983             :      430,    -1,   432,   433,   434,    -1,   436,   437,   438,   439,
   20984             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   20985             :      450,   451,   452,   453,   454,    -1,   456,   457,   458,   459,
   20986             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   20987             :      470,   471,   472,    -1,   474,   475,   476,   477,   478,   479,
   20988             :      480,    -1,   482,   483,   484,   485,   486,   487,   488,    -1,
   20989             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   20990             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   20991             :      510,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,    -1,
   20992             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20993             :       -1,    -1,    -1,    -1,    -1,    -1,   536,    20,    21,    22,
   20994             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   20995             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   20996             :       -1,    44,    45,    46,    47,    48,    49,    50,    51,    52,
   20997             :       53,    54,    55,    56,    -1,    58,    59,    60,    61,    62,
   20998             :       63,    64,    -1,    66,    67,    68,    69,    70,    71,    -1,
   20999             :       73,    74,    75,    76,    77,    -1,    79,    -1,    81,    82,
   21000             :       83,    84,    85,    86,    87,    88,    89,    90,    91,    -1,
   21001             :       93,    94,    95,    96,    97,    98,    -1,   100,   101,   102,
   21002             :      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
   21003             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   21004             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   21005             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   21006             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   21007             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   21008             :      163,    -1,   165,    -1,   167,   168,   169,   170,   171,    -1,
   21009             :      173,    -1,   175,   176,   177,    -1,   179,   180,   181,   182,
   21010             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   21011             :      193,   194,   195,   196,   197,   198,   199,   200,   201,    -1,
   21012             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   21013             :      213,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   21014             :       -1,   224,   225,   226,   227,   228,   229,   230,   231,   232,
   21015             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   21016             :      243,   244,   245,   246,    -1,    -1,   249,   250,   251,   252,
   21017             :      253,    -1,   255,   256,   257,   258,   259,   260,   261,   262,
   21018             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   21019             :      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
   21020             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   21021             :       -1,   294,   295,   296,   297,    -1,   299,   300,   301,   302,
   21022             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   21023             :      313,   314,    -1,    -1,   317,   318,   319,   320,   321,   322,
   21024             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   21025             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   21026             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   21027             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   21028             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   21029             :      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
   21030             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   21031             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,   402,
   21032             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   21033             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   21034             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   21035             :      433,   434,    -1,   436,   437,   438,   439,   440,   441,   442,
   21036             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   21037             :      453,   454,    -1,   456,   457,   458,   459,   460,   461,   462,
   21038             :      463,   464,    -1,    -1,   467,   468,   469,   470,   471,   472,
   21039             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   21040             :      483,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   21041             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   21042             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   21043             :      513,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,
   21044             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21045             :       -1,    -1,    -1,   536,    20,    21,    22,    23,    24,    25,
   21046             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   21047             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   21048             :       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
   21049             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   21050             :       66,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   21051             :       76,    77,    -1,    79,    -1,    81,    82,    83,    84,    85,
   21052             :       86,    87,    88,    89,    90,    91,    -1,    93,    94,    95,
   21053             :       96,    97,    98,    -1,   100,   101,   102,   103,   104,   105,
   21054             :      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
   21055             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   21056             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   21057             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   21058             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   21059             :      156,   157,   158,   159,   160,   161,   162,   163,    -1,   165,
   21060             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   21061             :      176,   177,    -1,   179,   180,   181,   182,   183,    -1,   185,
   21062             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   21063             :      196,   197,   198,   199,   200,   201,    -1,   203,   204,   205,
   21064             :      206,   207,   208,   209,   210,    -1,   212,   213,   214,   215,
   21065             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,   225,
   21066             :      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
   21067             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   21068             :      246,    -1,    -1,   249,   250,   251,   252,   253,    -1,   255,
   21069             :      256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
   21070             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   21071             :      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
   21072             :      286,   287,   288,   289,   290,   291,   292,    -1,   294,   295,
   21073             :      296,   297,    -1,   299,   300,   301,   302,   303,   304,   305,
   21074             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   21075             :       -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
   21076             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   21077             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   21078             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   21079             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   21080             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   21081             :       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
   21082             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   21083             :       -1,   397,   398,   399,   400,   401,   402,   403,   404,   405,
   21084             :      406,   407,   408,   409,   410,   411,   412,    -1,   414,   415,
   21085             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   21086             :      426,   427,   428,   429,   430,    -1,   432,   433,   434,    -1,
   21087             :      436,   437,   438,   439,   440,   441,   442,   443,    -1,   445,
   21088             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,    -1,
   21089             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   21090             :       -1,   467,   468,   469,   470,   471,   472,    -1,   474,   475,
   21091             :      476,   477,   478,   479,   480,    -1,   482,   483,   484,   485,
   21092             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   21093             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   21094             :      506,   507,   508,   509,   510,   511,   512,   513,    -1,    -1,
   21095             :       -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,
   21096             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21097             :      536,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   21098             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   21099             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
   21100             :       49,    50,    51,    52,    53,    54,    55,    56,    -1,    58,
   21101             :       59,    60,    61,    62,    63,    64,    -1,    66,    67,    68,
   21102             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   21103             :       79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
   21104             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   21105             :       -1,   100,   101,   102,   103,   104,   105,   106,   107,   108,
   21106             :      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
   21107             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   21108             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   21109             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   21110             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   21111             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   21112             :      169,   170,   171,    -1,   173,    -1,   175,   176,   177,    -1,
   21113             :      179,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   21114             :      189,   190,    -1,   192,   193,   194,   195,   196,   197,   198,
   21115             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   21116             :      209,   210,    -1,   212,   213,   214,   215,   216,   217,   218,
   21117             :      219,   220,    -1,   222,    -1,   224,   225,   226,   227,   228,
   21118             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   21119             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   21120             :      249,   250,   251,   252,   253,    -1,   255,   256,   257,   258,
   21121             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   21122             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   21123             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   21124             :      289,   290,   291,   292,    -1,   294,   295,   296,   297,    -1,
   21125             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   21126             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   21127             :      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
   21128             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   21129             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   21130             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   21131             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   21132             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   21133             :      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   21134             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   21135             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   21136             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   21137             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   21138             :      429,   430,    -1,   432,   433,   434,    -1,   436,   437,   438,
   21139             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   21140             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   21141             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   21142             :      469,   470,   471,   472,    -1,   474,   475,   476,   477,   478,
   21143             :      479,   480,    -1,   482,   483,   484,   485,   486,   487,   488,
   21144             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   21145             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   21146             :      509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,
   21147             :       -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21148             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   536,    20,    21,
   21149             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   21150             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   21151             :       42,    -1,    44,    45,    46,    47,    48,    49,    50,    51,
   21152             :       52,    53,    54,    55,    56,    -1,    58,    59,    60,    61,
   21153             :       62,    63,    64,    -1,    66,    67,    68,    69,    70,    71,
   21154             :       -1,    73,    74,    75,    76,    77,    -1,    79,    -1,    81,
   21155             :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
   21156             :       -1,    93,    94,    95,    96,    97,    98,    -1,   100,   101,
   21157             :      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
   21158             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   21159             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   21160             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   21161             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   21162             :      152,    -1,   154,   155,   156,   157,   158,   159,   160,   161,
   21163             :      162,   163,    -1,   165,    -1,   167,   168,   169,   170,   171,
   21164             :       -1,   173,    -1,   175,   176,   177,    -1,   179,   180,   181,
   21165             :      182,   183,    -1,   185,   186,    -1,   188,   189,   190,    -1,
   21166             :      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
   21167             :       -1,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
   21168             :      212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
   21169             :      222,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
   21170             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   21171             :      242,   243,   244,   245,   246,    -1,    -1,   249,   250,   251,
   21172             :      252,   253,    -1,   255,   256,   257,   258,   259,   260,   261,
   21173             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   21174             :      272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
   21175             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   21176             :      292,    -1,   294,   295,   296,   297,    -1,   299,   300,   301,
   21177             :      302,   303,   304,   305,    -1,   307,   308,   309,    -1,    -1,
   21178             :      312,   313,   314,    -1,    -1,   317,   318,   319,   320,   321,
   21179             :      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   21180             :      332,   333,   334,   335,    -1,   337,   338,   339,   340,   341,
   21181             :      342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
   21182             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   21183             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   21184             :      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
   21185             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   21186             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   21187             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   21188             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   21189             :      422,   423,   424,   425,   426,   427,   428,   429,   430,    -1,
   21190             :      432,   433,   434,    -1,   436,   437,   438,   439,   440,   441,
   21191             :      442,   443,    -1,   445,   446,   447,    -1,    -1,   450,   451,
   21192             :      452,   453,   454,    -1,   456,   457,   458,   459,   460,   461,
   21193             :      462,   463,   464,    -1,    -1,   467,   468,   469,   470,   471,
   21194             :      472,    -1,   474,   475,   476,   477,   478,   479,   480,    -1,
   21195             :      482,   483,   484,   485,   486,   487,   488,    -1,    -1,   491,
   21196             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   21197             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   21198             :      512,   513,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,
   21199             :        5,     6,    -1,    -1,    -1,    -1,    11,    -1,    -1,    -1,
   21200             :       -1,    -1,    -1,    -1,   536,    20,    21,    22,    23,    24,
   21201             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   21202             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   21203             :       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
   21204             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   21205             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   21206             :       75,    76,    77,    -1,    79,    -1,    81,    82,    83,    84,
   21207             :       85,    86,    87,    88,    89,    90,    91,    -1,    93,    94,
   21208             :       95,    96,    97,    98,    -1,   100,   101,   102,   103,    -1,
   21209             :       -1,    -1,   107,    -1,    -1,    -1,   111,   112,   113,   114,
   21210             :      115,   116,   117,   118,   119,   120,   121,    -1,   123,   124,
   21211             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   21212             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   21213             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   21214             :      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
   21215             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   21216             :      175,   176,   177,    -1,   179,   180,   181,   182,   183,    -1,
   21217             :      185,   186,    -1,   188,   189,   190,    -1,   192,   193,   194,
   21218             :      195,   196,   197,   198,   199,   200,   201,    -1,   203,   204,
   21219             :      205,   206,   207,   208,   209,   210,    -1,   212,   213,   214,
   21220             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   21221             :      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
   21222             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   21223             :      245,   246,    -1,    -1,   249,   250,   251,   252,   253,    -1,
   21224             :      255,   256,   257,    -1,    -1,   260,   261,   262,   263,   264,
   21225             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   21226             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
   21227             :      285,   286,   287,   288,   289,   290,   291,   292,    -1,   294,
   21228             :      295,   296,   297,    -1,   299,   300,   301,   302,   303,   304,
   21229             :      305,    -1,   307,   308,   309,   310,    -1,   312,   313,   314,
   21230             :       -1,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
   21231             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   21232             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   21233             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   21234             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   21235             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   21236             :      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
   21237             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   21238             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   21239             :      405,   406,   407,   408,   409,   410,   411,   412,    -1,   414,
   21240             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   21241             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,    -1,
   21242             :       -1,   436,   437,   438,   439,   440,   441,   442,   443,    -1,
   21243             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   21244             :      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   21245             :       -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,   474,
   21246             :      475,   476,   477,   478,   479,   480,    -1,   482,   483,   484,
   21247             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   21248             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   21249             :      505,   506,   507,   508,   509,   510,   511,   512,   513,    -1,
   21250             :       -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,
   21251             :       -1,    -1,   527,   528,   529,    -1,    -1,    -1,    -1,    -1,
   21252             :       -1,   536,    20,    21,    22,    23,    24,    25,    26,    27,
   21253             :       28,    -1,    30,    31,    32,    33,    34,    -1,    -1,    -1,
   21254             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   21255             :       48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
   21256             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   21257             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   21258             :       -1,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
   21259             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   21260             :       98,    -1,   100,   101,   102,   103,    -1,    -1,    -1,   107,
   21261             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   21262             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   21263             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   21264             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   21265             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   21266             :      158,   159,   160,   161,   162,   163,    -1,   165,    -1,   167,
   21267             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,   177,
   21268             :       -1,   179,   180,   181,   182,   183,    -1,   185,   186,    -1,
   21269             :      188,   189,   190,    -1,   192,   193,   194,   195,   196,   197,
   21270             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   21271             :      208,   209,   210,    -1,   212,   213,   214,   215,   216,   217,
   21272             :      218,   219,   220,    -1,   222,    -1,   224,   225,   226,   227,
   21273             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   21274             :      238,   239,   240,   241,   242,   243,   244,   245,   246,    -1,
   21275             :       -1,   249,   250,   251,   252,   253,    -1,   255,   256,   257,
   21276             :       -1,    -1,   260,   261,   262,   263,   264,   265,   266,   267,
   21277             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   21278             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   21279             :      288,   289,   290,   291,   292,    -1,   294,   295,   296,   297,
   21280             :       -1,   299,   300,   301,   302,   303,   304,   305,    -1,   307,
   21281             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   21282             :      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
   21283             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   21284             :      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
   21285             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   21286             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   21287             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   21288             :      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
   21289             :      388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
   21290             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   21291             :      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   21292             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   21293             :      428,   429,   430,    -1,   432,   433,    -1,   435,   436,   437,
   21294             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   21295             :       -1,    -1,   450,   451,   452,   453,   454,    -1,   456,   457,
   21296             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   21297             :      468,   469,   470,   471,    -1,    -1,   474,   475,   476,   477,
   21298             :      478,   479,   480,    -1,   482,   483,   484,   485,   486,   487,
   21299             :      488,    -1,    -1,   491,    -1,   493,   494,   495,   496,   497,
   21300             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   21301             :      508,   509,   510,   511,   512,   513,   514,    -1,    -1,   517,
   21302             :       -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21303             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   536,    20,
   21304             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   21305             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   21306             :       41,    42,    -1,    44,    45,    46,    47,    48,    49,    50,
   21307             :       51,    52,    53,    54,    55,    56,    -1,    58,    59,    60,
   21308             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   21309             :       71,    -1,    73,    74,    75,    76,    77,    -1,    79,    -1,
   21310             :       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
   21311             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,   100,
   21312             :      101,   102,   103,    -1,    -1,    -1,   107,    -1,    -1,    -1,
   21313             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   21314             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   21315             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   21316             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   21317             :      151,   152,    -1,   154,   155,   156,   157,   158,   159,   160,
   21318             :      161,   162,   163,    -1,   165,    -1,   167,   168,   169,   170,
   21319             :      171,    -1,   173,    -1,   175,   176,   177,    -1,   179,   180,
   21320             :      181,   182,   183,    -1,   185,   186,    -1,   188,   189,   190,
   21321             :       -1,   192,   193,   194,   195,   196,   197,   198,   199,   200,
   21322             :      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
   21323             :       -1,   212,   213,   214,   215,   216,   217,   218,   219,   220,
   21324             :       -1,   222,    -1,   224,   225,   226,   227,   228,   229,   230,
   21325             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   21326             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,   250,
   21327             :      251,   252,   253,    -1,   255,   256,   257,    -1,    -1,   260,
   21328             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   21329             :      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
   21330             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   21331             :      291,   292,    -1,   294,   295,   296,   297,    -1,   299,   300,
   21332             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   21333             :       -1,   312,   313,   314,    -1,    -1,   317,   318,   319,   320,
   21334             :      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
   21335             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,   340,
   21336             :      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
   21337             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   21338             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   21339             :      371,   372,   373,   374,   375,    -1,   377,   378,   379,   380,
   21340             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   21341             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   21342             :      401,    -1,   403,   404,   405,   406,   407,   408,   409,   410,
   21343             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   21344             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   21345             :       -1,   432,   433,    -1,    -1,   436,   437,   438,   439,   440,
   21346             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   21347             :      451,   452,   453,   454,    -1,   456,   457,   458,   459,   460,
   21348             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   21349             :      471,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
   21350             :       -1,   482,   483,   484,   485,   486,   487,   488,    -1,    -1,
   21351             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   21352             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   21353             :      511,   512,   513,    -1,    -1,    -1,    -1,    -1,    -1,     3,
   21354             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21355             :       -1,    -1,    -1,    -1,    -1,   536,    20,    21,    22,    23,
   21356             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   21357             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   21358             :       44,    45,    46,    47,    -1,    49,    50,    51,    52,    53,
   21359             :       -1,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   21360             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   21361             :       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
   21362             :       84,    85,    86,    -1,    88,    89,    90,    91,    -1,    93,
   21363             :       94,    95,    96,    97,    98,    -1,    -1,   101,   102,   103,
   21364             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,
   21365             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   21366             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   21367             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   21368             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   21369             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   21370             :       -1,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   21371             :       -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,   183,
   21372             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   21373             :      194,   195,   196,    -1,   198,   199,   200,   201,    -1,   203,
   21374             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,    -1,
   21375             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   21376             :      224,    -1,    -1,   227,    -1,   229,   230,   231,   232,   233,
   21377             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   21378             :      244,   245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,
   21379             :       -1,   255,   256,   257,    -1,    -1,   260,   261,   262,   263,
   21380             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   21381             :      274,   275,   276,   277,   278,   279,    -1,   281,   282,   283,
   21382             :      284,   285,   286,   287,   288,   289,   290,   291,   292,    -1,
   21383             :      294,   295,    -1,   297,    -1,   299,   300,   301,   302,   303,
   21384             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   21385             :      314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,
   21386             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   21387             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   21388             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   21389             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   21390             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   21391             :      374,   375,    -1,   377,   378,    -1,   380,   381,   382,   383,
   21392             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   21393             :      394,   395,   396,   397,   398,   399,   400,   401,    -1,   403,
   21394             :      404,   405,   406,   407,    -1,   409,   410,   411,   412,    -1,
   21395             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   21396             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   21397             :       -1,   435,   436,    -1,   438,   439,   440,   441,   442,   443,
   21398             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   21399             :      454,    -1,   456,   457,   458,   459,   460,   461,   462,   463,
   21400             :      464,    -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,
   21401             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,    -1,
   21402             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,   493,
   21403             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   21404             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   21405             :       -1,    -1,    -1,   517,    -1,    -1,     3,    -1,    -1,    -1,
   21406             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21407             :       -1,    -1,   536,    20,    21,    22,    23,    24,    25,    26,
   21408             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   21409             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   21410             :       47,    -1,    49,    50,    51,    52,    53,    -1,    55,    56,
   21411             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   21412             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   21413             :       77,    -1,    -1,    -1,    81,    82,    83,    84,    85,    86,
   21414             :       -1,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   21415             :       97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,
   21416             :      107,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   21417             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   21418             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   21419             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   21420             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   21421             :      157,   158,   159,   160,   161,   162,   163,    -1,   165,    -1,
   21422             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   21423             :       -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,   186,
   21424             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   21425             :       -1,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   21426             :      207,   208,   209,   210,    -1,   212,    -1,   214,   215,   216,
   21427             :      217,   218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,
   21428             :      227,    -1,   229,   230,   231,   232,   233,   234,   235,   236,
   21429             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   21430             :       -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,
   21431             :      257,    -1,    -1,   260,   261,   262,   263,   264,   265,   266,
   21432             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   21433             :      277,   278,   279,    -1,   281,   282,   283,   284,   285,   286,
   21434             :      287,   288,   289,   290,   291,   292,    -1,   294,   295,    -1,
   21435             :      297,    -1,   299,   300,   301,   302,   303,   304,   305,    -1,
   21436             :      307,   308,   309,    -1,   311,   312,   313,   314,    -1,    -1,
   21437             :      317,   318,   319,    -1,   321,    -1,   323,   324,   325,   326,
   21438             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   21439             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   21440             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   21441             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   21442             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   21443             :      377,   378,    -1,   380,   381,   382,   383,   384,   385,   386,
   21444             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   21445             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   21446             :      407,    -1,   409,   410,   411,   412,    -1,   414,   415,   416,
   21447             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   21448             :      427,   428,   429,   430,    -1,   432,   433,    -1,   435,   436,
   21449             :       -1,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   21450             :      447,    -1,    -1,   450,   451,   452,   453,   454,    -1,   456,
   21451             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,    -1,
   21452             :      467,   468,   469,   470,   471,    -1,    -1,   474,   475,   476,
   21453             :      477,   478,   479,   480,    -1,   482,    -1,   484,   485,   486,
   21454             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   21455             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   21456             :      507,   508,   509,   510,   511,   512,   513,    -1,    -1,    -1,
   21457             :       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   21458             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   536,
   21459             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   21460             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21461             :       40,    41,    42,    -1,    44,    45,    46,    47,    -1,    49,
   21462             :       50,    51,    52,    53,    -1,    55,    56,    -1,    58,    59,
   21463             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   21464             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    -1,
   21465             :       -1,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
   21466             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   21467             :       -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
   21468             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   21469             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   21470             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   21471             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   21472             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   21473             :      160,   161,   162,   163,    -1,   165,    -1,   167,   168,   169,
   21474             :      170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,
   21475             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   21476             :      190,    -1,   192,   193,   194,   195,   196,    -1,   198,   199,
   21477             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   21478             :      210,    -1,   212,    -1,   214,   215,   216,   217,   218,   219,
   21479             :      220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,
   21480             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   21481             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   21482             :      250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,
   21483             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   21484             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   21485             :       -1,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   21486             :      290,   291,   292,    -1,   294,   295,    -1,   297,    -1,   299,
   21487             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   21488             :       -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,   319,
   21489             :       -1,   321,    -1,   323,   324,   325,   326,   327,   328,   329,
   21490             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   21491             :      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
   21492             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   21493             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   21494             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,    -1,
   21495             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   21496             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   21497             :      400,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
   21498             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   21499             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   21500             :      430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,
   21501             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   21502             :      450,   451,   452,   453,   454,    -1,   456,   457,   458,   459,
   21503             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   21504             :      470,   471,    -1,    -1,   474,   475,   476,   477,   478,   479,
   21505             :      480,    -1,   482,    -1,   484,   485,   486,   487,   488,    -1,
   21506             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   21507             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   21508             :      510,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,    -1,
   21509             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21510             :       -1,    -1,    -1,    -1,    -1,    -1,   536,    20,    21,    22,
   21511             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   21512             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   21513             :       -1,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
   21514             :       53,    -1,    55,    56,    -1,    58,    59,    60,    61,    62,
   21515             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   21516             :       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
   21517             :       83,    84,    85,    86,    -1,    88,    89,    90,    91,    -1,
   21518             :       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
   21519             :      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,
   21520             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   21521             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   21522             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   21523             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   21524             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   21525             :      163,    -1,   165,    -1,   167,   168,   169,   170,   171,    -1,
   21526             :      173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,
   21527             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   21528             :      193,   194,   195,   196,    -1,   198,   199,   200,   201,    -1,
   21529             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   21530             :       -1,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   21531             :       -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,   232,
   21532             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   21533             :      243,   244,   245,   246,    -1,    -1,   249,   250,    -1,   252,
   21534             :       -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,   262,
   21535             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   21536             :      273,   274,   275,   276,   277,   278,   279,    -1,   281,   282,
   21537             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   21538             :       -1,   294,   295,    -1,   297,    -1,   299,   300,   301,   302,
   21539             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   21540             :      313,   314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,
   21541             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   21542             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   21543             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   21544             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   21545             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   21546             :      373,   374,   375,    -1,   377,   378,    -1,   380,   381,   382,
   21547             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   21548             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   21549             :      403,   404,   405,   406,   407,    -1,   409,   410,   411,   412,
   21550             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   21551             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   21552             :      433,    -1,    -1,   436,    -1,   438,   439,   440,   441,   442,
   21553             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   21554             :      453,   454,    -1,   456,   457,   458,   459,   460,   461,   462,
   21555             :      463,   464,    -1,    -1,   467,   468,   469,   470,   471,    -1,
   21556             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   21557             :       -1,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   21558             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   21559             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   21560             :      513,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,
   21561             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21562             :       -1,    -1,    -1,   536,    20,    21,    22,    23,    24,    25,
   21563             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   21564             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   21565             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   21566             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   21567             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   21568             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   21569             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   21570             :       96,    97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,
   21571             :       -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   21572             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   21573             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   21574             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   21575             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   21576             :      156,   157,   158,   159,   160,   161,   162,   163,    -1,   165,
   21577             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   21578             :      176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,
   21579             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   21580             :      196,    -1,   198,   199,   200,   201,    -1,   203,   204,   205,
   21581             :      206,   207,   208,   209,   210,    -1,   212,    -1,   214,   215,
   21582             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,    -1,
   21583             :       -1,   227,    -1,   229,   230,   231,   232,   233,   234,   235,
   21584             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   21585             :      246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,
   21586             :      256,   257,    -1,    -1,   260,   261,   262,   263,   264,   265,
   21587             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   21588             :      276,   277,   278,   279,    -1,   281,   282,   283,   284,   285,
   21589             :      286,   287,   288,   289,   290,   291,   292,    -1,   294,   295,
   21590             :       -1,   297,    -1,   299,   300,   301,   302,   303,   304,   305,
   21591             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   21592             :       -1,   317,   318,   319,    -1,   321,    -1,   323,   324,   325,
   21593             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   21594             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   21595             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   21596             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   21597             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   21598             :       -1,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
   21599             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   21600             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   21601             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   21602             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   21603             :      426,   427,   428,   429,   430,    -1,   432,   433,    -1,    -1,
   21604             :      436,    -1,   438,   439,   440,   441,   442,   443,    -1,   445,
   21605             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,    -1,
   21606             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   21607             :       -1,   467,   468,   469,   470,   471,    -1,    -1,   474,   475,
   21608             :      476,   477,   478,   479,   480,    -1,   482,    -1,   484,   485,
   21609             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   21610             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   21611             :      506,   507,   508,   509,   510,   511,   512,   513,    -1,    -1,
   21612             :       -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,
   21613             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21614             :      536,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   21615             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   21616             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   21617             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   21618             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   21619             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   21620             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   21621             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   21622             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   21623             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   21624             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   21625             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   21626             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   21627             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   21628             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   21629             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   21630             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   21631             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   21632             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   21633             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   21634             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   21635             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   21636             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   21637             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   21638             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   21639             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   21640             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   21641             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   21642             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   21643             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   21644             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   21645             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   21646             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   21647             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   21648             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   21649             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   21650             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   21651             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   21652             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   21653             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   21654             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   21655             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   21656             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   21657             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   21658             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   21659             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   21660             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   21661             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   21662             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   21663             :      509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,
   21664             :       -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,
   21665             :       -1,    10,    -1,    -1,    13,    -1,    -1,   536,    17,    18,
   21666             :       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   21667             :       29,    30,    31,    32,    33,    34,    35,    36,    -1,    38,
   21668             :       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
   21669             :       49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
   21670             :       59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
   21671             :       -1,    -1,    71,    72,    73,    74,    75,    76,    77,    78,
   21672             :       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
   21673             :       89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
   21674             :       -1,   100,   101,   102,   103,   104,   105,   106,   107,   108,
   21675             :      109,   110,   111,   112,   113,   114,    -1,   116,   117,   118,
   21676             :      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
   21677             :      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
   21678             :      139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
   21679             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   21680             :      159,   160,   161,   162,   163,   164,   165,    -1,    -1,   168,
   21681             :      169,   170,   171,    -1,   173,   174,   175,   176,   177,    -1,
   21682             :      179,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   21683             :      189,   190,    -1,   192,   193,    -1,   195,   196,   197,   198,
   21684             :      199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
   21685             :      209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
   21686             :      219,   220,    -1,   222,    -1,   224,   225,   226,   227,   228,
   21687             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   21688             :      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
   21689             :      249,   250,   251,   252,   253,    -1,   255,   256,   257,   258,
   21690             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   21691             :      269,   270,   271,    -1,   273,   274,    -1,   276,   277,   278,
   21692             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   21693             :      289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
   21694             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   21695             :      309,    -1,   311,   312,   313,   314,   315,    -1,   317,   318,
   21696             :      319,   320,    -1,    -1,   323,   324,   325,   326,   327,   328,
   21697             :      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
   21698             :      339,   340,   341,    -1,   343,   344,   345,   346,   347,   348,
   21699             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   21700             :      359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
   21701             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   21702             :      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   21703             :      389,   390,   391,   392,   393,    -1,   395,   396,   397,   398,
   21704             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   21705             :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
   21706             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   21707             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   21708             :      439,   440,   441,   442,   443,   444,   445,   446,   447,    -1,
   21709             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   21710             :      459,   460,   461,   462,   463,   464,    -1,   466,   467,   468,
   21711             :      469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
   21712             :      479,   480,   481,    -1,   483,   484,   485,   486,   487,   488,
   21713             :      489,    -1,   491,    -1,    -1,    -1,    -1,   496,   497,   498,
   21714             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   21715             :      509,   510,    -1,   512,   513,    -1,   515,    -1,    -1,    -1,
   21716             :       -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,   528,
   21717             :      529,   530,   531,   532,     3,    -1,     5,     6,    -1,    -1,
   21718             :       -1,    10,    11,    -1,    -1,    -1,    -1,    -1,    17,    18,
   21719             :       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   21720             :       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
   21721             :       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
   21722             :       49,    50,    51,    -1,    53,    54,    55,    56,    57,    58,
   21723             :       59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
   21724             :       69,    70,    71,    72,    73,    74,    75,    76,    -1,    78,
   21725             :       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
   21726             :       89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
   21727             :       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
   21728             :      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
   21729             :      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
   21730             :      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
   21731             :      139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
   21732             :      149,   150,   151,   152,   153,   154,   155,   156,   157,    -1,
   21733             :      159,   160,   161,   162,    -1,   164,   165,   166,   167,   168,
   21734             :      169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
   21735             :      179,   180,   181,   182,   183,   184,   185,    -1,   187,    -1,
   21736             :      189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
   21737             :      199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
   21738             :      209,   210,   211,   212,   213,    -1,   215,   216,   217,   218,
   21739             :      219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
   21740             :      229,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21741             :       -1,   240,   241,   242,   243,   244,   245,   246,   247,   248,
   21742             :      249,    -1,   251,   252,   253,   254,   255,   256,   257,   258,
   21743             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   21744             :      269,    -1,   271,   272,   273,   274,   275,   276,   277,   278,
   21745             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   21746             :      289,   290,    -1,   292,   293,   294,   295,   296,   297,   298,
   21747             :       -1,   300,   301,   302,   303,   304,   305,   306,   307,   308,
   21748             :      309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
   21749             :       -1,   320,   321,   322,    -1,   324,   325,   326,   327,   328,
   21750             :      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
   21751             :      339,    -1,   341,    -1,   343,   344,   345,   346,   347,   348,
   21752             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   21753             :      359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
   21754             :      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
   21755             :      379,   380,   381,   382,   383,   384,    -1,   386,   387,   388,
   21756             :      389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
   21757             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   21758             :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
   21759             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   21760             :       -1,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   21761             :      439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
   21762             :      449,   450,   451,    -1,   453,    -1,   455,   456,   457,   458,
   21763             :      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
   21764             :      469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
   21765             :       -1,   480,   481,   482,   483,   484,   485,   486,   487,   488,
   21766             :      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
   21767             :      499,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21768             :       -1,    -1,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,
   21769             :       -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,   528,
   21770             :      529,   530,   531,   532,     3,    -1,     5,     6,    -1,    -1,
   21771             :       -1,    10,    11,    -1,    -1,    -1,    -1,    -1,    17,    18,
   21772             :       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   21773             :       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
   21774             :       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
   21775             :       49,    50,    51,    -1,    53,    54,    55,    56,    57,    58,
   21776             :       59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
   21777             :       69,    70,    71,    72,    73,    74,    75,    76,    -1,    78,
   21778             :       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
   21779             :       89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
   21780             :       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
   21781             :      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
   21782             :      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
   21783             :      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
   21784             :      139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
   21785             :      149,   150,   151,   152,   153,   154,   155,   156,   157,    -1,
   21786             :      159,   160,   161,   162,    -1,   164,   165,   166,   167,   168,
   21787             :      169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
   21788             :      179,   180,   181,   182,   183,   184,   185,    -1,   187,    -1,
   21789             :      189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
   21790             :      199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
   21791             :      209,   210,   211,   212,   213,    -1,   215,   216,   217,   218,
   21792             :      219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
   21793             :      229,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21794             :       -1,   240,   241,   242,   243,   244,   245,   246,   247,   248,
   21795             :      249,    -1,   251,   252,   253,   254,   255,   256,   257,   258,
   21796             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   21797             :      269,    -1,   271,   272,   273,   274,   275,   276,   277,   278,
   21798             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   21799             :      289,   290,    -1,   292,   293,   294,   295,   296,   297,   298,
   21800             :       -1,   300,   301,   302,   303,   304,   305,   306,   307,   308,
   21801             :      309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
   21802             :       -1,   320,   321,   322,    -1,   324,   325,   326,   327,   328,
   21803             :      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
   21804             :      339,    -1,   341,    -1,   343,   344,   345,   346,   347,   348,
   21805             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   21806             :      359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
   21807             :      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
   21808             :      379,   380,   381,   382,   383,   384,    -1,   386,   387,   388,
   21809             :      389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
   21810             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   21811             :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
   21812             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   21813             :       -1,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   21814             :      439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
   21815             :      449,   450,   451,    -1,   453,    -1,   455,   456,   457,   458,
   21816             :      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
   21817             :      469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
   21818             :       -1,   480,   481,   482,   483,   484,   485,   486,   487,   488,
   21819             :      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
   21820             :      499,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21821             :       -1,    -1,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,
   21822             :       -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,   528,
   21823             :      529,   530,   531,   532,     3,    -1,    -1,    -1,    -1,    -1,
   21824             :       -1,    10,    -1,    -1,    -1,    -1,    -1,    -1,    17,    18,
   21825             :       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   21826             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   21827             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   21828             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   21829             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   21830             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   21831             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   21832             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   21833             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   21834             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   21835             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   21836             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   21837             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   21838             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   21839             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   21840             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   21841             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   21842             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   21843             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   21844             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   21845             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   21846             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   21847             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   21848             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   21849             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   21850             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   21851             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   21852             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   21853             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   21854             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   21855             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   21856             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   21857             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   21858             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   21859             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   21860             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   21861             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   21862             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   21863             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   21864             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   21865             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   21866             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   21867             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   21868             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   21869             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   21870             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   21871             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   21872             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   21873             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   21874             :      509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,
   21875             :       -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,   528,
   21876             :      529,   530,   531,   532,     3,    -1,    -1,    -1,    -1,    -1,
   21877             :       -1,    10,    -1,    -1,    -1,    -1,    -1,    -1,    17,    18,
   21878             :       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   21879             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   21880             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   21881             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   21882             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   21883             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   21884             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   21885             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   21886             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   21887             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   21888             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   21889             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   21890             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   21891             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   21892             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   21893             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   21894             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   21895             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   21896             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   21897             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   21898             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   21899             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   21900             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   21901             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   21902             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   21903             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   21904             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   21905             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   21906             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   21907             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   21908             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   21909             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   21910             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   21911             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   21912             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   21913             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   21914             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   21915             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   21916             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   21917             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   21918             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   21919             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   21920             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   21921             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   21922             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   21923             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   21924             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   21925             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   21926             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   21927             :      509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,
   21928             :       -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,   528,
   21929             :      529,   530,   531,   532,     3,    -1,    -1,    -1,    -1,    -1,
   21930             :       -1,    10,    -1,    -1,    -1,    -1,    -1,    -1,    17,    18,
   21931             :       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   21932             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   21933             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   21934             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   21935             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   21936             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   21937             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   21938             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   21939             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   21940             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   21941             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   21942             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   21943             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   21944             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   21945             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   21946             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   21947             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   21948             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   21949             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   21950             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   21951             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   21952             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   21953             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   21954             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   21955             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   21956             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   21957             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   21958             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   21959             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   21960             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   21961             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   21962             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   21963             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   21964             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   21965             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   21966             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   21967             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   21968             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   21969             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   21970             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   21971             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   21972             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   21973             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   21974             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   21975             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   21976             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   21977             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   21978             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   21979             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   21980             :      509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,
   21981             :       -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,   528,
   21982             :      529,   530,   531,   532,     3,    -1,    -1,    -1,    -1,    -1,
   21983             :       -1,    10,    -1,    -1,    -1,    -1,    -1,    -1,    17,    18,
   21984             :       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   21985             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   21986             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   21987             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   21988             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   21989             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   21990             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   21991             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   21992             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   21993             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   21994             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   21995             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   21996             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   21997             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   21998             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   21999             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   22000             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   22001             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   22002             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   22003             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   22004             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   22005             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   22006             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   22007             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   22008             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   22009             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   22010             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   22011             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   22012             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   22013             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   22014             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   22015             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   22016             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   22017             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   22018             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   22019             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   22020             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   22021             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   22022             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   22023             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   22024             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   22025             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   22026             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   22027             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   22028             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   22029             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   22030             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   22031             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   22032             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   22033             :      509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,
   22034             :       -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,   528,
   22035             :      529,   530,   531,   532,     3,    -1,    -1,    -1,    -1,    -1,
   22036             :       -1,    10,    -1,    -1,    -1,    -1,    -1,    -1,    17,    18,
   22037             :       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   22038             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   22039             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   22040             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   22041             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   22042             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   22043             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   22044             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   22045             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   22046             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   22047             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   22048             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   22049             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   22050             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   22051             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   22052             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   22053             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   22054             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   22055             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   22056             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   22057             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   22058             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   22059             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   22060             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   22061             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   22062             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   22063             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   22064             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   22065             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   22066             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   22067             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   22068             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   22069             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   22070             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   22071             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   22072             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   22073             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   22074             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   22075             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   22076             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   22077             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   22078             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   22079             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   22080             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   22081             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   22082             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   22083             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   22084             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   22085             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   22086             :      509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,
   22087             :       -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,   528,
   22088             :      529,   530,   531,   532,     3,    -1,    -1,    -1,    -1,    -1,
   22089             :       -1,    10,    -1,    -1,    -1,    -1,    -1,    -1,    17,    18,
   22090             :       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   22091             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   22092             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   22093             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   22094             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   22095             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   22096             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   22097             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   22098             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   22099             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   22100             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   22101             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   22102             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   22103             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   22104             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   22105             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   22106             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   22107             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   22108             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   22109             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   22110             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   22111             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   22112             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   22113             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   22114             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   22115             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   22116             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   22117             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   22118             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   22119             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   22120             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   22121             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   22122             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   22123             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   22124             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   22125             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   22126             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   22127             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   22128             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   22129             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   22130             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   22131             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   22132             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   22133             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   22134             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   22135             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   22136             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   22137             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   22138             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   22139             :      509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,
   22140             :       -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,   528,
   22141             :      529,   530,   531,   532,     3,    -1,    -1,    -1,    -1,    -1,
   22142             :       -1,    10,    -1,    -1,    -1,    -1,    -1,    -1,    17,    18,
   22143             :       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   22144             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   22145             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   22146             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   22147             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   22148             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   22149             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   22150             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   22151             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   22152             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   22153             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   22154             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   22155             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   22156             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   22157             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   22158             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   22159             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   22160             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   22161             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   22162             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   22163             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   22164             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   22165             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   22166             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   22167             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   22168             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   22169             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   22170             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   22171             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   22172             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   22173             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   22174             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   22175             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   22176             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   22177             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   22178             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   22179             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   22180             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   22181             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   22182             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   22183             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   22184             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   22185             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   22186             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   22187             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   22188             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   22189             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   22190             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   22191             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   22192             :      509,   510,   511,   512,   513,    -1,    -1,     3,    -1,    -1,
   22193             :       -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,   528,
   22194             :      529,   530,   531,   532,    20,    21,    22,    23,    24,    25,
   22195             :       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
   22196             :       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
   22197             :       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
   22198             :       56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
   22199             :       66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
   22200             :       76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
   22201             :       86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
   22202             :       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
   22203             :      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
   22204             :      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
   22205             :      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
   22206             :      136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
   22207             :      146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
   22208             :      156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
   22209             :      166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
   22210             :      176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
   22211             :      186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
   22212             :      196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
   22213             :      206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
   22214             :      216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
   22215             :      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
   22216             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   22217             :      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
   22218             :      256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
   22219             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   22220             :      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
   22221             :      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
   22222             :      296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
   22223             :      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
   22224             :      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
   22225             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   22226             :      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   22227             :      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   22228             :      356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
   22229             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   22230             :      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
   22231             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   22232             :      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
   22233             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   22234             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   22235             :      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   22236             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   22237             :      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
   22238             :      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
   22239             :      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
   22240             :      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
   22241             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
   22242             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   22243             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   22244             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22245             :       -1,    -1,    -1,   529,    -1,    20,    21,    22,    23,    24,
   22246             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   22247             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   22248             :       45,    46,    47,    -1,    49,    50,    51,    52,    53,    -1,
   22249             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   22250             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   22251             :       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    84,
   22252             :       85,    86,    -1,    88,    89,    90,    91,    -1,    93,    94,
   22253             :       95,    96,    97,    98,    -1,    -1,   101,   102,   103,    -1,
   22254             :       -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,
   22255             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   22256             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   22257             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   22258             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   22259             :      155,   156,   157,   158,   159,   160,   161,   162,   163,    -1,
   22260             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   22261             :      175,   176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,
   22262             :      185,   186,    -1,   188,   189,   190,    -1,   192,   193,   194,
   22263             :      195,   196,    -1,   198,   199,   200,   201,    -1,   203,   204,
   22264             :      205,   206,   207,   208,   209,   210,    -1,   212,    -1,   214,
   22265             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   22266             :       -1,    -1,   227,    -1,   229,   230,   231,   232,   233,   234,
   22267             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   22268             :      245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,
   22269             :      255,   256,   257,    -1,    -1,   260,   261,   262,   263,   264,
   22270             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   22271             :      275,   276,   277,   278,   279,    -1,   281,   282,   283,   284,
   22272             :      285,   286,   287,   288,   289,   290,   291,   292,    -1,   294,
   22273             :      295,    -1,   297,    -1,   299,   300,   301,   302,   303,   304,
   22274             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   22275             :       -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,   324,
   22276             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   22277             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   22278             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   22279             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   22280             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   22281             :      375,    -1,   377,   378,    -1,   380,   381,   382,   383,   384,
   22282             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   22283             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   22284             :      405,   406,   407,    -1,   409,   410,   411,   412,    -1,   414,
   22285             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   22286             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,    -1,
   22287             :       -1,   436,    -1,   438,   439,   440,   441,   442,   443,    -1,
   22288             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   22289             :       -1,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   22290             :       -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,   474,
   22291             :      475,   476,   477,   478,   479,   480,    -1,   482,    -1,   484,
   22292             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   22293             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   22294             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   22295             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22296             :       -1,    -1,    -1,    -1,   529,    -1,    20,    21,    22,    23,
   22297             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   22298             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   22299             :       44,    45,    46,    47,    -1,    49,    50,    51,    52,    53,
   22300             :       -1,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   22301             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   22302             :       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
   22303             :       84,    85,    86,    -1,    88,    89,    90,    91,    -1,    93,
   22304             :       94,    95,    96,    97,    98,    -1,    -1,   101,   102,   103,
   22305             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,
   22306             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   22307             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   22308             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   22309             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   22310             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   22311             :       -1,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   22312             :       -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,   183,
   22313             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   22314             :      194,   195,   196,    -1,   198,   199,   200,   201,    -1,   203,
   22315             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,    -1,
   22316             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   22317             :      224,    -1,    -1,   227,    -1,   229,   230,   231,   232,   233,
   22318             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   22319             :      244,   245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,
   22320             :       -1,   255,   256,   257,    -1,    -1,   260,   261,   262,   263,
   22321             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   22322             :      274,   275,   276,   277,   278,   279,    -1,   281,   282,   283,
   22323             :      284,   285,   286,   287,   288,   289,   290,   291,   292,    -1,
   22324             :      294,   295,    -1,   297,    -1,   299,   300,   301,   302,   303,
   22325             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   22326             :      314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,
   22327             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   22328             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   22329             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   22330             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   22331             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   22332             :      374,   375,    -1,   377,   378,    -1,   380,   381,   382,   383,
   22333             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   22334             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   22335             :      404,   405,   406,   407,    -1,   409,   410,   411,   412,    -1,
   22336             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   22337             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   22338             :       -1,    -1,   436,    -1,   438,   439,   440,   441,   442,   443,
   22339             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   22340             :      454,    -1,   456,   457,   458,   459,   460,   461,   462,   463,
   22341             :      464,    -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,
   22342             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,    -1,
   22343             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   22344             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   22345             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   22346             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22347             :       -1,    -1,    -1,    -1,    -1,   529,    -1,    20,    21,    22,
   22348             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   22349             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   22350             :       -1,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
   22351             :       53,    -1,    55,    56,    -1,    58,    59,    60,    61,    62,
   22352             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   22353             :       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
   22354             :       83,    84,    85,    86,    -1,    88,    89,    90,    91,    -1,
   22355             :       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
   22356             :      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,
   22357             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   22358             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   22359             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   22360             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   22361             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   22362             :      163,    -1,   165,    -1,   167,   168,   169,   170,   171,    -1,
   22363             :      173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,
   22364             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   22365             :      193,   194,   195,   196,    -1,   198,   199,   200,   201,    -1,
   22366             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   22367             :       -1,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   22368             :       -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,   232,
   22369             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   22370             :      243,   244,   245,   246,    -1,    -1,   249,   250,    -1,   252,
   22371             :       -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,   262,
   22372             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   22373             :      273,   274,   275,   276,   277,   278,   279,    -1,   281,   282,
   22374             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   22375             :       -1,   294,   295,    -1,   297,    -1,   299,   300,   301,   302,
   22376             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   22377             :      313,   314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,
   22378             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   22379             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   22380             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   22381             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   22382             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   22383             :      373,   374,   375,    -1,   377,   378,    -1,   380,   381,   382,
   22384             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   22385             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   22386             :      403,   404,   405,   406,   407,    -1,   409,   410,   411,   412,
   22387             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   22388             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   22389             :      433,    -1,    -1,   436,    -1,   438,   439,   440,   441,   442,
   22390             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   22391             :      453,   454,    -1,   456,   457,   458,   459,   460,   461,   462,
   22392             :      463,   464,    -1,    -1,   467,   468,   469,   470,   471,    -1,
   22393             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   22394             :       -1,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   22395             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   22396             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   22397             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22398             :       -1,    -1,    -1,    -1,    -1,    -1,   529,    -1,    20,    21,
   22399             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   22400             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   22401             :       42,    -1,    44,    45,    46,    47,    -1,    49,    50,    51,
   22402             :       52,    53,    -1,    55,    56,    -1,    58,    59,    60,    61,
   22403             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   22404             :       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
   22405             :       82,    83,    84,    85,    86,    -1,    88,    89,    90,    91,
   22406             :       -1,    93,    94,    95,    96,    97,    98,    -1,    -1,   101,
   22407             :      102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
   22408             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   22409             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   22410             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   22411             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   22412             :      152,    -1,   154,   155,   156,   157,   158,   159,   160,   161,
   22413             :      162,   163,    -1,   165,    -1,   167,   168,   169,   170,   171,
   22414             :       -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,
   22415             :      182,   183,    -1,   185,   186,    -1,   188,   189,   190,    -1,
   22416             :      192,   193,   194,   195,   196,    -1,   198,   199,   200,   201,
   22417             :       -1,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
   22418             :      212,    -1,   214,   215,   216,   217,   218,   219,   220,    -1,
   22419             :      222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,
   22420             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   22421             :      242,   243,   244,   245,   246,    -1,    -1,   249,   250,    -1,
   22422             :      252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,
   22423             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   22424             :      272,   273,   274,   275,   276,   277,   278,   279,    -1,   281,
   22425             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   22426             :      292,    -1,   294,   295,    -1,   297,    -1,   299,   300,   301,
   22427             :      302,   303,   304,   305,    -1,   307,   308,   309,    -1,    -1,
   22428             :      312,   313,   314,    -1,    -1,   317,   318,   319,    -1,   321,
   22429             :       -1,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   22430             :      332,   333,   334,   335,    -1,   337,   338,   339,   340,   341,
   22431             :      342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
   22432             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   22433             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   22434             :      372,   373,   374,   375,    -1,   377,   378,    -1,   380,   381,
   22435             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   22436             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   22437             :       -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
   22438             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   22439             :      422,   423,   424,   425,   426,   427,   428,   429,   430,    -1,
   22440             :      432,   433,    -1,    -1,   436,    -1,   438,   439,   440,   441,
   22441             :      442,   443,    -1,   445,   446,   447,    -1,    -1,   450,   451,
   22442             :      452,   453,   454,    -1,   456,   457,   458,   459,   460,   461,
   22443             :      462,   463,   464,    -1,    -1,   467,   468,   469,   470,   471,
   22444             :       -1,    -1,   474,   475,   476,   477,   478,   479,   480,    -1,
   22445             :      482,    -1,   484,   485,   486,   487,   488,    -1,    -1,   491,
   22446             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   22447             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   22448             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22449             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   529,    -1,    20,
   22450             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   22451             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   22452             :       41,    42,    -1,    44,    45,    46,    47,    48,    49,    50,
   22453             :       51,    -1,    53,    54,    55,    56,    -1,    58,    59,    60,
   22454             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   22455             :       71,    -1,    73,    74,    75,    76,    -1,    -1,    79,    -1,
   22456             :       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
   22457             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,   100,
   22458             :      101,   102,   103,    -1,    -1,    -1,   107,    -1,    -1,    -1,
   22459             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   22460             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   22461             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   22462             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   22463             :      151,   152,    -1,   154,   155,   156,   157,    -1,   159,   160,
   22464             :      161,   162,    -1,    -1,   165,    -1,   167,   168,   169,   170,
   22465             :      171,    -1,   173,    -1,   175,   176,   177,    -1,   179,   180,
   22466             :      181,   182,   183,    -1,   185,    -1,    -1,    -1,   189,   190,
   22467             :       -1,   192,   193,   194,   195,   196,   197,   198,   199,   200,
   22468             :      201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
   22469             :       -1,   212,   213,   214,   215,   216,   217,   218,   219,   220,
   22470             :       -1,   222,    -1,   224,   225,   226,   227,   228,   229,    -1,
   22471             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   240,
   22472             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,    -1,
   22473             :      251,   252,   253,    -1,   255,   256,   257,    -1,    -1,   260,
   22474             :      261,   262,   263,   264,   265,   266,   267,   268,   269,    -1,
   22475             :      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
   22476             :      281,   282,   283,   284,   285,   286,   287,   288,   289,    -1,
   22477             :       -1,   292,    -1,   294,   295,   296,   297,    -1,    -1,   300,
   22478             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   22479             :       -1,   312,   313,   314,    -1,   316,   317,   318,   319,   320,
   22480             :      321,   322,    -1,   324,   325,   326,   327,   328,   329,   330,
   22481             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,    -1,
   22482             :      341,    -1,   343,   344,   345,    -1,   347,   348,   349,   350,
   22483             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   22484             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   22485             :      371,   372,   373,   374,   375,    -1,   377,   378,   379,   380,
   22486             :      381,   382,   383,   384,    -1,   386,   387,   388,   389,   390,
   22487             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   22488             :      401,    -1,   403,   404,   405,   406,   407,   408,   409,   410,
   22489             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   22490             :      421,   422,   423,   424,   425,   426,   427,   428,    -1,   430,
   22491             :       -1,   432,   433,    -1,    -1,   436,   437,   438,   439,   440,
   22492             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   22493             :      451,    -1,   453,    -1,    -1,   456,   457,   458,   459,   460,
   22494             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   22495             :      471,    -1,    -1,   474,   475,   476,   477,   478,    -1,   480,
   22496             :      481,   482,   483,   484,   485,   486,   487,   488,    -1,    -1,
   22497             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,    -1,
   22498             :       -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22499             :      511,   512,   513,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   22500             :       21,    22,    23,    24,    25,    26,    27,    28,   529,    30,
   22501             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   22502             :       41,    42,    -1,    44,    45,    46,    47,    48,    49,    50,
   22503             :       51,    -1,    53,    54,    55,    56,    -1,    58,    59,    60,
   22504             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   22505             :       71,    -1,    73,    74,    75,    76,    -1,    -1,    79,    -1,
   22506             :       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
   22507             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,   100,
   22508             :      101,   102,   103,    -1,    -1,    -1,   107,    -1,    -1,    -1,
   22509             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   22510             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   22511             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   22512             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   22513             :      151,   152,    -1,   154,   155,   156,   157,    -1,   159,   160,
   22514             :      161,   162,    -1,    -1,   165,    -1,   167,   168,   169,   170,
   22515             :      171,    -1,   173,    -1,   175,   176,   177,    -1,   179,   180,
   22516             :      181,   182,   183,    -1,   185,    -1,    -1,    -1,   189,   190,
   22517             :       -1,   192,   193,   194,   195,   196,   197,   198,   199,   200,
   22518             :      201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
   22519             :       -1,   212,   213,   214,   215,   216,   217,   218,   219,   220,
   22520             :       -1,   222,    -1,   224,   225,   226,   227,   228,   229,    -1,
   22521             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   240,
   22522             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,    -1,
   22523             :      251,   252,   253,    -1,   255,   256,   257,    -1,    -1,   260,
   22524             :      261,   262,   263,   264,   265,   266,   267,   268,   269,    -1,
   22525             :      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
   22526             :      281,   282,   283,   284,   285,   286,   287,   288,   289,    -1,
   22527             :       -1,   292,    -1,   294,   295,   296,   297,    -1,    -1,   300,
   22528             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   22529             :       -1,   312,   313,   314,    -1,   316,   317,   318,   319,   320,
   22530             :      321,   322,    -1,   324,   325,   326,   327,   328,   329,   330,
   22531             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,    -1,
   22532             :      341,    -1,   343,   344,   345,    -1,   347,   348,   349,   350,
   22533             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   22534             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   22535             :      371,   372,   373,   374,   375,    -1,   377,   378,   379,   380,
   22536             :      381,   382,   383,   384,    -1,   386,   387,   388,   389,   390,
   22537             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   22538             :      401,    -1,   403,   404,   405,   406,   407,   408,   409,   410,
   22539             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   22540             :      421,   422,   423,   424,   425,   426,   427,   428,    -1,   430,
   22541             :       -1,   432,   433,    -1,    -1,   436,   437,   438,   439,   440,
   22542             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   22543             :      451,    -1,   453,    -1,    -1,   456,   457,   458,   459,   460,
   22544             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   22545             :      471,    -1,    -1,   474,   475,   476,   477,   478,    -1,   480,
   22546             :      481,   482,   483,   484,   485,   486,   487,   488,    -1,    -1,
   22547             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,    -1,
   22548             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22549             :      511,   512,   513,     3,    -1,     5,     6,    -1,    -1,    -1,
   22550             :       -1,    11,    -1,    -1,    -1,    -1,    -1,    -1,   529,    -1,
   22551             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   22552             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22553             :       40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
   22554             :       50,    51,    52,    53,    54,    55,    56,    -1,    58,    59,
   22555             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   22556             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    79,
   22557             :       -1,    81,    82,    83,    84,    85,    86,    87,    88,    89,
   22558             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   22559             :      100,   101,   102,   103,    -1,    -1,    -1,   107,    -1,    -1,
   22560             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   22561             :      120,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   22562             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   22563             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   22564             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   22565             :      160,   161,   162,   163,   164,   165,    -1,   167,   168,   169,
   22566             :      170,   171,    -1,   173,    -1,   175,   176,   177,    -1,   179,
   22567             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   22568             :      190,    -1,   192,   193,   194,   195,   196,   197,   198,   199,
   22569             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   22570             :      210,    -1,   212,   213,   214,   215,   216,   217,   218,   219,
   22571             :      220,    -1,   222,    -1,   224,   225,   226,   227,   228,   229,
   22572             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   22573             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   22574             :      250,   251,   252,   253,    -1,   255,   256,   257,    -1,    -1,
   22575             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   22576             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   22577             :      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   22578             :      290,   291,   292,    -1,   294,   295,   296,   297,    -1,   299,
   22579             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   22580             :      310,    -1,   312,   313,   314,    -1,    -1,   317,   318,   319,
   22581             :      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
   22582             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   22583             :      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
   22584             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   22585             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   22586             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
   22587             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   22588             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   22589             :      400,   401,    -1,   403,   404,   405,   406,   407,   408,   409,
   22590             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   22591             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   22592             :      430,    -1,   432,   433,    -1,    -1,   436,   437,   438,   439,
   22593             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   22594             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   22595             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   22596             :      470,   471,    -1,    -1,   474,   475,   476,   477,   478,   479,
   22597             :      480,    -1,   482,   483,   484,   485,   486,   487,   488,    -1,
   22598             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   22599             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   22600             :      510,   511,   512,   513,     3,    -1,     5,     6,    -1,    -1,
   22601             :       -1,    -1,    11,    -1,    -1,    -1,    -1,   527,   528,    -1,
   22602             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   22603             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   22604             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
   22605             :       49,    50,    51,    52,    53,    54,    55,    56,    -1,    58,
   22606             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   22607             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   22608             :       79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
   22609             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   22610             :       -1,   100,   101,   102,   103,    -1,    -1,    -1,   107,    -1,
   22611             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   22612             :      119,   120,   121,    -1,   123,   124,   125,   126,   127,   128,
   22613             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   22614             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   22615             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   22616             :      159,   160,   161,   162,   163,   164,   165,    -1,   167,   168,
   22617             :      169,   170,   171,    -1,   173,    -1,   175,   176,   177,    -1,
   22618             :      179,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   22619             :      189,   190,    -1,   192,   193,   194,   195,   196,   197,   198,
   22620             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   22621             :      209,   210,    -1,   212,   213,   214,   215,   216,   217,   218,
   22622             :      219,   220,    -1,   222,    -1,   224,   225,   226,   227,   228,
   22623             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   22624             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   22625             :      249,   250,   251,   252,   253,    -1,   255,   256,   257,    -1,
   22626             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   22627             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   22628             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   22629             :      289,   290,   291,   292,    -1,   294,   295,   296,   297,    -1,
   22630             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   22631             :      309,   310,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   22632             :      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
   22633             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   22634             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   22635             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   22636             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   22637             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   22638             :      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   22639             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   22640             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,   408,
   22641             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   22642             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   22643             :      429,   430,    -1,   432,   433,    -1,    -1,   436,   437,   438,
   22644             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   22645             :       -1,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   22646             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   22647             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   22648             :      479,   480,    -1,   482,   483,   484,   485,   486,   487,   488,
   22649             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   22650             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   22651             :      509,   510,   511,   512,   513,     3,    -1,     5,     6,    -1,
   22652             :       -1,    -1,    -1,    11,    -1,    -1,    -1,    -1,   527,   528,
   22653             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   22654             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   22655             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   22656             :       48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
   22657             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   22658             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   22659             :       -1,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
   22660             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   22661             :       98,    -1,   100,   101,   102,   103,    -1,    -1,    -1,   107,
   22662             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   22663             :      118,   119,   120,   121,    -1,   123,   124,   125,   126,   127,
   22664             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   22665             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   22666             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   22667             :      158,   159,   160,   161,   162,   163,   164,   165,    -1,   167,
   22668             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,   177,
   22669             :       -1,   179,   180,   181,   182,   183,    -1,   185,   186,    -1,
   22670             :      188,   189,   190,    -1,   192,   193,   194,   195,   196,   197,
   22671             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   22672             :      208,   209,   210,    -1,   212,   213,   214,   215,   216,   217,
   22673             :      218,   219,   220,    -1,   222,    -1,   224,   225,   226,   227,
   22674             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   22675             :      238,   239,   240,   241,   242,   243,   244,   245,   246,    -1,
   22676             :       -1,   249,   250,   251,   252,   253,    -1,   255,   256,   257,
   22677             :       -1,    -1,   260,   261,   262,   263,   264,   265,   266,   267,
   22678             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   22679             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   22680             :      288,   289,   290,   291,   292,    -1,   294,   295,   296,   297,
   22681             :       -1,   299,   300,   301,   302,   303,   304,   305,    -1,   307,
   22682             :      308,   309,   310,    -1,   312,   313,   314,    -1,    -1,   317,
   22683             :      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
   22684             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   22685             :      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
   22686             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   22687             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   22688             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   22689             :      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
   22690             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   22691             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   22692             :      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   22693             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   22694             :      428,   429,   430,    -1,   432,   433,    -1,    -1,   436,   437,
   22695             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   22696             :       -1,    -1,   450,   451,   452,   453,   454,   455,   456,   457,
   22697             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   22698             :      468,   469,   470,   471,    -1,    -1,   474,   475,   476,   477,
   22699             :      478,   479,   480,    -1,   482,   483,   484,   485,   486,   487,
   22700             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   22701             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   22702             :      508,   509,   510,   511,   512,   513,     3,    -1,     5,     6,
   22703             :       -1,    -1,    -1,    -1,    11,    -1,    -1,    -1,    -1,   527,
   22704             :      528,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   22705             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   22706             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   22707             :       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
   22708             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   22709             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   22710             :       77,    -1,    79,    -1,    81,    82,    83,    84,    85,    86,
   22711             :       87,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   22712             :       97,    98,    -1,   100,   101,   102,   103,    -1,    -1,    -1,
   22713             :      107,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   22714             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   22715             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   22716             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   22717             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   22718             :      157,   158,   159,   160,   161,   162,   163,   164,   165,    -1,
   22719             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   22720             :      177,    -1,   179,   180,   181,   182,   183,    -1,   185,   186,
   22721             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   22722             :      197,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   22723             :      207,   208,   209,   210,    -1,   212,   213,   214,   215,   216,
   22724             :      217,   218,   219,   220,    -1,   222,    -1,   224,   225,   226,
   22725             :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
   22726             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   22727             :       -1,    -1,   249,   250,   251,   252,   253,    -1,   255,   256,
   22728             :      257,    -1,    -1,   260,   261,   262,   263,   264,   265,   266,
   22729             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   22730             :      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
   22731             :      287,   288,   289,   290,   291,   292,    -1,   294,   295,   296,
   22732             :      297,    -1,   299,   300,   301,   302,   303,   304,   305,    -1,
   22733             :      307,   308,   309,   310,    -1,   312,   313,   314,    -1,    -1,
   22734             :      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
   22735             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   22736             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   22737             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   22738             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   22739             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   22740             :      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
   22741             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   22742             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   22743             :      407,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
   22744             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   22745             :      427,   428,   429,   430,    -1,   432,   433,    -1,    -1,   436,
   22746             :      437,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   22747             :      447,    -1,    -1,   450,   451,   452,   453,   454,   455,   456,
   22748             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,    -1,
   22749             :      467,   468,   469,   470,   471,    -1,    -1,   474,   475,   476,
   22750             :      477,   478,   479,   480,    -1,   482,   483,   484,   485,   486,
   22751             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   22752             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   22753             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   22754             :       -1,    -1,    -1,    -1,    -1,    11,    -1,    -1,    -1,    -1,
   22755             :      527,   528,    -1,    -1,    20,    21,    22,    23,    24,    25,
   22756             :       26,    27,    28,    29,    30,    31,    32,    -1,    -1,    -1,
   22757             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   22758             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   22759             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   22760             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   22761             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   22762             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   22763             :       96,    97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,
   22764             :       -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   22765             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   22766             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   22767             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   22768             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   22769             :      156,   157,   158,   159,   160,   161,   162,   163,    -1,   165,
   22770             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   22771             :      176,    -1,   178,    -1,   180,   181,   182,   183,    -1,   185,
   22772             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   22773             :      196,    -1,   198,   199,   200,   201,   202,   203,   204,   205,
   22774             :      206,   207,   208,   209,   210,    -1,   212,    -1,   214,   215,
   22775             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,    -1,
   22776             :       -1,   227,    -1,   229,   230,   231,   232,   233,   234,   235,
   22777             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   22778             :      246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,
   22779             :      256,   257,    -1,    -1,   260,   261,   262,   263,   264,   265,
   22780             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   22781             :      276,   277,   278,   279,    -1,   281,   282,   283,   284,   285,
   22782             :      286,   287,   288,   289,   290,   291,   292,    -1,   294,   295,
   22783             :       -1,   297,    -1,   299,   300,   301,   302,   303,   304,   305,
   22784             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   22785             :       -1,   317,   318,   319,    -1,   321,    -1,   323,   324,   325,
   22786             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   22787             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   22788             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   22789             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   22790             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   22791             :       -1,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
   22792             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   22793             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   22794             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   22795             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   22796             :      426,   427,   428,   429,   430,    -1,   432,   433,    -1,    -1,
   22797             :      436,    -1,   438,   439,   440,   441,   442,   443,    -1,   445,
   22798             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,    -1,
   22799             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   22800             :       -1,   467,   468,   469,   470,   471,    -1,    -1,   474,   475,
   22801             :      476,   477,   478,   479,   480,    -1,   482,    -1,   484,   485,
   22802             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   22803             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   22804             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   22805             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22806             :       -1,   527,   528,    -1,    -1,    20,    21,    22,    23,    24,
   22807             :       25,    26,    27,    28,    -1,    30,    31,    32,    33,    34,
   22808             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   22809             :       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
   22810             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   22811             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   22812             :       75,    76,    77,    -1,    79,    -1,    81,    82,    83,    84,
   22813             :       85,    86,    87,    88,    89,    90,    91,    -1,    93,    94,
   22814             :       95,    96,    97,    98,    -1,   100,   101,   102,   103,    -1,
   22815             :       -1,    -1,   107,    -1,    -1,    -1,   111,   112,   113,   114,
   22816             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   22817             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   22818             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   22819             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   22820             :      155,   156,   157,   158,   159,   160,   161,   162,   163,    -1,
   22821             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   22822             :      175,   176,   177,    -1,   179,   180,   181,   182,   183,    -1,
   22823             :      185,   186,    -1,   188,   189,   190,    -1,   192,   193,   194,
   22824             :      195,   196,   197,   198,   199,   200,   201,    -1,   203,   204,
   22825             :      205,   206,   207,   208,   209,   210,    -1,   212,   213,   214,
   22826             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   22827             :      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
   22828             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   22829             :      245,   246,    -1,    -1,   249,   250,   251,   252,   253,    -1,
   22830             :      255,   256,   257,    -1,    -1,   260,   261,   262,   263,   264,
   22831             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   22832             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
   22833             :      285,   286,   287,   288,   289,   290,   291,   292,    -1,   294,
   22834             :      295,   296,   297,    -1,   299,   300,   301,   302,   303,   304,
   22835             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   22836             :       -1,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
   22837             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   22838             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   22839             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   22840             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   22841             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   22842             :      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
   22843             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   22844             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   22845             :      405,   406,   407,   408,   409,   410,   411,   412,    -1,   414,
   22846             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   22847             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,    -1,
   22848             :       -1,   436,   437,   438,   439,   440,   441,   442,   443,    -1,
   22849             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   22850             :       -1,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   22851             :       -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,   474,
   22852             :      475,   476,   477,   478,   479,   480,    -1,   482,   483,   484,
   22853             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   22854             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   22855             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   22856             :        3,    -1,     5,     6,    -1,    -1,    -1,    -1,    11,    -1,
   22857             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   22858             :       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
   22859             :       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
   22860             :       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
   22861             :       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
   22862             :       63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
   22863             :       73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
   22864             :       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
   22865             :       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
   22866             :      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
   22867             :      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
   22868             :      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
   22869             :      133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
   22870             :      143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
   22871             :      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   22872             :      163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
   22873             :      173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
   22874             :      183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
   22875             :      193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
   22876             :      203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
   22877             :      213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
   22878             :      223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
   22879             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   22880             :      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
   22881             :      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
   22882             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   22883             :      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
   22884             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   22885             :      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
   22886             :      303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
   22887             :      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
   22888             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   22889             :      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
   22890             :      343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
   22891             :      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
   22892             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   22893             :      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
   22894             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   22895             :      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
   22896             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   22897             :      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   22898             :      423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
   22899             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   22900             :      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
   22901             :      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
   22902             :      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
   22903             :      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
   22904             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   22905             :      493,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   22906             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   22907             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22908             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   22909             :       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
   22910             :       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
   22911             :       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
   22912             :       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
   22913             :       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
   22914             :       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
   22915             :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
   22916             :       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
   22917             :      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
   22918             :      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
   22919             :      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
   22920             :      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
   22921             :      142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
   22922             :      152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
   22923             :      162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
   22924             :      172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
   22925             :      182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
   22926             :      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
   22927             :      202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
   22928             :      212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
   22929             :      222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
   22930             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   22931             :      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
   22932             :      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
   22933             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   22934             :      272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
   22935             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   22936             :      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
   22937             :      302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   22938             :      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
   22939             :      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   22940             :      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
   22941             :      342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
   22942             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   22943             :      362,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   22944             :      372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
   22945             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   22946             :      392,   393,   394,   395,   396,   397,   398,   399,   400,   401,
   22947             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   22948             :      412,   413,   414,   415,   416,   417,   418,   419,   420,   421,
   22949             :      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
   22950             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   22951             :      442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
   22952             :      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
   22953             :      462,   463,   464,   465,   466,   467,   468,   469,   470,   471,
   22954             :      472,   473,   474,   475,   476,   477,   478,   479,   480,   481,
   22955             :      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   22956             :      492,   493,   494,   495,   496,   497,   498,   499,   500,   501,
   22957             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   22958             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22959             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   22960             :       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
   22961             :       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
   22962             :       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
   22963             :       51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
   22964             :       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
   22965             :       71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
   22966             :       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
   22967             :       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
   22968             :      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
   22969             :      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
   22970             :      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
   22971             :      131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
   22972             :      141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
   22973             :      151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
   22974             :      161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
   22975             :      171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
   22976             :      181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
   22977             :      191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
   22978             :      201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
   22979             :      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
   22980             :      221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
   22981             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   22982             :      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
   22983             :      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
   22984             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   22985             :      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
   22986             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   22987             :      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
   22988             :      301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
   22989             :      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
   22990             :      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
   22991             :      331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
   22992             :      341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
   22993             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   22994             :      361,   362,   363,   364,   365,   366,   367,   368,   369,   370,
   22995             :      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
   22996             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   22997             :      391,   392,   393,   394,   395,   396,   397,   398,   399,   400,
   22998             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   22999             :      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
   23000             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   23001             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   23002             :      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
   23003             :      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
   23004             :      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
   23005             :      471,   472,   473,   474,   475,   476,   477,   478,   479,   480,
   23006             :      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
   23007             :      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
   23008             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   23009             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   23010             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23011             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   23012             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23013             :       40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
   23014             :       50,    51,    52,    53,    54,    55,    56,    -1,    58,    59,
   23015             :       60,    61,    62,    63,    64,    -1,    66,    67,    68,    69,
   23016             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    79,
   23017             :       -1,    81,    82,    83,    84,    85,    86,    87,    88,    89,
   23018             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   23019             :      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
   23020             :      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   23021             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   23022             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   23023             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   23024             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   23025             :      160,   161,   162,   163,    -1,   165,    -1,   167,   168,   169,
   23026             :      170,   171,    -1,   173,    -1,   175,   176,   177,    -1,   179,
   23027             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   23028             :      190,    -1,   192,   193,   194,   195,   196,   197,   198,   199,
   23029             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   23030             :      210,    -1,   212,   213,   214,   215,   216,   217,   218,   219,
   23031             :      220,    -1,   222,    -1,   224,   225,   226,   227,   228,   229,
   23032             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   23033             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   23034             :      250,   251,   252,   253,    -1,   255,   256,   257,   258,   259,
   23035             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   23036             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   23037             :      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   23038             :      290,   291,   292,    -1,   294,   295,   296,   297,    -1,   299,
   23039             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   23040             :       -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,   319,
   23041             :      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
   23042             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   23043             :      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
   23044             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   23045             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   23046             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
   23047             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   23048             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   23049             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   23050             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   23051             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   23052             :      430,    -1,   432,   433,   434,    -1,   436,   437,   438,   439,
   23053             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   23054             :      450,   451,   452,   453,   454,    -1,   456,   457,   458,   459,
   23055             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   23056             :      470,   471,   472,    -1,   474,   475,   476,   477,   478,   479,
   23057             :      480,    -1,   482,   483,   484,   485,   486,   487,   488,    -1,
   23058             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   23059             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   23060             :      510,   511,   512,   513,     3,    -1,     5,     6,    -1,     8,
   23061             :        9,    -1,    11,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23062             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   23063             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   23064             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
   23065             :       49,    50,    51,    52,    53,    54,    55,    56,    -1,    58,
   23066             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   23067             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   23068             :       79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
   23069             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   23070             :       -1,   100,   101,   102,   103,    -1,    -1,    -1,   107,    -1,
   23071             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   23072             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   23073             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   23074             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   23075             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   23076             :      159,   160,   161,   162,   163,   164,   165,    -1,   167,   168,
   23077             :      169,   170,   171,    -1,   173,    -1,   175,   176,   177,    -1,
   23078             :      179,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   23079             :      189,   190,    -1,   192,   193,   194,   195,   196,   197,   198,
   23080             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   23081             :      209,   210,    -1,   212,   213,   214,   215,   216,   217,   218,
   23082             :      219,   220,    -1,   222,    -1,   224,   225,   226,   227,   228,
   23083             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   23084             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   23085             :      249,   250,   251,   252,   253,    -1,   255,   256,   257,    -1,
   23086             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   23087             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   23088             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   23089             :      289,   290,   291,   292,    -1,   294,   295,   296,   297,   298,
   23090             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   23091             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   23092             :      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
   23093             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   23094             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   23095             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   23096             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   23097             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   23098             :      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   23099             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   23100             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,   408,
   23101             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   23102             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   23103             :      429,   430,    -1,   432,   433,    -1,    -1,   436,   437,   438,
   23104             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   23105             :       -1,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   23106             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   23107             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   23108             :      479,   480,    -1,   482,   483,   484,   485,   486,   487,   488,
   23109             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   23110             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   23111             :      509,   510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,
   23112             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23113             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   23114             :       28,    29,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   23115             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   23116             :       48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
   23117             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   23118             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   23119             :       -1,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
   23120             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   23121             :       98,    -1,   100,   101,   102,   103,    -1,    -1,   106,   107,
   23122             :       -1,    -1,   110,   111,   112,   113,   114,   115,   116,   117,
   23123             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   23124             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   23125             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   23126             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   23127             :      158,   159,   160,   161,   162,   163,    -1,   165,    -1,   167,
   23128             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,   177,
   23129             :       -1,   179,   180,   181,   182,   183,    -1,   185,   186,    -1,
   23130             :      188,   189,   190,    -1,   192,   193,   194,   195,   196,   197,
   23131             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   23132             :      208,   209,   210,    -1,   212,   213,   214,   215,   216,   217,
   23133             :      218,   219,   220,    -1,   222,    -1,   224,   225,   226,   227,
   23134             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   23135             :      238,   239,   240,   241,   242,   243,   244,   245,   246,    -1,
   23136             :       -1,   249,   250,   251,   252,   253,    -1,   255,   256,   257,
   23137             :       -1,    -1,   260,   261,   262,   263,   264,   265,   266,   267,
   23138             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   23139             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   23140             :      288,   289,   290,   291,   292,    -1,   294,   295,   296,   297,
   23141             :       -1,   299,   300,   301,   302,   303,   304,   305,    -1,   307,
   23142             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   23143             :      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
   23144             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   23145             :      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
   23146             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   23147             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   23148             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   23149             :      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
   23150             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   23151             :      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
   23152             :      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   23153             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   23154             :      428,   429,   430,    -1,   432,   433,    -1,    -1,   436,   437,
   23155             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   23156             :       -1,    -1,   450,   451,   452,   453,   454,    -1,   456,   457,
   23157             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   23158             :      468,   469,   470,   471,    -1,    -1,   474,   475,   476,   477,
   23159             :      478,   479,   480,    -1,   482,   483,   484,   485,   486,   487,
   23160             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   23161             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   23162             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,    -1,
   23163             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23164             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   23165             :       27,    28,    29,    30,    31,    32,    -1,    -1,    -1,    -1,
   23166             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   23167             :       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
   23168             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   23169             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   23170             :       77,    -1,    79,    -1,    81,    82,    83,    84,    85,    86,
   23171             :       87,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   23172             :       97,    98,    -1,   100,   101,   102,   103,    -1,    -1,   106,
   23173             :      107,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
   23174             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   23175             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   23176             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   23177             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   23178             :      157,   158,   159,   160,   161,   162,   163,    -1,   165,    -1,
   23179             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   23180             :      177,    -1,   179,   180,   181,   182,   183,    -1,   185,   186,
   23181             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   23182             :      197,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   23183             :      207,   208,   209,   210,    -1,   212,   213,   214,   215,   216,
   23184             :      217,   218,   219,   220,    -1,   222,    -1,   224,   225,   226,
   23185             :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
   23186             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   23187             :       -1,    -1,   249,   250,   251,   252,   253,    -1,   255,   256,
   23188             :      257,    -1,    -1,   260,   261,   262,   263,   264,   265,   266,
   23189             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   23190             :      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
   23191             :      287,   288,   289,   290,   291,   292,    -1,   294,   295,   296,
   23192             :      297,    -1,   299,   300,   301,   302,   303,   304,   305,    -1,
   23193             :      307,   308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,
   23194             :      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
   23195             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   23196             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   23197             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   23198             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   23199             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   23200             :      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
   23201             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   23202             :      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
   23203             :      407,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
   23204             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   23205             :      427,   428,   429,   430,    -1,   432,   433,    -1,    -1,   436,
   23206             :      437,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   23207             :      447,    -1,    -1,   450,   451,   452,   453,   454,    -1,   456,
   23208             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,    -1,
   23209             :      467,   468,   469,   470,   471,    -1,    -1,   474,   475,   476,
   23210             :      477,   478,   479,   480,    -1,   482,   483,   484,   485,   486,
   23211             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   23212             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   23213             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   23214             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23215             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   23216             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   23217             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   23218             :       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
   23219             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   23220             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   23221             :       76,    77,    -1,    79,    -1,    81,    82,    83,    84,    85,
   23222             :       86,    87,    88,    89,    90,    91,    -1,    93,    94,    95,
   23223             :       96,    97,    98,    -1,   100,   101,   102,   103,    -1,    -1,
   23224             :      106,   107,    -1,    -1,   110,   111,   112,   113,   114,   115,
   23225             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   23226             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   23227             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   23228             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   23229             :      156,   157,   158,   159,   160,   161,   162,   163,    -1,   165,
   23230             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   23231             :      176,   177,    -1,   179,   180,   181,   182,   183,    -1,   185,
   23232             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   23233             :      196,   197,   198,   199,   200,   201,    -1,   203,   204,   205,
   23234             :      206,   207,   208,   209,   210,    -1,   212,   213,   214,   215,
   23235             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,   225,
   23236             :      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
   23237             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   23238             :      246,    -1,    -1,   249,   250,   251,   252,   253,    -1,   255,
   23239             :      256,   257,    -1,    -1,   260,   261,   262,   263,   264,   265,
   23240             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   23241             :      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
   23242             :      286,   287,   288,   289,   290,   291,   292,    -1,   294,   295,
   23243             :      296,   297,    -1,   299,   300,   301,   302,   303,   304,   305,
   23244             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   23245             :       -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
   23246             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   23247             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   23248             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   23249             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   23250             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   23251             :       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
   23252             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   23253             :       -1,   397,   398,   399,   400,   401,   402,   403,   404,   405,
   23254             :      406,   407,   408,   409,   410,   411,   412,    -1,   414,   415,
   23255             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   23256             :      426,   427,   428,   429,   430,    -1,   432,   433,    -1,    -1,
   23257             :      436,   437,   438,   439,   440,   441,   442,   443,    -1,   445,
   23258             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,    -1,
   23259             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   23260             :       -1,   467,   468,   469,   470,   471,   472,    -1,   474,   475,
   23261             :      476,   477,   478,   479,   480,    -1,   482,   483,   484,   485,
   23262             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   23263             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   23264             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   23265             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23266             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   23267             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   23268             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   23269             :       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
   23270             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   23271             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   23272             :       75,    76,    77,    -1,    79,    -1,    81,    82,    83,    84,
   23273             :       85,    86,    87,    88,    89,    90,    91,    -1,    93,    94,
   23274             :       95,    96,    97,    98,    -1,   100,   101,   102,   103,    -1,
   23275             :       -1,   106,   107,    -1,    -1,   110,   111,   112,   113,   114,
   23276             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   23277             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   23278             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   23279             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   23280             :      155,   156,   157,   158,   159,   160,   161,   162,   163,    -1,
   23281             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   23282             :      175,   176,   177,    -1,   179,   180,   181,   182,   183,    -1,
   23283             :      185,   186,   187,   188,   189,   190,    -1,   192,   193,   194,
   23284             :      195,   196,   197,   198,   199,   200,   201,    -1,   203,   204,
   23285             :      205,   206,   207,   208,   209,   210,    -1,   212,   213,   214,
   23286             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   23287             :      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
   23288             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   23289             :      245,   246,    -1,    -1,   249,   250,   251,   252,   253,    -1,
   23290             :      255,   256,   257,    -1,    -1,   260,   261,   262,   263,   264,
   23291             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   23292             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
   23293             :      285,   286,   287,   288,   289,   290,   291,   292,    -1,   294,
   23294             :      295,   296,   297,    -1,   299,   300,   301,   302,   303,   304,
   23295             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   23296             :       -1,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
   23297             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   23298             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   23299             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   23300             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   23301             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   23302             :      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
   23303             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   23304             :      395,    -1,   397,   398,   399,   400,   401,   402,   403,   404,
   23305             :      405,   406,   407,   408,   409,   410,   411,   412,    -1,   414,
   23306             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   23307             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,    -1,
   23308             :       -1,   436,   437,   438,   439,   440,   441,   442,   443,    -1,
   23309             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   23310             :       -1,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   23311             :       -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,   474,
   23312             :      475,   476,   477,   478,   479,   480,    -1,   482,   483,   484,
   23313             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   23314             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   23315             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   23316             :       -1,    -1,     6,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23317             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   23318             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   23319             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   23320             :       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
   23321             :       54,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   23322             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   23323             :       74,    75,    76,    77,    -1,    79,    -1,    81,    82,    83,
   23324             :       84,    85,    86,    87,    88,    89,    90,    91,    -1,    93,
   23325             :       94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
   23326             :       -1,    -1,    -1,   107,    -1,    -1,    -1,   111,   112,   113,
   23327             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   23328             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   23329             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   23330             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   23331             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   23332             :      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   23333             :       -1,   175,   176,   177,    -1,   179,   180,   181,   182,   183,
   23334             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   23335             :      194,   195,   196,   197,   198,   199,   200,   201,    -1,   203,
   23336             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,   213,
   23337             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   23338             :      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
   23339             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   23340             :      244,   245,   246,    -1,    -1,   249,   250,   251,   252,   253,
   23341             :       -1,   255,   256,   257,    -1,    -1,   260,   261,   262,   263,
   23342             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   23343             :      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
   23344             :      284,   285,   286,   287,   288,   289,   290,   291,   292,    -1,
   23345             :      294,   295,   296,   297,    -1,   299,   300,   301,   302,   303,
   23346             :      304,   305,    -1,   307,   308,   309,   310,    -1,   312,   313,
   23347             :      314,    -1,    -1,   317,   318,   319,   320,   321,   322,   323,
   23348             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   23349             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   23350             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   23351             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   23352             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   23353             :      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
   23354             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   23355             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   23356             :      404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
   23357             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   23358             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   23359             :       -1,    -1,   436,   437,   438,   439,   440,   441,   442,   443,
   23360             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   23361             :      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
   23362             :      464,    -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,
   23363             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,   483,
   23364             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   23365             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   23366             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   23367             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23368             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   23369             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   23370             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   23371             :       -1,    44,    45,    46,    47,    48,    49,    50,    51,    52,
   23372             :       53,    54,    55,    56,    -1,    58,    59,    60,    61,    62,
   23373             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   23374             :       73,    74,    75,    76,    77,    -1,    79,    -1,    81,    82,
   23375             :       83,    84,    85,    86,    87,    88,    89,    90,    91,    -1,
   23376             :       93,    94,    95,    96,    97,    98,    -1,   100,   101,   102,
   23377             :      103,    -1,    -1,   106,   107,    -1,    -1,   110,   111,   112,
   23378             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   23379             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   23380             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   23381             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   23382             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   23383             :      163,    -1,   165,    -1,   167,   168,   169,   170,   171,    -1,
   23384             :      173,    -1,   175,   176,   177,    -1,   179,   180,   181,   182,
   23385             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   23386             :      193,   194,   195,   196,   197,   198,   199,   200,   201,    -1,
   23387             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   23388             :      213,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   23389             :       -1,   224,   225,   226,   227,   228,   229,   230,   231,   232,
   23390             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   23391             :      243,   244,   245,   246,    -1,    -1,   249,   250,   251,   252,
   23392             :      253,    -1,   255,   256,   257,    -1,    -1,   260,   261,   262,
   23393             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   23394             :      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
   23395             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   23396             :       -1,   294,   295,   296,   297,    -1,   299,   300,   301,   302,
   23397             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   23398             :      313,   314,    -1,    -1,   317,   318,   319,   320,   321,   322,
   23399             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   23400             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   23401             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   23402             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   23403             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   23404             :      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
   23405             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   23406             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,   402,
   23407             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   23408             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   23409             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   23410             :      433,    -1,    -1,   436,   437,   438,   439,   440,   441,   442,
   23411             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   23412             :      453,   454,    -1,   456,   457,   458,   459,   460,   461,   462,
   23413             :      463,   464,    -1,    -1,   467,   468,   469,   470,   471,    -1,
   23414             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   23415             :      483,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   23416             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   23417             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   23418             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23419             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   23420             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   23421             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   23422             :       42,    -1,    44,    45,    46,    47,    48,    49,    50,    51,
   23423             :       52,    53,    54,    55,    56,    -1,    58,    59,    60,    61,
   23424             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   23425             :       -1,    73,    74,    75,    76,    77,    -1,    79,    -1,    81,
   23426             :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
   23427             :       -1,    93,    94,    95,    96,    97,    98,    -1,   100,   101,
   23428             :      102,   103,    -1,    -1,   106,   107,    -1,    -1,   110,   111,
   23429             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   23430             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   23431             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   23432             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   23433             :      152,    -1,   154,   155,   156,   157,   158,   159,   160,   161,
   23434             :      162,   163,    -1,   165,    -1,   167,   168,   169,   170,   171,
   23435             :       -1,   173,    -1,   175,   176,   177,    -1,   179,   180,   181,
   23436             :      182,   183,    -1,   185,   186,    -1,   188,   189,   190,    -1,
   23437             :      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
   23438             :       -1,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
   23439             :      212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
   23440             :      222,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
   23441             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   23442             :      242,   243,   244,   245,   246,    -1,    -1,   249,   250,   251,
   23443             :      252,   253,    -1,   255,   256,   257,    -1,    -1,   260,   261,
   23444             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   23445             :      272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
   23446             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   23447             :      292,    -1,   294,   295,   296,   297,    -1,   299,   300,   301,
   23448             :      302,   303,   304,   305,    -1,   307,   308,   309,    -1,    -1,
   23449             :      312,   313,   314,    -1,    -1,   317,   318,   319,   320,   321,
   23450             :      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   23451             :      332,   333,   334,   335,    -1,   337,   338,   339,   340,   341,
   23452             :      342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
   23453             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   23454             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   23455             :      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
   23456             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   23457             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   23458             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   23459             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   23460             :      422,   423,   424,   425,   426,   427,   428,   429,   430,    -1,
   23461             :      432,   433,    -1,    -1,   436,   437,   438,   439,   440,   441,
   23462             :      442,   443,    -1,   445,   446,   447,    -1,    -1,   450,   451,
   23463             :      452,   453,   454,    -1,   456,   457,   458,   459,   460,   461,
   23464             :      462,   463,   464,    -1,    -1,   467,   468,   469,   470,   471,
   23465             :       -1,    -1,   474,   475,   476,   477,   478,   479,   480,    -1,
   23466             :      482,   483,   484,   485,   486,   487,   488,    -1,    -1,   491,
   23467             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   23468             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   23469             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23470             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   23471             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   23472             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   23473             :       41,    42,    -1,    44,    45,    46,    47,    48,    49,    50,
   23474             :       51,    52,    53,    54,    55,    56,    -1,    58,    59,    60,
   23475             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   23476             :       71,    -1,    73,    74,    75,    76,    77,    -1,    79,    -1,
   23477             :       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
   23478             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,   100,
   23479             :      101,   102,   103,    -1,    -1,   106,   107,    -1,    -1,   110,
   23480             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   23481             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   23482             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   23483             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   23484             :      151,   152,    -1,   154,   155,   156,   157,   158,   159,   160,
   23485             :      161,   162,   163,    -1,   165,    -1,   167,   168,   169,   170,
   23486             :      171,    -1,   173,    -1,   175,   176,   177,    -1,   179,   180,
   23487             :      181,   182,   183,    -1,   185,   186,    -1,   188,   189,   190,
   23488             :       -1,   192,   193,   194,   195,   196,   197,   198,   199,   200,
   23489             :      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
   23490             :       -1,   212,   213,   214,   215,   216,   217,   218,   219,   220,
   23491             :       -1,   222,    -1,   224,   225,   226,   227,   228,   229,   230,
   23492             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   23493             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,   250,
   23494             :      251,   252,   253,    -1,   255,   256,   257,    -1,    -1,   260,
   23495             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   23496             :      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
   23497             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   23498             :      291,   292,    -1,   294,   295,   296,   297,    -1,   299,   300,
   23499             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   23500             :       -1,   312,   313,   314,    -1,    -1,   317,   318,   319,   320,
   23501             :      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
   23502             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,   340,
   23503             :      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
   23504             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   23505             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   23506             :      371,   372,   373,   374,   375,    -1,   377,   378,   379,   380,
   23507             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   23508             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   23509             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   23510             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   23511             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   23512             :       -1,   432,   433,    -1,    -1,   436,   437,   438,   439,   440,
   23513             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   23514             :      451,   452,   453,   454,    -1,   456,   457,   458,   459,   460,
   23515             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   23516             :      471,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
   23517             :       -1,   482,   483,   484,   485,   486,   487,   488,    -1,    -1,
   23518             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   23519             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   23520             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   23521             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23522             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   23523             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23524             :       40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
   23525             :       50,    51,    52,    53,    54,    55,    56,    -1,    58,    59,
   23526             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   23527             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    79,
   23528             :       -1,    81,    82,    83,    84,    85,    86,    87,    88,    89,
   23529             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   23530             :      100,   101,   102,   103,    -1,    -1,   106,   107,    -1,    -1,
   23531             :      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   23532             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   23533             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   23534             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   23535             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   23536             :      160,   161,   162,   163,    -1,   165,    -1,   167,   168,   169,
   23537             :      170,   171,    -1,   173,    -1,   175,   176,   177,    -1,   179,
   23538             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   23539             :      190,    -1,   192,   193,   194,   195,   196,   197,   198,   199,
   23540             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   23541             :      210,    -1,   212,   213,   214,   215,   216,   217,   218,   219,
   23542             :      220,    -1,   222,    -1,   224,   225,   226,   227,   228,   229,
   23543             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   23544             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   23545             :      250,   251,   252,   253,    -1,   255,   256,   257,    -1,    -1,
   23546             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   23547             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   23548             :      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   23549             :      290,   291,   292,    -1,   294,   295,   296,   297,    -1,   299,
   23550             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   23551             :       -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,   319,
   23552             :      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
   23553             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   23554             :      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
   23555             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   23556             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   23557             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
   23558             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   23559             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   23560             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   23561             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   23562             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   23563             :      430,    -1,   432,   433,    -1,    -1,   436,   437,   438,   439,
   23564             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   23565             :      450,   451,   452,   453,   454,    -1,   456,   457,   458,   459,
   23566             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   23567             :      470,   471,    -1,    -1,   474,   475,   476,   477,   478,   479,
   23568             :      480,    -1,   482,   483,   484,   485,   486,   487,   488,    -1,
   23569             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   23570             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   23571             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   23572             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23573             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   23574             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   23575             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
   23576             :       49,    50,    51,    52,    53,    54,    55,    56,    -1,    58,
   23577             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   23578             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   23579             :       79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
   23580             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   23581             :       -1,   100,   101,   102,   103,    -1,    -1,   106,   107,    -1,
   23582             :       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
   23583             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   23584             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   23585             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   23586             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   23587             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   23588             :      169,   170,   171,    -1,   173,    -1,   175,   176,   177,    -1,
   23589             :      179,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   23590             :      189,   190,    -1,   192,   193,   194,   195,   196,   197,   198,
   23591             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   23592             :      209,   210,    -1,   212,   213,   214,   215,   216,   217,   218,
   23593             :      219,   220,    -1,   222,    -1,   224,   225,   226,   227,   228,
   23594             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   23595             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   23596             :      249,   250,   251,   252,   253,    -1,   255,   256,   257,    -1,
   23597             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   23598             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   23599             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   23600             :      289,   290,   291,   292,    -1,   294,   295,   296,   297,    -1,
   23601             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   23602             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   23603             :      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
   23604             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   23605             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   23606             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   23607             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   23608             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   23609             :      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   23610             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   23611             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   23612             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   23613             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   23614             :      429,   430,    -1,   432,   433,    -1,    -1,   436,   437,   438,
   23615             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   23616             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   23617             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   23618             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   23619             :      479,   480,    -1,   482,   483,   484,   485,   486,   487,   488,
   23620             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   23621             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   23622             :      509,   510,   511,   512,   513,     3,    -1,    -1,     6,    -1,
   23623             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23624             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   23625             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   23626             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   23627             :       48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
   23628             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   23629             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   23630             :       -1,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
   23631             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   23632             :       98,    -1,   100,   101,   102,   103,    -1,    -1,    -1,   107,
   23633             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   23634             :      118,   119,   120,   121,    -1,   123,   124,   125,   126,   127,
   23635             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   23636             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   23637             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   23638             :      158,   159,   160,   161,   162,   163,    -1,   165,    -1,   167,
   23639             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,   177,
   23640             :       -1,   179,   180,   181,   182,   183,    -1,   185,   186,    -1,
   23641             :      188,   189,   190,    -1,   192,   193,   194,   195,   196,   197,
   23642             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   23643             :      208,   209,   210,    -1,   212,   213,   214,   215,   216,   217,
   23644             :      218,   219,   220,    -1,   222,    -1,   224,   225,   226,   227,
   23645             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   23646             :      238,   239,   240,   241,   242,   243,   244,   245,   246,    -1,
   23647             :       -1,   249,   250,   251,   252,   253,    -1,   255,   256,   257,
   23648             :       -1,    -1,   260,   261,   262,   263,   264,   265,   266,   267,
   23649             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   23650             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   23651             :      288,   289,   290,   291,   292,    -1,   294,   295,   296,   297,
   23652             :       -1,   299,   300,   301,   302,   303,   304,   305,    -1,   307,
   23653             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   23654             :      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
   23655             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   23656             :      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
   23657             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   23658             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   23659             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   23660             :      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
   23661             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   23662             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   23663             :      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   23664             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   23665             :      428,   429,   430,    -1,   432,   433,    -1,    -1,   436,   437,
   23666             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   23667             :       -1,    -1,   450,   451,   452,   453,   454,    -1,   456,   457,
   23668             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   23669             :      468,   469,   470,   471,    -1,    -1,   474,   475,   476,   477,
   23670             :      478,   479,   480,    -1,   482,   483,   484,   485,   486,   487,
   23671             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   23672             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   23673             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,     6,
   23674             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23675             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   23676             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   23677             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   23678             :       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
   23679             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   23680             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   23681             :       77,    -1,    79,    -1,    81,    82,    83,    84,    85,    86,
   23682             :       87,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   23683             :       97,    98,    -1,   100,   101,   102,   103,    -1,    -1,    -1,
   23684             :      107,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   23685             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   23686             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   23687             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   23688             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   23689             :      157,   158,   159,   160,   161,   162,   163,    -1,   165,    -1,
   23690             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   23691             :      177,    -1,   179,   180,   181,   182,   183,    -1,   185,   186,
   23692             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   23693             :      197,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   23694             :      207,   208,   209,   210,    -1,   212,   213,   214,   215,   216,
   23695             :      217,   218,   219,   220,    -1,   222,    -1,   224,   225,   226,
   23696             :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
   23697             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   23698             :       -1,    -1,   249,   250,   251,   252,   253,    -1,   255,   256,
   23699             :      257,    -1,    -1,   260,   261,   262,   263,   264,   265,   266,
   23700             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   23701             :      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
   23702             :      287,   288,   289,   290,   291,   292,    -1,   294,   295,   296,
   23703             :      297,    -1,   299,   300,   301,   302,   303,   304,   305,    -1,
   23704             :      307,   308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,
   23705             :      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
   23706             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   23707             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   23708             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   23709             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   23710             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   23711             :      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
   23712             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   23713             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   23714             :      407,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
   23715             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   23716             :      427,   428,   429,   430,    -1,   432,   433,    -1,    -1,   436,
   23717             :      437,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   23718             :      447,    -1,    -1,   450,   451,   452,   453,   454,    -1,   456,
   23719             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,    -1,
   23720             :      467,   468,   469,   470,   471,    -1,    -1,   474,   475,   476,
   23721             :      477,   478,   479,   480,    -1,   482,   483,   484,   485,   486,
   23722             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   23723             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   23724             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   23725             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23726             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   23727             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   23728             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   23729             :       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
   23730             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   23731             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   23732             :       76,    77,    -1,    79,    -1,    81,    82,    83,    84,    85,
   23733             :       86,    87,    88,    89,    90,    91,    -1,    93,    94,    95,
   23734             :       96,    97,    98,    -1,   100,   101,   102,   103,    -1,    -1,
   23735             :       -1,   107,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   23736             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   23737             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   23738             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   23739             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   23740             :      156,   157,   158,   159,   160,   161,   162,   163,    -1,   165,
   23741             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   23742             :      176,   177,    -1,   179,   180,   181,   182,   183,    -1,   185,
   23743             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   23744             :      196,   197,   198,   199,   200,   201,    -1,   203,   204,   205,
   23745             :      206,   207,   208,   209,   210,    -1,   212,   213,   214,   215,
   23746             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,   225,
   23747             :      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
   23748             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   23749             :      246,    -1,    -1,   249,   250,   251,   252,   253,    -1,   255,
   23750             :      256,   257,    -1,    -1,   260,   261,   262,   263,   264,   265,
   23751             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   23752             :      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
   23753             :      286,   287,   288,   289,   290,   291,   292,    -1,   294,   295,
   23754             :      296,   297,    -1,   299,   300,   301,   302,   303,   304,   305,
   23755             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   23756             :       -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
   23757             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   23758             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   23759             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   23760             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   23761             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   23762             :       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
   23763             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   23764             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   23765             :      406,   407,   408,   409,   410,   411,   412,    -1,   414,   415,
   23766             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   23767             :      426,   427,   428,   429,   430,    -1,   432,   433,    -1,    -1,
   23768             :      436,   437,   438,   439,   440,   441,   442,   443,    -1,   445,
   23769             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,    -1,
   23770             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   23771             :       -1,   467,   468,   469,   470,   471,    -1,    -1,   474,   475,
   23772             :      476,   477,   478,   479,   480,    -1,   482,   483,   484,   485,
   23773             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   23774             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   23775             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   23776             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23777             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   23778             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   23779             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   23780             :       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
   23781             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   23782             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   23783             :       75,    76,    77,    -1,    79,    -1,    81,    82,    83,    84,
   23784             :       85,    86,    87,    88,    89,    90,    91,    -1,    93,    94,
   23785             :       95,    96,    97,    98,    -1,   100,   101,   102,   103,    -1,
   23786             :       -1,    -1,   107,    -1,    -1,    -1,   111,   112,   113,   114,
   23787             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   23788             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   23789             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   23790             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   23791             :      155,   156,   157,   158,   159,   160,   161,   162,   163,    -1,
   23792             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   23793             :      175,   176,   177,    -1,   179,   180,   181,   182,   183,    -1,
   23794             :      185,   186,    -1,   188,   189,   190,    -1,   192,   193,   194,
   23795             :      195,   196,   197,   198,   199,   200,   201,    -1,   203,   204,
   23796             :      205,   206,   207,   208,   209,   210,    -1,   212,   213,   214,
   23797             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   23798             :      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
   23799             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   23800             :      245,   246,    -1,    -1,   249,   250,   251,   252,   253,    -1,
   23801             :      255,   256,   257,    -1,    -1,   260,   261,   262,   263,   264,
   23802             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   23803             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
   23804             :      285,   286,   287,   288,   289,   290,   291,   292,    -1,   294,
   23805             :      295,   296,   297,    -1,   299,   300,   301,   302,   303,   304,
   23806             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   23807             :       -1,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
   23808             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   23809             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   23810             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   23811             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   23812             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   23813             :      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
   23814             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   23815             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   23816             :      405,   406,   407,   408,   409,   410,   411,   412,    -1,   414,
   23817             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   23818             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,    -1,
   23819             :       -1,   436,   437,   438,   439,   440,   441,   442,   443,    -1,
   23820             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   23821             :       -1,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   23822             :       -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,   474,
   23823             :      475,   476,   477,   478,   479,   480,    -1,   482,   483,   484,
   23824             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   23825             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   23826             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   23827             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23828             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   23829             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   23830             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   23831             :       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
   23832             :       54,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   23833             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   23834             :       74,    75,    76,    77,    -1,    79,    -1,    81,    82,    83,
   23835             :       84,    85,    86,    87,    88,    89,    90,    91,    -1,    93,
   23836             :       94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
   23837             :       -1,    -1,    -1,   107,    -1,    -1,    -1,   111,   112,   113,
   23838             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   23839             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   23840             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   23841             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   23842             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   23843             :       -1,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   23844             :       -1,   175,   176,   177,    -1,   179,   180,   181,   182,   183,
   23845             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   23846             :      194,   195,   196,   197,   198,   199,   200,   201,    -1,   203,
   23847             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,   213,
   23848             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   23849             :      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
   23850             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   23851             :      244,   245,   246,    -1,    -1,   249,   250,   251,   252,   253,
   23852             :       -1,   255,   256,   257,    -1,    -1,   260,   261,   262,   263,
   23853             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   23854             :      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
   23855             :      284,   285,   286,   287,   288,   289,   290,   291,   292,    -1,
   23856             :      294,   295,   296,   297,    -1,   299,   300,   301,   302,   303,
   23857             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   23858             :      314,    -1,    -1,   317,   318,   319,   320,   321,   322,   323,
   23859             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   23860             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   23861             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   23862             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   23863             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   23864             :      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
   23865             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   23866             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   23867             :      404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
   23868             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   23869             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   23870             :       -1,    -1,   436,   437,   438,   439,   440,   441,   442,   443,
   23871             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   23872             :      454,    -1,   456,   457,   458,   459,   460,   461,   462,   463,
   23873             :      464,    -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,
   23874             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,   483,
   23875             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   23876             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   23877             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   23878             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23879             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   23880             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   23881             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   23882             :       -1,    44,    45,    46,    47,    48,    49,    50,    51,    52,
   23883             :       53,    54,    55,    56,    -1,    58,    59,    60,    61,    62,
   23884             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   23885             :       73,    74,    75,    76,    77,    -1,    79,    -1,    81,    82,
   23886             :       83,    84,    85,    86,    87,    88,    89,    90,    91,    -1,
   23887             :       93,    94,    95,    96,    97,    98,    -1,   100,   101,   102,
   23888             :      103,    -1,    -1,    -1,   107,    -1,    -1,    -1,   111,   112,
   23889             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   23890             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   23891             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   23892             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   23893             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   23894             :      163,    -1,   165,    -1,   167,   168,   169,   170,   171,    -1,
   23895             :      173,    -1,   175,   176,   177,    -1,   179,   180,   181,   182,
   23896             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   23897             :      193,   194,   195,   196,   197,   198,   199,   200,   201,    -1,
   23898             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   23899             :      213,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   23900             :       -1,   224,   225,   226,   227,   228,   229,   230,   231,   232,
   23901             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   23902             :      243,   244,   245,   246,    -1,    -1,   249,   250,   251,   252,
   23903             :      253,    -1,   255,   256,   257,    -1,    -1,   260,   261,   262,
   23904             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   23905             :      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
   23906             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   23907             :       -1,   294,   295,   296,   297,    -1,   299,   300,   301,   302,
   23908             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   23909             :      313,   314,    -1,    -1,   317,   318,   319,   320,   321,   322,
   23910             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   23911             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   23912             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   23913             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   23914             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   23915             :      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
   23916             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   23917             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   23918             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   23919             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   23920             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   23921             :      433,    -1,    -1,   436,   437,   438,   439,   440,   441,   442,
   23922             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   23923             :      453,   454,    -1,   456,   457,   458,   459,   460,   461,   462,
   23924             :      463,   464,    -1,    -1,   467,   468,   469,   470,   471,    -1,
   23925             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   23926             :      483,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   23927             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   23928             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   23929             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23930             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   23931             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   23932             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   23933             :       42,    -1,    44,    45,    46,    47,    48,    49,    50,    51,
   23934             :       52,    53,    54,    55,    56,    -1,    58,    59,    60,    61,
   23935             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   23936             :       -1,    73,    74,    75,    76,    77,    -1,    79,    -1,    81,
   23937             :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
   23938             :       -1,    93,    94,    95,    96,    97,    98,    -1,   100,   101,
   23939             :      102,   103,    -1,    -1,    -1,   107,    -1,    -1,    -1,   111,
   23940             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   23941             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   23942             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   23943             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   23944             :      152,    -1,   154,   155,   156,   157,   158,   159,   160,   161,
   23945             :      162,   163,    -1,   165,    -1,   167,   168,   169,   170,   171,
   23946             :       -1,   173,    -1,   175,   176,   177,    -1,   179,   180,   181,
   23947             :      182,   183,    -1,   185,   186,    -1,   188,   189,   190,    -1,
   23948             :      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
   23949             :       -1,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
   23950             :      212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
   23951             :      222,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
   23952             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   23953             :      242,   243,   244,   245,   246,    -1,    -1,   249,   250,   251,
   23954             :      252,   253,    -1,   255,   256,   257,    -1,    -1,   260,   261,
   23955             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   23956             :      272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
   23957             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   23958             :      292,    -1,   294,   295,   296,   297,    -1,   299,   300,   301,
   23959             :      302,   303,   304,   305,    -1,   307,   308,   309,    -1,    -1,
   23960             :      312,   313,   314,    -1,    -1,   317,   318,   319,   320,   321,
   23961             :      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   23962             :      332,   333,   334,   335,    -1,   337,   338,   339,   340,   341,
   23963             :      342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
   23964             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   23965             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   23966             :      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
   23967             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   23968             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   23969             :       -1,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   23970             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   23971             :      422,   423,   424,   425,   426,   427,   428,   429,   430,    -1,
   23972             :      432,   433,    -1,    -1,   436,   437,   438,   439,   440,   441,
   23973             :      442,   443,    -1,   445,   446,   447,    -1,    -1,   450,   451,
   23974             :      452,   453,   454,    -1,   456,   457,   458,   459,   460,   461,
   23975             :      462,   463,   464,    -1,    -1,   467,   468,   469,   470,   471,
   23976             :       -1,    -1,   474,   475,   476,   477,   478,   479,   480,    -1,
   23977             :      482,   483,   484,   485,   486,   487,   488,    -1,    -1,   491,
   23978             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   23979             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   23980             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23981             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   23982             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   23983             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   23984             :       41,    42,    -1,    44,    45,    46,    47,    48,    49,    50,
   23985             :       51,    52,    53,    54,    55,    56,    -1,    58,    59,    60,
   23986             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   23987             :       71,    -1,    73,    74,    75,    76,    77,    -1,    79,    -1,
   23988             :       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
   23989             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,   100,
   23990             :      101,   102,   103,    -1,    -1,    -1,   107,    -1,    -1,    -1,
   23991             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   23992             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   23993             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   23994             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   23995             :      151,   152,    -1,   154,   155,   156,   157,   158,   159,   160,
   23996             :      161,   162,   163,    -1,   165,    -1,   167,   168,   169,   170,
   23997             :      171,    -1,   173,    -1,   175,   176,   177,    -1,   179,   180,
   23998             :      181,   182,   183,    -1,   185,   186,    -1,   188,   189,   190,
   23999             :       -1,   192,   193,   194,   195,   196,   197,   198,   199,   200,
   24000             :      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
   24001             :       -1,   212,   213,   214,   215,   216,   217,   218,   219,   220,
   24002             :       -1,   222,    -1,   224,   225,   226,   227,   228,   229,   230,
   24003             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   24004             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,   250,
   24005             :      251,   252,   253,    -1,   255,   256,   257,    -1,    -1,   260,
   24006             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   24007             :      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
   24008             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   24009             :      291,   292,    -1,   294,   295,   296,   297,    -1,   299,   300,
   24010             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   24011             :       -1,   312,   313,   314,    -1,    -1,   317,   318,   319,   320,
   24012             :      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
   24013             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,   340,
   24014             :      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
   24015             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   24016             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   24017             :      371,   372,   373,   374,   375,    -1,   377,   378,   379,   380,
   24018             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   24019             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   24020             :      401,    -1,   403,   404,   405,   406,   407,   408,   409,   410,
   24021             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   24022             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   24023             :       -1,   432,   433,    -1,    -1,   436,   437,   438,   439,   440,
   24024             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   24025             :      451,   452,   453,   454,    -1,   456,   457,   458,   459,   460,
   24026             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   24027             :      471,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
   24028             :       -1,   482,   483,   484,   485,   486,   487,   488,    -1,    -1,
   24029             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   24030             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   24031             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   24032             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24033             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   24034             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24035             :       40,    41,    42,    -1,    44,    45,    46,    47,    -1,    49,
   24036             :       50,    51,    52,    53,    -1,    55,    56,    -1,    58,    59,
   24037             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   24038             :       70,    71,    72,    73,    74,    75,    76,    77,    -1,    -1,
   24039             :       80,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
   24040             :       90,    91,    92,    93,    94,    95,    96,    97,    98,    -1,
   24041             :       -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
   24042             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   24043             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   24044             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   24045             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   24046             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   24047             :      160,   161,   162,   163,    -1,   165,    -1,   167,   168,   169,
   24048             :      170,   171,    -1,   173,   174,   175,   176,    -1,    -1,    -1,
   24049             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   24050             :      190,    -1,   192,   193,   194,   195,   196,    -1,   198,   199,
   24051             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   24052             :      210,    -1,   212,    -1,   214,   215,   216,   217,   218,   219,
   24053             :      220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,
   24054             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   24055             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   24056             :      250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,
   24057             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   24058             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   24059             :       -1,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   24060             :      290,   291,   292,   293,   294,   295,    -1,   297,    -1,   299,
   24061             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   24062             :       -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,   319,
   24063             :       -1,   321,    -1,   323,   324,   325,   326,   327,   328,   329,
   24064             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   24065             :      340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
   24066             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   24067             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   24068             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,    -1,
   24069             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   24070             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   24071             :      400,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
   24072             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   24073             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   24074             :      430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,
   24075             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   24076             :      450,   451,   452,   453,   454,    -1,   456,   457,   458,   459,
   24077             :      460,   461,   462,   463,   464,    -1,   466,   467,   468,   469,
   24078             :      470,   471,    -1,    -1,   474,   475,   476,   477,   478,   479,
   24079             :      480,    -1,   482,    -1,   484,   485,   486,   487,   488,    -1,
   24080             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   24081             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   24082             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   24083             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24084             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   24085             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   24086             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   24087             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   24088             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   24089             :       69,    70,    71,    72,    73,    74,    75,    76,    77,    -1,
   24090             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   24091             :       89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
   24092             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   24093             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   24094             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   24095             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   24096             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   24097             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   24098             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   24099             :      169,   170,   171,    -1,   173,   174,   175,   176,    -1,    -1,
   24100             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   24101             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   24102             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   24103             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   24104             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   24105             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   24106             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   24107             :      249,   250,    -1,   252,   253,    -1,   255,   256,   257,    -1,
   24108             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   24109             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   24110             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   24111             :      289,   290,   291,   292,   293,   294,   295,    -1,   297,    -1,
   24112             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   24113             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   24114             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   24115             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   24116             :      339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
   24117             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   24118             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   24119             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   24120             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   24121             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   24122             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   24123             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   24124             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   24125             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   24126             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   24127             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   24128             :      459,   460,   461,   462,   463,   464,    -1,   466,   467,   468,
   24129             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   24130             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   24131             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   24132             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   24133             :      509,   510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,
   24134             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24135             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   24136             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   24137             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   24138             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   24139             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   24140             :       68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
   24141             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   24142             :       88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
   24143             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   24144             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   24145             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   24146             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   24147             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   24148             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   24149             :      158,   159,   160,   161,   162,   163,    -1,   165,    -1,   167,
   24150             :      168,   169,   170,   171,    -1,   173,   174,   175,   176,    -1,
   24151             :       -1,    -1,   180,   181,   182,   183,    -1,   185,   186,    -1,
   24152             :      188,   189,   190,    -1,   192,   193,   194,   195,   196,    -1,
   24153             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   24154             :      208,   209,   210,    -1,   212,    -1,   214,   215,   216,   217,
   24155             :      218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,
   24156             :       -1,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   24157             :      238,   239,   240,   241,   242,   243,   244,   245,   246,    -1,
   24158             :       -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,   257,
   24159             :       -1,    -1,   260,   261,   262,   263,   264,   265,   266,   267,
   24160             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   24161             :      278,   279,    -1,   281,   282,   283,   284,   285,   286,   287,
   24162             :      288,   289,   290,   291,   292,   293,   294,   295,    -1,   297,
   24163             :       -1,   299,   300,   301,   302,   303,   304,   305,    -1,   307,
   24164             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   24165             :      318,   319,    -1,   321,    -1,   323,   324,   325,   326,   327,
   24166             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   24167             :      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
   24168             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   24169             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   24170             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   24171             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   24172             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   24173             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   24174             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   24175             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   24176             :      428,   429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,
   24177             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   24178             :       -1,    -1,   450,   451,   452,   453,   454,    -1,   456,   457,
   24179             :      458,   459,   460,   461,   462,   463,   464,    -1,   466,   467,
   24180             :      468,   469,   470,   471,    -1,    -1,   474,   475,   476,   477,
   24181             :      478,   479,   480,    -1,   482,    -1,   484,   485,   486,   487,
   24182             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   24183             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   24184             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,    -1,
   24185             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24186             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   24187             :       27,    28,    29,    30,    31,    32,    -1,    -1,    -1,    -1,
   24188             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   24189             :       47,    -1,    49,    50,    51,    52,    53,    -1,    55,    56,
   24190             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   24191             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   24192             :       77,    -1,    -1,    -1,    81,    82,    83,    84,    85,    86,
   24193             :       -1,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   24194             :       97,    98,    99,    -1,   101,   102,   103,    -1,    -1,    -1,
   24195             :       -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   24196             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   24197             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   24198             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   24199             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   24200             :      157,   158,   159,   160,   161,   162,   163,    -1,   165,    -1,
   24201             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   24202             :       -1,    -1,    -1,   180,   181,   182,   183,   184,   185,   186,
   24203             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   24204             :       -1,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   24205             :      207,   208,   209,   210,    -1,   212,    -1,   214,   215,   216,
   24206             :      217,   218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,
   24207             :      227,    -1,   229,   230,   231,   232,   233,   234,   235,   236,
   24208             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   24209             :       -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,
   24210             :      257,    -1,    -1,   260,   261,   262,   263,   264,   265,   266,
   24211             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   24212             :      277,   278,   279,    -1,   281,   282,   283,   284,   285,   286,
   24213             :      287,   288,   289,   290,   291,   292,    -1,   294,   295,    -1,
   24214             :      297,    -1,   299,   300,   301,   302,   303,   304,   305,    -1,
   24215             :      307,   308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,
   24216             :      317,   318,   319,    -1,   321,    -1,   323,   324,   325,   326,
   24217             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   24218             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   24219             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   24220             :      357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
   24221             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   24222             :      377,   378,    -1,   380,   381,   382,   383,   384,   385,   386,
   24223             :      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
   24224             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   24225             :      407,    -1,   409,   410,   411,   412,    -1,   414,   415,   416,
   24226             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   24227             :      427,   428,   429,   430,    -1,   432,   433,    -1,    -1,   436,
   24228             :       -1,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   24229             :      447,    -1,    -1,   450,   451,   452,   453,   454,    -1,   456,
   24230             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,    -1,
   24231             :      467,   468,   469,   470,   471,    -1,    -1,   474,   475,   476,
   24232             :      477,   478,   479,   480,    -1,   482,    -1,   484,   485,   486,
   24233             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   24234             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   24235             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   24236             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24237             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   24238             :       26,    27,    28,    29,    30,    31,    32,    -1,    -1,    -1,
   24239             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   24240             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   24241             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   24242             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   24243             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   24244             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   24245             :       96,    97,    98,    99,    -1,   101,   102,   103,    -1,    -1,
   24246             :       -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   24247             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   24248             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   24249             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   24250             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   24251             :      156,   157,   158,   159,   160,   161,   162,   163,    -1,   165,
   24252             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   24253             :      176,    -1,    -1,    -1,   180,   181,   182,   183,   184,   185,
   24254             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   24255             :      196,    -1,   198,   199,   200,   201,    -1,   203,   204,   205,
   24256             :      206,   207,   208,   209,   210,    -1,   212,    -1,   214,   215,
   24257             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,    -1,
   24258             :       -1,   227,    -1,   229,   230,   231,   232,   233,   234,   235,
   24259             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   24260             :      246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,
   24261             :      256,   257,    -1,    -1,   260,   261,   262,   263,   264,   265,
   24262             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   24263             :      276,   277,   278,   279,    -1,   281,   282,   283,   284,   285,
   24264             :      286,   287,   288,   289,   290,   291,   292,    -1,   294,   295,
   24265             :       -1,   297,    -1,   299,   300,   301,   302,   303,   304,   305,
   24266             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   24267             :       -1,   317,   318,   319,    -1,   321,    -1,   323,   324,   325,
   24268             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   24269             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   24270             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   24271             :      356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
   24272             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   24273             :       -1,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
   24274             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   24275             :      396,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   24276             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   24277             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   24278             :      426,   427,   428,   429,   430,    -1,   432,   433,    -1,    -1,
   24279             :      436,    -1,   438,   439,   440,   441,   442,   443,    -1,   445,
   24280             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,    -1,
   24281             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   24282             :       -1,   467,   468,   469,   470,   471,    -1,    -1,   474,   475,
   24283             :      476,   477,   478,   479,   480,    -1,   482,    -1,   484,   485,
   24284             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   24285             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   24286             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   24287             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24288             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   24289             :       25,    26,    27,    28,    29,    30,    31,    32,    -1,    -1,
   24290             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   24291             :       45,    46,    47,    -1,    49,    50,    51,    52,    53,    -1,
   24292             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   24293             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   24294             :       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    84,
   24295             :       85,    86,    -1,    88,    89,    90,    91,    -1,    93,    94,
   24296             :       95,    96,    97,    98,    99,    -1,   101,   102,   103,    -1,
   24297             :       -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,
   24298             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   24299             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   24300             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   24301             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   24302             :      155,   156,   157,   158,   159,   160,   161,   162,   163,    -1,
   24303             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   24304             :      175,   176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,
   24305             :      185,   186,    -1,   188,   189,   190,    -1,   192,   193,   194,
   24306             :      195,   196,    -1,   198,   199,   200,   201,    -1,   203,   204,
   24307             :      205,   206,   207,   208,   209,   210,    -1,   212,    -1,   214,
   24308             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   24309             :       -1,    -1,   227,    -1,   229,   230,   231,   232,   233,   234,
   24310             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   24311             :      245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,
   24312             :      255,   256,   257,    -1,    -1,   260,   261,   262,   263,   264,
   24313             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   24314             :      275,   276,   277,   278,   279,    -1,   281,   282,   283,   284,
   24315             :      285,   286,   287,   288,   289,   290,   291,   292,    -1,   294,
   24316             :      295,    -1,   297,    -1,   299,   300,   301,   302,   303,   304,
   24317             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   24318             :       -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,   324,
   24319             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   24320             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   24321             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   24322             :      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
   24323             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   24324             :      375,    -1,   377,   378,    -1,   380,   381,   382,   383,   384,
   24325             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   24326             :      395,   396,   397,   398,   399,   400,   401,    -1,   403,   404,
   24327             :      405,   406,   407,    -1,   409,   410,   411,   412,    -1,   414,
   24328             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   24329             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,    -1,
   24330             :       -1,   436,    -1,   438,   439,   440,   441,   442,   443,    -1,
   24331             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   24332             :       -1,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   24333             :       -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,   474,
   24334             :      475,   476,   477,   478,   479,   480,    -1,   482,    -1,   484,
   24335             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   24336             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   24337             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   24338             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24339             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   24340             :       24,    25,    26,    27,    28,    29,    30,    31,    32,    -1,
   24341             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   24342             :       44,    45,    46,    47,    -1,    49,    50,    51,    52,    53,
   24343             :       -1,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   24344             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   24345             :       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
   24346             :       84,    85,    86,    -1,    88,    89,    90,    91,    -1,    93,
   24347             :       94,    95,    96,    97,    98,    -1,    -1,   101,   102,   103,
   24348             :       -1,    -1,    -1,   107,    -1,    -1,    -1,   111,   112,   113,
   24349             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   24350             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   24351             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   24352             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   24353             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   24354             :       -1,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   24355             :       -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,   183,
   24356             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   24357             :      194,   195,   196,    -1,   198,   199,   200,   201,    -1,   203,
   24358             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,    -1,
   24359             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   24360             :      224,    -1,    -1,   227,    -1,   229,   230,   231,   232,   233,
   24361             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   24362             :      244,   245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,
   24363             :       -1,   255,   256,   257,    -1,    -1,   260,   261,   262,   263,
   24364             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   24365             :      274,   275,   276,   277,   278,   279,    -1,   281,   282,   283,
   24366             :      284,   285,   286,   287,   288,   289,   290,   291,   292,    -1,
   24367             :      294,   295,    -1,   297,    -1,   299,   300,   301,   302,   303,
   24368             :      304,   305,    -1,   307,   308,   309,    -1,   311,   312,   313,
   24369             :      314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,
   24370             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   24371             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   24372             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   24373             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   24374             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   24375             :      374,   375,    -1,   377,   378,    -1,   380,   381,   382,   383,
   24376             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   24377             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   24378             :      404,   405,   406,   407,    -1,   409,   410,   411,   412,    -1,
   24379             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   24380             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   24381             :       -1,   435,   436,    -1,   438,   439,   440,   441,   442,   443,
   24382             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   24383             :      454,    -1,   456,   457,   458,   459,   460,   461,   462,   463,
   24384             :      464,    -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,
   24385             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,    -1,
   24386             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   24387             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   24388             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   24389             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24390             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   24391             :       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
   24392             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   24393             :       -1,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
   24394             :       53,    -1,    55,    56,    -1,    58,    59,    60,    61,    62,
   24395             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   24396             :       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
   24397             :       83,    84,    85,    86,    -1,    88,    89,    90,    91,    -1,
   24398             :       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
   24399             :      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,
   24400             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   24401             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   24402             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   24403             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   24404             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   24405             :      163,    -1,   165,    -1,   167,   168,   169,   170,   171,    -1,
   24406             :      173,   174,   175,   176,    -1,    -1,    -1,   180,   181,   182,
   24407             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   24408             :      193,   194,   195,   196,    -1,   198,   199,   200,   201,    -1,
   24409             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   24410             :       -1,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   24411             :       -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,   232,
   24412             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   24413             :      243,   244,   245,   246,    -1,    -1,   249,   250,    -1,   252,
   24414             :       -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,   262,
   24415             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   24416             :      273,   274,   275,   276,   277,   278,   279,    -1,   281,   282,
   24417             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   24418             :       -1,   294,   295,    -1,   297,    -1,   299,   300,   301,   302,
   24419             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   24420             :      313,   314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,
   24421             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   24422             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   24423             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   24424             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   24425             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   24426             :      373,   374,   375,    -1,   377,   378,    -1,   380,   381,   382,
   24427             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   24428             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   24429             :      403,   404,   405,   406,   407,    -1,   409,   410,   411,   412,
   24430             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   24431             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   24432             :      433,    -1,   435,   436,    -1,   438,   439,   440,   441,   442,
   24433             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   24434             :      453,   454,    -1,   456,   457,   458,   459,   460,   461,   462,
   24435             :      463,   464,    -1,    -1,   467,   468,   469,   470,   471,    -1,
   24436             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   24437             :       -1,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   24438             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   24439             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   24440             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24441             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   24442             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   24443             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   24444             :       42,    -1,    44,    45,    46,    47,    -1,    49,    50,    51,
   24445             :       52,    53,    -1,    55,    56,    -1,    58,    59,    60,    61,
   24446             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   24447             :       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
   24448             :       82,    83,    84,    85,    86,    -1,    88,    89,    90,    91,
   24449             :       -1,    93,    94,    95,    96,    97,    98,    99,    -1,   101,
   24450             :      102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
   24451             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   24452             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   24453             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   24454             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   24455             :      152,    -1,   154,   155,   156,   157,   158,   159,   160,   161,
   24456             :      162,   163,    -1,   165,    -1,   167,   168,   169,   170,   171,
   24457             :       -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,
   24458             :      182,   183,    -1,   185,   186,    -1,   188,   189,   190,    -1,
   24459             :      192,   193,   194,   195,   196,    -1,   198,   199,   200,   201,
   24460             :       -1,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
   24461             :      212,    -1,   214,   215,   216,   217,   218,   219,   220,    -1,
   24462             :      222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,
   24463             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   24464             :      242,   243,   244,   245,   246,    -1,    -1,   249,   250,    -1,
   24465             :      252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,
   24466             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   24467             :      272,   273,   274,   275,   276,   277,   278,   279,    -1,   281,
   24468             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   24469             :      292,    -1,   294,   295,    -1,   297,    -1,   299,   300,   301,
   24470             :      302,   303,   304,   305,    -1,   307,   308,   309,    -1,    -1,
   24471             :      312,   313,   314,    -1,    -1,   317,   318,   319,    -1,   321,
   24472             :       -1,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   24473             :      332,   333,   334,   335,    -1,   337,   338,   339,   340,   341,
   24474             :      342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
   24475             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   24476             :      362,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   24477             :      372,   373,   374,   375,    -1,   377,   378,    -1,   380,   381,
   24478             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   24479             :      392,   393,   394,   395,   396,   397,   398,   399,   400,   401,
   24480             :       -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
   24481             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   24482             :      422,   423,   424,   425,   426,   427,   428,   429,   430,    -1,
   24483             :      432,   433,    -1,    -1,   436,    -1,   438,   439,   440,   441,
   24484             :      442,   443,    -1,   445,   446,   447,    -1,    -1,   450,   451,
   24485             :      452,   453,   454,    -1,   456,   457,   458,   459,   460,   461,
   24486             :      462,   463,   464,    -1,    -1,   467,   468,   469,   470,   471,
   24487             :       -1,    -1,   474,   475,   476,   477,   478,   479,   480,    -1,
   24488             :      482,    -1,   484,   485,   486,   487,   488,    -1,    -1,   491,
   24489             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   24490             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   24491             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24492             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   24493             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   24494             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   24495             :       41,    42,    -1,    44,    45,    46,    47,    -1,    49,    50,
   24496             :       51,    52,    53,    -1,    55,    56,    -1,    58,    59,    60,
   24497             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   24498             :       71,    -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,
   24499             :       81,    82,    83,    84,    85,    86,    -1,    88,    89,    90,
   24500             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,    -1,
   24501             :      101,   102,   103,    -1,    -1,    -1,   107,    -1,    -1,    -1,
   24502             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   24503             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   24504             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   24505             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   24506             :      151,   152,    -1,   154,   155,   156,   157,   158,   159,   160,
   24507             :      161,   162,   163,    -1,   165,    -1,   167,   168,   169,   170,
   24508             :      171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,
   24509             :      181,   182,   183,    -1,   185,   186,    -1,   188,   189,   190,
   24510             :       -1,   192,   193,   194,   195,   196,    -1,   198,   199,   200,
   24511             :      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
   24512             :       -1,   212,    -1,   214,   215,   216,   217,   218,   219,   220,
   24513             :       -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,
   24514             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   24515             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,   250,
   24516             :       -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,
   24517             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   24518             :      271,   272,   273,   274,   275,   276,   277,   278,   279,    -1,
   24519             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   24520             :      291,   292,    -1,   294,   295,    -1,   297,    -1,   299,   300,
   24521             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   24522             :      311,   312,   313,   314,    -1,    -1,   317,   318,   319,    -1,
   24523             :      321,    -1,   323,   324,   325,   326,   327,   328,   329,   330,
   24524             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,   340,
   24525             :      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
   24526             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   24527             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   24528             :      371,   372,   373,   374,   375,    -1,   377,   378,    -1,   380,
   24529             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   24530             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   24531             :      401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
   24532             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   24533             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   24534             :       -1,   432,   433,    -1,   435,   436,    -1,   438,   439,   440,
   24535             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   24536             :      451,   452,   453,   454,    -1,   456,   457,   458,   459,   460,
   24537             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   24538             :      471,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
   24539             :       -1,   482,    -1,   484,   485,   486,   487,   488,    -1,    -1,
   24540             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   24541             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   24542             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   24543             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24544             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
   24545             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24546             :       40,    41,    42,    -1,    44,    45,    46,    47,    -1,    49,
   24547             :       50,    51,    52,    53,    -1,    55,    56,    -1,    58,    59,
   24548             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   24549             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    -1,
   24550             :       -1,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
   24551             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   24552             :       -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
   24553             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   24554             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   24555             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   24556             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   24557             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   24558             :      160,   161,   162,   163,    -1,   165,    -1,   167,   168,   169,
   24559             :      170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,
   24560             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   24561             :      190,    -1,   192,   193,   194,   195,   196,    -1,   198,   199,
   24562             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   24563             :      210,    -1,   212,    -1,   214,   215,   216,   217,   218,   219,
   24564             :      220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,
   24565             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   24566             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   24567             :      250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,
   24568             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   24569             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   24570             :       -1,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   24571             :      290,   291,   292,    -1,   294,   295,    -1,   297,    -1,   299,
   24572             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   24573             :       -1,   311,   312,   313,   314,    -1,    -1,   317,   318,   319,
   24574             :       -1,   321,    -1,   323,   324,   325,   326,   327,   328,   329,
   24575             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   24576             :      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
   24577             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   24578             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   24579             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,    -1,
   24580             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   24581             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   24582             :      400,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
   24583             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   24584             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   24585             :      430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,
   24586             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   24587             :      450,   451,   452,   453,   454,    -1,   456,   457,   458,   459,
   24588             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   24589             :      470,   471,    -1,    -1,   474,   475,   476,   477,   478,   479,
   24590             :      480,    -1,   482,    -1,   484,   485,   486,   487,   488,    -1,
   24591             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   24592             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   24593             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   24594             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24595             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   24596             :       29,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   24597             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   24598             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   24599             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   24600             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   24601             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   24602             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   24603             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   24604             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   24605             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   24606             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   24607             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   24608             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   24609             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   24610             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   24611             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   24612             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   24613             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   24614             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   24615             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   24616             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   24617             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   24618             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   24619             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   24620             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   24621             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   24622             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   24623             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   24624             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   24625             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   24626             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   24627             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   24628             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   24629             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   24630             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   24631             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   24632             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   24633             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   24634             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   24635             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   24636             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   24637             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   24638             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   24639             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   24640             :      469,   470,   471,   472,    -1,   474,   475,   476,   477,   478,
   24641             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   24642             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   24643             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   24644             :      509,   510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,
   24645             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24646             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   24647             :       28,    29,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   24648             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   24649             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   24650             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   24651             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   24652             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   24653             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   24654             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   24655             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   24656             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   24657             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   24658             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   24659             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   24660             :      158,   159,   160,   161,   162,   163,    -1,   165,    -1,   167,
   24661             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,    -1,
   24662             :       -1,    -1,   180,   181,   182,   183,    -1,   185,   186,    -1,
   24663             :      188,   189,   190,    -1,   192,   193,   194,   195,   196,    -1,
   24664             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   24665             :      208,   209,   210,    -1,   212,    -1,   214,   215,   216,   217,
   24666             :      218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,
   24667             :       -1,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   24668             :      238,   239,   240,   241,   242,   243,   244,   245,   246,    -1,
   24669             :       -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,   257,
   24670             :       -1,    -1,   260,   261,   262,   263,   264,   265,   266,   267,
   24671             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   24672             :      278,   279,    -1,   281,   282,   283,   284,   285,   286,   287,
   24673             :      288,   289,   290,   291,   292,    -1,   294,   295,    -1,   297,
   24674             :       -1,   299,   300,   301,   302,   303,   304,   305,    -1,   307,
   24675             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   24676             :      318,   319,    -1,   321,    -1,   323,   324,   325,   326,   327,
   24677             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   24678             :      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
   24679             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   24680             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   24681             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   24682             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   24683             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   24684             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   24685             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   24686             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   24687             :      428,   429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,
   24688             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   24689             :       -1,    -1,   450,   451,   452,   453,   454,    -1,   456,   457,
   24690             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   24691             :      468,   469,   470,   471,   472,    -1,   474,   475,   476,   477,
   24692             :      478,   479,   480,    -1,   482,    -1,   484,   485,   486,   487,
   24693             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   24694             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   24695             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,    -1,
   24696             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24697             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   24698             :       27,    28,    29,    30,    31,    32,    -1,    -1,    -1,    -1,
   24699             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   24700             :       47,    -1,    49,    50,    51,    52,    53,    -1,    55,    56,
   24701             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   24702             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   24703             :       77,    -1,    -1,    -1,    81,    82,    83,    84,    85,    86,
   24704             :       -1,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   24705             :       97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,
   24706             :       -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   24707             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   24708             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   24709             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   24710             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   24711             :      157,   158,   159,   160,   161,   162,   163,    -1,   165,    -1,
   24712             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   24713             :       -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,   186,
   24714             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   24715             :       -1,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   24716             :      207,   208,   209,   210,    -1,   212,    -1,   214,   215,   216,
   24717             :      217,   218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,
   24718             :      227,    -1,   229,   230,   231,   232,   233,   234,   235,   236,
   24719             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   24720             :       -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,
   24721             :      257,    -1,    -1,   260,   261,   262,   263,   264,   265,   266,
   24722             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   24723             :      277,   278,   279,    -1,   281,   282,   283,   284,   285,   286,
   24724             :      287,   288,   289,   290,   291,   292,    -1,   294,   295,    -1,
   24725             :      297,    -1,   299,   300,   301,   302,   303,   304,   305,    -1,
   24726             :      307,   308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,
   24727             :      317,   318,   319,    -1,   321,    -1,   323,   324,   325,   326,
   24728             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   24729             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   24730             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   24731             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   24732             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   24733             :      377,   378,    -1,   380,   381,   382,   383,   384,   385,   386,
   24734             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   24735             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   24736             :      407,    -1,   409,   410,   411,   412,    -1,   414,   415,   416,
   24737             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   24738             :      427,   428,   429,   430,    -1,   432,   433,    -1,    -1,   436,
   24739             :       -1,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   24740             :      447,    -1,    -1,   450,   451,   452,   453,   454,    -1,   456,
   24741             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,    -1,
   24742             :      467,   468,   469,   470,   471,    -1,    -1,   474,   475,   476,
   24743             :      477,   478,   479,   480,    -1,   482,    -1,   484,   485,   486,
   24744             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   24745             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   24746             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   24747             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24748             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   24749             :       26,    27,    28,    29,    30,    31,    32,    -1,    -1,    -1,
   24750             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   24751             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   24752             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   24753             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   24754             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   24755             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   24756             :       96,    97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,
   24757             :       -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   24758             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   24759             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   24760             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   24761             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   24762             :      156,   157,   158,   159,   160,   161,   162,   163,    -1,   165,
   24763             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   24764             :      176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,
   24765             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   24766             :      196,    -1,   198,   199,   200,   201,    -1,   203,   204,   205,
   24767             :      206,   207,   208,   209,   210,    -1,   212,    -1,   214,   215,
   24768             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,    -1,
   24769             :       -1,   227,    -1,   229,   230,   231,   232,   233,   234,   235,
   24770             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   24771             :      246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,
   24772             :      256,   257,    -1,    -1,   260,   261,   262,   263,   264,   265,
   24773             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   24774             :      276,   277,   278,   279,    -1,   281,   282,   283,   284,   285,
   24775             :      286,   287,   288,   289,   290,   291,   292,    -1,   294,   295,
   24776             :       -1,   297,    -1,   299,   300,   301,   302,   303,   304,   305,
   24777             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   24778             :       -1,   317,   318,   319,    -1,   321,    -1,   323,   324,   325,
   24779             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   24780             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   24781             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   24782             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   24783             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   24784             :       -1,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
   24785             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   24786             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   24787             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   24788             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   24789             :      426,   427,   428,   429,   430,    -1,   432,   433,    -1,    -1,
   24790             :      436,    -1,   438,   439,   440,   441,   442,   443,    -1,   445,
   24791             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,    -1,
   24792             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   24793             :       -1,   467,   468,   469,   470,   471,    -1,    -1,   474,   475,
   24794             :      476,   477,   478,   479,   480,    -1,   482,    -1,   484,   485,
   24795             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   24796             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   24797             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   24798             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24799             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   24800             :       25,    26,    27,    28,    29,    30,    31,    32,    -1,    -1,
   24801             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   24802             :       45,    46,    47,    -1,    49,    50,    51,    52,    53,    -1,
   24803             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   24804             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   24805             :       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    84,
   24806             :       85,    86,    -1,    88,    89,    90,    91,    -1,    93,    94,
   24807             :       95,    96,    97,    98,    -1,    -1,   101,   102,   103,    -1,
   24808             :       -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,
   24809             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   24810             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   24811             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   24812             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   24813             :      155,   156,   157,   158,   159,   160,   161,   162,   163,    -1,
   24814             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   24815             :      175,   176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,
   24816             :      185,   186,    -1,   188,   189,   190,    -1,   192,   193,   194,
   24817             :      195,   196,    -1,   198,   199,   200,   201,    -1,   203,   204,
   24818             :      205,   206,   207,   208,   209,   210,    -1,   212,    -1,   214,
   24819             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   24820             :       -1,    -1,   227,    -1,   229,   230,   231,   232,   233,   234,
   24821             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   24822             :      245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,
   24823             :      255,   256,   257,    -1,    -1,   260,   261,   262,   263,   264,
   24824             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   24825             :      275,   276,   277,   278,   279,    -1,   281,   282,   283,   284,
   24826             :      285,   286,   287,   288,   289,   290,   291,   292,    -1,   294,
   24827             :      295,    -1,   297,    -1,   299,   300,   301,   302,   303,   304,
   24828             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   24829             :       -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,   324,
   24830             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   24831             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   24832             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   24833             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   24834             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   24835             :      375,    -1,   377,   378,    -1,   380,   381,   382,   383,   384,
   24836             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   24837             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   24838             :      405,   406,   407,    -1,   409,   410,   411,   412,    -1,   414,
   24839             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   24840             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,    -1,
   24841             :       -1,   436,    -1,   438,   439,   440,   441,   442,   443,    -1,
   24842             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   24843             :       -1,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   24844             :       -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,   474,
   24845             :      475,   476,   477,   478,   479,   480,    -1,   482,    -1,   484,
   24846             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   24847             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   24848             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   24849             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24850             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   24851             :       24,    25,    26,    27,    28,    29,    30,    31,    32,    -1,
   24852             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   24853             :       44,    45,    46,    47,    -1,    49,    50,    51,    52,    53,
   24854             :       -1,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   24855             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   24856             :       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
   24857             :       84,    85,    86,    -1,    88,    89,    90,    91,    -1,    93,
   24858             :       94,    95,    96,    97,    98,    -1,    -1,   101,   102,   103,
   24859             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,
   24860             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   24861             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   24862             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   24863             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   24864             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   24865             :       -1,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   24866             :       -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,   183,
   24867             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   24868             :      194,   195,   196,    -1,   198,   199,   200,   201,    -1,   203,
   24869             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,    -1,
   24870             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   24871             :      224,    -1,    -1,   227,    -1,   229,   230,   231,   232,   233,
   24872             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   24873             :      244,   245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,
   24874             :       -1,   255,   256,   257,    -1,    -1,   260,   261,   262,   263,
   24875             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   24876             :      274,   275,   276,   277,   278,   279,    -1,   281,   282,   283,
   24877             :      284,   285,   286,   287,   288,   289,   290,   291,   292,    -1,
   24878             :      294,   295,    -1,   297,    -1,   299,   300,   301,   302,   303,
   24879             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   24880             :      314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,
   24881             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   24882             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   24883             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   24884             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   24885             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   24886             :      374,   375,    -1,   377,   378,    -1,   380,   381,   382,   383,
   24887             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   24888             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   24889             :      404,   405,   406,   407,    -1,   409,   410,   411,   412,    -1,
   24890             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   24891             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   24892             :       -1,    -1,   436,    -1,   438,   439,   440,   441,   442,   443,
   24893             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   24894             :      454,    -1,   456,   457,   458,   459,   460,   461,   462,   463,
   24895             :      464,    -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,
   24896             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,    -1,
   24897             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   24898             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   24899             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   24900             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24901             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   24902             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   24903             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   24904             :       -1,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
   24905             :       53,    -1,    55,    56,    -1,    58,    59,    60,    61,    62,
   24906             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   24907             :       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
   24908             :       83,    84,    85,    86,    -1,    88,    89,    90,    91,    -1,
   24909             :       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
   24910             :      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,
   24911             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   24912             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   24913             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   24914             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   24915             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   24916             :      163,    -1,   165,    -1,   167,   168,   169,   170,   171,    -1,
   24917             :      173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,
   24918             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   24919             :      193,   194,   195,   196,    -1,   198,   199,   200,   201,    -1,
   24920             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   24921             :       -1,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   24922             :       -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,   232,
   24923             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   24924             :      243,   244,   245,   246,    -1,    -1,   249,   250,    -1,   252,
   24925             :       -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,   262,
   24926             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   24927             :      273,   274,   275,   276,   277,   278,   279,    -1,   281,   282,
   24928             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   24929             :       -1,   294,   295,    -1,   297,    -1,   299,   300,   301,   302,
   24930             :      303,   304,   305,    -1,   307,   308,   309,    -1,   311,   312,
   24931             :      313,   314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,
   24932             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   24933             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   24934             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   24935             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   24936             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   24937             :      373,   374,   375,    -1,   377,   378,    -1,   380,   381,   382,
   24938             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   24939             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   24940             :      403,   404,   405,   406,   407,    -1,   409,   410,   411,   412,
   24941             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   24942             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   24943             :      433,    -1,    -1,   436,    -1,   438,   439,   440,   441,   442,
   24944             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   24945             :      453,   454,    -1,   456,   457,   458,   459,   460,   461,   462,
   24946             :      463,   464,    -1,    -1,   467,   468,   469,   470,   471,    -1,
   24947             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   24948             :       -1,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   24949             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   24950             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   24951             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24952             :       12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   24953             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   24954             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   24955             :       42,    -1,    44,    45,    46,    47,    -1,    49,    50,    51,
   24956             :       52,    53,    -1,    55,    56,    -1,    58,    59,    60,    61,
   24957             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   24958             :       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
   24959             :       82,    83,    84,    85,    86,    -1,    88,    89,    90,    91,
   24960             :       -1,    93,    94,    95,    96,    97,    98,    -1,    -1,   101,
   24961             :      102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
   24962             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   24963             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   24964             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   24965             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   24966             :      152,    -1,   154,   155,   156,   157,   158,   159,   160,   161,
   24967             :      162,   163,    -1,   165,    -1,   167,   168,   169,   170,   171,
   24968             :       -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,
   24969             :      182,   183,    -1,   185,   186,    -1,   188,   189,   190,    -1,
   24970             :      192,   193,   194,   195,   196,    -1,   198,   199,   200,   201,
   24971             :       -1,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
   24972             :      212,    -1,   214,   215,   216,   217,   218,   219,   220,    -1,
   24973             :      222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,
   24974             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   24975             :      242,   243,   244,   245,   246,    -1,    -1,   249,   250,    -1,
   24976             :      252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,
   24977             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   24978             :      272,   273,   274,   275,   276,   277,   278,   279,    -1,   281,
   24979             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   24980             :      292,    -1,   294,   295,    -1,   297,    -1,   299,   300,   301,
   24981             :      302,   303,   304,   305,    -1,   307,   308,   309,    -1,    -1,
   24982             :      312,   313,   314,    -1,    -1,   317,   318,   319,    -1,   321,
   24983             :       -1,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   24984             :      332,   333,   334,   335,    -1,   337,   338,   339,   340,   341,
   24985             :      342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
   24986             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   24987             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   24988             :      372,   373,   374,   375,    -1,   377,   378,    -1,   380,   381,
   24989             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   24990             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   24991             :       -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
   24992             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   24993             :      422,   423,   424,   425,   426,   427,   428,   429,   430,    -1,
   24994             :      432,   433,    -1,    -1,   436,    -1,   438,   439,   440,   441,
   24995             :      442,   443,    -1,   445,   446,   447,    -1,    -1,   450,   451,
   24996             :      452,   453,   454,    -1,   456,   457,   458,   459,   460,   461,
   24997             :      462,   463,   464,    -1,    -1,   467,   468,   469,   470,   471,
   24998             :       -1,    -1,   474,   475,   476,   477,   478,   479,   480,    -1,
   24999             :      482,    -1,   484,   485,   486,   487,   488,    -1,    -1,   491,
   25000             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   25001             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   25002             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25003             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   25004             :       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
   25005             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   25006             :       41,    42,    -1,    44,    45,    46,    47,    -1,    49,    50,
   25007             :       51,    52,    53,    -1,    55,    56,    -1,    58,    59,    60,
   25008             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   25009             :       71,    -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,
   25010             :       81,    82,    83,    84,    85,    86,    -1,    88,    89,    90,
   25011             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,    -1,
   25012             :      101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25013             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   25014             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   25015             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   25016             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   25017             :      151,   152,    -1,   154,   155,   156,   157,   158,   159,   160,
   25018             :      161,   162,   163,    -1,   165,    -1,   167,   168,   169,   170,
   25019             :      171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,
   25020             :      181,   182,   183,    -1,   185,   186,    -1,   188,   189,   190,
   25021             :       -1,   192,   193,   194,   195,   196,    -1,   198,   199,   200,
   25022             :      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
   25023             :       -1,   212,    -1,   214,   215,   216,   217,   218,   219,   220,
   25024             :       -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,
   25025             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   25026             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,   250,
   25027             :       -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,
   25028             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   25029             :      271,   272,   273,   274,   275,   276,   277,   278,   279,    -1,
   25030             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   25031             :      291,   292,    -1,   294,   295,    -1,   297,    -1,   299,   300,
   25032             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   25033             :       -1,   312,   313,   314,    -1,    -1,   317,   318,   319,    -1,
   25034             :      321,    -1,   323,   324,   325,   326,   327,   328,   329,   330,
   25035             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,   340,
   25036             :      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
   25037             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   25038             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   25039             :      371,   372,   373,   374,   375,    -1,   377,   378,    -1,   380,
   25040             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   25041             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   25042             :      401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
   25043             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   25044             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   25045             :       -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,   440,
   25046             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   25047             :      451,   452,   453,   454,    -1,   456,   457,   458,   459,   460,
   25048             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   25049             :      471,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
   25050             :       -1,   482,    -1,   484,   485,   486,   487,   488,    -1,    -1,
   25051             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   25052             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   25053             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   25054             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25055             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
   25056             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25057             :       40,    41,    42,    -1,    44,    45,    46,    47,    -1,    49,
   25058             :       50,    51,    52,    53,    -1,    55,    56,    -1,    58,    59,
   25059             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   25060             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    -1,
   25061             :       -1,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
   25062             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   25063             :       -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
   25064             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   25065             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   25066             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   25067             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   25068             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   25069             :      160,   161,   162,   163,    -1,   165,    -1,   167,   168,   169,
   25070             :      170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,
   25071             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   25072             :      190,    -1,   192,   193,   194,   195,   196,    -1,   198,   199,
   25073             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   25074             :      210,    -1,   212,    -1,   214,   215,   216,   217,   218,   219,
   25075             :      220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,
   25076             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   25077             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   25078             :      250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,
   25079             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   25080             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   25081             :       -1,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   25082             :      290,   291,   292,    -1,   294,   295,    -1,   297,    -1,   299,
   25083             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   25084             :       -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,   319,
   25085             :       -1,   321,    -1,   323,   324,   325,   326,   327,   328,   329,
   25086             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   25087             :      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
   25088             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   25089             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   25090             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,    -1,
   25091             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   25092             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   25093             :      400,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
   25094             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   25095             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   25096             :      430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,
   25097             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   25098             :      450,   451,   452,   453,   454,    -1,   456,   457,   458,   459,
   25099             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   25100             :      470,   471,    -1,    -1,   474,   475,   476,   477,   478,   479,
   25101             :      480,    -1,   482,    -1,   484,   485,   486,   487,   488,    -1,
   25102             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   25103             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   25104             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   25105             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25106             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   25107             :       29,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   25108             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   25109             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   25110             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   25111             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   25112             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   25113             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   25114             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   25115             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   25116             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   25117             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   25118             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   25119             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   25120             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   25121             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   25122             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   25123             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   25124             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   25125             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   25126             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   25127             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   25128             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   25129             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   25130             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   25131             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   25132             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   25133             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   25134             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   25135             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   25136             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   25137             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   25138             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   25139             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   25140             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   25141             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   25142             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   25143             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   25144             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   25145             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   25146             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   25147             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   25148             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   25149             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   25150             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   25151             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   25152             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   25153             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   25154             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   25155             :      509,   510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,
   25156             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25157             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   25158             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   25159             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   25160             :       48,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   25161             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   25162             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   25163             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   25164             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   25165             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   25166             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   25167             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   25168             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   25169             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   25170             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   25171             :      158,   159,   160,   161,   162,   163,    -1,   165,    -1,   167,
   25172             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,    -1,
   25173             :       -1,    -1,   180,   181,   182,   183,    -1,   185,   186,    -1,
   25174             :      188,   189,   190,    -1,   192,   193,   194,   195,   196,    -1,
   25175             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   25176             :      208,   209,   210,    -1,   212,    -1,   214,   215,   216,   217,
   25177             :      218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,
   25178             :       -1,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   25179             :      238,   239,   240,   241,   242,   243,   244,   245,   246,    -1,
   25180             :       -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,   257,
   25181             :       -1,    -1,   260,   261,   262,   263,   264,   265,   266,   267,
   25182             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   25183             :      278,   279,    -1,   281,   282,   283,   284,   285,   286,   287,
   25184             :      288,   289,   290,   291,   292,    -1,   294,   295,    -1,   297,
   25185             :       -1,   299,   300,   301,   302,   303,   304,   305,    -1,   307,
   25186             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   25187             :      318,   319,    -1,   321,    -1,   323,   324,   325,   326,   327,
   25188             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   25189             :      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
   25190             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   25191             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   25192             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   25193             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   25194             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   25195             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   25196             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   25197             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   25198             :      428,   429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,
   25199             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   25200             :       -1,    -1,   450,   451,   452,   453,   454,    -1,   456,   457,
   25201             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   25202             :      468,   469,   470,   471,    -1,    -1,   474,   475,   476,   477,
   25203             :      478,   479,   480,    -1,   482,    -1,   484,   485,   486,   487,
   25204             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   25205             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   25206             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,    -1,
   25207             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25208             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   25209             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   25210             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   25211             :       47,    -1,    49,    50,    51,    52,    53,    -1,    55,    56,
   25212             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   25213             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   25214             :       77,    -1,    -1,    -1,    81,    82,    83,    84,    85,    86,
   25215             :       -1,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   25216             :       97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,
   25217             :       -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   25218             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   25219             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   25220             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   25221             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   25222             :      157,   158,   159,   160,   161,   162,   163,    -1,   165,    -1,
   25223             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   25224             :       -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,   186,
   25225             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   25226             :       -1,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   25227             :      207,   208,   209,   210,    -1,   212,    -1,   214,   215,   216,
   25228             :      217,   218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,
   25229             :      227,    -1,   229,   230,   231,   232,   233,   234,   235,   236,
   25230             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   25231             :       -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,
   25232             :      257,    -1,    -1,   260,   261,   262,   263,   264,   265,   266,
   25233             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   25234             :      277,   278,   279,    -1,   281,   282,   283,   284,   285,   286,
   25235             :      287,   288,   289,   290,   291,   292,    -1,   294,   295,    -1,
   25236             :      297,    -1,   299,   300,   301,   302,   303,   304,   305,    -1,
   25237             :      307,   308,   309,    -1,   311,   312,   313,   314,    -1,    -1,
   25238             :      317,   318,   319,    -1,   321,    -1,   323,   324,   325,   326,
   25239             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   25240             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   25241             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   25242             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   25243             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   25244             :      377,   378,    -1,   380,   381,   382,   383,   384,   385,   386,
   25245             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   25246             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   25247             :      407,    -1,   409,   410,   411,   412,    -1,   414,   415,   416,
   25248             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   25249             :      427,   428,   429,   430,    -1,   432,   433,    -1,    -1,   436,
   25250             :       -1,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   25251             :      447,    -1,    -1,   450,   451,   452,   453,   454,    -1,   456,
   25252             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,    -1,
   25253             :      467,   468,   469,   470,   471,    -1,    -1,   474,   475,   476,
   25254             :      477,   478,   479,   480,    -1,   482,    -1,   484,   485,   486,
   25255             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   25256             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   25257             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   25258             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25259             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   25260             :       26,    27,    28,    29,    30,    31,    32,    -1,    -1,    -1,
   25261             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   25262             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   25263             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   25264             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   25265             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   25266             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   25267             :       96,    97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,
   25268             :       -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   25269             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   25270             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   25271             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   25272             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   25273             :      156,   157,   158,   159,   160,   161,   162,   163,    -1,   165,
   25274             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   25275             :      176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,
   25276             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   25277             :      196,    -1,   198,   199,   200,   201,    -1,   203,   204,   205,
   25278             :      206,   207,   208,   209,   210,    -1,   212,    -1,   214,   215,
   25279             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,    -1,
   25280             :       -1,   227,    -1,   229,   230,   231,   232,   233,   234,   235,
   25281             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   25282             :      246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,
   25283             :      256,   257,    -1,    -1,   260,   261,   262,   263,   264,   265,
   25284             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   25285             :      276,   277,   278,   279,    -1,   281,   282,   283,   284,   285,
   25286             :      286,   287,   288,   289,   290,   291,   292,    -1,   294,   295,
   25287             :       -1,   297,    -1,   299,   300,   301,   302,   303,   304,   305,
   25288             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   25289             :       -1,   317,   318,   319,    -1,   321,    -1,   323,   324,   325,
   25290             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   25291             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   25292             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   25293             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   25294             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   25295             :       -1,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
   25296             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   25297             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   25298             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   25299             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   25300             :      426,   427,   428,   429,   430,    -1,   432,   433,    -1,    -1,
   25301             :      436,    -1,   438,   439,   440,   441,   442,   443,    -1,   445,
   25302             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,    -1,
   25303             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   25304             :       -1,   467,   468,   469,   470,   471,    -1,    -1,   474,   475,
   25305             :      476,   477,   478,   479,   480,    -1,   482,    -1,   484,   485,
   25306             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   25307             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   25308             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   25309             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25310             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   25311             :       25,    26,    27,    28,    29,    30,    31,    32,    -1,    -1,
   25312             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   25313             :       45,    46,    47,    -1,    49,    50,    51,    52,    53,    -1,
   25314             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   25315             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   25316             :       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    84,
   25317             :       85,    86,    -1,    88,    89,    90,    91,    -1,    93,    94,
   25318             :       95,    96,    97,    98,    -1,    -1,   101,   102,   103,    -1,
   25319             :       -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,
   25320             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   25321             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   25322             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   25323             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   25324             :      155,   156,   157,   158,   159,   160,   161,   162,   163,    -1,
   25325             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   25326             :      175,   176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,
   25327             :      185,   186,    -1,   188,   189,   190,    -1,   192,   193,   194,
   25328             :      195,   196,    -1,   198,   199,   200,   201,    -1,   203,   204,
   25329             :      205,   206,   207,   208,   209,   210,    -1,   212,    -1,   214,
   25330             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   25331             :       -1,    -1,   227,    -1,   229,   230,   231,   232,   233,   234,
   25332             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   25333             :      245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,
   25334             :      255,   256,   257,    -1,    -1,   260,   261,   262,   263,   264,
   25335             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   25336             :      275,   276,   277,   278,   279,    -1,   281,   282,   283,   284,
   25337             :      285,   286,   287,   288,   289,   290,   291,   292,    -1,   294,
   25338             :      295,    -1,   297,    -1,   299,   300,   301,   302,   303,   304,
   25339             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   25340             :       -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,   324,
   25341             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   25342             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   25343             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   25344             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   25345             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   25346             :      375,    -1,   377,   378,    -1,   380,   381,   382,   383,   384,
   25347             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   25348             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   25349             :      405,   406,   407,    -1,   409,   410,   411,   412,    -1,   414,
   25350             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   25351             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,    -1,
   25352             :       -1,   436,    -1,   438,   439,   440,   441,   442,   443,    -1,
   25353             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   25354             :       -1,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   25355             :       -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,   474,
   25356             :      475,   476,   477,   478,   479,   480,    -1,   482,    -1,   484,
   25357             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   25358             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   25359             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   25360             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25361             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   25362             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   25363             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   25364             :       44,    45,    46,    47,    -1,    49,    50,    51,    52,    53,
   25365             :       -1,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   25366             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   25367             :       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
   25368             :       84,    85,    86,    -1,    88,    89,    90,    91,    -1,    93,
   25369             :       94,    95,    96,    97,    98,    -1,    -1,   101,   102,   103,
   25370             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,
   25371             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   25372             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   25373             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   25374             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   25375             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   25376             :       -1,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   25377             :       -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,   183,
   25378             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   25379             :      194,   195,   196,    -1,   198,   199,   200,   201,    -1,   203,
   25380             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,    -1,
   25381             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   25382             :      224,    -1,    -1,   227,    -1,   229,   230,   231,   232,   233,
   25383             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   25384             :      244,   245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,
   25385             :       -1,   255,   256,   257,    -1,    -1,   260,   261,   262,   263,
   25386             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   25387             :      274,   275,   276,   277,   278,   279,    -1,   281,   282,   283,
   25388             :      284,   285,   286,   287,   288,   289,   290,   291,   292,    -1,
   25389             :      294,   295,    -1,   297,    -1,   299,   300,   301,   302,   303,
   25390             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   25391             :      314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,
   25392             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   25393             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   25394             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   25395             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   25396             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   25397             :      374,   375,    -1,   377,   378,    -1,   380,   381,   382,   383,
   25398             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   25399             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   25400             :      404,   405,   406,   407,    -1,   409,   410,   411,   412,    -1,
   25401             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   25402             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   25403             :       -1,   435,   436,    -1,   438,   439,   440,   441,   442,   443,
   25404             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   25405             :      454,    -1,   456,   457,   458,   459,   460,   461,   462,   463,
   25406             :      464,    -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,
   25407             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,    -1,
   25408             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   25409             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   25410             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   25411             :        3,    -1,    -1,     6,    -1,    -1,    -1,    -1,    -1,    -1,
   25412             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   25413             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   25414             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   25415             :       -1,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
   25416             :       53,    -1,    55,    56,    -1,    58,    59,    60,    61,    62,
   25417             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   25418             :       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
   25419             :       83,    84,    85,    86,    -1,    88,    89,    90,    91,    -1,
   25420             :       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
   25421             :      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,
   25422             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   25423             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   25424             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   25425             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   25426             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   25427             :      163,    -1,   165,    -1,   167,   168,   169,   170,   171,    -1,
   25428             :      173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,
   25429             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   25430             :      193,   194,   195,   196,    -1,   198,   199,   200,   201,    -1,
   25431             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   25432             :       -1,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   25433             :       -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,   232,
   25434             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   25435             :      243,   244,   245,   246,    -1,    -1,   249,   250,    -1,   252,
   25436             :       -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,   262,
   25437             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   25438             :      273,   274,   275,   276,   277,   278,   279,    -1,   281,   282,
   25439             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   25440             :       -1,   294,   295,    -1,   297,    -1,   299,   300,   301,   302,
   25441             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   25442             :      313,   314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,
   25443             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   25444             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   25445             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   25446             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   25447             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   25448             :      373,   374,   375,    -1,   377,   378,    -1,   380,   381,   382,
   25449             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   25450             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   25451             :      403,   404,   405,   406,   407,    -1,   409,   410,   411,   412,
   25452             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   25453             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   25454             :      433,    -1,    -1,   436,    -1,   438,   439,   440,   441,   442,
   25455             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   25456             :      453,   454,    -1,   456,   457,   458,   459,   460,   461,   462,
   25457             :      463,   464,    -1,    -1,   467,   468,   469,   470,   471,    -1,
   25458             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   25459             :       -1,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   25460             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   25461             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   25462             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    11,
   25463             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   25464             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   25465             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   25466             :       42,    -1,    44,    45,    46,    47,    -1,    49,    50,    51,
   25467             :       52,    53,    -1,    55,    56,    -1,    58,    59,    60,    61,
   25468             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   25469             :       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
   25470             :       82,    83,    84,    85,    86,    -1,    88,    89,    90,    91,
   25471             :       -1,    93,    94,    95,    96,    97,    98,    -1,    -1,   101,
   25472             :      102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
   25473             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   25474             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   25475             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   25476             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   25477             :      152,    -1,   154,   155,   156,   157,   158,   159,   160,   161,
   25478             :      162,   163,    -1,   165,    -1,   167,   168,   169,   170,   171,
   25479             :       -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,
   25480             :      182,   183,    -1,   185,   186,    -1,   188,   189,   190,    -1,
   25481             :      192,   193,   194,   195,   196,    -1,   198,   199,   200,   201,
   25482             :       -1,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
   25483             :      212,    -1,   214,   215,   216,   217,   218,   219,   220,    -1,
   25484             :      222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,
   25485             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   25486             :      242,   243,   244,   245,   246,    -1,    -1,   249,   250,    -1,
   25487             :      252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,
   25488             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   25489             :      272,   273,   274,   275,   276,   277,   278,   279,    -1,   281,
   25490             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   25491             :      292,    -1,   294,   295,    -1,   297,    -1,   299,   300,   301,
   25492             :      302,   303,   304,   305,    -1,   307,   308,   309,    -1,    -1,
   25493             :      312,   313,   314,    -1,    -1,   317,   318,   319,    -1,   321,
   25494             :       -1,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   25495             :      332,   333,   334,   335,    -1,   337,   338,   339,   340,   341,
   25496             :      342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
   25497             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   25498             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   25499             :      372,   373,   374,   375,    -1,   377,   378,    -1,   380,   381,
   25500             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   25501             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   25502             :       -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
   25503             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   25504             :      422,   423,   424,   425,   426,   427,   428,   429,   430,    -1,
   25505             :      432,   433,    -1,    -1,   436,    -1,   438,   439,   440,   441,
   25506             :      442,   443,    -1,   445,   446,   447,    -1,    -1,   450,   451,
   25507             :      452,   453,   454,    -1,   456,   457,   458,   459,   460,   461,
   25508             :      462,   463,   464,    -1,    -1,   467,   468,   469,   470,   471,
   25509             :       -1,    -1,   474,   475,   476,   477,   478,   479,   480,    -1,
   25510             :      482,    -1,   484,   485,   486,   487,   488,    -1,    -1,   491,
   25511             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   25512             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   25513             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25514             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   25515             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   25516             :       31,    32,    -1,    -1,    -1,    -1,    -1,    38,    -1,    40,
   25517             :       41,    42,    -1,    44,    45,    46,    47,    -1,    49,    50,
   25518             :       51,    52,    53,    -1,    55,    56,    -1,    58,    59,    60,
   25519             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   25520             :       71,    -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,
   25521             :       81,    82,    83,    84,    85,    86,    -1,    88,    89,    90,
   25522             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,    -1,
   25523             :      101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25524             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   25525             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   25526             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   25527             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   25528             :      151,   152,    -1,   154,   155,   156,   157,   158,   159,   160,
   25529             :      161,   162,   163,    -1,   165,    -1,   167,   168,   169,   170,
   25530             :      171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,
   25531             :      181,   182,   183,    -1,   185,   186,    -1,   188,   189,   190,
   25532             :       -1,   192,   193,   194,   195,   196,    -1,   198,   199,   200,
   25533             :      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
   25534             :       -1,   212,    -1,   214,   215,   216,   217,   218,   219,   220,
   25535             :       -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,
   25536             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   25537             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,   250,
   25538             :       -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,
   25539             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   25540             :      271,   272,   273,   274,   275,   276,   277,   278,   279,    -1,
   25541             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   25542             :      291,   292,    -1,   294,   295,    -1,   297,    -1,   299,   300,
   25543             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   25544             :       -1,   312,   313,   314,    -1,    -1,   317,   318,   319,    -1,
   25545             :      321,    -1,   323,   324,   325,   326,   327,   328,   329,   330,
   25546             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,   340,
   25547             :      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
   25548             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   25549             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   25550             :      371,   372,   373,   374,   375,    -1,   377,   378,    -1,   380,
   25551             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   25552             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   25553             :      401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
   25554             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   25555             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   25556             :       -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,   440,
   25557             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   25558             :      451,   452,   453,   454,    -1,   456,   457,   458,   459,   460,
   25559             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   25560             :      471,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
   25561             :       -1,   482,    -1,   484,   485,   486,   487,   488,    -1,    -1,
   25562             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   25563             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   25564             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   25565             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25566             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   25567             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    38,    -1,
   25568             :       40,    41,    42,    -1,    44,    45,    46,    47,    -1,    49,
   25569             :       50,    51,    52,    53,    -1,    55,    56,    -1,    58,    59,
   25570             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   25571             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    -1,
   25572             :       -1,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
   25573             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   25574             :       -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
   25575             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   25576             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   25577             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   25578             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   25579             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   25580             :      160,   161,   162,   163,    -1,   165,    -1,   167,   168,   169,
   25581             :      170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,
   25582             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   25583             :      190,    -1,   192,   193,   194,   195,   196,    -1,   198,   199,
   25584             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   25585             :      210,    -1,   212,    -1,   214,   215,   216,   217,   218,   219,
   25586             :      220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,
   25587             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   25588             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   25589             :      250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,
   25590             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   25591             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   25592             :       -1,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   25593             :      290,   291,   292,    -1,   294,   295,    -1,   297,    -1,   299,
   25594             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   25595             :       -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,   319,
   25596             :       -1,   321,    -1,   323,   324,   325,   326,   327,   328,   329,
   25597             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   25598             :      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
   25599             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   25600             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   25601             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,    -1,
   25602             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   25603             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   25604             :      400,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
   25605             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   25606             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   25607             :      430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,
   25608             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   25609             :      450,   451,   452,   453,   454,    -1,   456,   457,   458,   459,
   25610             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   25611             :      470,   471,    -1,    -1,   474,   475,   476,   477,   478,   479,
   25612             :      480,    -1,   482,    -1,   484,   485,   486,   487,   488,    -1,
   25613             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   25614             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   25615             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   25616             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25617             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   25618             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   25619             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   25620             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   25621             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   25622             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   25623             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   25624             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   25625             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   25626             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   25627             :      119,   120,   121,    -1,   123,   124,   125,   126,   127,   128,
   25628             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   25629             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   25630             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   25631             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   25632             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   25633             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   25634             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   25635             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   25636             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   25637             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   25638             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   25639             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   25640             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   25641             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   25642             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   25643             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   25644             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   25645             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   25646             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   25647             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   25648             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   25649             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   25650             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   25651             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   25652             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   25653             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   25654             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   25655             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   25656             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   25657             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   25658             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   25659             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   25660             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   25661             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   25662             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   25663             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   25664             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   25665             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   25666             :      509,   510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,
   25667             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25668             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   25669             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   25670             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   25671             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   25672             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   25673             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   25674             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   25675             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   25676             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   25677             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   25678             :      118,   119,   120,   121,    -1,   123,   124,   125,   126,   127,
   25679             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   25680             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   25681             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   25682             :      158,   159,   160,   161,   162,   163,    -1,   165,    -1,   167,
   25683             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,    -1,
   25684             :       -1,    -1,   180,   181,   182,   183,    -1,   185,   186,    -1,
   25685             :      188,   189,   190,    -1,   192,   193,   194,   195,   196,    -1,
   25686             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   25687             :      208,   209,   210,    -1,   212,    -1,   214,   215,   216,   217,
   25688             :      218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,
   25689             :       -1,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   25690             :      238,   239,   240,   241,   242,   243,   244,   245,   246,    -1,
   25691             :       -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,   257,
   25692             :       -1,    -1,   260,   261,   262,   263,   264,   265,   266,   267,
   25693             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   25694             :      278,   279,    -1,   281,   282,   283,   284,   285,   286,   287,
   25695             :      288,   289,   290,   291,   292,    -1,   294,   295,    -1,   297,
   25696             :       -1,   299,   300,   301,   302,   303,   304,   305,    -1,   307,
   25697             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   25698             :      318,   319,    -1,   321,    -1,   323,   324,   325,   326,   327,
   25699             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   25700             :      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
   25701             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   25702             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   25703             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   25704             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   25705             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   25706             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   25707             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   25708             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   25709             :      428,   429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,
   25710             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   25711             :       -1,    -1,   450,   451,   452,   453,   454,    -1,   456,   457,
   25712             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   25713             :      468,   469,   470,   471,    -1,    -1,   474,   475,   476,   477,
   25714             :      478,   479,   480,    -1,   482,    -1,   484,   485,   486,   487,
   25715             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   25716             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   25717             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,    -1,
   25718             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25719             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   25720             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   25721             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   25722             :       47,    -1,    49,    50,    51,    52,    53,    -1,    55,    56,
   25723             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   25724             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   25725             :       77,    -1,    -1,    -1,    81,    82,    83,    84,    85,    86,
   25726             :       -1,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   25727             :       97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,
   25728             :      107,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   25729             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   25730             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   25731             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   25732             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   25733             :      157,   158,   159,   160,   161,   162,   163,    -1,   165,    -1,
   25734             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   25735             :       -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,   186,
   25736             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   25737             :       -1,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   25738             :      207,   208,   209,   210,    -1,   212,    -1,   214,   215,   216,
   25739             :      217,   218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,
   25740             :      227,    -1,   229,   230,   231,   232,   233,   234,   235,   236,
   25741             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   25742             :       -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,
   25743             :      257,    -1,    -1,   260,   261,   262,   263,   264,   265,   266,
   25744             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   25745             :      277,   278,   279,    -1,   281,   282,   283,   284,   285,   286,
   25746             :      287,   288,   289,   290,   291,   292,    -1,   294,   295,    -1,
   25747             :      297,    -1,   299,   300,   301,   302,   303,   304,   305,    -1,
   25748             :      307,   308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,
   25749             :      317,   318,   319,    -1,   321,    -1,   323,   324,   325,   326,
   25750             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   25751             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   25752             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   25753             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   25754             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   25755             :      377,   378,    -1,   380,   381,   382,   383,   384,   385,   386,
   25756             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   25757             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   25758             :      407,    -1,   409,   410,   411,   412,    -1,   414,   415,   416,
   25759             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   25760             :      427,   428,   429,   430,    -1,   432,   433,    -1,    -1,   436,
   25761             :       -1,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   25762             :      447,    -1,    -1,   450,   451,   452,   453,   454,    -1,   456,
   25763             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,    -1,
   25764             :      467,   468,   469,   470,   471,    -1,    -1,   474,   475,   476,
   25765             :      477,   478,   479,   480,    -1,   482,    -1,   484,   485,   486,
   25766             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   25767             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   25768             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   25769             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25770             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   25771             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   25772             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   25773             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   25774             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   25775             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   25776             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   25777             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   25778             :       96,    97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,
   25779             :       -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   25780             :      116,   117,   118,   119,   120,   121,    -1,   123,   124,   125,
   25781             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   25782             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   25783             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   25784             :      156,   157,   158,   159,   160,   161,   162,   163,    -1,   165,
   25785             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   25786             :      176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,
   25787             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   25788             :      196,    -1,   198,   199,   200,   201,    -1,   203,   204,   205,
   25789             :      206,   207,   208,   209,   210,    -1,   212,    -1,   214,   215,
   25790             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,    -1,
   25791             :       -1,   227,    -1,   229,   230,   231,   232,   233,   234,   235,
   25792             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   25793             :      246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,
   25794             :      256,   257,    -1,    -1,   260,   261,   262,   263,   264,   265,
   25795             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   25796             :      276,   277,   278,   279,    -1,   281,   282,   283,   284,   285,
   25797             :      286,   287,   288,   289,   290,   291,   292,    -1,   294,   295,
   25798             :       -1,   297,    -1,   299,   300,   301,   302,   303,   304,   305,
   25799             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   25800             :       -1,   317,   318,   319,    -1,   321,    -1,   323,   324,   325,
   25801             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   25802             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   25803             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   25804             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   25805             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   25806             :       -1,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
   25807             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   25808             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   25809             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   25810             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   25811             :      426,   427,   428,   429,   430,    -1,   432,   433,    -1,    -1,
   25812             :      436,    -1,   438,   439,   440,   441,   442,   443,    -1,   445,
   25813             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,    -1,
   25814             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   25815             :       -1,   467,   468,   469,   470,   471,    -1,    -1,   474,   475,
   25816             :      476,   477,   478,   479,   480,    -1,   482,    -1,   484,   485,
   25817             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   25818             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   25819             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   25820             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25821             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   25822             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   25823             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   25824             :       45,    46,    47,    -1,    49,    50,    51,    52,    53,    -1,
   25825             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   25826             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   25827             :       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    84,
   25828             :       85,    86,    -1,    88,    89,    90,    91,    -1,    93,    94,
   25829             :       95,    96,    97,    98,    -1,    -1,   101,   102,   103,    -1,
   25830             :       -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,
   25831             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   25832             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   25833             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   25834             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   25835             :      155,   156,   157,   158,   159,   160,   161,   162,   163,    -1,
   25836             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   25837             :      175,   176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,
   25838             :      185,   186,    -1,   188,   189,   190,    -1,   192,   193,   194,
   25839             :      195,   196,    -1,   198,   199,   200,   201,    -1,   203,   204,
   25840             :      205,   206,   207,   208,   209,   210,    -1,   212,    -1,   214,
   25841             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   25842             :       -1,    -1,   227,    -1,   229,   230,   231,   232,   233,   234,
   25843             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   25844             :      245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,
   25845             :      255,   256,   257,    -1,    -1,   260,   261,   262,   263,   264,
   25846             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   25847             :      275,   276,   277,   278,   279,    -1,   281,   282,   283,   284,
   25848             :      285,   286,   287,   288,   289,   290,   291,   292,    -1,   294,
   25849             :      295,    -1,   297,    -1,   299,   300,   301,   302,   303,   304,
   25850             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   25851             :       -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,   324,
   25852             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   25853             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   25854             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   25855             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   25856             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   25857             :      375,    -1,   377,   378,    -1,   380,   381,   382,   383,   384,
   25858             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   25859             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   25860             :      405,   406,   407,    -1,   409,   410,   411,   412,    -1,   414,
   25861             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   25862             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,    -1,
   25863             :       -1,   436,    -1,   438,   439,   440,   441,   442,   443,    -1,
   25864             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   25865             :       -1,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   25866             :       -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,   474,
   25867             :      475,   476,   477,   478,   479,   480,    -1,   482,    -1,   484,
   25868             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   25869             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   25870             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   25871             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25872             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   25873             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   25874             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   25875             :       44,    45,    46,    47,    -1,    49,    50,    51,    52,    53,
   25876             :       -1,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   25877             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   25878             :       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
   25879             :       84,    85,    86,    -1,    88,    89,    90,    91,    -1,    93,
   25880             :       94,    95,    96,    97,    98,    -1,    -1,   101,   102,   103,
   25881             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,
   25882             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   25883             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   25884             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   25885             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   25886             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   25887             :       -1,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   25888             :       -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,   183,
   25889             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   25890             :      194,   195,   196,    -1,   198,   199,   200,   201,    -1,   203,
   25891             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,    -1,
   25892             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   25893             :      224,    -1,    -1,   227,    -1,   229,   230,   231,   232,   233,
   25894             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   25895             :      244,   245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,
   25896             :       -1,   255,   256,   257,    -1,    -1,   260,   261,   262,   263,
   25897             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   25898             :      274,   275,   276,   277,   278,   279,    -1,   281,   282,   283,
   25899             :      284,   285,   286,   287,   288,   289,   290,   291,   292,    -1,
   25900             :      294,   295,    -1,   297,    -1,   299,   300,   301,   302,   303,
   25901             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   25902             :      314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,
   25903             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   25904             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   25905             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   25906             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   25907             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   25908             :      374,   375,    -1,   377,   378,    -1,   380,   381,   382,   383,
   25909             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   25910             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   25911             :      404,   405,   406,   407,    -1,   409,   410,   411,   412,    -1,
   25912             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   25913             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   25914             :       -1,    -1,   436,    -1,   438,   439,   440,   441,   442,   443,
   25915             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   25916             :      454,    -1,   456,   457,   458,   459,   460,   461,   462,   463,
   25917             :      464,    -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,
   25918             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,    -1,
   25919             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   25920             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   25921             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   25922             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25923             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   25924             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   25925             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   25926             :       -1,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
   25927             :       53,    -1,    55,    56,    -1,    58,    59,    60,    61,    62,
   25928             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   25929             :       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
   25930             :       83,    84,    85,    86,    -1,    88,    89,    90,    91,    -1,
   25931             :       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
   25932             :      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,
   25933             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   25934             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   25935             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   25936             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   25937             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   25938             :      163,    -1,   165,    -1,   167,   168,   169,   170,   171,    -1,
   25939             :      173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,
   25940             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   25941             :      193,   194,   195,   196,    -1,   198,   199,   200,   201,    -1,
   25942             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   25943             :       -1,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   25944             :       -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,   232,
   25945             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   25946             :      243,   244,   245,   246,    -1,    -1,   249,   250,    -1,   252,
   25947             :       -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,   262,
   25948             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   25949             :      273,   274,   275,   276,   277,   278,   279,    -1,   281,   282,
   25950             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   25951             :       -1,   294,   295,    -1,   297,    -1,   299,   300,   301,   302,
   25952             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   25953             :      313,   314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,
   25954             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   25955             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   25956             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   25957             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   25958             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   25959             :      373,   374,   375,    -1,   377,   378,    -1,   380,   381,   382,
   25960             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   25961             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   25962             :      403,   404,   405,   406,   407,    -1,   409,   410,   411,   412,
   25963             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   25964             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   25965             :      433,    -1,    -1,   436,    -1,   438,   439,   440,   441,   442,
   25966             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   25967             :      453,   454,    -1,   456,   457,   458,   459,   460,   461,   462,
   25968             :      463,   464,    -1,    -1,   467,   468,   469,   470,   471,    -1,
   25969             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   25970             :       -1,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   25971             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   25972             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   25973             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25974             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   25975             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   25976             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   25977             :       42,    -1,    44,    45,    46,    47,    -1,    49,    50,    51,
   25978             :       52,    53,    -1,    55,    56,    -1,    58,    59,    60,    61,
   25979             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   25980             :       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
   25981             :       82,    83,    84,    85,    86,    -1,    88,    89,    90,    91,
   25982             :       -1,    93,    94,    95,    96,    97,    98,    -1,    -1,   101,
   25983             :      102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
   25984             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   25985             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   25986             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   25987             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   25988             :      152,    -1,   154,   155,   156,   157,   158,   159,   160,   161,
   25989             :      162,   163,    -1,   165,    -1,   167,   168,   169,   170,   171,
   25990             :       -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,
   25991             :      182,   183,    -1,   185,   186,    -1,   188,   189,   190,    -1,
   25992             :      192,   193,   194,   195,   196,    -1,   198,   199,   200,   201,
   25993             :       -1,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
   25994             :      212,    -1,   214,   215,   216,   217,   218,   219,   220,    -1,
   25995             :      222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,
   25996             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   25997             :      242,   243,   244,   245,   246,    -1,    -1,   249,   250,    -1,
   25998             :      252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,
   25999             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   26000             :      272,   273,   274,   275,   276,   277,   278,   279,    -1,   281,
   26001             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   26002             :      292,    -1,   294,   295,    -1,   297,    -1,   299,   300,   301,
   26003             :      302,   303,   304,   305,    -1,   307,   308,   309,    -1,    -1,
   26004             :      312,   313,   314,    -1,    -1,   317,   318,   319,    -1,   321,
   26005             :       -1,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   26006             :      332,   333,   334,   335,    -1,   337,   338,   339,   340,   341,
   26007             :      342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
   26008             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   26009             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   26010             :      372,   373,   374,   375,    -1,   377,   378,    -1,   380,   381,
   26011             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   26012             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   26013             :       -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
   26014             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   26015             :      422,   423,   424,   425,   426,   427,   428,   429,   430,    -1,
   26016             :      432,   433,    -1,    -1,   436,    -1,   438,   439,   440,   441,
   26017             :      442,   443,    -1,   445,   446,   447,    -1,    -1,   450,   451,
   26018             :      452,   453,   454,    -1,   456,   457,   458,   459,   460,   461,
   26019             :      462,   463,   464,    -1,    -1,   467,   468,   469,   470,   471,
   26020             :       -1,    -1,   474,   475,   476,   477,   478,   479,   480,    -1,
   26021             :      482,    -1,   484,   485,   486,   487,   488,    -1,    -1,   491,
   26022             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   26023             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   26024             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26025             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   26026             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   26027             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   26028             :       41,    42,    -1,    44,    45,    46,    47,    -1,    49,    50,
   26029             :       51,    52,    53,    -1,    55,    56,    -1,    58,    59,    60,
   26030             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   26031             :       71,    -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,
   26032             :       81,    82,    83,    84,    85,    86,    -1,    88,    89,    90,
   26033             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,    -1,
   26034             :      101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26035             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   26036             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   26037             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   26038             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   26039             :      151,   152,    -1,   154,   155,   156,   157,   158,   159,   160,
   26040             :      161,   162,   163,    -1,   165,    -1,   167,   168,   169,   170,
   26041             :      171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,
   26042             :      181,   182,   183,    -1,   185,   186,    -1,   188,   189,   190,
   26043             :       -1,   192,   193,   194,   195,   196,    -1,   198,   199,   200,
   26044             :      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
   26045             :       -1,   212,    -1,   214,   215,   216,   217,   218,   219,   220,
   26046             :       -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,
   26047             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   26048             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,   250,
   26049             :       -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,
   26050             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   26051             :      271,   272,   273,   274,   275,   276,   277,   278,   279,    -1,
   26052             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   26053             :      291,   292,    -1,   294,   295,    -1,   297,    -1,   299,   300,
   26054             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   26055             :       -1,   312,   313,   314,    -1,    -1,   317,   318,   319,    -1,
   26056             :      321,    -1,   323,   324,   325,   326,   327,   328,   329,   330,
   26057             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,   340,
   26058             :      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
   26059             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   26060             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   26061             :      371,   372,   373,   374,   375,    -1,   377,   378,    -1,   380,
   26062             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   26063             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   26064             :      401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
   26065             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   26066             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   26067             :       -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,   440,
   26068             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   26069             :      451,   452,   453,   454,    -1,   456,   457,   458,   459,   460,
   26070             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   26071             :      471,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
   26072             :       -1,   482,    -1,   484,   485,   486,   487,   488,    -1,    -1,
   26073             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   26074             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   26075             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   26076             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26077             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   26078             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26079             :       40,    41,    42,    -1,    44,    45,    46,    47,    -1,    49,
   26080             :       50,    51,    52,    53,    -1,    55,    56,    -1,    58,    59,
   26081             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   26082             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    -1,
   26083             :       -1,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
   26084             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   26085             :       -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
   26086             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   26087             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   26088             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   26089             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   26090             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   26091             :      160,   161,   162,   163,    -1,   165,    -1,   167,   168,   169,
   26092             :      170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,
   26093             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   26094             :      190,    -1,   192,   193,   194,   195,   196,    -1,   198,   199,
   26095             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   26096             :      210,    -1,   212,    -1,   214,   215,   216,   217,   218,   219,
   26097             :      220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,
   26098             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   26099             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   26100             :      250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,
   26101             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   26102             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   26103             :       -1,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   26104             :      290,   291,   292,    -1,   294,   295,    -1,   297,    -1,   299,
   26105             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   26106             :       -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,   319,
   26107             :       -1,   321,    -1,   323,   324,   325,   326,   327,   328,   329,
   26108             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   26109             :      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
   26110             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   26111             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   26112             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,    -1,
   26113             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   26114             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   26115             :      400,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
   26116             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   26117             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   26118             :      430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,
   26119             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   26120             :      450,   451,   452,   453,   454,    -1,   456,   457,   458,   459,
   26121             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   26122             :      470,   471,    -1,    -1,   474,   475,   476,   477,   478,   479,
   26123             :      480,    -1,   482,    -1,   484,   485,   486,   487,   488,    -1,
   26124             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   26125             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   26126             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   26127             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26128             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   26129             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   26130             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   26131             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   26132             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   26133             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   26134             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   26135             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   26136             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   26137             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   26138             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   26139             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   26140             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   26141             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   26142             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   26143             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   26144             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   26145             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   26146             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   26147             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   26148             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   26149             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   26150             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   26151             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   26152             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   26153             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   26154             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   26155             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   26156             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   26157             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   26158             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   26159             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   26160             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   26161             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   26162             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   26163             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   26164             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   26165             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   26166             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   26167             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   26168             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   26169             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   26170             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   26171             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   26172             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   26173             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   26174             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   26175             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   26176             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   26177             :      509,   510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,
   26178             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26179             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   26180             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   26181             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   26182             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   26183             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   26184             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   26185             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   26186             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   26187             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   26188             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   26189             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   26190             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   26191             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   26192             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   26193             :      158,   159,   160,   161,   162,   163,    -1,   165,    -1,   167,
   26194             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,    -1,
   26195             :       -1,    -1,   180,   181,   182,   183,    -1,   185,   186,    -1,
   26196             :      188,   189,   190,    -1,   192,   193,   194,   195,   196,    -1,
   26197             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   26198             :      208,   209,   210,    -1,   212,    -1,   214,   215,   216,   217,
   26199             :      218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,
   26200             :       -1,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   26201             :      238,   239,   240,   241,   242,   243,   244,   245,   246,    -1,
   26202             :       -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,   257,
   26203             :       -1,    -1,   260,   261,   262,   263,   264,   265,   266,   267,
   26204             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   26205             :      278,   279,    -1,   281,   282,   283,   284,   285,   286,   287,
   26206             :      288,   289,   290,   291,   292,    -1,   294,   295,    -1,   297,
   26207             :       -1,   299,   300,   301,   302,   303,   304,   305,    -1,   307,
   26208             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   26209             :      318,   319,    -1,   321,    -1,   323,   324,   325,   326,   327,
   26210             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   26211             :      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
   26212             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   26213             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   26214             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   26215             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   26216             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   26217             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   26218             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   26219             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   26220             :      428,   429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,
   26221             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   26222             :       -1,    -1,   450,   451,   452,   453,   454,    -1,   456,   457,
   26223             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   26224             :      468,   469,   470,   471,    -1,    -1,   474,   475,   476,   477,
   26225             :      478,   479,   480,    -1,   482,    -1,   484,   485,   486,   487,
   26226             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   26227             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   26228             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,    -1,
   26229             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26230             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   26231             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   26232             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   26233             :       47,    -1,    49,    50,    51,    52,    53,    -1,    55,    56,
   26234             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   26235             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   26236             :       77,    -1,    -1,    -1,    81,    82,    83,    84,    85,    86,
   26237             :       -1,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   26238             :       97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,
   26239             :       -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   26240             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   26241             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   26242             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   26243             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   26244             :      157,   158,   159,   160,   161,   162,   163,    -1,   165,    -1,
   26245             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   26246             :       -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,   186,
   26247             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   26248             :       -1,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   26249             :      207,   208,   209,   210,    -1,   212,    -1,   214,   215,   216,
   26250             :      217,   218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,
   26251             :      227,    -1,   229,   230,   231,   232,   233,   234,   235,   236,
   26252             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   26253             :       -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,
   26254             :      257,    -1,    -1,   260,   261,   262,   263,   264,   265,   266,
   26255             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   26256             :      277,   278,   279,    -1,   281,   282,   283,   284,   285,   286,
   26257             :      287,   288,   289,   290,   291,   292,    -1,   294,   295,    -1,
   26258             :      297,    -1,   299,   300,   301,   302,   303,   304,   305,    -1,
   26259             :      307,   308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,
   26260             :      317,   318,   319,    -1,   321,    -1,   323,   324,   325,   326,
   26261             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   26262             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   26263             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   26264             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   26265             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   26266             :      377,   378,    -1,   380,   381,   382,   383,   384,   385,   386,
   26267             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   26268             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   26269             :      407,    -1,   409,   410,   411,   412,    -1,   414,   415,   416,
   26270             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   26271             :      427,   428,   429,   430,    -1,   432,   433,    -1,    -1,   436,
   26272             :       -1,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   26273             :      447,    -1,    -1,   450,   451,   452,   453,   454,    -1,   456,
   26274             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,    -1,
   26275             :      467,   468,   469,   470,   471,    -1,    -1,   474,   475,   476,
   26276             :      477,   478,   479,   480,    -1,   482,    -1,   484,   485,   486,
   26277             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   26278             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   26279             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   26280             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26281             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   26282             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   26283             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   26284             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   26285             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   26286             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   26287             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   26288             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   26289             :       96,    97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,
   26290             :       -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   26291             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   26292             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   26293             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   26294             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   26295             :      156,   157,   158,   159,   160,   161,   162,   163,    -1,   165,
   26296             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   26297             :      176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,
   26298             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   26299             :      196,    -1,   198,   199,   200,   201,    -1,   203,   204,   205,
   26300             :      206,   207,   208,   209,   210,    -1,   212,    -1,   214,   215,
   26301             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,    -1,
   26302             :       -1,   227,    -1,   229,   230,   231,   232,   233,   234,   235,
   26303             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   26304             :      246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,
   26305             :      256,   257,    -1,    -1,   260,   261,   262,   263,   264,   265,
   26306             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   26307             :      276,   277,   278,   279,    -1,   281,   282,   283,   284,   285,
   26308             :      286,   287,   288,   289,   290,   291,   292,    -1,   294,   295,
   26309             :       -1,   297,    -1,   299,   300,   301,   302,   303,   304,   305,
   26310             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   26311             :       -1,   317,   318,   319,    -1,   321,    -1,   323,   324,   325,
   26312             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   26313             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   26314             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   26315             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   26316             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   26317             :       -1,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
   26318             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   26319             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   26320             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   26321             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   26322             :      426,   427,   428,   429,   430,    -1,   432,   433,    -1,    -1,
   26323             :      436,    -1,   438,   439,   440,   441,   442,   443,    -1,   445,
   26324             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,    -1,
   26325             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   26326             :       -1,   467,   468,   469,   470,   471,    -1,    -1,   474,   475,
   26327             :      476,   477,   478,   479,   480,    -1,   482,    -1,   484,   485,
   26328             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   26329             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   26330             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   26331             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26332             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   26333             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   26334             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   26335             :       45,    46,    47,    -1,    49,    50,    51,    52,    53,    -1,
   26336             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   26337             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   26338             :       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    84,
   26339             :       85,    86,    -1,    88,    89,    90,    91,    -1,    93,    94,
   26340             :       95,    96,    97,    98,    -1,    -1,   101,   102,   103,    -1,
   26341             :       -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,
   26342             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   26343             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   26344             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   26345             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   26346             :      155,   156,   157,   158,   159,   160,   161,   162,   163,    -1,
   26347             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   26348             :      175,   176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,
   26349             :      185,   186,    -1,   188,   189,   190,    -1,   192,   193,   194,
   26350             :      195,   196,    -1,   198,   199,   200,   201,    -1,   203,   204,
   26351             :      205,   206,   207,   208,   209,   210,    -1,   212,    -1,   214,
   26352             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   26353             :       -1,    -1,   227,    -1,   229,   230,   231,   232,   233,   234,
   26354             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   26355             :      245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,
   26356             :      255,   256,   257,    -1,    -1,   260,   261,   262,   263,   264,
   26357             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   26358             :      275,   276,   277,   278,   279,    -1,   281,   282,   283,   284,
   26359             :      285,   286,   287,   288,   289,   290,   291,   292,    -1,   294,
   26360             :      295,    -1,   297,    -1,   299,   300,   301,   302,   303,   304,
   26361             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   26362             :       -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,   324,
   26363             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   26364             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   26365             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   26366             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   26367             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   26368             :      375,    -1,   377,   378,    -1,   380,   381,   382,   383,   384,
   26369             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   26370             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   26371             :      405,   406,   407,    -1,   409,   410,   411,   412,    -1,   414,
   26372             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   26373             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,    -1,
   26374             :       -1,   436,    -1,   438,   439,   440,   441,   442,   443,    -1,
   26375             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   26376             :       -1,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   26377             :       -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,   474,
   26378             :      475,   476,   477,   478,   479,   480,    -1,   482,    -1,   484,
   26379             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   26380             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   26381             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   26382             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26383             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   26384             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   26385             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   26386             :       44,    45,    46,    47,    -1,    49,    50,    51,    52,    53,
   26387             :       -1,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   26388             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   26389             :       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
   26390             :       84,    85,    86,    -1,    88,    89,    90,    91,    -1,    93,
   26391             :       94,    95,    96,    97,    98,    -1,    -1,   101,   102,   103,
   26392             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,
   26393             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   26394             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   26395             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   26396             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   26397             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   26398             :       -1,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   26399             :       -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,   183,
   26400             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   26401             :      194,   195,   196,    -1,   198,   199,   200,   201,    -1,   203,
   26402             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,    -1,
   26403             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   26404             :      224,    -1,    -1,   227,    -1,   229,   230,   231,   232,   233,
   26405             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   26406             :      244,   245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,
   26407             :       -1,   255,   256,   257,    -1,    -1,   260,   261,   262,   263,
   26408             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   26409             :      274,   275,   276,   277,   278,   279,    -1,   281,   282,   283,
   26410             :      284,   285,   286,   287,   288,   289,   290,   291,   292,    -1,
   26411             :      294,   295,    -1,   297,    -1,   299,   300,   301,   302,   303,
   26412             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   26413             :      314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,
   26414             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   26415             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   26416             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   26417             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   26418             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   26419             :      374,   375,    -1,   377,   378,    -1,   380,   381,   382,   383,
   26420             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   26421             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   26422             :      404,   405,   406,   407,    -1,   409,   410,   411,   412,    -1,
   26423             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   26424             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   26425             :       -1,    -1,   436,    -1,   438,   439,   440,   441,   442,   443,
   26426             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   26427             :      454,    -1,   456,   457,   458,   459,   460,   461,   462,   463,
   26428             :      464,    -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,
   26429             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,    -1,
   26430             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   26431             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   26432             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   26433             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26434             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   26435             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   26436             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   26437             :       -1,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
   26438             :       53,    -1,    55,    56,    -1,    58,    59,    60,    61,    62,
   26439             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   26440             :       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
   26441             :       83,    84,    85,    86,    -1,    88,    89,    90,    91,    -1,
   26442             :       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
   26443             :      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,
   26444             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   26445             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   26446             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   26447             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   26448             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   26449             :      163,    -1,   165,    -1,   167,   168,   169,   170,   171,    -1,
   26450             :      173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,
   26451             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   26452             :      193,   194,   195,   196,    -1,   198,   199,   200,   201,    -1,
   26453             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   26454             :       -1,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   26455             :       -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,   232,
   26456             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   26457             :      243,   244,   245,   246,    -1,    -1,   249,   250,    -1,   252,
   26458             :       -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,   262,
   26459             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   26460             :      273,   274,   275,   276,   277,   278,   279,    -1,   281,   282,
   26461             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   26462             :       -1,   294,   295,    -1,   297,    -1,   299,   300,   301,   302,
   26463             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   26464             :      313,   314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,
   26465             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   26466             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   26467             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   26468             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   26469             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   26470             :      373,   374,   375,    -1,   377,   378,    -1,   380,   381,   382,
   26471             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   26472             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   26473             :      403,   404,   405,   406,   407,    -1,   409,   410,   411,   412,
   26474             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   26475             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   26476             :      433,    -1,    -1,   436,    -1,   438,   439,   440,   441,   442,
   26477             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   26478             :      453,   454,    -1,   456,   457,   458,   459,   460,   461,   462,
   26479             :      463,   464,    -1,    -1,   467,   468,   469,   470,   471,    -1,
   26480             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   26481             :       -1,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   26482             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   26483             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   26484             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26485             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   26486             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   26487             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   26488             :       42,    -1,    44,    45,    46,    47,    -1,    49,    50,    51,
   26489             :       52,    53,    -1,    55,    56,    -1,    58,    59,    60,    61,
   26490             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   26491             :       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
   26492             :       82,    83,    84,    85,    86,    -1,    88,    89,    90,    91,
   26493             :       -1,    93,    94,    95,    96,    97,    98,    -1,    -1,   101,
   26494             :      102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
   26495             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   26496             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   26497             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   26498             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   26499             :      152,    -1,   154,   155,   156,   157,   158,   159,   160,   161,
   26500             :      162,   163,    -1,   165,    -1,   167,   168,   169,   170,   171,
   26501             :       -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,
   26502             :      182,   183,    -1,   185,   186,    -1,   188,   189,   190,    -1,
   26503             :      192,   193,   194,   195,   196,    -1,   198,   199,   200,   201,
   26504             :       -1,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
   26505             :      212,    -1,   214,   215,   216,   217,   218,   219,   220,    -1,
   26506             :      222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,
   26507             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   26508             :      242,   243,   244,   245,   246,    -1,    -1,   249,   250,    -1,
   26509             :      252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,
   26510             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   26511             :      272,   273,   274,   275,   276,   277,   278,   279,    -1,   281,
   26512             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   26513             :      292,    -1,   294,   295,    -1,   297,    -1,   299,   300,   301,
   26514             :      302,   303,   304,   305,    -1,   307,   308,   309,    -1,    -1,
   26515             :      312,   313,   314,    -1,    -1,   317,   318,   319,    -1,   321,
   26516             :       -1,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   26517             :      332,   333,   334,   335,    -1,   337,   338,   339,   340,   341,
   26518             :      342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
   26519             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   26520             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   26521             :      372,   373,   374,   375,    -1,   377,   378,    -1,   380,   381,
   26522             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   26523             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   26524             :       -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
   26525             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   26526             :      422,   423,   424,   425,   426,   427,   428,   429,   430,    -1,
   26527             :      432,   433,    -1,    -1,   436,    -1,   438,   439,   440,   441,
   26528             :      442,   443,    -1,   445,   446,   447,    -1,    -1,   450,   451,
   26529             :      452,   453,   454,    -1,   456,   457,   458,   459,   460,   461,
   26530             :      462,   463,   464,    -1,    -1,   467,   468,   469,   470,   471,
   26531             :       -1,    -1,   474,   475,   476,   477,   478,   479,   480,    -1,
   26532             :      482,    -1,   484,   485,   486,   487,   488,    -1,    -1,   491,
   26533             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   26534             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   26535             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26536             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   26537             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   26538             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   26539             :       41,    42,    -1,    44,    45,    46,    47,    -1,    49,    50,
   26540             :       51,    52,    53,    -1,    55,    56,    -1,    58,    59,    60,
   26541             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   26542             :       71,    -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,
   26543             :       81,    82,    83,    84,    85,    86,    -1,    88,    89,    90,
   26544             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,    -1,
   26545             :      101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26546             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   26547             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   26548             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   26549             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   26550             :      151,   152,    -1,   154,   155,   156,   157,   158,   159,   160,
   26551             :      161,   162,   163,    -1,   165,    -1,   167,   168,   169,   170,
   26552             :      171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,
   26553             :      181,   182,   183,    -1,   185,   186,    -1,   188,   189,   190,
   26554             :       -1,   192,   193,   194,   195,   196,    -1,   198,   199,   200,
   26555             :      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
   26556             :       -1,   212,    -1,   214,   215,   216,   217,   218,   219,   220,
   26557             :       -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,
   26558             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   26559             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,   250,
   26560             :       -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,
   26561             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   26562             :      271,   272,   273,   274,   275,   276,   277,   278,   279,    -1,
   26563             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   26564             :      291,   292,    -1,   294,   295,    -1,   297,    -1,   299,   300,
   26565             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   26566             :       -1,   312,   313,   314,    -1,    -1,   317,   318,   319,    -1,
   26567             :      321,    -1,   323,   324,   325,   326,   327,   328,   329,   330,
   26568             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,   340,
   26569             :      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
   26570             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   26571             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   26572             :      371,   372,   373,   374,   375,    -1,   377,   378,    -1,   380,
   26573             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   26574             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   26575             :      401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
   26576             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   26577             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   26578             :       -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,   440,
   26579             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   26580             :      451,   452,   453,   454,    -1,   456,   457,   458,   459,   460,
   26581             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   26582             :      471,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
   26583             :       -1,   482,    -1,   484,   485,   486,   487,   488,    -1,    -1,
   26584             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   26585             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   26586             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   26587             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26588             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   26589             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26590             :       40,    41,    42,    -1,    44,    45,    46,    47,    -1,    49,
   26591             :       50,    51,    52,    53,    -1,    55,    56,    -1,    58,    59,
   26592             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   26593             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    -1,
   26594             :       -1,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
   26595             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   26596             :       -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
   26597             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   26598             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   26599             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   26600             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   26601             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   26602             :      160,   161,   162,   163,    -1,   165,    -1,   167,   168,   169,
   26603             :      170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,
   26604             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   26605             :      190,    -1,   192,   193,   194,   195,   196,    -1,   198,   199,
   26606             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   26607             :      210,    -1,   212,    -1,   214,   215,   216,   217,   218,   219,
   26608             :      220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,
   26609             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   26610             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   26611             :      250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,
   26612             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   26613             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   26614             :       -1,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   26615             :      290,   291,   292,    -1,   294,   295,    -1,   297,    -1,   299,
   26616             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   26617             :       -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,   319,
   26618             :       -1,   321,    -1,   323,   324,   325,   326,   327,   328,   329,
   26619             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   26620             :      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
   26621             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   26622             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   26623             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,    -1,
   26624             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   26625             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   26626             :      400,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
   26627             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   26628             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   26629             :      430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,
   26630             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   26631             :      450,   451,   452,   453,   454,    -1,   456,   457,   458,   459,
   26632             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   26633             :      470,   471,    -1,    -1,   474,   475,   476,   477,   478,   479,
   26634             :      480,    -1,   482,    -1,   484,   485,   486,   487,   488,    -1,
   26635             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   26636             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   26637             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   26638             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26639             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   26640             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   26641             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   26642             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   26643             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   26644             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   26645             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   26646             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   26647             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   26648             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   26649             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   26650             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   26651             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   26652             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   26653             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   26654             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   26655             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   26656             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   26657             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   26658             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   26659             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   26660             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   26661             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   26662             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   26663             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   26664             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   26665             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   26666             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   26667             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   26668             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   26669             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   26670             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   26671             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   26672             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   26673             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   26674             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   26675             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   26676             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   26677             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   26678             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   26679             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   26680             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   26681             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   26682             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   26683             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   26684             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   26685             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   26686             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   26687             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   26688             :      509,   510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,
   26689             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26690             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   26691             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   26692             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   26693             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   26694             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   26695             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   26696             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   26697             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   26698             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   26699             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   26700             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   26701             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   26702             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   26703             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   26704             :      158,   159,   160,   161,   162,   163,    -1,   165,    -1,   167,
   26705             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,    -1,
   26706             :       -1,    -1,   180,   181,   182,   183,    -1,   185,   186,    -1,
   26707             :      188,   189,   190,    -1,   192,   193,   194,   195,   196,    -1,
   26708             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   26709             :      208,   209,   210,    -1,   212,    -1,   214,   215,   216,   217,
   26710             :      218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,
   26711             :       -1,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   26712             :      238,   239,   240,   241,   242,   243,   244,   245,   246,    -1,
   26713             :       -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,   257,
   26714             :       -1,    -1,   260,   261,   262,   263,   264,   265,   266,   267,
   26715             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   26716             :      278,   279,    -1,   281,   282,   283,   284,   285,   286,   287,
   26717             :      288,   289,   290,   291,   292,    -1,   294,   295,    -1,   297,
   26718             :       -1,   299,   300,   301,   302,   303,   304,   305,    -1,   307,
   26719             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   26720             :      318,   319,    -1,   321,    -1,   323,   324,   325,   326,   327,
   26721             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   26722             :      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
   26723             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   26724             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   26725             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   26726             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   26727             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   26728             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   26729             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   26730             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   26731             :      428,   429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,
   26732             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   26733             :       -1,    -1,   450,   451,   452,   453,   454,    -1,   456,   457,
   26734             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   26735             :      468,   469,   470,   471,    -1,    -1,   474,   475,   476,   477,
   26736             :      478,   479,   480,    -1,   482,    -1,   484,   485,   486,   487,
   26737             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   26738             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   26739             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,    -1,
   26740             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26741             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   26742             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   26743             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   26744             :       47,    -1,    49,    50,    51,    52,    53,    -1,    55,    56,
   26745             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   26746             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   26747             :       77,    -1,    -1,    -1,    81,    82,    83,    84,    85,    86,
   26748             :       -1,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   26749             :       97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,
   26750             :       -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   26751             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   26752             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   26753             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   26754             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   26755             :      157,   158,   159,   160,   161,   162,   163,    -1,   165,    -1,
   26756             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   26757             :       -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,   186,
   26758             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   26759             :       -1,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   26760             :      207,   208,   209,   210,    -1,   212,    -1,   214,   215,   216,
   26761             :      217,   218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,
   26762             :      227,    -1,   229,   230,   231,   232,   233,   234,   235,   236,
   26763             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   26764             :       -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,
   26765             :      257,    -1,    -1,   260,   261,   262,   263,   264,   265,   266,
   26766             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   26767             :      277,   278,   279,    -1,   281,   282,   283,   284,   285,   286,
   26768             :      287,   288,   289,   290,   291,   292,    -1,   294,   295,    -1,
   26769             :      297,    -1,   299,   300,   301,   302,   303,   304,   305,    -1,
   26770             :      307,   308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,
   26771             :      317,   318,   319,    -1,   321,    -1,   323,   324,   325,   326,
   26772             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   26773             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   26774             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   26775             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   26776             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   26777             :      377,   378,    -1,   380,   381,   382,   383,   384,   385,   386,
   26778             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   26779             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   26780             :      407,    -1,   409,   410,   411,   412,    -1,   414,   415,   416,
   26781             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   26782             :      427,   428,   429,   430,    -1,   432,   433,    -1,    -1,   436,
   26783             :       -1,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   26784             :      447,    -1,    -1,   450,   451,   452,   453,   454,    -1,   456,
   26785             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,    -1,
   26786             :      467,   468,   469,   470,   471,    -1,    -1,   474,   475,   476,
   26787             :      477,   478,   479,   480,    -1,   482,    -1,   484,   485,   486,
   26788             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   26789             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   26790             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   26791             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26792             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   26793             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   26794             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   26795             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   26796             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   26797             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   26798             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   26799             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   26800             :       96,    97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,
   26801             :       -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   26802             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   26803             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   26804             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   26805             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   26806             :      156,   157,   158,   159,   160,   161,   162,   163,    -1,   165,
   26807             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   26808             :      176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,
   26809             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   26810             :      196,    -1,   198,   199,   200,   201,    -1,   203,   204,   205,
   26811             :      206,   207,   208,   209,   210,    -1,   212,    -1,   214,   215,
   26812             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,    -1,
   26813             :       -1,   227,    -1,   229,   230,   231,   232,   233,   234,   235,
   26814             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   26815             :      246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,
   26816             :      256,   257,    -1,    -1,   260,   261,   262,   263,   264,   265,
   26817             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   26818             :      276,   277,   278,   279,    -1,   281,   282,   283,   284,   285,
   26819             :      286,   287,   288,   289,   290,   291,   292,    -1,   294,   295,
   26820             :       -1,   297,    -1,   299,   300,   301,   302,   303,   304,   305,
   26821             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   26822             :       -1,   317,   318,   319,    -1,   321,    -1,   323,   324,   325,
   26823             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   26824             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   26825             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   26826             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   26827             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   26828             :       -1,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
   26829             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   26830             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   26831             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   26832             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   26833             :      426,   427,   428,   429,   430,    -1,   432,   433,    -1,    -1,
   26834             :      436,    -1,   438,   439,   440,   441,   442,   443,    -1,   445,
   26835             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,    -1,
   26836             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   26837             :       -1,   467,   468,   469,   470,   471,    -1,    -1,   474,   475,
   26838             :      476,   477,   478,   479,   480,    -1,   482,    -1,   484,   485,
   26839             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   26840             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   26841             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   26842             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26843             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   26844             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   26845             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   26846             :       45,    46,    47,    -1,    49,    50,    51,    52,    53,    -1,
   26847             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   26848             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   26849             :       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    84,
   26850             :       85,    86,    -1,    88,    89,    90,    91,    -1,    93,    94,
   26851             :       95,    96,    97,    98,    -1,    -1,   101,   102,   103,    -1,
   26852             :       -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,
   26853             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   26854             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   26855             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   26856             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   26857             :      155,   156,   157,   158,   159,   160,   161,   162,   163,    -1,
   26858             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   26859             :      175,   176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,
   26860             :      185,   186,    -1,   188,   189,   190,    -1,   192,   193,   194,
   26861             :      195,   196,    -1,   198,   199,   200,   201,    -1,   203,   204,
   26862             :      205,   206,   207,   208,   209,   210,    -1,   212,    -1,   214,
   26863             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   26864             :       -1,    -1,   227,    -1,   229,   230,   231,   232,   233,   234,
   26865             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   26866             :      245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,
   26867             :      255,   256,   257,    -1,    -1,   260,   261,   262,   263,   264,
   26868             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   26869             :      275,   276,   277,   278,   279,    -1,   281,   282,   283,   284,
   26870             :      285,   286,   287,   288,   289,   290,   291,   292,    -1,   294,
   26871             :      295,    -1,   297,    -1,   299,   300,   301,   302,   303,   304,
   26872             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   26873             :       -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,   324,
   26874             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   26875             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   26876             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   26877             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   26878             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   26879             :      375,    -1,   377,   378,    -1,   380,   381,   382,   383,   384,
   26880             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   26881             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   26882             :      405,   406,   407,    -1,   409,   410,   411,   412,    -1,   414,
   26883             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   26884             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,    -1,
   26885             :       -1,   436,    -1,   438,   439,   440,   441,   442,   443,    -1,
   26886             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   26887             :       -1,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   26888             :       -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,   474,
   26889             :      475,   476,   477,   478,   479,   480,    -1,   482,    -1,   484,
   26890             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   26891             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   26892             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   26893             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26894             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   26895             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   26896             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   26897             :       44,    45,    46,    47,    -1,    49,    50,    51,    52,    53,
   26898             :       -1,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   26899             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   26900             :       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
   26901             :       84,    85,    86,    -1,    88,    89,    90,    91,    -1,    93,
   26902             :       94,    95,    96,    97,    98,    -1,    -1,   101,   102,   103,
   26903             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,
   26904             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   26905             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   26906             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   26907             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   26908             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   26909             :       -1,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   26910             :       -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,   183,
   26911             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   26912             :      194,   195,   196,    -1,   198,   199,   200,   201,    -1,   203,
   26913             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,    -1,
   26914             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   26915             :      224,    -1,    -1,   227,    -1,   229,   230,   231,   232,   233,
   26916             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   26917             :      244,   245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,
   26918             :       -1,   255,   256,   257,    -1,    -1,   260,   261,   262,   263,
   26919             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   26920             :      274,   275,   276,   277,   278,   279,    -1,   281,   282,   283,
   26921             :      284,   285,   286,   287,   288,   289,   290,   291,   292,    -1,
   26922             :      294,   295,    -1,   297,    -1,   299,   300,   301,   302,   303,
   26923             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   26924             :      314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,
   26925             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   26926             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   26927             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   26928             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   26929             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   26930             :      374,   375,    -1,   377,   378,    -1,   380,   381,   382,   383,
   26931             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   26932             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   26933             :      404,   405,   406,   407,    -1,   409,   410,   411,   412,    -1,
   26934             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   26935             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   26936             :       -1,    -1,   436,    -1,   438,   439,   440,   441,   442,   443,
   26937             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   26938             :      454,    -1,   456,   457,   458,   459,   460,   461,   462,   463,
   26939             :      464,    -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,
   26940             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,    -1,
   26941             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   26942             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   26943             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   26944             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26945             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   26946             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   26947             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   26948             :       -1,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
   26949             :       53,    -1,    55,    56,    -1,    58,    59,    60,    61,    62,
   26950             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   26951             :       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
   26952             :       83,    84,    85,    86,    -1,    88,    89,    90,    91,    -1,
   26953             :       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
   26954             :      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,
   26955             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   26956             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   26957             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   26958             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   26959             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   26960             :      163,    -1,   165,    -1,   167,   168,   169,   170,   171,    -1,
   26961             :      173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,
   26962             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   26963             :      193,   194,   195,   196,    -1,   198,   199,   200,   201,    -1,
   26964             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   26965             :       -1,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   26966             :       -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,   232,
   26967             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   26968             :      243,   244,   245,   246,    -1,    -1,   249,   250,    -1,   252,
   26969             :       -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,   262,
   26970             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   26971             :      273,   274,   275,   276,   277,   278,   279,    -1,   281,   282,
   26972             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   26973             :       -1,   294,   295,    -1,   297,    -1,   299,   300,   301,   302,
   26974             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   26975             :      313,   314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,
   26976             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   26977             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   26978             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   26979             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   26980             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   26981             :      373,   374,   375,    -1,   377,   378,    -1,   380,   381,   382,
   26982             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   26983             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   26984             :      403,   404,   405,   406,   407,    -1,   409,   410,   411,   412,
   26985             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   26986             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   26987             :      433,    -1,    -1,   436,    -1,   438,   439,   440,   441,   442,
   26988             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   26989             :      453,   454,    -1,   456,   457,   458,   459,   460,   461,   462,
   26990             :      463,   464,    -1,    -1,   467,   468,   469,   470,   471,    -1,
   26991             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   26992             :       -1,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   26993             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   26994             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   26995             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26996             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   26997             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   26998             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   26999             :       42,    -1,    44,    45,    46,    47,    -1,    49,    50,    51,
   27000             :       52,    53,    -1,    55,    56,    -1,    58,    59,    60,    61,
   27001             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   27002             :       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
   27003             :       82,    83,    84,    85,    86,    -1,    88,    89,    90,    91,
   27004             :       -1,    93,    94,    95,    96,    97,    98,    -1,    -1,   101,
   27005             :      102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
   27006             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   27007             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   27008             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   27009             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   27010             :      152,    -1,   154,   155,   156,   157,   158,   159,   160,   161,
   27011             :      162,   163,    -1,   165,    -1,   167,   168,   169,   170,   171,
   27012             :       -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,
   27013             :      182,   183,    -1,   185,   186,    -1,   188,   189,   190,    -1,
   27014             :      192,   193,   194,   195,   196,    -1,   198,   199,   200,   201,
   27015             :       -1,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
   27016             :      212,    -1,   214,   215,   216,   217,   218,   219,   220,    -1,
   27017             :      222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,
   27018             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   27019             :      242,   243,   244,   245,   246,    -1,    -1,   249,   250,    -1,
   27020             :      252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,
   27021             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   27022             :      272,   273,   274,   275,   276,   277,   278,   279,    -1,   281,
   27023             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   27024             :      292,    -1,   294,   295,    -1,   297,    -1,   299,   300,   301,
   27025             :      302,   303,   304,   305,    -1,   307,   308,   309,    -1,    -1,
   27026             :      312,   313,   314,    -1,    -1,   317,   318,   319,    -1,   321,
   27027             :       -1,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   27028             :      332,   333,   334,   335,    -1,   337,   338,   339,   340,   341,
   27029             :      342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
   27030             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   27031             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   27032             :      372,   373,   374,   375,    -1,   377,   378,    -1,   380,   381,
   27033             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   27034             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   27035             :       -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
   27036             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   27037             :      422,   423,   424,   425,   426,   427,   428,   429,   430,    -1,
   27038             :      432,   433,    -1,    -1,   436,    -1,   438,   439,   440,   441,
   27039             :      442,   443,    -1,   445,   446,   447,    -1,    -1,   450,   451,
   27040             :      452,   453,   454,    -1,   456,   457,   458,   459,   460,   461,
   27041             :      462,   463,   464,    -1,    -1,   467,   468,   469,   470,   471,
   27042             :       -1,    -1,   474,   475,   476,   477,   478,   479,   480,    -1,
   27043             :      482,    -1,   484,   485,   486,   487,   488,    -1,    -1,   491,
   27044             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   27045             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   27046             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27047             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   27048             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   27049             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   27050             :       41,    42,    -1,    44,    45,    46,    47,    -1,    49,    50,
   27051             :       51,    52,    53,    -1,    55,    56,    -1,    58,    59,    60,
   27052             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   27053             :       71,    -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,
   27054             :       81,    82,    83,    84,    85,    86,    -1,    88,    89,    90,
   27055             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,    -1,
   27056             :      101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27057             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   27058             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   27059             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   27060             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   27061             :      151,   152,    -1,   154,   155,   156,   157,   158,   159,   160,
   27062             :      161,   162,   163,    -1,   165,    -1,   167,   168,   169,   170,
   27063             :      171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,
   27064             :      181,   182,   183,    -1,   185,   186,    -1,   188,   189,   190,
   27065             :       -1,   192,   193,   194,   195,   196,    -1,   198,   199,   200,
   27066             :      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
   27067             :       -1,   212,    -1,   214,   215,   216,   217,   218,   219,   220,
   27068             :       -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,
   27069             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   27070             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,   250,
   27071             :       -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,
   27072             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   27073             :      271,   272,   273,   274,   275,   276,   277,   278,   279,    -1,
   27074             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   27075             :      291,   292,    -1,   294,   295,    -1,   297,    -1,   299,   300,
   27076             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   27077             :       -1,   312,   313,   314,    -1,    -1,   317,   318,   319,    -1,
   27078             :      321,    -1,   323,   324,   325,   326,   327,   328,   329,   330,
   27079             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,   340,
   27080             :      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
   27081             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   27082             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   27083             :      371,   372,   373,   374,   375,    -1,   377,   378,    -1,   380,
   27084             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   27085             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   27086             :      401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
   27087             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   27088             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   27089             :       -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,   440,
   27090             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   27091             :      451,   452,   453,   454,    -1,   456,   457,   458,   459,   460,
   27092             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   27093             :      471,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
   27094             :       -1,   482,    -1,   484,   485,   486,   487,   488,    -1,    -1,
   27095             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   27096             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   27097             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   27098             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27099             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   27100             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27101             :       40,    41,    42,    -1,    44,    45,    46,    47,    -1,    49,
   27102             :       50,    51,    52,    53,    -1,    55,    56,    -1,    58,    59,
   27103             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   27104             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    -1,
   27105             :       -1,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
   27106             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   27107             :       -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
   27108             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   27109             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   27110             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   27111             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   27112             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   27113             :      160,   161,   162,   163,    -1,   165,    -1,   167,   168,   169,
   27114             :      170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,
   27115             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   27116             :      190,    -1,   192,   193,   194,   195,   196,    -1,   198,   199,
   27117             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   27118             :      210,    -1,   212,    -1,   214,   215,   216,   217,   218,   219,
   27119             :      220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,
   27120             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   27121             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   27122             :      250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,
   27123             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   27124             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   27125             :       -1,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   27126             :      290,   291,   292,    -1,   294,   295,    -1,   297,    -1,   299,
   27127             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   27128             :       -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,   319,
   27129             :       -1,   321,    -1,   323,   324,   325,   326,   327,   328,   329,
   27130             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   27131             :      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
   27132             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   27133             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   27134             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,    -1,
   27135             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   27136             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   27137             :      400,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
   27138             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   27139             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   27140             :      430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,
   27141             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   27142             :      450,   451,   452,   453,   454,    -1,   456,   457,   458,   459,
   27143             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   27144             :      470,   471,    -1,    -1,   474,   475,   476,   477,   478,   479,
   27145             :      480,    -1,   482,    -1,   484,   485,   486,   487,   488,    -1,
   27146             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   27147             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   27148             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   27149             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27150             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   27151             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   27152             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   27153             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   27154             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   27155             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   27156             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   27157             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   27158             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   27159             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   27160             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   27161             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   27162             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   27163             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   27164             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   27165             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   27166             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   27167             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   27168             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   27169             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   27170             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   27171             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   27172             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   27173             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   27174             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   27175             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   27176             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   27177             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   27178             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   27179             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   27180             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   27181             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   27182             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   27183             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   27184             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   27185             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   27186             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   27187             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   27188             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   27189             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   27190             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   27191             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   27192             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   27193             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   27194             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   27195             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   27196             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   27197             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   27198             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   27199             :      509,   510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,
   27200             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27201             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   27202             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   27203             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   27204             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   27205             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   27206             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   27207             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   27208             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   27209             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   27210             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   27211             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   27212             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   27213             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   27214             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   27215             :      158,   159,   160,   161,   162,   163,    -1,   165,    -1,   167,
   27216             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,    -1,
   27217             :       -1,    -1,   180,   181,   182,   183,    -1,   185,   186,    -1,
   27218             :      188,   189,   190,    -1,   192,   193,   194,   195,   196,    -1,
   27219             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   27220             :      208,   209,   210,    -1,   212,    -1,   214,   215,   216,   217,
   27221             :      218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,
   27222             :       -1,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   27223             :      238,   239,   240,   241,   242,   243,   244,   245,   246,    -1,
   27224             :       -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,   257,
   27225             :       -1,    -1,   260,   261,   262,   263,   264,   265,   266,   267,
   27226             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   27227             :      278,   279,    -1,   281,   282,   283,   284,   285,   286,   287,
   27228             :      288,   289,   290,   291,   292,    -1,   294,   295,    -1,   297,
   27229             :       -1,   299,   300,   301,   302,   303,   304,   305,    -1,   307,
   27230             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   27231             :      318,   319,    -1,   321,    -1,   323,   324,   325,   326,   327,
   27232             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   27233             :      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
   27234             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   27235             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   27236             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   27237             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   27238             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   27239             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   27240             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   27241             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   27242             :      428,   429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,
   27243             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   27244             :       -1,    -1,   450,   451,   452,   453,   454,    -1,   456,   457,
   27245             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   27246             :      468,   469,   470,   471,    -1,    -1,   474,   475,   476,   477,
   27247             :      478,   479,   480,    -1,   482,    -1,   484,   485,   486,   487,
   27248             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   27249             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   27250             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,    -1,
   27251             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27252             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   27253             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   27254             :       -1,    38,    -1,    40,    41,    42,    -1,    44,    45,    46,
   27255             :       47,    -1,    49,    50,    51,    52,    53,    -1,    55,    56,
   27256             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   27257             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   27258             :       77,    -1,    -1,    -1,    81,    82,    83,    84,    85,    86,
   27259             :       -1,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   27260             :       97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,
   27261             :       -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   27262             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   27263             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   27264             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   27265             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   27266             :      157,   158,   159,   160,   161,   162,   163,    -1,   165,    -1,
   27267             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   27268             :       -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,   186,
   27269             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   27270             :       -1,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   27271             :      207,   208,   209,   210,    -1,   212,    -1,   214,   215,   216,
   27272             :      217,   218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,
   27273             :      227,    -1,   229,   230,   231,   232,   233,   234,   235,   236,
   27274             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   27275             :       -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,
   27276             :      257,    -1,    -1,   260,   261,   262,   263,   264,   265,   266,
   27277             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   27278             :      277,   278,   279,    -1,   281,   282,   283,   284,   285,   286,
   27279             :      287,   288,   289,   290,   291,   292,    -1,   294,   295,    -1,
   27280             :      297,    -1,   299,   300,   301,   302,   303,   304,   305,    -1,
   27281             :      307,   308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,
   27282             :      317,   318,   319,    -1,   321,    -1,   323,   324,   325,   326,
   27283             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   27284             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   27285             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   27286             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   27287             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   27288             :      377,   378,    -1,   380,   381,   382,   383,   384,   385,   386,
   27289             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   27290             :      397,   398,   399,   400,   401,    -1,    -1,   404,   405,   406,
   27291             :      407,    -1,   409,   410,   411,   412,    -1,   414,   415,   416,
   27292             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   27293             :      427,   428,   429,   430,    -1,   432,   433,    -1,    -1,   436,
   27294             :       -1,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   27295             :      447,    -1,    -1,   450,   451,   452,   453,   454,    -1,   456,
   27296             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,    -1,
   27297             :      467,   468,   469,   470,   471,    -1,    -1,   474,   475,   476,
   27298             :      477,   478,   479,   480,    -1,   482,    -1,   484,   485,   486,
   27299             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   27300             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   27301             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   27302             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27303             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   27304             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   27305             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   27306             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   27307             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   27308             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   27309             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   27310             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   27311             :       96,    97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,
   27312             :       -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   27313             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   27314             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   27315             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   27316             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   27317             :      156,   157,   158,   159,   160,   161,   162,   163,    -1,   165,
   27318             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   27319             :      176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,
   27320             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   27321             :      196,    -1,   198,   199,   200,   201,    -1,   203,   204,   205,
   27322             :      206,   207,   208,   209,   210,    -1,   212,    -1,   214,   215,
   27323             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,    -1,
   27324             :       -1,   227,    -1,   229,   230,   231,   232,   233,   234,   235,
   27325             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   27326             :      246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,
   27327             :      256,   257,    -1,    -1,   260,   261,   262,   263,   264,   265,
   27328             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   27329             :      276,   277,   278,   279,    -1,   281,   282,   283,   284,   285,
   27330             :      286,   287,   288,   289,   290,   291,   292,    -1,   294,   295,
   27331             :       -1,   297,    -1,   299,   300,   301,   302,   303,   304,   305,
   27332             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   27333             :       -1,   317,   318,   319,    -1,   321,    -1,   323,   324,   325,
   27334             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   27335             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   27336             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   27337             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   27338             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   27339             :       -1,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
   27340             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   27341             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   27342             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   27343             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   27344             :      426,   427,   428,   429,   430,    -1,   432,   433,    -1,    -1,
   27345             :      436,    -1,   438,   439,   440,   441,   442,   443,    -1,   445,
   27346             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,    -1,
   27347             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   27348             :       -1,   467,   468,   469,   470,   471,    -1,    -1,   474,   475,
   27349             :      476,   477,   478,   479,   480,    -1,   482,    -1,   484,   485,
   27350             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   27351             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   27352             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   27353             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27354             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   27355             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   27356             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   27357             :       45,    46,    47,    -1,    49,    50,    51,    52,    53,    -1,
   27358             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   27359             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   27360             :       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    84,
   27361             :       85,    86,    -1,    88,    89,    90,    91,    -1,    93,    94,
   27362             :       95,    96,    97,    98,    -1,    -1,   101,   102,   103,    -1,
   27363             :       -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,
   27364             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   27365             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   27366             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   27367             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   27368             :      155,   156,   157,   158,   159,   160,   161,   162,   163,    -1,
   27369             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   27370             :      175,   176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,
   27371             :      185,   186,    -1,   188,   189,   190,    -1,   192,   193,   194,
   27372             :      195,   196,    -1,   198,   199,   200,   201,    -1,   203,   204,
   27373             :      205,   206,   207,   208,   209,   210,    -1,   212,    -1,   214,
   27374             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   27375             :       -1,    -1,   227,    -1,   229,   230,   231,   232,   233,   234,
   27376             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   27377             :      245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,
   27378             :      255,   256,   257,    -1,    -1,   260,   261,   262,   263,   264,
   27379             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   27380             :      275,   276,   277,   278,   279,    -1,   281,   282,   283,   284,
   27381             :      285,   286,   287,   288,   289,   290,   291,   292,    -1,   294,
   27382             :      295,    -1,   297,    -1,   299,   300,   301,   302,   303,   304,
   27383             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   27384             :       -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,   324,
   27385             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   27386             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   27387             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   27388             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   27389             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   27390             :      375,    -1,   377,   378,    -1,   380,   381,   382,   383,   384,
   27391             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   27392             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   27393             :      405,   406,   407,    -1,   409,   410,   411,   412,    -1,   414,
   27394             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   27395             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,    -1,
   27396             :       -1,   436,    -1,   438,   439,   440,   441,   442,   443,    -1,
   27397             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   27398             :       -1,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   27399             :       -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,   474,
   27400             :      475,   476,   477,   478,   479,   480,    -1,   482,    -1,   484,
   27401             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   27402             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   27403             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   27404             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27405             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   27406             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   27407             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   27408             :       44,    45,    46,    47,    -1,    49,    50,    51,    52,    53,
   27409             :       -1,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   27410             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   27411             :       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
   27412             :       84,    85,    86,    -1,    88,    89,    90,    91,    -1,    93,
   27413             :       94,    95,    96,    97,    98,    -1,    -1,   101,   102,   103,
   27414             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,
   27415             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   27416             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   27417             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   27418             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   27419             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   27420             :       -1,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   27421             :       -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,   183,
   27422             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   27423             :      194,   195,   196,    -1,   198,   199,   200,   201,    -1,   203,
   27424             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,    -1,
   27425             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   27426             :      224,    -1,    -1,   227,    -1,   229,   230,   231,   232,   233,
   27427             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   27428             :      244,   245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,
   27429             :       -1,   255,   256,   257,    -1,    -1,   260,   261,   262,   263,
   27430             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   27431             :      274,   275,   276,   277,   278,   279,    -1,   281,   282,   283,
   27432             :      284,   285,   286,   287,   288,   289,   290,   291,   292,    -1,
   27433             :      294,   295,    -1,   297,    -1,   299,   300,   301,   302,   303,
   27434             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   27435             :      314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,
   27436             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   27437             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   27438             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   27439             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   27440             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   27441             :      374,   375,    -1,   377,   378,    -1,   380,   381,   382,   383,
   27442             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   27443             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   27444             :      404,   405,   406,   407,    -1,   409,   410,   411,   412,    -1,
   27445             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   27446             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   27447             :       -1,    -1,   436,    -1,   438,   439,   440,   441,   442,   443,
   27448             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   27449             :      454,    -1,   456,   457,   458,   459,   460,   461,   462,   463,
   27450             :      464,    -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,
   27451             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,    -1,
   27452             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   27453             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   27454             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   27455             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27456             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   27457             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   27458             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   27459             :       -1,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
   27460             :       53,    -1,    55,    56,    -1,    58,    59,    60,    61,    62,
   27461             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   27462             :       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
   27463             :       83,    84,    85,    86,    -1,    88,    89,    90,    91,    -1,
   27464             :       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
   27465             :      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,
   27466             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   27467             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   27468             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   27469             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   27470             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   27471             :      163,    -1,   165,    -1,   167,   168,   169,   170,   171,    -1,
   27472             :      173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,
   27473             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   27474             :      193,   194,   195,   196,    -1,   198,   199,   200,   201,    -1,
   27475             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   27476             :       -1,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   27477             :       -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,   232,
   27478             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   27479             :      243,   244,   245,   246,    -1,    -1,   249,   250,    -1,   252,
   27480             :       -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,   262,
   27481             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   27482             :      273,   274,   275,   276,   277,   278,   279,    -1,   281,   282,
   27483             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   27484             :       -1,   294,   295,    -1,   297,    -1,   299,   300,   301,   302,
   27485             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   27486             :      313,   314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,
   27487             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   27488             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   27489             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   27490             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   27491             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   27492             :      373,   374,   375,    -1,   377,   378,    -1,   380,   381,   382,
   27493             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   27494             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   27495             :      403,   404,   405,   406,   407,    -1,   409,   410,   411,   412,
   27496             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   27497             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   27498             :      433,    -1,    -1,   436,    -1,   438,   439,   440,   441,   442,
   27499             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   27500             :      453,   454,    -1,   456,   457,   458,   459,   460,   461,   462,
   27501             :      463,   464,    -1,    -1,   467,   468,   469,   470,   471,    -1,
   27502             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   27503             :       -1,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   27504             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   27505             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   27506             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27507             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   27508             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   27509             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   27510             :       42,    -1,    44,    45,    46,    47,    -1,    49,    50,    51,
   27511             :       52,    53,    -1,    55,    56,    -1,    58,    59,    60,    61,
   27512             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   27513             :       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
   27514             :       82,    83,    84,    85,    86,    -1,    88,    89,    90,    91,
   27515             :       -1,    93,    94,    95,    96,    97,    98,    -1,    -1,   101,
   27516             :      102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
   27517             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   27518             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   27519             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   27520             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   27521             :      152,    -1,   154,   155,   156,   157,   158,   159,   160,   161,
   27522             :      162,   163,    -1,   165,    -1,   167,   168,   169,   170,   171,
   27523             :       -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,
   27524             :      182,   183,    -1,   185,   186,    -1,   188,   189,   190,    -1,
   27525             :      192,   193,   194,   195,   196,    -1,   198,   199,   200,   201,
   27526             :       -1,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
   27527             :      212,    -1,   214,   215,   216,   217,   218,   219,   220,    -1,
   27528             :      222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,
   27529             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   27530             :      242,   243,   244,   245,   246,    -1,    -1,   249,   250,    -1,
   27531             :      252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,
   27532             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   27533             :      272,   273,   274,   275,   276,   277,   278,   279,    -1,   281,
   27534             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   27535             :      292,    -1,   294,   295,    -1,   297,    -1,   299,   300,   301,
   27536             :      302,   303,   304,   305,    -1,   307,   308,   309,    -1,    -1,
   27537             :      312,   313,   314,    -1,    -1,   317,   318,   319,    -1,   321,
   27538             :       -1,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   27539             :      332,   333,   334,   335,    -1,   337,   338,   339,   340,   341,
   27540             :      342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
   27541             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   27542             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   27543             :      372,   373,   374,   375,    -1,   377,   378,    -1,   380,   381,
   27544             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   27545             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   27546             :       -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
   27547             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   27548             :      422,   423,   424,   425,   426,   427,   428,   429,   430,    -1,
   27549             :      432,   433,    -1,    -1,   436,    -1,   438,   439,   440,   441,
   27550             :      442,   443,    -1,   445,   446,   447,    -1,    -1,   450,   451,
   27551             :      452,   453,   454,    -1,   456,   457,   458,   459,   460,   461,
   27552             :      462,   463,   464,    -1,    -1,   467,   468,   469,   470,   471,
   27553             :       -1,    -1,   474,   475,   476,   477,   478,   479,   480,    -1,
   27554             :      482,    -1,   484,   485,   486,   487,   488,    -1,    -1,   491,
   27555             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   27556             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   27557             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27558             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   27559             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   27560             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   27561             :       41,    42,    -1,    44,    45,    46,    47,    -1,    49,    50,
   27562             :       51,    52,    53,    -1,    55,    56,    -1,    58,    59,    60,
   27563             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   27564             :       71,    -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,
   27565             :       81,    82,    83,    84,    85,    86,    -1,    88,    89,    90,
   27566             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,    -1,
   27567             :      101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27568             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   27569             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   27570             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   27571             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   27572             :      151,   152,    -1,   154,   155,   156,   157,   158,   159,   160,
   27573             :      161,   162,   163,    -1,   165,    -1,   167,   168,   169,   170,
   27574             :      171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,
   27575             :      181,   182,   183,    -1,   185,   186,    -1,   188,   189,   190,
   27576             :       -1,   192,   193,   194,   195,   196,    -1,   198,   199,   200,
   27577             :      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
   27578             :       -1,   212,    -1,   214,   215,   216,   217,   218,   219,   220,
   27579             :       -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,
   27580             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   27581             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,   250,
   27582             :       -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,
   27583             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   27584             :      271,   272,   273,   274,   275,   276,   277,   278,   279,    -1,
   27585             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   27586             :      291,   292,    -1,   294,   295,    -1,   297,    -1,   299,   300,
   27587             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   27588             :       -1,   312,   313,   314,    -1,    -1,   317,   318,   319,    -1,
   27589             :      321,    -1,   323,   324,   325,   326,   327,   328,   329,   330,
   27590             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,   340,
   27591             :      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
   27592             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   27593             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   27594             :      371,   372,   373,   374,   375,    -1,   377,   378,    -1,   380,
   27595             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   27596             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   27597             :      401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
   27598             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   27599             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   27600             :       -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,   440,
   27601             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   27602             :      451,   452,   453,   454,    -1,   456,   457,   458,   459,   460,
   27603             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   27604             :      471,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
   27605             :       -1,   482,    -1,   484,   485,   486,   487,   488,    -1,    -1,
   27606             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   27607             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   27608             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   27609             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27610             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   27611             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27612             :       40,    41,    42,    -1,    44,    45,    46,    47,    -1,    49,
   27613             :       50,    51,    52,    53,    -1,    55,    56,    -1,    58,    59,
   27614             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   27615             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    -1,
   27616             :       -1,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
   27617             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   27618             :       -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
   27619             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   27620             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   27621             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   27622             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   27623             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   27624             :      160,   161,   162,   163,    -1,   165,    -1,   167,   168,   169,
   27625             :      170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,
   27626             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   27627             :      190,    -1,   192,   193,   194,   195,   196,    -1,   198,   199,
   27628             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   27629             :      210,    -1,   212,    -1,   214,   215,   216,   217,   218,   219,
   27630             :      220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,
   27631             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   27632             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   27633             :      250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,
   27634             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   27635             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   27636             :       -1,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   27637             :      290,   291,   292,    -1,   294,   295,    -1,   297,    -1,   299,
   27638             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   27639             :       -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,   319,
   27640             :       -1,   321,    -1,   323,   324,   325,   326,   327,   328,   329,
   27641             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   27642             :      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
   27643             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   27644             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   27645             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,    -1,
   27646             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   27647             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   27648             :      400,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
   27649             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   27650             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   27651             :      430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,
   27652             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   27653             :      450,   451,   452,   453,   454,    -1,   456,   457,   458,   459,
   27654             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   27655             :      470,   471,    -1,    -1,   474,   475,   476,   477,   478,   479,
   27656             :      480,    -1,   482,    -1,   484,   485,   486,   487,   488,    -1,
   27657             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   27658             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   27659             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   27660             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27661             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   27662             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   27663             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   27664             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   27665             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   27666             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   27667             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   27668             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   27669             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   27670             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   27671             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   27672             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   27673             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   27674             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   27675             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   27676             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   27677             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   27678             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   27679             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   27680             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   27681             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   27682             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   27683             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   27684             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   27685             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   27686             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   27687             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   27688             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   27689             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   27690             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   27691             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   27692             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   27693             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   27694             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   27695             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   27696             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   27697             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   27698             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   27699             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   27700             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   27701             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   27702             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   27703             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   27704             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   27705             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   27706             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   27707             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   27708             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   27709             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   27710             :      509,   510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,
   27711             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27712             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   27713             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   27714             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   27715             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   27716             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   27717             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   27718             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   27719             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   27720             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   27721             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   27722             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   27723             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   27724             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   27725             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   27726             :      158,   159,   160,   161,   162,   163,    -1,   165,    -1,   167,
   27727             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,    -1,
   27728             :       -1,    -1,   180,   181,   182,   183,    -1,   185,   186,    -1,
   27729             :      188,   189,   190,    -1,   192,   193,   194,   195,   196,    -1,
   27730             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   27731             :      208,   209,   210,    -1,   212,    -1,   214,   215,   216,   217,
   27732             :      218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,
   27733             :       -1,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   27734             :      238,   239,   240,   241,   242,   243,   244,   245,   246,    -1,
   27735             :       -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,   257,
   27736             :       -1,    -1,   260,   261,   262,   263,   264,   265,   266,   267,
   27737             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   27738             :      278,   279,    -1,   281,   282,   283,   284,   285,   286,   287,
   27739             :      288,   289,   290,   291,   292,    -1,   294,   295,    -1,   297,
   27740             :       -1,   299,   300,   301,   302,   303,   304,   305,    -1,   307,
   27741             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   27742             :      318,   319,    -1,   321,    -1,   323,   324,   325,   326,   327,
   27743             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   27744             :      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
   27745             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   27746             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   27747             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   27748             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   27749             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   27750             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   27751             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   27752             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   27753             :      428,   429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,
   27754             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   27755             :       -1,    -1,   450,   451,   452,   453,   454,    -1,   456,   457,
   27756             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   27757             :      468,   469,   470,   471,    -1,    -1,   474,   475,   476,   477,
   27758             :      478,   479,   480,    -1,   482,    -1,   484,   485,   486,   487,
   27759             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   27760             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   27761             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,    -1,
   27762             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27763             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   27764             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   27765             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   27766             :       47,    -1,    49,    50,    51,    52,    53,    -1,    55,    56,
   27767             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   27768             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   27769             :       77,    -1,    -1,    -1,    81,    82,    83,    84,    85,    86,
   27770             :       -1,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   27771             :       97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,
   27772             :       -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   27773             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   27774             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   27775             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   27776             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   27777             :      157,   158,   159,   160,   161,   162,   163,    -1,   165,    -1,
   27778             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   27779             :       -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,   186,
   27780             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   27781             :       -1,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   27782             :      207,   208,   209,   210,    -1,   212,    -1,   214,   215,   216,
   27783             :      217,   218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,
   27784             :      227,    -1,   229,   230,   231,   232,   233,   234,   235,   236,
   27785             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   27786             :       -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,
   27787             :      257,    -1,    -1,   260,   261,   262,   263,   264,   265,   266,
   27788             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   27789             :      277,   278,   279,    -1,   281,   282,   283,   284,   285,   286,
   27790             :      287,   288,   289,   290,   291,   292,    -1,   294,   295,    -1,
   27791             :      297,    -1,   299,   300,   301,   302,   303,   304,   305,    -1,
   27792             :      307,   308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,
   27793             :      317,   318,   319,    -1,   321,    -1,   323,   324,   325,   326,
   27794             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   27795             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   27796             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   27797             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   27798             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   27799             :      377,   378,    -1,   380,   381,   382,   383,   384,   385,   386,
   27800             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   27801             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   27802             :      407,    -1,   409,   410,   411,   412,    -1,   414,   415,   416,
   27803             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   27804             :      427,   428,   429,   430,    -1,   432,   433,    -1,    -1,   436,
   27805             :       -1,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   27806             :      447,    -1,    -1,   450,   451,   452,   453,   454,    -1,   456,
   27807             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,    -1,
   27808             :      467,   468,   469,   470,   471,    -1,    -1,   474,   475,   476,
   27809             :      477,   478,   479,   480,    -1,   482,    -1,   484,   485,   486,
   27810             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   27811             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   27812             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   27813             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27814             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   27815             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   27816             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   27817             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   27818             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   27819             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   27820             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   27821             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   27822             :       96,    97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,
   27823             :       -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   27824             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   27825             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   27826             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   27827             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   27828             :      156,   157,   158,   159,   160,   161,   162,   163,    -1,   165,
   27829             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   27830             :      176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,
   27831             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   27832             :      196,    -1,   198,   199,   200,   201,    -1,   203,   204,   205,
   27833             :      206,   207,   208,   209,   210,    -1,   212,    -1,   214,   215,
   27834             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,    -1,
   27835             :       -1,   227,    -1,   229,   230,   231,   232,   233,   234,   235,
   27836             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   27837             :      246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,
   27838             :      256,   257,    -1,    -1,   260,   261,   262,   263,   264,   265,
   27839             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   27840             :      276,   277,   278,   279,    -1,   281,   282,   283,   284,   285,
   27841             :      286,   287,   288,   289,   290,   291,   292,    -1,   294,   295,
   27842             :       -1,   297,    -1,   299,   300,   301,   302,   303,   304,   305,
   27843             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   27844             :       -1,   317,   318,   319,    -1,   321,    -1,   323,   324,   325,
   27845             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   27846             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   27847             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   27848             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   27849             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   27850             :       -1,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
   27851             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   27852             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   27853             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   27854             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   27855             :      426,   427,   428,   429,   430,    -1,   432,   433,    -1,    -1,
   27856             :      436,    -1,   438,   439,   440,   441,   442,   443,    -1,   445,
   27857             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,    -1,
   27858             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   27859             :       -1,   467,   468,   469,   470,   471,    -1,    -1,   474,   475,
   27860             :      476,   477,   478,   479,   480,    -1,   482,    -1,   484,   485,
   27861             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   27862             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   27863             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   27864             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27865             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   27866             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   27867             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   27868             :       45,    46,    47,    -1,    49,    50,    51,    52,    53,    -1,
   27869             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   27870             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   27871             :       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    84,
   27872             :       85,    86,    -1,    88,    89,    90,    91,    -1,    93,    94,
   27873             :       95,    96,    97,    98,    -1,    -1,   101,   102,   103,    -1,
   27874             :       -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,
   27875             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   27876             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   27877             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   27878             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   27879             :      155,   156,   157,   158,   159,   160,   161,   162,   163,    -1,
   27880             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   27881             :      175,   176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,
   27882             :      185,   186,    -1,   188,   189,   190,    -1,   192,   193,   194,
   27883             :      195,   196,    -1,   198,   199,   200,   201,    -1,   203,   204,
   27884             :      205,   206,   207,   208,   209,   210,    -1,   212,    -1,   214,
   27885             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   27886             :       -1,    -1,   227,    -1,   229,   230,   231,   232,   233,   234,
   27887             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   27888             :      245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,
   27889             :      255,   256,   257,    -1,    -1,   260,   261,   262,   263,   264,
   27890             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   27891             :      275,   276,   277,   278,   279,    -1,   281,   282,   283,   284,
   27892             :      285,   286,   287,   288,   289,   290,   291,   292,    -1,   294,
   27893             :      295,    -1,   297,    -1,   299,   300,   301,   302,   303,   304,
   27894             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   27895             :       -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,   324,
   27896             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   27897             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   27898             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   27899             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   27900             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   27901             :      375,    -1,   377,   378,    -1,   380,   381,   382,   383,   384,
   27902             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   27903             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   27904             :      405,   406,   407,    -1,   409,   410,   411,   412,    -1,   414,
   27905             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   27906             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,    -1,
   27907             :       -1,   436,    -1,   438,   439,   440,   441,   442,   443,    -1,
   27908             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   27909             :       -1,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   27910             :       -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,   474,
   27911             :      475,   476,   477,   478,   479,   480,    -1,   482,    -1,   484,
   27912             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   27913             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   27914             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   27915             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27916             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   27917             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   27918             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   27919             :       44,    45,    46,    47,    -1,    49,    50,    51,    52,    53,
   27920             :       -1,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   27921             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   27922             :       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
   27923             :       84,    85,    86,    -1,    88,    89,    90,    91,    -1,    93,
   27924             :       94,    95,    96,    97,    98,    -1,    -1,   101,   102,   103,
   27925             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,
   27926             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   27927             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   27928             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   27929             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   27930             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   27931             :       -1,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   27932             :       -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,   183,
   27933             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   27934             :      194,   195,   196,    -1,   198,   199,   200,   201,    -1,   203,
   27935             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,    -1,
   27936             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   27937             :      224,    -1,    -1,   227,    -1,   229,   230,   231,   232,   233,
   27938             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   27939             :      244,   245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,
   27940             :       -1,   255,   256,   257,    -1,    -1,   260,   261,   262,   263,
   27941             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   27942             :      274,   275,   276,   277,   278,   279,    -1,   281,   282,   283,
   27943             :      284,   285,   286,   287,   288,   289,   290,   291,   292,    -1,
   27944             :      294,   295,    -1,   297,    -1,   299,   300,   301,   302,   303,
   27945             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   27946             :      314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,
   27947             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   27948             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   27949             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   27950             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   27951             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   27952             :      374,   375,    -1,   377,   378,    -1,   380,   381,   382,   383,
   27953             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   27954             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   27955             :      404,   405,   406,   407,    -1,   409,   410,   411,   412,    -1,
   27956             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   27957             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   27958             :       -1,    -1,   436,    -1,   438,   439,   440,   441,   442,   443,
   27959             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   27960             :      454,    -1,   456,   457,   458,   459,   460,   461,   462,   463,
   27961             :      464,    -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,
   27962             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,    -1,
   27963             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   27964             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   27965             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   27966             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27967             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   27968             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   27969             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   27970             :       -1,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
   27971             :       53,    -1,    55,    56,    -1,    58,    59,    60,    61,    62,
   27972             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   27973             :       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
   27974             :       83,    84,    85,    86,    -1,    88,    89,    90,    91,    -1,
   27975             :       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
   27976             :      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,
   27977             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   27978             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   27979             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   27980             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   27981             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   27982             :      163,    -1,   165,    -1,   167,   168,   169,   170,   171,    -1,
   27983             :      173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,
   27984             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   27985             :      193,   194,   195,   196,    -1,   198,   199,   200,   201,    -1,
   27986             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   27987             :       -1,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   27988             :       -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,   232,
   27989             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   27990             :      243,   244,   245,   246,    -1,    -1,   249,   250,    -1,   252,
   27991             :       -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,   262,
   27992             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   27993             :      273,   274,   275,   276,   277,   278,   279,    -1,   281,   282,
   27994             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   27995             :       -1,   294,   295,    -1,   297,    -1,   299,   300,   301,   302,
   27996             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   27997             :      313,   314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,
   27998             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   27999             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   28000             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   28001             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   28002             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   28003             :      373,   374,   375,    -1,   377,   378,    -1,   380,   381,   382,
   28004             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   28005             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   28006             :      403,   404,   405,   406,   407,    -1,   409,   410,   411,   412,
   28007             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   28008             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   28009             :      433,    -1,    -1,   436,    -1,   438,   439,   440,   441,   442,
   28010             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   28011             :      453,   454,    -1,   456,   457,   458,   459,   460,   461,   462,
   28012             :      463,   464,    -1,    -1,   467,   468,   469,   470,   471,    -1,
   28013             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   28014             :       -1,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   28015             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   28016             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   28017             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28018             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   28019             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   28020             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   28021             :       42,    -1,    44,    45,    46,    47,    -1,    49,    50,    51,
   28022             :       52,    53,    -1,    55,    56,    -1,    58,    59,    60,    61,
   28023             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   28024             :       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
   28025             :       82,    83,    84,    85,    86,    -1,    88,    89,    90,    91,
   28026             :       -1,    93,    94,    95,    96,    97,    98,    -1,    -1,   101,
   28027             :      102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
   28028             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   28029             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   28030             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   28031             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   28032             :      152,    -1,   154,   155,   156,   157,   158,   159,   160,   161,
   28033             :      162,   163,    -1,   165,    -1,   167,   168,   169,   170,   171,
   28034             :       -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,
   28035             :      182,   183,    -1,   185,   186,    -1,   188,   189,   190,    -1,
   28036             :      192,   193,   194,   195,   196,    -1,   198,   199,   200,   201,
   28037             :       -1,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
   28038             :      212,    -1,   214,   215,   216,   217,   218,   219,   220,    -1,
   28039             :      222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,
   28040             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   28041             :      242,   243,   244,   245,   246,    -1,    -1,   249,   250,    -1,
   28042             :      252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,
   28043             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   28044             :      272,   273,   274,   275,   276,   277,   278,   279,    -1,   281,
   28045             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   28046             :      292,    -1,   294,   295,    -1,   297,    -1,   299,   300,   301,
   28047             :      302,   303,   304,   305,    -1,   307,   308,   309,    -1,    -1,
   28048             :      312,   313,   314,    -1,    -1,   317,   318,   319,    -1,   321,
   28049             :       -1,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   28050             :      332,   333,   334,   335,    -1,   337,   338,   339,   340,   341,
   28051             :      342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
   28052             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   28053             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   28054             :      372,   373,   374,   375,    -1,   377,   378,    -1,   380,   381,
   28055             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   28056             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   28057             :       -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
   28058             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   28059             :      422,   423,   424,   425,   426,   427,   428,   429,   430,    -1,
   28060             :      432,   433,    -1,    -1,   436,    -1,   438,   439,   440,   441,
   28061             :      442,   443,    -1,   445,   446,   447,    -1,    -1,   450,   451,
   28062             :      452,   453,   454,    -1,   456,   457,   458,   459,   460,   461,
   28063             :      462,   463,   464,    -1,    -1,   467,   468,   469,   470,   471,
   28064             :       -1,    -1,   474,   475,   476,   477,   478,   479,   480,    -1,
   28065             :      482,    -1,   484,   485,   486,   487,   488,    -1,    -1,   491,
   28066             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   28067             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   28068             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28069             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   28070             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   28071             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   28072             :       41,    42,    -1,    44,    45,    46,    47,    -1,    49,    50,
   28073             :       51,    52,    53,    -1,    55,    56,    -1,    58,    59,    60,
   28074             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   28075             :       71,    -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,
   28076             :       81,    82,    83,    84,    85,    86,    -1,    88,    89,    90,
   28077             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,    -1,
   28078             :      101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28079             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   28080             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   28081             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   28082             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   28083             :      151,   152,    -1,   154,   155,   156,   157,   158,   159,   160,
   28084             :      161,   162,   163,    -1,   165,    -1,   167,   168,   169,   170,
   28085             :      171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,
   28086             :      181,   182,   183,    -1,   185,   186,    -1,   188,   189,   190,
   28087             :       -1,   192,   193,   194,   195,   196,    -1,   198,   199,   200,
   28088             :      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
   28089             :       -1,   212,    -1,   214,   215,   216,   217,   218,   219,   220,
   28090             :       -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,
   28091             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   28092             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,   250,
   28093             :       -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,
   28094             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   28095             :      271,   272,   273,   274,   275,   276,   277,   278,   279,    -1,
   28096             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   28097             :      291,   292,    -1,   294,   295,    -1,   297,    -1,   299,   300,
   28098             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   28099             :       -1,   312,   313,   314,    -1,    -1,   317,   318,   319,    -1,
   28100             :      321,    -1,   323,   324,   325,   326,   327,   328,   329,   330,
   28101             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,   340,
   28102             :      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
   28103             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   28104             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   28105             :      371,   372,   373,   374,   375,    -1,   377,   378,    -1,   380,
   28106             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   28107             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   28108             :      401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
   28109             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   28110             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   28111             :       -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,   440,
   28112             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   28113             :      451,   452,   453,   454,    -1,   456,   457,   458,   459,   460,
   28114             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   28115             :      471,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
   28116             :       -1,   482,    -1,   484,   485,   486,   487,   488,    -1,    -1,
   28117             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   28118             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   28119             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   28120             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28121             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   28122             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28123             :       40,    41,    42,    -1,    44,    45,    46,    47,    -1,    49,
   28124             :       50,    51,    52,    53,    -1,    55,    56,    -1,    58,    59,
   28125             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   28126             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    -1,
   28127             :       -1,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
   28128             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   28129             :       -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
   28130             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   28131             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   28132             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   28133             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   28134             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   28135             :      160,   161,   162,   163,    -1,   165,    -1,   167,   168,   169,
   28136             :      170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,
   28137             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   28138             :      190,    -1,   192,   193,   194,   195,   196,    -1,   198,   199,
   28139             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   28140             :      210,    -1,   212,    -1,   214,   215,   216,   217,   218,   219,
   28141             :      220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,
   28142             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   28143             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   28144             :      250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,
   28145             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   28146             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   28147             :       -1,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   28148             :      290,   291,   292,    -1,   294,   295,    -1,   297,    -1,   299,
   28149             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   28150             :       -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,   319,
   28151             :       -1,   321,    -1,   323,   324,   325,   326,   327,   328,   329,
   28152             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   28153             :      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
   28154             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   28155             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   28156             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,    -1,
   28157             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   28158             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   28159             :      400,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
   28160             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   28161             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   28162             :      430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,
   28163             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   28164             :      450,   451,   452,   453,   454,    -1,   456,   457,   458,   459,
   28165             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   28166             :      470,   471,    -1,    -1,   474,   475,   476,   477,   478,   479,
   28167             :      480,    -1,   482,    -1,   484,   485,   486,   487,   488,    -1,
   28168             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   28169             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   28170             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   28171             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28172             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   28173             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   28174             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   28175             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   28176             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   28177             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   28178             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   28179             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   28180             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   28181             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   28182             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   28183             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   28184             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   28185             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   28186             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   28187             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   28188             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   28189             :       -1,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   28190             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   28191             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   28192             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   28193             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   28194             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   28195             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   28196             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   28197             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   28198             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   28199             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   28200             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   28201             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   28202             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   28203             :      329,   330,    -1,   332,   333,   334,   335,    -1,   337,   338,
   28204             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   28205             :      349,   350,   351,   352,   353,   354,   355,    -1,   357,   358,
   28206             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   28207             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   28208             :       -1,   380,   381,   382,   383,   384,   385,    -1,   387,   388,
   28209             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   28210             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   28211             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   28212             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   28213             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   28214             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   28215             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   28216             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   28217             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   28218             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   28219             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   28220             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   28221             :      509,   510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,
   28222             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28223             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   28224             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   28225             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   28226             :       48,    49,    50,    51,    -1,    53,    54,    55,    56,    -1,
   28227             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   28228             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    -1,
   28229             :       -1,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
   28230             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   28231             :       98,    -1,   100,   101,   102,   103,    -1,    -1,    -1,   107,
   28232             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   28233             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   28234             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   28235             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   28236             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   28237             :       -1,   159,   160,   161,   162,    -1,    -1,   165,    -1,   167,
   28238             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,   177,
   28239             :       -1,   179,   180,   181,   182,   183,    -1,   185,    -1,    -1,
   28240             :       -1,   189,   190,    -1,   192,   193,   194,   195,   196,   197,
   28241             :      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
   28242             :      208,   209,   210,    -1,   212,   213,   214,   215,   216,   217,
   28243             :      218,   219,   220,    -1,   222,    -1,   224,   225,   226,   227,
   28244             :      228,   229,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28245             :       -1,    -1,   240,   241,   242,   243,   244,   245,   246,    -1,
   28246             :       -1,   249,    -1,   251,   252,   253,    -1,   255,   256,   257,
   28247             :       -1,    -1,   260,   261,   262,   263,   264,   265,   266,   267,
   28248             :      268,   269,    -1,   271,   272,   273,   274,   275,   276,   277,
   28249             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   28250             :      288,   289,    -1,    -1,   292,    -1,   294,   295,   296,   297,
   28251             :       -1,    -1,   300,   301,   302,   303,   304,   305,    -1,   307,
   28252             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   28253             :      318,   319,   320,   321,   322,    -1,   324,   325,   326,   327,
   28254             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   28255             :      338,   339,    -1,   341,    -1,   343,   344,   345,    -1,   347,
   28256             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   28257             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   28258             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   28259             :      378,   379,   380,   381,   382,   383,   384,    -1,   386,   387,
   28260             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   28261             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   28262             :      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   28263             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   28264             :      428,    -1,   430,    -1,   432,   433,    -1,    -1,   436,   437,
   28265             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   28266             :       -1,    -1,   450,   451,    -1,   453,    -1,    -1,   456,   457,
   28267             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   28268             :      468,   469,   470,   471,    -1,    -1,   474,   475,   476,   477,
   28269             :      478,    -1,   480,   481,   482,   483,   484,   485,   486,   487,
   28270             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   28271             :      498,   499,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28272             :       -1,    -1,    -1,   511,   512,   513,    -1,    -1,    -1,    20,
   28273             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   28274             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   28275             :       41,    42,    -1,    44,    45,    46,    47,    48,    49,    50,
   28276             :       51,    -1,    53,    54,    55,    56,    -1,    58,    59,    60,
   28277             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   28278             :       71,    -1,    73,    74,    75,    76,    -1,    -1,    79,    -1,
   28279             :       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
   28280             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,   100,
   28281             :      101,   102,   103,    -1,    -1,    -1,   107,    -1,    -1,    -1,
   28282             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   28283             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   28284             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   28285             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   28286             :      151,   152,    -1,   154,   155,   156,   157,    -1,   159,   160,
   28287             :      161,   162,    -1,    -1,   165,    -1,   167,   168,   169,   170,
   28288             :      171,    -1,   173,    -1,   175,   176,   177,    -1,   179,   180,
   28289             :      181,   182,   183,    -1,   185,    -1,    -1,    -1,   189,   190,
   28290             :       -1,   192,   193,   194,   195,   196,   197,   198,   199,   200,
   28291             :      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
   28292             :       -1,   212,   213,    -1,   215,   216,   217,   218,   219,   220,
   28293             :       -1,   222,    -1,   224,   225,   226,   227,   228,   229,    -1,
   28294             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   240,
   28295             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,    -1,
   28296             :      251,   252,   253,    -1,   255,   256,   257,    -1,    -1,   260,
   28297             :      261,   262,   263,   264,   265,   266,   267,   268,   269,    -1,
   28298             :      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
   28299             :      281,   282,   283,   284,   285,   286,   287,   288,   289,    -1,
   28300             :       -1,   292,    -1,   294,   295,   296,   297,   298,    -1,   300,
   28301             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   28302             :       -1,   312,   313,   314,    -1,    -1,   317,   318,    -1,   320,
   28303             :      321,   322,    -1,   324,   325,   326,   327,   328,   329,   330,
   28304             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,    -1,
   28305             :      341,    -1,   343,   344,   345,    -1,   347,   348,   349,   350,
   28306             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   28307             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   28308             :      371,   372,   373,   374,   375,    -1,   377,   378,   379,   380,
   28309             :      381,   382,   383,   384,    -1,   386,   387,   388,   389,   390,
   28310             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   28311             :      401,    -1,   403,   404,   405,   406,   407,   408,   409,   410,
   28312             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   28313             :      421,   422,   423,   424,   425,   426,   427,   428,    -1,   430,
   28314             :       -1,   432,   433,    -1,   435,   436,   437,   438,   439,   440,
   28315             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   28316             :      451,    -1,   453,    -1,    -1,   456,   457,   458,   459,   460,
   28317             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   28318             :      471,    -1,    -1,   474,   475,   476,   477,   478,    -1,   480,
   28319             :       -1,   482,   483,   484,   485,   486,   487,   488,    -1,    -1,
   28320             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,     3,
   28321             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28322             :      511,   512,   513,    -1,    -1,    -1,    20,    21,    22,    23,
   28323             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   28324             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   28325             :       44,    45,    46,    47,    48,    49,    50,    51,    -1,    53,
   28326             :       54,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   28327             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   28328             :       74,    75,    76,    -1,    -1,    79,    -1,    81,    82,    83,
   28329             :       84,    85,    86,    87,    88,    89,    90,    91,    -1,    93,
   28330             :       94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
   28331             :       -1,    -1,    -1,   107,    -1,    -1,    -1,   111,   112,   113,
   28332             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   28333             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   28334             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   28335             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   28336             :      154,   155,   156,   157,    -1,   159,   160,   161,   162,    -1,
   28337             :       -1,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   28338             :       -1,   175,   176,   177,    -1,   179,   180,   181,   182,   183,
   28339             :       -1,   185,    -1,    -1,    -1,   189,   190,    -1,   192,   193,
   28340             :      194,   195,   196,   197,   198,   199,   200,   201,    -1,   203,
   28341             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,   213,
   28342             :       -1,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   28343             :      224,   225,   226,   227,   228,   229,    -1,    -1,    -1,    -1,
   28344             :       -1,    -1,    -1,    -1,    -1,    -1,   240,   241,   242,   243,
   28345             :      244,   245,   246,    -1,    -1,   249,    -1,   251,   252,   253,
   28346             :       -1,   255,   256,   257,    -1,    -1,   260,   261,   262,   263,
   28347             :      264,   265,   266,   267,   268,   269,    -1,   271,   272,   273,
   28348             :      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
   28349             :      284,   285,   286,   287,   288,   289,   290,    -1,   292,    -1,
   28350             :      294,   295,   296,   297,    -1,    -1,   300,   301,   302,   303,
   28351             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   28352             :      314,    -1,    -1,   317,   318,    -1,   320,   321,   322,    -1,
   28353             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   28354             :      334,   335,    -1,   337,   338,   339,    -1,   341,    -1,   343,
   28355             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   28356             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   28357             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   28358             :      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
   28359             :      384,    -1,   386,   387,   388,   389,   390,   391,   392,   393,
   28360             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   28361             :      404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
   28362             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   28363             :      424,   425,   426,   427,   428,    -1,   430,    -1,   432,   433,
   28364             :       -1,    -1,   436,   437,   438,   439,   440,   441,   442,   443,
   28365             :       -1,   445,   446,   447,    -1,    -1,   450,   451,    -1,   453,
   28366             :       -1,    -1,   456,   457,   458,   459,   460,   461,   462,   463,
   28367             :      464,    -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,
   28368             :      474,   475,   476,   477,   478,    -1,   480,    -1,   482,   483,
   28369             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   28370             :      494,   495,   496,   497,   498,   499,     3,    -1,    -1,    -1,
   28371             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   511,   512,   513,
   28372             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   28373             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   28374             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   28375             :       47,    48,    49,    50,    51,    -1,    53,    54,    55,    56,
   28376             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   28377             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   28378             :       -1,    -1,    79,    -1,    81,    82,    83,    84,    85,    86,
   28379             :       87,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   28380             :       97,    98,    -1,   100,   101,   102,   103,    -1,    -1,    -1,
   28381             :      107,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   28382             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   28383             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   28384             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   28385             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   28386             :      157,    -1,   159,   160,   161,   162,    -1,    -1,   165,    -1,
   28387             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   28388             :      177,    -1,   179,   180,   181,   182,   183,    -1,   185,    -1,
   28389             :       -1,    -1,   189,   190,    -1,   192,   193,   194,   195,   196,
   28390             :      197,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   28391             :      207,   208,   209,   210,    -1,   212,   213,    -1,   215,   216,
   28392             :      217,   218,   219,   220,    -1,   222,    -1,   224,   225,   226,
   28393             :      227,   228,   229,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28394             :       -1,    -1,    -1,   240,   241,   242,   243,   244,   245,   246,
   28395             :       -1,    -1,   249,    -1,   251,   252,   253,    -1,   255,   256,
   28396             :      257,    -1,    -1,   260,   261,   262,   263,   264,   265,   266,
   28397             :      267,   268,   269,    -1,   271,   272,   273,   274,   275,   276,
   28398             :      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
   28399             :      287,   288,   289,   290,    -1,   292,    -1,   294,   295,   296,
   28400             :      297,    -1,    -1,   300,   301,   302,   303,   304,   305,    -1,
   28401             :      307,   308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,
   28402             :      317,   318,    -1,   320,   321,   322,    -1,   324,   325,   326,
   28403             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   28404             :      337,   338,   339,    -1,   341,    -1,   343,   344,   345,    -1,
   28405             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   28406             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   28407             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   28408             :      377,   378,   379,   380,   381,   382,   383,   384,    -1,   386,
   28409             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   28410             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   28411             :      407,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
   28412             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   28413             :      427,   428,    -1,   430,    -1,   432,   433,    -1,    -1,   436,
   28414             :      437,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   28415             :      447,    -1,    -1,   450,   451,    -1,   453,    -1,    -1,   456,
   28416             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,    -1,
   28417             :      467,   468,   469,   470,   471,    -1,    -1,   474,   475,   476,
   28418             :      477,   478,    -1,   480,    -1,   482,   483,   484,   485,   486,
   28419             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   28420             :      497,   498,   499,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   28421             :       -1,    -1,    -1,    -1,   511,   512,   513,    -1,    -1,    -1,
   28422             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   28423             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28424             :       40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
   28425             :       50,    51,    -1,    53,    54,    55,    56,    -1,    58,    59,
   28426             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   28427             :       70,    71,    -1,    73,    74,    75,    76,    -1,    -1,    79,
   28428             :       -1,    81,    82,    83,    84,    85,    86,    87,    88,    89,
   28429             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   28430             :      100,   101,   102,   103,    -1,    -1,    -1,   107,    -1,    -1,
   28431             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   28432             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   28433             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   28434             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   28435             :      150,   151,   152,    -1,   154,   155,   156,   157,    -1,   159,
   28436             :      160,   161,   162,    -1,    -1,   165,    -1,   167,   168,   169,
   28437             :      170,   171,   172,   173,    -1,   175,   176,   177,    -1,   179,
   28438             :      180,   181,   182,   183,    -1,   185,    -1,    -1,    -1,   189,
   28439             :      190,    -1,   192,   193,   194,   195,   196,   197,   198,   199,
   28440             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   28441             :      210,    -1,   212,   213,    -1,   215,   216,   217,   218,   219,
   28442             :      220,    -1,   222,    -1,   224,   225,   226,   227,   228,   229,
   28443             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28444             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   28445             :       -1,   251,   252,   253,    -1,   255,   256,   257,    -1,    -1,
   28446             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   28447             :       -1,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   28448             :      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   28449             :       -1,    -1,   292,    -1,   294,   295,   296,   297,    -1,    -1,
   28450             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   28451             :       -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,    -1,
   28452             :      320,   321,   322,    -1,   324,   325,   326,   327,   328,   329,
   28453             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   28454             :       -1,   341,    -1,   343,   344,   345,    -1,   347,   348,   349,
   28455             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   28456             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   28457             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
   28458             :      380,   381,   382,   383,   384,    -1,   386,   387,   388,   389,
   28459             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   28460             :      400,   401,    -1,   403,   404,   405,   406,   407,   408,   409,
   28461             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   28462             :      420,   421,   422,   423,   424,   425,   426,   427,   428,    -1,
   28463             :      430,    -1,   432,   433,    -1,    -1,   436,   437,   438,   439,
   28464             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   28465             :      450,   451,    -1,   453,    -1,    -1,   456,   457,   458,   459,
   28466             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   28467             :      470,   471,    -1,    -1,   474,   475,   476,   477,   478,    -1,
   28468             :      480,    -1,   482,   483,   484,   485,   486,   487,   488,    -1,
   28469             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   28470             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28471             :       -1,   511,   512,   513,    -1,    -1,    -1,    20,    21,    22,
   28472             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   28473             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   28474             :       -1,    44,    45,    46,    47,    48,    49,    50,    51,    -1,
   28475             :       53,    54,    55,    56,    -1,    58,    59,    60,    61,    62,
   28476             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   28477             :       73,    74,    75,    76,    -1,    -1,    79,    -1,    81,    82,
   28478             :       83,    84,    85,    86,    87,    88,    89,    90,    91,    -1,
   28479             :       93,    94,    95,    96,    97,    98,    -1,   100,   101,   102,
   28480             :      103,    -1,    -1,    -1,   107,    -1,    -1,    -1,   111,   112,
   28481             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   28482             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   28483             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   28484             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   28485             :       -1,   154,   155,   156,   157,    -1,   159,   160,   161,   162,
   28486             :       -1,    -1,   165,    -1,   167,   168,   169,   170,   171,   172,
   28487             :      173,    -1,   175,   176,   177,    -1,   179,   180,   181,   182,
   28488             :      183,    -1,   185,    -1,    -1,    -1,   189,   190,    -1,   192,
   28489             :      193,   194,   195,   196,   197,   198,   199,   200,   201,    -1,
   28490             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   28491             :      213,    -1,   215,   216,   217,   218,   219,   220,    -1,   222,
   28492             :       -1,   224,   225,   226,   227,   228,   229,    -1,    -1,    -1,
   28493             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   240,   241,   242,
   28494             :      243,   244,   245,   246,    -1,    -1,   249,    -1,   251,   252,
   28495             :      253,    -1,   255,   256,   257,    -1,    -1,   260,   261,   262,
   28496             :      263,   264,   265,   266,   267,   268,   269,    -1,   271,   272,
   28497             :      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
   28498             :      283,   284,   285,   286,   287,   288,   289,    -1,    -1,   292,
   28499             :       -1,   294,   295,   296,   297,    -1,    -1,   300,   301,   302,
   28500             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   28501             :      313,   314,    -1,    -1,   317,   318,    -1,   320,   321,   322,
   28502             :       -1,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   28503             :      333,   334,   335,    -1,   337,   338,   339,    -1,   341,    -1,
   28504             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   28505             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   28506             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   28507             :      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
   28508             :      383,   384,    -1,   386,   387,   388,   389,   390,   391,   392,
   28509             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   28510             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   28511             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   28512             :      423,   424,   425,   426,   427,   428,    -1,   430,    -1,   432,
   28513             :      433,    -1,    -1,   436,   437,   438,   439,   440,   441,   442,
   28514             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,    -1,
   28515             :      453,    -1,    -1,   456,   457,   458,   459,   460,   461,   462,
   28516             :      463,   464,    -1,    -1,   467,   468,   469,   470,   471,    -1,
   28517             :       -1,   474,   475,   476,   477,   478,    -1,   480,    -1,   482,
   28518             :      483,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   28519             :       -1,   494,   495,   496,   497,   498,   499,     3,    -1,    -1,
   28520             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   511,   512,
   28521             :      513,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   28522             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   28523             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   28524             :       46,    47,    48,    49,    50,    51,    -1,    53,    54,    55,
   28525             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   28526             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   28527             :       76,    -1,    -1,    79,    -1,    81,    82,    83,    84,    85,
   28528             :       86,    87,    88,    89,    90,    91,    -1,    93,    94,    95,
   28529             :       96,    97,    98,    -1,   100,   101,   102,   103,    -1,    -1,
   28530             :       -1,   107,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   28531             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   28532             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   28533             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   28534             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   28535             :      156,   157,    -1,   159,   160,   161,   162,    -1,    -1,   165,
   28536             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   28537             :      176,   177,    -1,   179,   180,   181,   182,   183,    -1,   185,
   28538             :       -1,    -1,    -1,   189,   190,    -1,   192,   193,   194,   195,
   28539             :      196,   197,   198,   199,   200,   201,    -1,   203,   204,   205,
   28540             :      206,   207,   208,   209,   210,    -1,   212,   213,    -1,   215,
   28541             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,   225,
   28542             :      226,   227,   228,   229,    -1,    -1,    -1,    -1,    -1,    -1,
   28543             :       -1,    -1,    -1,    -1,   240,   241,   242,   243,   244,   245,
   28544             :      246,    -1,    -1,   249,    -1,   251,   252,   253,    -1,   255,
   28545             :      256,   257,    -1,    -1,   260,   261,   262,   263,   264,   265,
   28546             :      266,   267,   268,   269,    -1,   271,   272,   273,   274,   275,
   28547             :      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
   28548             :      286,   287,   288,   289,    -1,    -1,   292,    -1,   294,   295,
   28549             :      296,   297,    -1,    -1,   300,   301,   302,   303,   304,   305,
   28550             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   28551             :       -1,   317,   318,    -1,   320,   321,   322,    -1,   324,   325,
   28552             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   28553             :       -1,   337,   338,   339,    -1,   341,    -1,   343,   344,   345,
   28554             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   28555             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   28556             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   28557             :       -1,   377,   378,   379,   380,   381,   382,   383,   384,    -1,
   28558             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   28559             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   28560             :      406,   407,   408,   409,   410,   411,   412,    -1,   414,   415,
   28561             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   28562             :      426,   427,   428,    -1,   430,    -1,   432,   433,    -1,    -1,
   28563             :      436,   437,   438,   439,   440,   441,   442,   443,    -1,   445,
   28564             :      446,   447,    -1,    -1,   450,   451,    -1,   453,    -1,    -1,
   28565             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   28566             :       -1,   467,   468,   469,   470,   471,    -1,    -1,   474,   475,
   28567             :      476,   477,   478,    -1,   480,    -1,   482,   483,   484,   485,
   28568             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   28569             :      496,   497,   498,   499,     3,    -1,    -1,    -1,    -1,    -1,
   28570             :       -1,    -1,    -1,    -1,    -1,   511,   512,   513,    -1,    -1,
   28571             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   28572             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   28573             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
   28574             :       49,    50,    51,    -1,    53,    54,    55,    56,    -1,    58,
   28575             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   28576             :       69,    70,    71,    -1,    73,    74,    75,    76,    -1,    -1,
   28577             :       79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
   28578             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   28579             :       -1,   100,   101,   102,   103,    -1,    -1,    -1,   107,    -1,
   28580             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   28581             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   28582             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   28583             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   28584             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,    -1,
   28585             :      159,   160,   161,   162,    -1,    -1,   165,    -1,   167,   168,
   28586             :      169,   170,   171,    -1,   173,    -1,   175,   176,   177,    -1,
   28587             :      179,   180,   181,   182,   183,    -1,   185,    -1,    -1,    -1,
   28588             :      189,   190,    -1,   192,   193,   194,   195,   196,   197,   198,
   28589             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   28590             :      209,   210,    -1,   212,   213,    -1,   215,   216,   217,   218,
   28591             :      219,   220,    -1,   222,    -1,   224,   225,   226,   227,   228,
   28592             :      229,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28593             :       -1,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   28594             :      249,    -1,   251,   252,   253,    -1,   255,   256,   257,    -1,
   28595             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   28596             :      269,    -1,   271,   272,   273,   274,   275,   276,   277,   278,
   28597             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   28598             :      289,    -1,    -1,   292,    -1,   294,   295,   296,   297,    -1,
   28599             :       -1,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   28600             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   28601             :       -1,   320,   321,   322,    -1,   324,   325,   326,   327,   328,
   28602             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   28603             :      339,    -1,   341,    -1,   343,   344,   345,    -1,   347,   348,
   28604             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   28605             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   28606             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   28607             :      379,   380,   381,   382,   383,   384,    -1,   386,   387,   388,
   28608             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   28609             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,   408,
   28610             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   28611             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   28612             :       -1,   430,    -1,   432,   433,    -1,    -1,   436,   437,   438,
   28613             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   28614             :       -1,   450,   451,    -1,   453,    -1,    -1,   456,   457,   458,
   28615             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   28616             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   28617             :       -1,   480,    -1,   482,   483,   484,   485,   486,   487,   488,
   28618             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   28619             :      499,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28620             :       -1,    -1,   511,   512,   513,    -1,    -1,    -1,    20,    21,
   28621             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   28622             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   28623             :       42,    -1,    44,    45,    46,    47,    48,    49,    50,    51,
   28624             :       -1,    53,    54,    55,    56,    -1,    58,    59,    60,    61,
   28625             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   28626             :       -1,    73,    74,    75,    76,    -1,    -1,    79,    -1,    81,
   28627             :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
   28628             :       -1,    93,    94,    95,    96,    97,    98,    -1,   100,   101,
   28629             :      102,   103,    -1,    -1,    -1,   107,    -1,    -1,    -1,   111,
   28630             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   28631             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   28632             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   28633             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   28634             :      152,    -1,   154,   155,   156,   157,    -1,   159,   160,   161,
   28635             :      162,    -1,    -1,   165,    -1,   167,   168,   169,   170,   171,
   28636             :       -1,   173,    -1,   175,   176,   177,    -1,   179,   180,   181,
   28637             :      182,   183,    -1,   185,    -1,    -1,    -1,   189,   190,    -1,
   28638             :      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
   28639             :       -1,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
   28640             :      212,   213,    -1,   215,   216,   217,   218,   219,   220,    -1,
   28641             :      222,    -1,   224,   225,   226,   227,   228,   229,    -1,    -1,
   28642             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   240,   241,
   28643             :      242,   243,   244,   245,   246,    -1,    -1,   249,    -1,   251,
   28644             :      252,   253,    -1,   255,   256,   257,    -1,    -1,   260,   261,
   28645             :      262,   263,   264,   265,   266,   267,   268,   269,    -1,   271,
   28646             :      272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
   28647             :      282,   283,   284,   285,   286,   287,   288,   289,    -1,    -1,
   28648             :      292,    -1,   294,   295,   296,   297,    -1,    -1,   300,   301,
   28649             :      302,   303,   304,   305,    -1,   307,   308,   309,    -1,    -1,
   28650             :      312,   313,   314,    -1,    -1,   317,   318,    -1,   320,   321,
   28651             :      322,    -1,   324,   325,   326,   327,   328,   329,   330,   331,
   28652             :      332,   333,   334,   335,    -1,   337,   338,   339,    -1,   341,
   28653             :       -1,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
   28654             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   28655             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   28656             :      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
   28657             :      382,   383,   384,    -1,   386,   387,   388,   389,   390,   391,
   28658             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   28659             :       -1,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   28660             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   28661             :      422,   423,   424,   425,   426,   427,   428,    -1,   430,    -1,
   28662             :      432,   433,    -1,    -1,   436,   437,   438,   439,   440,   441,
   28663             :      442,   443,    -1,   445,   446,   447,    -1,    -1,   450,   451,
   28664             :       -1,   453,    -1,    -1,   456,   457,   458,   459,   460,   461,
   28665             :      462,   463,   464,    -1,    -1,   467,   468,   469,   470,   471,
   28666             :       -1,    -1,   474,   475,   476,   477,   478,    -1,   480,    -1,
   28667             :      482,   483,   484,   485,   486,   487,   488,    -1,    -1,   491,
   28668             :       -1,    -1,   494,   495,   496,   497,   498,   499,     3,    -1,
   28669             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   511,
   28670             :      512,   513,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   28671             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   28672             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   28673             :       45,    46,    47,    48,    49,    50,    51,    -1,    53,    54,
   28674             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   28675             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   28676             :       75,    76,    -1,    -1,    79,    -1,    81,    82,    83,    84,
   28677             :       85,    86,    87,    88,    89,    90,    91,    -1,    93,    94,
   28678             :       95,    96,    97,    98,    -1,   100,   101,   102,   103,    -1,
   28679             :       -1,    -1,   107,    -1,    -1,    -1,   111,   112,   113,   114,
   28680             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   28681             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   28682             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   28683             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   28684             :      155,   156,   157,    -1,   159,   160,   161,   162,    -1,    -1,
   28685             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   28686             :      175,   176,   177,    -1,   179,   180,   181,   182,   183,    -1,
   28687             :      185,    -1,    -1,    -1,   189,   190,    -1,   192,   193,   194,
   28688             :      195,   196,   197,   198,   199,   200,   201,    -1,   203,   204,
   28689             :      205,   206,   207,   208,   209,   210,    -1,   212,   213,    -1,
   28690             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   28691             :      225,   226,   227,   228,   229,    -1,    -1,    -1,    -1,    -1,
   28692             :       -1,    -1,    -1,    -1,    -1,   240,   241,   242,   243,   244,
   28693             :      245,   246,    -1,    -1,   249,    -1,   251,   252,   253,    -1,
   28694             :      255,   256,   257,    -1,    -1,   260,   261,   262,   263,   264,
   28695             :      265,   266,   267,   268,   269,    -1,   271,   272,   273,   274,
   28696             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
   28697             :      285,   286,   287,   288,   289,    -1,    -1,   292,    -1,   294,
   28698             :      295,   296,   297,    -1,    -1,   300,   301,   302,   303,   304,
   28699             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   28700             :       -1,    -1,   317,   318,    -1,   320,   321,   322,    -1,   324,
   28701             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   28702             :      335,    -1,   337,   338,   339,    -1,   341,    -1,   343,   344,
   28703             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   28704             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   28705             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   28706             :      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
   28707             :       -1,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   28708             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   28709             :      405,   406,   407,   408,   409,   410,   411,   412,    -1,   414,
   28710             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   28711             :      425,   426,   427,   428,    -1,   430,    -1,   432,   433,    -1,
   28712             :       -1,   436,   437,   438,   439,   440,   441,   442,   443,    -1,
   28713             :      445,   446,   447,    -1,    -1,   450,   451,    -1,   453,    -1,
   28714             :       -1,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   28715             :       -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,   474,
   28716             :      475,   476,   477,   478,    -1,   480,    -1,   482,   483,   484,
   28717             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   28718             :      495,   496,   497,   498,   499,     3,    -1,    -1,    -1,    -1,
   28719             :       -1,    -1,    -1,    -1,    -1,    -1,   511,   512,   513,    -1,
   28720             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   28721             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   28722             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   28723             :       48,    49,    50,    51,    -1,    53,    54,    55,    56,    -1,
   28724             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   28725             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    -1,
   28726             :       -1,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
   28727             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   28728             :       98,    -1,   100,   101,   102,   103,    -1,    -1,    -1,   107,
   28729             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   28730             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   28731             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   28732             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   28733             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   28734             :       -1,   159,   160,   161,   162,    -1,    -1,   165,    -1,   167,
   28735             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,   177,
   28736             :       -1,   179,   180,   181,   182,   183,    -1,   185,    -1,    -1,
   28737             :       -1,   189,   190,    -1,   192,   193,   194,   195,   196,   197,
   28738             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   28739             :      208,   209,   210,    -1,   212,   213,    -1,   215,   216,   217,
   28740             :      218,   219,   220,    -1,   222,    -1,   224,   225,   226,   227,
   28741             :      228,   229,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28742             :       -1,    -1,   240,   241,   242,   243,   244,   245,   246,    -1,
   28743             :       -1,   249,    -1,   251,   252,   253,    -1,   255,   256,   257,
   28744             :       -1,    -1,   260,   261,   262,   263,   264,   265,   266,   267,
   28745             :      268,   269,    -1,   271,   272,   273,   274,   275,   276,   277,
   28746             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   28747             :      288,   289,    -1,    -1,   292,    -1,   294,   295,   296,   297,
   28748             :       -1,    -1,   300,   301,   302,   303,   304,   305,    -1,   307,
   28749             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   28750             :      318,    -1,   320,   321,   322,    -1,   324,   325,   326,   327,
   28751             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   28752             :      338,   339,    -1,   341,    -1,   343,   344,   345,    -1,   347,
   28753             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   28754             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   28755             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   28756             :      378,   379,   380,   381,   382,   383,   384,    -1,   386,   387,
   28757             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   28758             :      398,   399,   400,   401,    -1,   403,   404,    -1,   406,   407,
   28759             :      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   28760             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   28761             :      428,    -1,   430,    -1,   432,   433,    -1,    -1,   436,   437,
   28762             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   28763             :       -1,    -1,   450,   451,    -1,   453,    -1,    -1,   456,   457,
   28764             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   28765             :      468,   469,   470,   471,    -1,    -1,   474,   475,   476,   477,
   28766             :      478,    -1,   480,    -1,   482,   483,   484,   485,   486,   487,
   28767             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   28768             :      498,   499,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28769             :       -1,    -1,    -1,   511,   512,   513,    -1,    -1,    -1,    20,
   28770             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   28771             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   28772             :       41,    42,    -1,    44,    45,    46,    47,    48,    49,    50,
   28773             :       51,    -1,    -1,    54,    -1,    -1,    -1,    58,    59,    60,
   28774             :       61,    62,    63,    64,    -1,    -1,    67,    68,    -1,    -1,
   28775             :       71,    -1,    73,    74,    75,    76,    -1,    -1,    79,    -1,
   28776             :       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
   28777             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,   100,
   28778             :      101,   102,   103,    -1,    -1,    -1,   107,    -1,    -1,    -1,
   28779             :      111,   112,   113,   114,   115,   116,    -1,    -1,   119,    -1,
   28780             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   28781             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   28782             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   28783             :      151,   152,    -1,   154,   155,   156,   157,    -1,   159,   160,
   28784             :      161,   162,    -1,    -1,   165,    -1,   167,   168,   169,    -1,
   28785             :      171,    -1,   173,    -1,   175,   176,   177,    -1,   179,   180,
   28786             :      181,   182,   183,    -1,   185,    -1,    -1,    -1,   189,   190,
   28787             :       -1,   192,   193,   194,   195,   196,   197,   198,   199,   200,
   28788             :      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
   28789             :       -1,   212,   213,    -1,   215,   216,   217,   218,    -1,    -1,
   28790             :       -1,    -1,    -1,   224,   225,   226,   227,   228,    -1,    -1,
   28791             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   240,
   28792             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,    -1,
   28793             :      251,   252,   253,    -1,   255,   256,   257,    -1,    -1,   260,
   28794             :      261,   262,   263,   264,   265,   266,   267,   268,   269,    -1,
   28795             :      271,   272,   273,   274,   275,   276,   277,   278,    -1,   280,
   28796             :       -1,   282,   283,   284,   285,   286,   287,   288,   289,    -1,
   28797             :       -1,   292,    -1,   294,   295,   296,   297,    -1,    -1,   300,
   28798             :       -1,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   28799             :       -1,   312,   313,   314,    -1,    -1,   317,   318,    -1,   320,
   28800             :      321,   322,    -1,   324,   325,   326,   327,   328,   329,   330,
   28801             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,    -1,
   28802             :      341,    -1,   343,   344,   345,    -1,   347,   348,   349,   350,
   28803             :      351,   352,   353,   354,   355,   356,   357,    -1,   359,   360,
   28804             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   28805             :      371,   372,   373,   374,   375,    -1,   377,   378,   379,   380,
   28806             :      381,   382,   383,   384,    -1,   386,   387,   388,   389,   390,
   28807             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   28808             :      401,    -1,   403,   404,    -1,   406,   407,   408,   409,   410,
   28809             :       -1,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   28810             :      421,   422,   423,   424,   425,   426,   427,   428,    -1,   430,
   28811             :       -1,   432,   433,    -1,    -1,   436,   437,   438,   439,   440,
   28812             :      441,   442,   443,    -1,   445,    -1,    -1,    -1,    -1,   450,
   28813             :      451,    -1,   453,    -1,    -1,   456,   457,   458,   459,   460,
   28814             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   28815             :      471,    -1,    -1,   474,   475,   476,   477,   478,    -1,    -1,
   28816             :       -1,   482,   483,   484,   485,   486,   487,   488,    -1,    -1,
   28817             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,    -1,
   28818             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28819             :      511,   512,   513
   28820             : };
   28821             : 
   28822             :   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
   28823             :      symbol of state STATE-NUM.  */
   28824             : static const yytype_int16 yystos[] =
   28825             : {
   28826             :        0,    20,    31,    33,    34,    51,    61,    73,    75,    76,
   28827             :       82,    84,    97,    99,   116,   119,   134,   136,   140,   147,
   28828             :      157,   159,   166,   184,   201,   255,   256,   261,   276,   295,
   28829             :      344,   359,   364,   365,   367,   372,   378,   381,   388,   395,
   28830             :      396,   403,   407,   418,   435,   456,   468,   474,   479,   493,
   28831             :      517,   519,   520,   521,   522,   523,   536,   543,   544,   545,
   28832             :      546,   551,   552,   558,   559,   561,   562,   563,   564,   566,
   28833             :      569,   581,   586,   587,   590,   591,   592,   612,   615,   616,
   28834             :      631,   686,   689,   690,   693,   696,   697,   698,   706,   713,
   28835             :      715,   716,   719,   722,   723,   727,   736,   740,   741,   742,
   28836             :      745,   747,   748,   749,   750,   758,   760,   780,   784,   786,
   28837             :      787,   797,   799,   805,   806,   809,   810,   811,   812,   813,
   28838             :      822,   824,   826,   829,   833,   834,   844,   845,   850,   855,
   28839             :      866,   898,   901,   902,   903,   908,   911,   913,   915,   917,
   28840             :      918,   922,   923,   926,   928,   929,   933,   934,   935,   938,
   28841             :      939,   940,   941,   942,   949,   951,   952,   953,   954,   960,
   28842             :      962,   963,   969,   970,   971,   974,   975,   976,   977,   979,
   28843             :      980,   982,   983,   985,   986,   988,  1000,  1002,  1005,  1007,
   28844             :     1008,  1021,  1023,  1028,  1033,  1043,  1047,  1048,  1049,  1050,
   28845             :     1051,  1052,  1058,  1094,   450,   496,   955,    28,    79,    96,
   28846             :      114,   120,   138,   152,   161,   174,   180,   187,   207,   245,
   28847             :      267,   312,   339,   349,   350,   353,   380,   383,   387,   390,
   28848             :      397,   400,   420,   428,   433,   435,   438,   443,   453,   458,
   28849             :      472,   485,   712,   955,     3,    20,    21,    22,    23,    24,
   28850             :       25,    26,    27,    28,    30,    31,    32,    40,    41,    42,
   28851             :       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
   28852             :       54,    55,    56,    58,    59,    60,    61,    62,    63,    64,
   28853             :       67,    68,    69,    70,    71,    73,    74,    75,    76,    77,
   28854             :       79,    81,    82,    83,    84,    85,    86,    87,    88,    89,
   28855             :       90,    91,    93,    94,    95,    96,    97,    98,   100,   101,
   28856             :      102,   103,   107,   111,   112,   113,   114,   115,   116,   117,
   28857             :      118,   119,   121,   123,   124,   125,   126,   127,   128,   129,
   28858             :      131,   132,   133,   134,   137,   138,   139,   140,   141,   143,
   28859             :      144,   145,   146,   148,   149,   150,   151,   152,   154,   155,
   28860             :      156,   157,   158,   159,   160,   161,   162,   163,   165,   167,
   28861             :      168,   169,   170,   171,   173,   175,   176,   177,   179,   180,
   28862             :      181,   182,   183,   185,   186,   188,   189,   190,   192,   193,
   28863             :      194,   195,   196,   197,   198,   199,   200,   201,   203,   204,
   28864             :      205,   206,   207,   208,   209,   210,   212,   213,   214,   215,
   28865             :      216,   217,   218,   219,   220,   222,   224,   225,   226,   227,
   28866             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   28867             :      238,   239,   240,   241,   242,   243,   244,   245,   246,   249,
   28868             :      250,   251,   252,   253,   255,   256,   257,   260,   261,   262,
   28869             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   28870             :      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
   28871             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   28872             :      294,   295,   296,   297,   299,   300,   301,   302,   303,   304,
   28873             :      305,   307,   308,   309,   312,   313,   314,   317,   318,   319,
   28874             :      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
   28875             :      330,   331,   332,   333,   334,   335,   337,   338,   339,   340,
   28876             :      341,   342,   343,   344,   345,   347,   348,   349,   350,   351,
   28877             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   28878             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   28879             :      373,   374,   375,   377,   378,   379,   380,   381,   382,   383,
   28880             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   28881             :      394,   395,   397,   398,   399,   400,   401,   403,   404,   405,
   28882             :      406,   407,   408,   409,   410,   411,   412,   414,   415,   416,
   28883             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   28884             :      427,   428,   429,   430,   432,   433,   436,   437,   438,   439,
   28885             :      440,   441,   442,   443,   445,   446,   447,   450,   451,   452,
   28886             :      453,   454,   456,   457,   458,   459,   460,   461,   462,   463,
   28887             :      464,   467,   468,   469,   470,   471,   474,   475,   476,   477,
   28888             :      478,   479,   480,   482,   483,   484,   485,   486,   487,   488,
   28889             :      491,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   28890             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   28891             :      513,  1162,  1255,  1267,  1268,  1272,  1273,  1274,     3,    29,
   28892             :     1044,  1252,  1267,  1272,   483,   536,   993,   310,   345,   955,
   28893             :       54,   536,   623,    23,    41,    66,    79,   114,   120,   138,
   28894             :      152,   161,   174,   183,   187,   257,   312,   315,   339,   353,
   28895             :      380,   390,   400,   420,   428,   438,   440,   442,   443,   458,
   28896             :      466,   469,   472,   632,   695,   802,   856,   867,    29,   344,
   28897             :     1252,  1044,    29,   338,   398,   440,   442,     6,   244,   909,
   28898             :      910,  1258,    23,    28,    66,    79,    96,   114,   138,   152,
   28899             :      161,   174,   180,   187,   207,   267,   312,   325,   339,   350,
   28900             :      353,   380,   383,   387,   390,   397,   400,   420,   428,   435,
   28901             :      438,   443,   451,   453,   458,   472,   485,   712,   814,   816,
   28902             :      817,   955,  1252,    99,   483,   536,   690,   693,   696,   988,
   28903             :     1001,  1005,  1008,  1021,  1028,  1033,  1043,  1047,    11,    22,
   28904             :       29,    49,   169,   176,   178,   202,   246,   284,   347,   366,
   28905             :      527,   528,   830,   831,  1044,  1257,  1259,    29,    31,    99,
   28906             :      362,   396,   835,   836,   837,  1267,   174,  1267,  1254,  1258,
   28907             :      435,  1061,   830,  1267,   450,  1252,   325,   267,   536,   921,
   28908             :      388,  1267,    29,   401,   446,   450,   573,   582,   583,  1267,
   28909             :      184,   835,   836,  1267,   345,   955,  1267,   243,    29,   135,
   28910             :     1063,  1064,    67,    93,   257,   278,   380,   390,   401,   446,
   28911             :      450,   499,   570,   571,   572,   573,    29,   401,   446,   450,
   28912             :      573,   450,   311,  1106,  1107,  1250,  1267,  1061,   529,  1267,
   28913             :      179,   536,   994,   536,   360,  1053,  1054,  1252,  1053,     3,
   28914             :       53,    55,    56,    69,    70,   117,   118,   139,   170,   219,
   28915             :      220,   222,   229,   279,   281,   301,   358,   405,   411,   446,
   28916             :      447,   480,  1135,  1137,  1139,  1141,  1143,  1145,  1146,  1147,
   28917             :     1149,  1150,  1151,  1153,  1154,  1158,  1268,  1272,  1063,  1064,
   28918             :     1065,  1263,    12,  1264,  1265,  1267,  1264,  1264,  1048,  1049,
   28919             :     1052,     0,   539,   536,   993,   153,   221,   316,   465,  1066,
   28920             :     1067,  1048,  1050,  1051,   125,   217,   269,   471,   540,    35,
   28921             :      959,   883,  1255,   819,  1267,   819,  1252,   348,   819,   453,
   28922             :     1252,   113,   435,   871,  1255,  1267,  1274,     3,   106,   110,
   28923             :      402,  1260,  1261,  1269,  1272,  1273,  1274,    29,   196,  1250,
   28924             :      302,   485,    10,    17,    18,    19,    74,   165,   524,   525,
   28925             :      526,   527,   528,   529,   530,   531,   532,   905,   907,  1193,
   28926             :     1194,  1267,   196,  1252,   871,  1252,    29,  1260,  1261,   871,
   28927             :     1252,  1252,   196,  1250,  1252,   196,   819,  1252,   372,   403,
   28928             :       29,   196,  1106,  1252,   393,  1252,   819,    29,   264,  1260,
   28929             :     1261,   196,  1250,   244,   122,   227,   293,   357,   956,   957,
   28930             :      958,   536,   534,   538,  1219,  1221,   514,   987,   988,   989,
   28931             :      990,  1269,  1250,  1252,  1267,    28,    66,    80,    92,   114,
   28932             :      138,   180,   207,   245,   312,   350,   380,   383,   428,   438,
   28933             :      451,   458,   814,   815,   816,   817,  1258,   959,  1004,  1008,
   28934             :     1021,  1028,  1033,  1047,  1250,   271,   819,   536,   196,   819,
   28935             :     1252,   819,   453,   196,  1252,   113,   435,   440,   442,  1260,
   28936             :     1261,   440,   442,    74,   165,   905,   370,  1252,  1252,  1260,
   28937             :      196,   547,  1267,   196,  1252,   196,   548,   819,  1252,  1252,
   28938             :      393,   819,   264,  1260,   360,   397,   435,   485,   267,    96,
   28939             :      207,    28,    92,   180,   350,   387,   451,   453,   457,   707,
   28940             :       29,  1252,  1045,   580,  1258,  1269,   910,   271,   196,   883,
   28941             :      884,   196,   914,   196,  1252,   196,   821,  1135,   453,   113,
   28942             :      435,   196,   870,   871,   196,  1261,  1262,    87,   485,    74,
   28943             :      165,   196,   906,   907,    59,   196,   870,   196,  1262,   196,
   28944             :      870,   196,  1252,   196,  1252,   393,   914,   196,   821,   196,
   28945             :      264,  1262,   244,   196,   818,   819,   196,  1251,  1252,   196,
   28946             :     1252,   959,   536,  1006,   632,  1001,   479,   987,   993,  1259,
   28947             :      831,   832,    29,   832,  1259,   832,    29,   832,  1259,   832,
   28948             :      832,   832,  1259,  1257,  1257,  1044,   832,   348,   536,   433,
   28949             :      536,   661,   661,   661,   310,   448,   540,   661,   390,  1106,
   28950             :     1108,   540,   950,  1258,   536,  1003,    59,   485,   987,   114,
   28951             :      207,   390,   433,   435,   919,   920,  1267,    48,   513,   227,
   28952             :      538,   313,   310,   178,   313,  1258,   448,   959,   172,   827,
   28953             :      310,     5,     8,     9,    10,    12,    37,    53,    55,    56,
   28954             :       65,    66,    69,    70,    77,    79,   104,   105,   106,   107,
   28955             :      108,   109,   110,   117,   118,   120,   158,   163,   164,   170,
   28956             :      186,   188,   219,   220,   222,   229,   230,   231,   232,   233,
   28957             :      234,   235,   236,   237,   239,   250,   258,   259,   270,   279,
   28958             :      281,   291,   293,   298,   299,   301,   312,   323,   340,   358,
   28959             :      385,   402,   411,   429,   434,   446,   447,   452,   454,   455,
   28960             :      466,   472,   480,   501,   502,   503,   504,   506,   507,   508,
   28961             :      509,   515,   527,   528,   529,   536,  1048,  1138,  1141,  1144,
   28962             :     1145,  1146,  1148,  1149,  1150,  1153,  1154,  1158,  1159,  1161,
   28963             :     1162,  1163,  1165,  1189,  1190,  1191,  1195,  1213,  1218,  1244,
   28964             :     1247,  1248,  1255,  1256,  1257,  1258,  1267,  1246,  1247,  1258,
   28965             :       29,   588,  1249,  1250,   401,   570,   120,   579,  1258,   580,
   28966             :     1258,    48,    71,   570,   513,   412,   957,   313,   178,   448,
   28967             :      526,    48,   513,   227,   958,   536,  1250,   529,  1221,  1108,
   28968             :      987,   177,   995,  1159,  1198,  1053,   540,   536,   996,   482,
   28969             :     1152,  1152,  1152,   536,  1140,  1140,   342,   536,  1142,    69,
   28970             :       70,  1152,  1140,  1137,   517,   518,   536,  1155,   536,  1155,
   28971             :       37,  1136,   536,   115,   194,   272,   275,   394,   511,   536,
   28972             :     1156,  1157,   538,   820,  1140,  1246,  1222,   537,   537,   545,
   28973             :      987,   997,   998,   999,  1106,    29,   135,  1062,  1062,    59,
   28974             :     1062,   166,   172,   254,   306,  1070,  1072,  1073,  1088,  1090,
   28975             :     1091,  1092,  1066,  1067,   178,   223,   223,  1106,  1109,   536,
   28976             :       68,   289,   326,   368,   403,   536,   881,   326,   364,   368,
   28977             :      403,   820,   326,   368,   403,     3,    91,   145,   260,   326,
   28978             :      364,   368,   403,   438,   441,   493,   581,   584,   964,   965,
   28979             :      966,   967,   851,    25,   140,   326,   368,   403,   476,   597,
   28980             :     1252,    25,   140,   403,   471,   565,   497,   196,  1106,    62,
   28981             :       98,   162,   199,   249,   289,   293,   326,   327,   368,   377,
   28982             :      386,   395,   403,   416,   425,   430,   488,   581,   585,   887,
   28983             :      899,   927,   536,   868,  1221,   368,   565,   202,   158,    25,
   28984             :       31,    46,    76,   133,   140,   144,   173,   209,   289,   293,
   28985             :      304,   314,   326,   368,   371,   372,   403,   476,   593,   595,
   28986             :      596,   730,   927,     5,   527,   528,   704,  1259,    29,   196,
   28987             :     1250,   819,   819,   536,   904,   326,   403,   538,   158,   310,
   28988             :      326,   368,   403,   899,   927,    25,   140,   326,   368,   403,
   28989             :      202,   560,   368,   493,   517,   553,   560,   326,   368,   403,
   28990             :      899,   927,   310,   326,   368,   158,    38,    60,   112,   205,
   28991             :      263,   268,   273,   289,   325,   368,   373,   397,   403,   418,
   28992             :      469,   593,   701,   702,   326,   368,   484,   730,   738,   158,
   28993             :      326,   368,   403,    25,    91,   133,   140,   144,   326,   364,
   28994             :      368,   403,   410,   583,   571,   573,   202,   158,    46,   131,
   28995             :      289,   368,   403,   593,   594,   326,   368,   372,   403,    89,
   28996             :      132,   329,   441,   310,    25,    31,   140,   326,   368,   403,
   28997             :      613,   614,   560,   172,   368,   553,   560,   158,   368,   403,
   28998             :      593,  1252,   252,   122,   311,   498,   540,   956,    29,   135,
   28999             :      481,   529,   537,   876,  1159,  1199,  1200,  1268,  1159,  1220,
   29000             :        3,    29,    33,    34,    35,    36,    37,    38,    39,    43,
   29001             :       57,    65,    66,    72,    78,    80,    92,    99,   104,   105,
   29002             :      106,   108,   109,   110,   120,   122,   130,   135,   136,   142,
   29003             :      147,   153,   164,   166,   172,   174,   178,   184,   187,   191,
   29004             :      202,   211,   221,   223,   247,   248,   254,   258,   259,   293,
   29005             :      298,   306,   310,   311,   315,   316,   336,   346,   362,   376,
   29006             :      396,   402,   413,   431,   434,   435,   444,   448,   449,   455,
   29007             :      465,   466,   472,   473,   481,   489,   490,   492,   493,   529,
   29008             :     1253,  1270,  1272,  1273,  1274,  1275,  1219,   537,   540,   164,
   29009             :      310,   455,   577,   580,   704,   991,   473,   984,   310,   883,
   29010             :      536,   819,  1252,  1135,   871,   302,    74,   165,   907,   871,
   29011             :      871,   172,  1135,   819,  1252,  1252,   537,   661,  1252,    72,
   29012             :     1135,   293,   178,   536,   788,   553,    38,   978,  1252,   293,
   29013             :      553,   497,   196,  1250,   553,   819,   819,   788,   469,   632,
   29014             :      310,   172,   493,   895,   553,   293,    48,   567,   293,   458,
   29015             :      737,   293,   996,    91,   326,   714,    89,   132,   329,   441,
   29016             :       38,   788,   172,   196,   553,   485,   196,  1250,   196,   691,
   29017             :     1250,  1250,   485,   819,    87,   549,  1255,   453,  1255,  1255,
   29018             :     1252,   172,  1252,   712,    40,    54,   111,   216,   289,   392,
   29019             :      158,    63,   374,   540,   550,   158,   536,   158,   553,   158,
   29020             :      540,   550,   497,   158,   540,   550,   158,   540,   196,   818,
   29021             :      196,   819,   196,   819,   158,   540,   550,  1262,   158,   550,
   29022             :      158,   158,   550,   158,   550,   158,    89,   132,   329,   441,
   29023             :      172,   158,   550,   158,   172,   196,   158,   540,   550,   158,
   29024             :      540,   550,   158,   310,  1198,   435,   537,  1001,   832,  1044,
   29025             :      832,  1044,   832,  1044,   832,  1044,   832,  1044,  1044,  1044,
   29026             :      832,  1044,   536,   662,   665,  1267,   662,    29,   114,   138,
   29027             :      174,   180,   244,   245,   328,   350,   383,   390,   397,   435,
   29028             :      438,   458,   840,  1249,  1262,   837,  1252,   202,   540,  1024,
   29029             :     1258,  1135,  1202,    38,  1262,   549,   537,   549,   549,   549,
   29030             :      252,  1267,   172,   840,  1262,   172,   388,  1267,   580,   310,
   29031             :      536,  1222,   534,  1048,  1203,  1159,  1217,   536,   536,   172,
   29032             :      536,   536,  1048,   536,   536,   536,   536,   536,   536,   536,
   29033             :      536,   536,   536,   536,   536,   536,   536,   536,   536,   536,
   29034             :      536,  1159,   536,   536,   536,   536,   536,   536,   536,   536,
   29035             :      300,   648,   536,   536,   536,   536,   536,   536,   536,   536,
   29036             :     1159,  1159,  1159,  1048,  1159,  1198,  1221,  1258,   536,  1258,
   29037             :        3,    10,    13,    17,    18,    19,    20,    21,    22,    23,
   29038             :       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
   29039             :       34,    35,    36,    38,    39,    40,    41,    42,    43,    44,
   29040             :       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
   29041             :       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
   29042             :       65,    66,    67,    68,    71,    72,    73,    74,    75,    76,
   29043             :       77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
   29044             :       87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
   29045             :       97,    98,   100,   101,   102,   103,   104,   105,   106,   107,
   29046             :      108,   109,   110,   111,   112,   113,   114,   116,   117,   118,
   29047             :      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
   29048             :      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
   29049             :      139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
   29050             :      149,   150,   151,   152,   154,   155,   156,   157,   158,   159,
   29051             :      160,   161,   162,   163,   164,   165,   168,   169,   170,   171,
   29052             :      173,   174,   175,   176,   177,   179,   180,   181,   182,   183,
   29053             :      185,   186,   188,   189,   190,   192,   193,   195,   196,   197,
   29054             :      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
   29055             :      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
   29056             :      218,   219,   220,   222,   224,   225,   226,   227,   228,   229,
   29057             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   29058             :      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
   29059             :      250,   251,   252,   253,   255,   256,   257,   258,   259,   260,
   29060             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   29061             :      271,   273,   274,   276,   277,   278,   279,   280,   281,   282,
   29062             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   29063             :      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
   29064             :      303,   304,   305,   307,   308,   309,   311,   312,   313,   314,
   29065             :      315,   317,   318,   319,   320,   323,   324,   325,   326,   327,
   29066             :      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
   29067             :      338,   339,   340,   341,   343,   344,   345,   346,   347,   348,
   29068             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   29069             :      359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
   29070             :      369,   370,   371,   372,   373,   374,   375,   377,   378,   379,
   29071             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   29072             :      390,   391,   392,   393,   395,   396,   397,   398,   399,   400,
   29073             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   29074             :      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
   29075             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   29076             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   29077             :      441,   442,   443,   444,   445,   446,   447,   449,   450,   451,
   29078             :      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
   29079             :      462,   463,   464,   466,   467,   468,   469,   470,   471,   472,
   29080             :      473,   474,   475,   476,   477,   478,   479,   480,   481,   483,
   29081             :      484,   485,   486,   487,   488,   489,   491,   496,   497,   498,
   29082             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   29083             :      509,   510,   512,   513,   515,   524,   525,   526,   527,   528,
   29084             :      529,   530,   531,   532,  1193,  1195,  1197,  1271,  1276,   494,
   29085             :     1176,   322,  1159,   167,  1177,   223,   540,  1059,   536,  1258,
   29086             :     1221,  1059,   123,   198,   589,   540,    71,   120,   580,    38,
   29087             :        3,   120,   257,   578,   704,  1154,  1258,  1258,    94,   137,
   29088             :     1171,   103,   120,   574,   575,   577,   704,   120,   574,   252,
   29089             :     1250,    95,   373,   823,   537,   993,    35,    45,    52,    78,
   29090             :      197,   202,   225,   253,   312,   315,   408,   537,   540,  1054,
   29091             :     1251,    38,   536,  1198,  1257,  1152,  1152,    37,  1136,   446,
   29092             :      446,  1257,  1257,   534,   534,  1257,   448,   448,   448,   536,
   29093             :      448,  1257,  1253,   538,  1140,   178,  1095,    15,   526,  1219,
   29094             :     1266,   537,   540,   996,  1050,  1050,  1068,  1069,  1159,  1050,
   29095             :      169,   284,  1079,   241,   289,   357,   406,   471,    29,  1074,
   29096             :     1159,   527,   528,  1075,  1076,  1159,  1161,  1088,  1089,  1073,
   29097             :     1072,  1070,  1071,   172,  1091,   304,  1093,  1070,  1088,  1109,
   29098             :     1009,  1250,  1109,    38,  1267,   403,  1198,    68,   448,   448,
   29099             :      390,   202,   214,   316,   319,   405,   481,   529,   874,   875,
   29100             :      876,   878,   880,   882,  1135,  1268,   448,   484,   448,   390,
   29101             :      448,   448,   390,   254,   448,    79,   448,   438,   570,   326,
   29102             :      964,   966,   526,   968,   172,   184,   202,   378,   852,   853,
   29103             :       72,    92,   293,   657,   658,    92,   120,   293,   448,    92,
   29104             :      448,   120,   293,   390,    92,   133,   144,   326,   368,   785,
   29105             :      390,   720,    28,    66,   138,   180,   312,   350,   383,   451,
   29106             :      458,   814,   815,  1252,   158,   368,   403,   593,   310,   704,
   29107             :      395,   249,   448,  1267,   448,   298,   704,   124,   224,   390,
   29108             :      401,   450,   572,   819,   374,   403,   887,   900,   128,   537,
   29109             :      869,   874,   448,   472,   438,  1250,    72,    80,    92,   154,
   29110             :      174,   196,   293,   346,   466,   639,   655,   656,  1267,    80,
   29111             :       92,   924,   331,   310,   385,   387,   453,    92,   924,    32,
   29112             :      371,   385,   387,   453,   385,  1250,   173,   209,   304,   819,
   29113             :      536,   448,   448,   195,   536,   601,    23,   263,   438,   469,
   29114             :      495,   601,    92,   540,   128,     5,     5,   326,   202,   158,
   29115             :      368,   403,   593,   927,   473,   473,   290,  1135,   448,   390,
   29116             :      536,   905,  1252,  1250,   448,   448,   390,   900,   128,   107,
   29117             :      435,   436,   936,   937,  1107,  1250,  1267,   937,   448,   448,
   29118             :      788,   937,   114,   403,   584,   448,   555,   584,   448,   448,
   29119             :      390,   900,   128,  1250,   448,   448,  1250,  1137,   704,    59,
   29120             :      703,   704,   704,   112,   268,   273,    59,   448,   553,   277,
   29121             :      390,   553,   289,   702,   448,   448,   298,  1258,   730,   819,
   29122             :      448,   448,   390,   420,   353,  1258,   353,   448,   353,   448,
   29123             :      353,   788,   788,   438,  1106,   331,   331,    92,   448,   924,
   29124             :      390,   448,   448,   601,   601,   819,   819,   819,   819,  1250,
   29125             :       47,   478,    47,    47,   478,   448,    47,   448,   478,   390,
   29126             :      536,   540,   584,   472,   746,  1261,   448,   555,   584,  1250,
   29127             :      448,   924,   390,   326,   368,   357,   369,   399,   576,   956,
   29128             :     1199,  1199,  1200,   537,    15,    16,   540,  1066,  1067,   535,
   29129             :      541,  1250,   989,  1252,  1250,   225,  1135,   225,   310,   225,
   29130             :      225,   704,   819,   819,   225,   225,   225,  1135,   225,   225,
   29131             :      225,   310,   448,   178,   448,   617,   458,   536,    38,   158,
   29132             :      819,   789,   790,  1270,   964,  1135,   310,   158,   717,  1252,
   29133             :      293,   331,   536,   554,   802,   473,   360,   485,  1250,    29,
   29134             :      937,   788,   554,   158,  1261,    99,   184,   568,   631,   697,
   29135             :      760,   833,   855,   960,   158,  1258,   738,   739,   158,   310,
   29136             :     1258,  1261,   260,   819,   819,   819,   819,   149,   356,   536,
   29137             :      746,   293,   554,  1250,   293,   699,   701,   293,    38,   304,
   29138             :      331,   536,   661,   661,   196,   694,  1250,   172,   196,   547,
   29139             :     1267,   536,   792,   881,  1252,   536,   872,   872,    38,  1135,
   29140             :       27,    50,   218,   761,   244,   493,   495,  1046,   392,   884,
   29141             :      883,  1135,  1252,   536,   821,  1135,   870,   871,  1262,  1261,
   29142             :      158,   550,   158,   473,   158,   473,   906,   907,   550,   870,
   29143             :     1262,   870,  1252,  1252,  1135,   821,  1262,   746,   158,   818,
   29144             :      819,  1251,  1252,  1252,   819,   537,   196,  1250,  1001,  1044,
   29145             :     1044,  1044,  1044,  1044,  1044,   662,   537,   540,   537,   181,
   29146             :      351,   384,   398,   436,  1251,   818,   113,   400,   870,  1251,
   29147             :      302,   838,   839,  1267,   870,   870,  1251,  1249,  1249,  1251,
   29148             :      818,   448,   185,   493,   849,   153,   254,   743,   744,    23,
   29149             :      156,   385,   406,  1025,  1106,   297,  1026,   537,   540,  1004,
   29150             :      448,  1250,  1252,  1250,   547,   835,   836,   178,   849,   836,
   29151             :     1267,    28,    80,   138,   180,   245,   350,   383,   458,   814,
   29152             :      815,  1198,   535,  1198,  1203,  1204,   489,  1214,  1215,  1159,
   29153             :     1198,   536,  1257,  1257,     3,   115,   194,   272,   275,   394,
   29154             :      511,  1205,  1206,  1258,  1198,  1198,  1159,  1232,   376,  1048,
   29155             :     1049,  1232,  1236,  1243,  1232,  1232,  1159,  1161,  1199,  1236,
   29156             :     1239,  1240,  1159,  1240,  1232,  1159,  1232,  1232,  1198,  1257,
   29157             :     1257,   537,  1159,  1159,   905,  1159,  1199,  1201,  1208,   385,
   29158             :      527,   528,   536,  1160,  1161,  1195,  1209,   537,  1198,  1159,
   29159             :     1201,  1210,  1159,    57,   178,   248,   449,  1159,  1198,  1211,
   29160             :      135,   293,  1048,  1198,   277,  1161,  1159,  1169,  1170,  1171,
   29161             :      277,  1159,  1171,   537,   540,  1257,  1156,  1135,  1159,  1159,
   29162             :     1159,  1159,  1270,   257,   446,    43,   431,  1223,   819,  1159,
   29163             :      536,  1048,  1212,   135,   137,   164,   229,   285,   286,   287,
   29164             :      288,   292,   293,   298,   455,   467,  1207,  1237,  1159,   536,
   29165             :     1159,   448,    52,   197,   202,   253,   408,  1159,  1159,  1159,
   29166             :     1159,  1159,  1159,  1159,  1159,  1159,  1159,    29,    36,   413,
   29167             :     1192,   187,  1177,   385,   536,  1189,   536,   321,  1181,   183,
   29168             :      257,   435,   440,   442,   469,  1060,  1250,  1248,  1095,  1199,
   29169             :     1095,  1250,   450,   536,  1258,   540,   537,   195,   195,   550,
   29170             :      999,   988,   992,  1159,   537,   267,   293,  1055,  1198,   537,
   29171             :      537,   534,   513,   513,   537,   537,  1257,   535,  1257,   537,
   29172             :      194,   272,  1157,   272,  1157,  1157,  1257,   275,   537,  1253,
   29173             :      229,   238,   247,   386,   510,   536,  1048,  1096,  1097,  1098,
   29174             :     1106,  1112,  1122,  1129,  1162,  1164,  1165,  1244,  1267,   490,
   29175             :     1117,  1263,   999,   997,   540,    39,   130,   473,   864,   385,
   29176             :      386,   527,   528,  1076,  1078,  1161,   406,   241,   311,   540,
   29177             :        5,  1077,  1257,  1077,   385,   386,  1078,  1249,   297,   410,
   29178             :     1027,  1089,  1071,   473,  1022,   120,   324,   536,  1010,  1047,
   29179             :       38,   473,  1267,   536,  1029,  1030,  1031,  1267,   537,  1261,
   29180             :     1252,  1252,   319,    59,  1268,   537,   876,   878,   875,   878,
   29181             :     1268,   316,   537,   540,   820,  1261,  1252,  1252,  1261,  1252,
   29182             :     1252,  1261,   484,  1252,  1252,   120,   577,   704,   380,   472,
   29183             :      835,   390,   184,   835,   536,  1252,   298,   196,  1252,   298,
   29184             :     1261,  1252,  1252,  1159,   298,  1252,  1252,    32,   371,   448,
   29185             :      448,  1252,   448,   721,   883,   536,  1135,   871,    74,   165,
   29186             :      907,   871,   871,   172,  1135,   819,  1252,   190,   289,   326,
   29187             :      368,   477,   724,   725,   726,  1106,   448,   924,   390,   298,
   29188             :      124,   224,  1261,  1252,   310,  1252,   310,   537,   540,  1260,
   29189             :     1262,  1252,   368,   593,   536,   196,   639,  1252,   473,   857,
   29190             :      241,   293,   298,   241,   473,   648,   685,  1135,  1252,  1257,
   29191             :     1267,  1250,  1252,   252,  1252,    29,   472,  1252,   196,  1252,
   29192             :      196,  1267,   387,   453,   387,   453,   252,  1252,    29,   472,
   29193             :     1252,   252,   385,  1250,    25,   140,   403,   731,   732,   733,
   29194             :      734,  1270,  1261,  1252,   120,   179,   294,   473,   600,   603,
   29195             :      604,  1270,   271,  1252,    76,   307,  1252,   596,   310,   448,
   29196             :      438,  1250,   448,   924,   390,   128,  1252,  1252,   540,   537,
   29197             :      540,  1261,  1252,   930,   931,  1270,   310,   368,   448,   754,
   29198             :     1261,  1252,  1252,   310,  1106,   202,   540,   661,   661,  1221,
   29199             :     1261,  1252,  1252,  1260,     3,    91,   146,   209,   333,   464,
   29200             :      472,   475,   556,  1261,  1252,  1252,   310,   368,  1261,  1252,
   29201             :      368,   403,   593,   701,   704,   819,  1252,   704,   819,  1252,
   29202             :      704,  1261,  1252,   403,  1261,  1252,  1252,   120,   607,  1259,
   29203             :     1251,  1251,  1261,   895,  1252,  1251,  1252,   368,   403,   593,
   29204             :      594,  1250,  1250,  1252,  1252,  1252,  1252,  1261,  1252,    25,
   29205             :       31,   140,   326,   368,   403,   326,   368,   403,   788,   368,
   29206             :      403,   368,   403,   368,   927,  1121,  1267,   196,   798,  1267,
   29207             :      196,  1267,  1258,  1261,  1252,  1252,  1258,  1252,   930,    25,
   29208             :      140,   614,   400,  1260,   368,   403,   593,  1252,  1252,  1252,
   29209             :      448,   448,    85,   463,   357,   540,  1066,  1066,  1066,  1159,
   29210             :     1159,   481,  1200,   537,  1159,  1220,   984,   298,   825,  1258,
   29211             :       38,   825,   138,   819,   825,   825,   225,   473,   473,   825,
   29212             :      825,   825,   244,   825,   825,   825,   819,   352,   618,   618,
   29213             :      207,   435,   759,  1159,  1135,   819,   537,   540,   526,   645,
   29214             :     1270,  1252,    63,   178,   390,   484,   718,   725,   726,   158,
   29215             :      304,   253,   633,   635,   637,   639,   652,   655,    26,   202,
   29216             :      380,   432,   556,   557,   172,  1252,   485,  1250,    38,   755,
   29217             :      436,   895,   547,  1267,   567,   632,   867,  1252,   174,   819,
   29218             :      536,   687,   688,  1164,  1267,   353,  1258,   788,   788,   788,
   29219             :      788,   536,   788,  1119,  1120,  1121,   400,   158,   536,   158,
   29220             :      158,   157,  1047,   819,   304,   633,  1267,   473,   680,   493,
   29221             :      602,   293,    38,   661,  1258,   293,   310,     3,   793,   794,
   29222             :      788,    27,   537,   873,   874,   879,    38,   244,   377,   451,
   29223             :      492,   885,   886,   887,   888,   885,   310,   244,   304,   125,
   29224             :      217,   456,   471,   762,   763,  1252,   193,   193,   172,   550,
   29225             :       38,   553,   173,   972,   973,   550,   550,   818,   819,  1252,
   29226             :      819,  1252,   550,   550,   550,   550,   244,   550,   400,   172,
   29227             :      550,   550,   310,   550,   293,   537,   665,   202,   202,   202,
   29228             :      202,   202,   497,  1251,   704,   705,   540,   538,   187,   841,
   29229             :      842,  1261,    59,   846,   847,  1270,   448,   536,   178,   156,
   29230             :      406,   156,   406,   385,   471,   274,  1135,  1261,   493,   692,
   29231             :      310,   841,   550,   178,   883,   819,  1135,   871,   302,   871,
   29232             :      871,  1135,   819,  1252,   537,   535,   535,   540,  1159,   142,
   29233             :     1215,  1216,    38,   537,  1159,   537,   537,   537,   178,   537,
   29234             :      537,   514,  1233,  1234,   493,   495,  1238,  1135,  1234,   537,
   29235             :       21,   298,   540,  1242,   316,  1245,   540,   541,   478,   537,
   29236             :      537,    21,   298,   540,  1241,  1241,   540,   537,  1236,   540,
   29237             :      537,   537,   537,   537,   540,   540,   537,   336,   537,   537,
   29238             :      536,  1160,  1160,  1198,    13,    17,    18,    19,   202,   225,
   29239             :      312,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   29240             :     1195,  1160,   537,   537,   172,   178,   408,   537,   537,    38,
   29241             :     1211,  1198,  1211,  1211,   178,   537,   135,   537,  1270,   332,
   29242             :     1174,    38,   537,   540,  1159,  1270,   540,  1159,  1222,  1159,
   29243             :      537,   513,  1160,  1160,   151,  1198,   178,    37,   302,   389,
   29244             :      478,   135,   137,   164,   292,   298,   455,   467,  1207,  1237,
   29245             :      292,  1238,   151,   905,  1159,   431,  1223,  1159,  1212,  1159,
   29246             :      448,   536,  1048,   536,  1181,   536,  1198,   490,   536,  1182,
   29247             :     1267,   440,   442,   440,   442,  1250,  1061,  1061,  1061,  1117,
   29248             :     1066,  1117,   957,  1257,  1156,   575,   999,   267,   536,   537,
   29249             :     1257,  1155,  1155,   535,   535,   537,   536,  1048,  1112,  1122,
   29250             :     1129,   178,   536,  1048,  1097,  1098,    38,  1099,  1100,  1267,
   29251             :      540,   100,   179,   213,   228,   251,   280,   379,  1103,  1100,
   29252             :       38,  1099,  1102,  1267,  1100,  1100,   517,  1116,  1221,  1159,
   29253             :      187,  1080,  1069,   312,  1193,  1196,   516,   865,     5,  1257,
   29254             :     1078,   311,   493,   471,  1075,   262,  1096,   490,  1118,   479,
   29255             :      433,   472,  1011,  1012,  1013,  1267,   310,  1014,  1267,  1097,
   29256             :     1031,  1032,   540,  1095,   526,  1222,   882,   820,   878,   878,
   29257             :       59,   880,   531,  1262,  1262,   310,  1251,   313,   310,  1159,
   29258             :      658,   778,   158,   550,   448,  1261,  1252,   580,  1135,   819,
   29259             :      819,  1135,   708,  1252,   190,   477,   448,   448,   708,   724,
   29260             :      730,   368,   403,   593,  1252,  1252,  1252,   215,   298,   161,
   29261             :      874,   325,   403,   448,  1159,   293,   154,   656,  1252,   536,
   29262             :      536,   158,  1267,   536,   685,   207,   536,   778,   423,   643,
   29263             :      644,   209,   778,   403,    25,   140,   372,   373,   403,   597,
   29264             :      605,   606,   730,   925,   395,   158,   550,   158,   550,  1252,
   29265             :     1252,  1252,  1252,   395,   395,   252,   733,   734,   733,   537,
   29266             :      540,   735,  1258,   207,   537,   540,   526,   538,   120,   608,
   29267             :     1267,   161,  1261,  1252,   368,   403,   593,  1252,  1252,  1252,
   29268             :      310,   326,   368,   403,    25,   140,   326,   368,   403,  1135,
   29269             :      290,  1135,   537,   540,   526,  1250,   448,  1262,   473,   751,
   29270             :      161,   661,   390,   936,   490,   670,   670,   661,   254,   333,
   29271             :      298,  1258,   333,  1262,   470,   161,   448,   448,   390,   420,
   29272             :      895,   895,   895,   325,   403,    92,   448,   924,   390,   120,
   29273             :      172,   609,   168,   549,   448,   448,   264,   264,   264,   448,
   29274             :      448,   390,   448,   448,   390,   448,   390,   448,   390,   448,
   29275             :      128,   550,  1135,   293,  1258,   403,   925,   158,   550,   448,
   29276             :      448,   537,  1252,   448,   924,   390,   448,  1261,  1252,   537,
   29277             :      537,   537,  1200,   535,  1135,   819,   225,   825,  1252,  1252,
   29278             :     1252,   225,   421,   422,   619,  1258,   619,   190,   537,   537,
   29279             :      178,   788,   790,   290,   312,   527,   528,   704,   791,   878,
   29280             :     1196,  1258,  1275,    72,    78,    92,   120,   122,   148,   182,
   29281             :      211,   293,   298,   346,   362,   466,   646,   647,   651,   157,
   29282             :      489,   553,   580,  1252,   580,   314,   728,  1250,  1250,  1250,
   29283             :      537,   540,  1262,   187,   380,  1262,  1257,   458,  1250,   661,
   29284             :        3,   172,   756,   895,    48,   567,   435,   737,   113,   996,
   29285             :     1159,   178,   540,  1251,   602,   795,   796,  1258,   537,   540,
   29286             :     1252,   172,   662,  1250,   691,  1250,  1252,   692,   536,   634,
   29287             :     1250,   537,  1252,   493,   495,   681,   601,    38,   158,  1047,
   29288             :      680,   448,   158,  1106,   526,   537,   540,   762,   537,   540,
   29289             :      120,   526,   889,  1258,   580,   435,   877,   878,   172,   894,
   29290             :       51,   375,   890,   891,   888,   891,   125,   217,   396,   471,
   29291             :      947,  1252,   304,   310,   315,   190,  1047,  1135,   536,   537,
   29292             :      540,   550,   473,   550,   473,   550,  1252,  1252,   746,   819,
   29293             :      158,   390,   390,   390,   390,   390,  1251,   540,   839,  1267,
   29294             :     1261,   493,   540,   843,  1261,   540,   849,   164,   313,   455,
   29295             :      848,  1108,   400,   156,   156,   113,   289,   840,   849,  1262,
   29296             :      225,   225,   225,   225,   704,   225,   225,   225,   225,   225,
   29297             :     1203,   444,  1159,   147,  1135,   537,  1159,   229,   466,   466,
   29298             :      537,  1234,  1236,   310,   310,  1232,  1236,    59,  1242,  1159,
   29299             :     1232,  1232,   310,   310,  1240,  1238,  1238,  1159,   537,  1159,
   29300             :     1207,  1159,  1159,   537,  1198,   540,  1135,  1160,  1160,  1160,
   29301             :     1160,   135,   137,   293,  1160,  1160,  1160,  1160,  1160,  1160,
   29302             :     1160,  1160,  1160,  1160,  1159,  1159,  1159,  1135,   537,   537,
   29303             :      537,  1198,   537,   540,    59,  1161,  1175,   537,  1270,  1170,
   29304             :      343,   427,  1173,   537,   540,   484,  1166,    38,   537,  1258,
   29305             :     1159,    35,    35,  1159,   537,  1159,   178,   292,  1238,  1159,
   29306             :      537,   151,  1160,  1160,   151,   151,  1159,  1159,  1067,   537,
   29307             :     1198,   540,  1159,  1183,  1267,  1061,  1061,  1061,  1061,  1250,
   29308             :     1250,  1250,  1080,   537,  1080,   537,  1004,   535,  1232,  1100,
   29309             :     1102,  1100,  1100,   536,   505,  1161,   537,  1267,   536,  1097,
   29310             :      228,   320,  1104,  1097,  1104,   228,  1103,  1104,   228,   437,
   29311             :     1110,   536,  1267,   536,   317,    59,   191,  1087,   536,   865,
   29312             :      169,   246,   311,   493,   445,   103,  1159,   376,  1016,   478,
   29313             :      537,   540,  1222,    90,  1016,   310,   537,   540,  1030,  1118,
   29314             :     1159,   537,   531,   882,   458,   181,   245,   384,   391,   398,
   29315             :      436,   459,   854,   172,   854,   537,   122,   148,   211,   289,
   29316             :      293,   779,  1252,  1252,    38,   473,   473,   244,   820,  1261,
   29317             :     1252,   448,   924,   390,   448,   215,  1252,    59,   438,  1252,
   29318             :      537,   158,   536,   668,   669,   860,  1164,  1267,   662,   639,
   29319             :      778,   662,   778,  1252,   662,   120,  1267,    86,   641,   642,
   29320             :      420,   182,   160,   195,   293,   601,   553,   113,   160,   182,
   29321             :      293,   420,   601,   641,   643,   702,   403,   606,   458,  1252,
   29322             :     1267,   395,   732,  1252,   604,   791,  1270,  1252,   325,   403,
   29323             :      448,   924,   390,   448,   161,   448,   448,   390,   180,   312,
   29324             :      423,   800,   801,   180,   312,   807,   808,   448,   448,   390,
   29325             :      537,   537,   537,   931,   290,   704,   878,   932,  1196,  1258,
   29326             :     1275,   368,  1252,   536,   493,   752,  1252,   670,   107,  1267,
   29327             :      536,   670,  1259,  1258,  1258,  1258,  1252,  1252,  1252,  1252,
   29328             :      607,    59,   438,  1252,  1252,  1252,  1252,   479,  1252,  1252,
   29329             :      172,   172,   370,   172,   196,  1261,  1252,  1252,  1261,  1252,
   29330             :     1252,  1252,  1252,  1252,  1252,  1252,   310,    78,   598,   158,
   29331             :       27,    50,   458,  1267,  1252,  1258,   730,  1252,  1252,  1252,
   29332             :     1252,  1066,   537,   225,   825,   225,   225,   225,   825,   553,
   29333             :      473,   624,   625,   708,   778,   493,   495,   819,   536,   819,
   29334             :     1252,  1160,    32,    59,   649,   123,   198,   122,   148,   298,
   29335             :      241,  1250,   648,   180,   350,   774,   781,   782,  1267,   717,
   29336             :      536,   331,   536,   634,   653,   210,   675,   637,  1262,  1262,
   29337             :     1135,   536,   602,    29,   125,   217,   396,   471,   757,   448,
   29338             :      753,  1261,   196,  1250,   739,   497,   310,   537,  1096,   688,
   29339             :      895,   537,   540,  1121,   728,   746,   537,   699,    38,   304,
   29340             :      331,   536,  1006,   636,   638,   640,   655,  1267,   331,   676,
   29341             :      677,   634,   675,   601,   307,   310,   682,  1047,   694,   692,
   29342             :      602,  1258,  1252,   857,   791,     3,   794,   310,   879,  1159,
   29343             :     1159,   540,   536,   885,   458,   540,    44,  1159,   448,   536,
   29344             :      662,  1250,   763,   708,   537,   972,   973,  1252,  1252,   550,
   29345             :      400,   550,  1251,  1251,  1251,  1251,  1251,   704,   184,   842,
   29346             :      849,   847,   537,  1252,   113,   178,   550,   849,   298,   828,
   29347             :     1258,   828,   828,   828,   225,   828,   828,   828,   828,   828,
   29348             :     1159,   537,   145,   242,   242,   537,   298,   298,   537,  1068,
   29349             :     1236,   332,  1224,   298,   298,  1236,  1236,  1224,  1224,   537,
   29350             :      537,   178,   537,  1159,   178,   135,   137,   178,   172,   151,
   29351             :      537,   500,  1168,  1198,   361,   478,    59,  1175,  1161,   491,
   29352             :      491,   537,  1159,   289,  1159,   540,  1167,  1137,  1159,  1159,
   29353             :     1159,  1159,    35,    35,  1159,  1159,   151,   537,   537,   537,
   29354             :     1159,   537,   331,  1184,  1250,  1250,  1250,  1250,  1087,  1258,
   29355             :     1087,  1258,   537,   540,  1113,  1114,  1164,   536,  1174,  1099,
   29356             :      536,  1251,  1097,   310,   473,  1105,  1097,   228,  1097,  1255,
   29357             :     1120,   536,  1120,  1267,  1062,  1159,   492,  1178,   905,   445,
   29358             :      304,   493,  1017,  1047,   324,  1047,  1013,   310,   536,  1015,
   29359             :     1159,   526,  1031,  1016,   458,   537,   303,   448,   835,   178,
   29360             :      778,   123,   198,   209,   122,   148,   475,   550,  1135,  1252,
   29361             :     1252,  1252,  1252,  1252,  1252,  1252,  1262,  1252,   778,   639,
   29362             :     1159,   537,   540,   493,    78,   859,   863,   859,   540,   663,
   29363             :      495,   660,   660,   120,  1267,   728,   607,   649,   196,   196,
   29364             :      298,   704,    38,   649,   298,   607,  1135,   550,   550,   526,
   29365             :       59,   438,  1252,  1252,  1252,  1252,  1252,  1261,  1252,  1252,
   29366             :     1257,  1257,  1135,   540,  1257,  1257,   540,  1261,  1252,  1252,
   29367             :      448,  1159,    72,  1159,  1262,  1252,   448,   448,   178,   202,
   29368             :      493,  1251,  1251,   819,  1251,   158,   161,   819,  1258,  1258,
   29369             :     1135,   550,   550,   448,   537,   225,   825,   825,   825,   825,
   29370             :      536,   620,   621,   553,   127,   180,   214,   180,  1159,   293,
   29371             :      647,   120,    38,   289,   659,   895,   661,   895,  1255,    35,
   29372             :      157,   202,   729,   733,   304,   633,   609,   155,   204,   536,
   29373             :      400,   473,   662,    38,  1262,   751,   567,   293,   536,   174,
   29374             :     1252,   687,  1258,   400,   602,   157,  1047,   819,   304,   633,
   29375             :      692,   537,   540,   493,   645,    59,   680,   609,   676,    84,
   29376             :      438,   683,   493,   961,    38,   683,   178,   310,   536,  1250,
   29377             :     1258,   876,   896,   897,  1268,   891,  1135,   172,   892,  1250,
   29378             :      178,   448,   916,   363,   764,   212,   709,   550,   537,   550,
   29379             :      550,  1252,   313,   223,   841,   550,   828,  1252,   537,  1225,
   29380             :     1226,  1232,   120,   143,   150,   164,   298,   455,   467,  1228,
   29381             :     1229,  1231,   537,   537,  1236,  1236,  1159,   537,  1160,   178,
   29382             :     1159,  1159,  1159,   536,   537,   540,   537,  1175,   537,   478,
   29383             :      417,   537,   206,   289,  1172,  1159,  1159,  1159,   537,    59,
   29384             :     1066,  1178,  1178,   393,  1056,  1159,   537,   540,    38,  1115,
   29385             :      120,  1127,  1128,  1160,    81,  1251,   537,  1159,   536,  1097,
   29386             :     1105,   536,   537,  1120,   537,   102,   188,   382,   536,  1081,
   29387             :     1082,  1083,  1084,  1085,  1086,  1159,  1179,  1180,  1267,  1066,
   29388             :      537,  1044,   536,  1247,  1011,    92,   858,   860,   136,   489,
   29389             :     1034,  1035,  1036,  1037,  1159,   841,   310,   841,   537,   448,
   29390             :      403,  1026,   537,   203,   666,   669,   312,   905,   819,   548,
   29391             :      819,   335,   537,   322,   537,   537,   645,    38,   158,   158,
   29392             :      536,   598,   791,  1262,  1252,   448,   536,   871,   905,   907,
   29393             :      801,   536,   536,   808,  1252,   537,   536,   537,   403,  1026,
   29394             :     1252,  1252,   536,   536,   536,   493,   517,   981,   370,   981,
   29395             :      981,   172,  1252,   598,  1252,   825,   626,   627,  1270,    54,
   29396             :      101,   126,   145,   151,   173,   177,   192,   298,   354,   622,
   29397             :      620,  1258,   871,    38,   912,   912,   537,   195,   536,   209,
   29398             :      473,   684,   265,   667,   684,   536,   782,   774,   536,   537,
   29399             :      540,  1250,   537,   400,    29,    83,    86,    93,   121,   182,
   29400             :      195,   208,   420,   423,   654,   654,  1249,  1252,  1252,   537,
   29401             :     1047,   752,   158,   113,   728,   178,  1252,    38,  1252,   692,
   29402             :      634,  1250,   537,   638,   314,  1267,   681,   676,   680,   125,
   29403             :      140,   343,  1252,    64,    72,   257,  1047,   819,  1106,   858,
   29404             :      178,   777,   878,   537,   540,   458,   147,   546,   890,   893,
   29405             :     1117,   415,   415,   537,   283,   308,   765,   766,   767,   172,
   29406             :      770,   708,   289,   477,   710,   711,  1252,   849,   540,    38,
   29407             :     1159,    37,   302,   310,   537,   493,   495,  1227,  1228,  1230,
   29408             :      172,  1160,  1169,  1198,   289,   512,   206,   537,  1198,   189,
   29409             :      356,   386,  1185,    58,   129,   112,  1057,    38,  1130,  1116,
   29410             :     1113,   536,  1160,   537,   540,    38,  1123,  1124,  1267,   537,
   29411             :     1251,  1198,   537,   536,   404,   536,   537,   540,   540,    38,
   29412             :     1071,   283,   308,  1018,  1019,  1020,   478,  1252,   537,   540,
   29413             :      294,   471,   266,   293,  1016,  1035,    35,  1038,  1038,   843,
   29414             :      854,   550,  1252,   438,   859,   536,   895,   536,   864,   601,
   29415             :      665,   362,   666,   666,   195,  1159,   473,   599,   403,  1026,
   29416             :     1252,  1202,   172,   804,   804,  1202,  1202,  1159,   438,  1198,
   29417             :     1198,   610,   611,  1269,   818,   819,   818,   819,  1251,   550,
   29418             :      537,   540,   120,   529,   536,   577,   628,   704,   978,  1258,
   29419             :      978,   293,   298,   354,   978,   978,  1117,   912,    42,   200,
   29420             :      659,   536,   700,  1159,   207,   179,   330,   409,   310,   671,
   29421             :      672,   673,   537,  1255,     6,   783,   733,   634,   675,  1252,
   29422             :      537,   728,   165,   803,   602,   961,  1250,   497,  1096,   728,
   29423             :     1047,  1006,   676,   634,   675,   645,   536,   682,   680,   681,
   29424             :      386,   386,    72,   313,    72,   692,   857,   537,  1250,   778,
   29425             :      885,   896,  1135,   539,   136,   493,   493,   766,   385,   435,
   29426             :      768,   141,   771,   489,   773,   477,   708,   728,   550,  1226,
   29427             :     1270,   150,    37,    88,   462,   497,    37,   497,   240,   309,
   29428             :     1235,   310,   537,  1159,   537,   537,   478,    52,   103,   461,
   29429             :     1159,  1186,  1187,  1186,  1186,   537,   169,   169,   662,  1252,
   29430             :     1224,  1120,   540,  1128,  1270,   537,   540,   172,  1135,   537,
   29431             :      537,  1198,   536,  1198,  1082,  1180,  1182,  1089,   537,   540,
   29432             :       38,  1047,  1117,   860,   403,   266,  1159,   444,   444,   178,
   29433             :     1252,   662,   684,   905,   865,   864,  1250,   895,   895,   700,
   29434             :      537,  1159,   438,   537,   316,   393,   537,   537,   537,  1252,
   29435             :      537,   537,   537,   540,  1257,   981,   627,   577,   629,   630,
   29436             :     1258,  1258,   298,   529,   662,   529,   662,  1258,  1258,   701,
   29437             :      537,   438,   125,   471,   310,   673,   310,   672,   536,   537,
   29438             :      540,   609,   400,   728,   819,    38,    38,   536,  1252,   961,
   29439             :      692,   680,   609,   676,   536,   678,   679,  1164,  1267,   683,
   29440             :      681,   682,   313,   313,   536,   203,   861,   172,   891,    30,
   29441             :      218,   948,   180,   180,   978,   385,   419,   772,   536,   157,
   29442             :      497,    37,   497,    37,   497,   497,   355,   355,  1230,   143,
   29443             :      150,  1187,   385,   171,   341,   171,   341,   154,  1188,  1188,
   29444             :     1188,    59,    59,   403,    81,   537,  1161,  1124,   317,     3,
   29445             :      120,   293,   298,   334,  1125,  1126,    38,  1101,   369,  1111,
   29446             :      537,  1081,   537,  1019,  1267,  1029,    59,   125,   136,   471,
   29447             :     1039,  1040,   136,   217,  1041,   841,  1026,   537,   670,   537,
   29448             :      865,   536,   664,   684,   684,  1252,   871,    59,  1026,   448,
   29449             :      610,   819,   537,   540,   529,   662,   537,   424,   487,   650,
   29450             :     1252,    63,   289,   374,   403,   674,   674,   537,     6,   400,
   29451             :     1252,   800,  1047,   728,   681,   676,   680,  1159,   537,   540,
   29452             :      863,   863,   682,   683,   858,   536,   648,   141,   294,   536,
   29453             :      943,   945,   949,  1008,  1021,  1028,  1047,  1058,   871,   871,
   29454             :      769,  1267,  1159,   774,   497,   497,   310,   310,   537,  1228,
   29455             :       35,   103,   187,   289,   445,   662,   662,  1267,   536,  1174,
   29456             :     1160,  1160,   298,  1160,  1126,  1267,   536,   537,  1117,   414,
   29457             :      439,   294,   403,   294,   120,   324,   479,   536,  1042,   550,
   29458             :      778,   662,   667,   778,   778,  1026,   819,   536,   630,    24,
   29459             :      120,   298,  1252,   728,   961,   682,   680,   681,   537,   679,
   29460             :      548,   548,   683,   537,   860,   862,   602,   385,   944,   945,
   29461             :      946,  1048,  1049,   540,   540,   537,  1255,   389,   389,   310,
   29462             :     1187,   385,   318,   403,   403,   448,   473,   282,  1131,  1132,
   29463             :     1267,    81,  1159,  1029,   479,  1011,   536,  1012,   663,   671,
   29464             :     1198,   661,   661,   728,   683,   681,   682,   863,   861,   537,
   29465             :      540,   683,   773,   537,   539,   448,   178,   536,   426,   426,
   29466             :      150,  1267,  1267,   229,  1255,  1256,  1267,   334,  1133,   537,
   29467             :      540,   172,  1135,  1123,   537,   478,  1198,   537,   537,   778,
   29468             :      537,   682,   683,   548,   648,   860,  1117,   157,   946,   415,
   29469             :      415,     5,   775,   776,  1257,  1258,  1270,   536,   120,  1258,
   29470             :     1231,  1132,   317,   158,   334,  1134,  1233,   537,  1042,   537,
   29471             :      324,  1042,   683,   602,   774,   493,   493,   537,   540,  1199,
   29472             :     1256,    38,    81,   537,  1134,  1258,  1227,  1134,  1011,   683,
   29473             :     1255,   180,   180,   776,  1066,   473,  1252,   536,  1231,  1235,
   29474             :     1227,   478,  1117,   536,   871,   871,   537,  1267,    81,  1131,
   29475             :     1230,  1235,  1042,   775,   536,   537,  1230,   537,  1131,   537
   29476             : };
   29477             : 
   29478             :   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
   29479             : static const yytype_int16 yyr1[] =
   29480             : {
   29481             :        0,   542,   543,   543,   543,   543,   543,   543,   544,   544,
   29482             :      545,   545,   546,   546,   546,   546,   546,   546,   546,   546,
   29483             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29484             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29485             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29486             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29487             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29488             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29489             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29490             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29491             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29492             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29493             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29494             :      546,   546,   546,   546,   546,   546,   546,   547,   547,   548,
   29495             :      548,   549,   549,   550,   550,   550,   551,   552,   553,   553,
   29496             :      553,   554,   554,   555,   555,   556,   556,   556,   556,   556,
   29497             :      556,   556,   556,   556,   557,   557,   557,   557,   557,   557,
   29498             :      558,   559,   559,   560,   560,   561,   561,   561,   561,   562,
   29499             :      562,   562,   562,   562,   562,   563,   564,   565,   565,   566,
   29500             :      566,   566,   566,   567,   567,   568,   568,   568,   568,   568,
   29501             :      568,   569,   569,   569,   570,   570,   570,   571,   571,   571,
   29502             :      571,   572,   572,   572,   572,   572,   572,   572,   572,   572,
   29503             :      572,   572,   573,   573,   574,   574,   575,   575,   576,   576,
   29504             :      576,   576,   577,   577,   577,   577,   578,   578,   578,   578,
   29505             :      578,   578,   578,   579,   579,   579,   580,   580,   581,   582,
   29506             :      582,   582,   582,   583,   583,   584,   584,   585,   585,   586,
   29507             :      586,   586,   586,   586,   587,   588,   588,   589,   589,   590,
   29508             :      591,   591,   591,   591,   591,   592,   592,   592,   592,   592,
   29509             :      592,   592,   592,   592,   592,   592,   592,   592,   592,   592,
   29510             :      592,   592,   592,   592,   592,   592,   593,   593,   594,   594,
   29511             :      594,   595,   596,   596,   596,   596,   596,   596,   596,   596,
   29512             :      596,   596,   596,   596,   596,   596,   596,   596,   596,   596,
   29513             :      596,   596,   596,   596,   596,   596,   596,   596,   596,   596,
   29514             :      596,   596,   596,   596,   596,   596,   596,   596,   596,   596,
   29515             :      596,   596,   596,   596,   596,   596,   596,   596,   596,   596,
   29516             :      596,   596,   596,   596,   596,   596,   596,   596,   596,   596,
   29517             :      596,   596,   596,   596,   597,   597,   598,   598,   599,   599,
   29518             :      600,   600,   600,   600,   601,   602,   602,   603,   603,   604,
   29519             :      604,   604,   604,   605,   605,   606,   606,   606,   606,   607,
   29520             :      607,   608,   608,   609,   609,   609,   609,   610,   611,   611,
   29521             :      612,   613,   613,   614,   614,   614,   614,   615,   615,   616,
   29522             :      616,   617,   617,   618,   618,   619,   619,   619,   620,   620,
   29523             :      621,   621,   622,   622,   622,   622,   622,   622,   622,   622,
   29524             :      622,   622,   622,   622,   622,   622,   622,   623,   623,   624,
   29525             :      624,   625,   625,   626,   626,   627,   628,   628,   628,   628,
   29526             :      628,   628,   629,   629,   630,   631,   631,   631,   631,   631,
   29527             :      631,   632,   632,   632,   632,   632,   632,   632,   632,   633,
   29528             :      633,   634,   634,   635,   635,   636,   636,   637,   637,   637,
   29529             :      638,   638,   639,   640,   640,   641,   641,   642,   642,   643,
   29530             :      643,   644,   644,   645,   645,   646,   646,   646,   646,   647,
   29531             :      647,   647,   647,   647,   647,   647,   647,   647,   648,   648,
   29532             :      648,   649,   649,   650,   650,   650,   651,   651,   651,   651,
   29533             :      651,   651,   652,   653,   653,   653,   654,   654,   654,   654,
   29534             :      654,   654,   654,   654,   654,   654,   655,   655,   656,   656,
   29535             :      656,   656,   656,   656,   656,   656,   657,   657,   658,   658,
   29536             :      659,   659,   660,   660,   661,   661,   662,   662,   663,   663,
   29537             :      664,   664,   665,   666,   666,   667,   667,   667,   667,   668,
   29538             :      668,   669,   669,   670,   670,   671,   671,   671,   671,   671,
   29539             :      672,   673,   674,   674,   674,   674,   674,   675,   675,   676,
   29540             :      676,   677,   678,   678,   679,   679,   679,   680,   680,   681,
   29541             :      681,   681,   682,   682,   682,   682,   683,   683,   684,   684,
   29542             :      685,   686,   686,   687,   687,   688,   688,   688,   689,   689,
   29543             :      690,   690,   691,   692,   692,   692,   693,   693,   694,   695,
   29544             :      695,   696,   697,   697,   698,   698,   699,   699,   700,   700,
   29545             :      701,   701,   702,   702,   702,   702,   702,   702,   702,   702,
   29546             :      702,   702,   702,   702,   702,   702,   702,   702,   703,   703,
   29547             :      704,   704,   704,   704,   705,   705,   706,   706,   707,   707,
   29548             :      708,   708,   709,   709,   710,   710,   711,   711,   712,   712,
   29549             :      713,   714,   714,   715,   715,   716,   716,   717,   717,   718,
   29550             :      718,   718,   718,   719,   720,   720,   721,   722,   722,   722,
   29551             :      722,   722,   722,   722,   722,   722,   722,   722,   722,   722,
   29552             :      723,   724,   724,   724,   724,   725,   725,   726,   726,   727,
   29553             :      727,   728,   728,   729,   729,   730,   731,   731,   732,   732,
   29554             :      732,   732,   733,   734,   735,   736,   736,   737,   737,   738,
   29555             :      738,   739,   739,   740,   740,   740,   741,   741,   741,   741,
   29556             :      742,   743,   743,   744,   744,   745,   745,   746,   746,   747,
   29557             :      747,   748,   749,   750,   751,   751,   752,   752,   753,   753,
   29558             :      754,   754,   755,   755,   756,   756,   757,   757,   757,   757,
   29559             :      757,   758,   759,   759,   760,   760,   761,   761,   761,   762,
   29560             :      762,   763,   763,   763,   763,   763,   764,   764,   765,   765,
   29561             :      766,   767,   767,   768,   768,   769,   770,   770,   771,   771,
   29562             :      772,   772,   773,   773,   774,   774,   775,   775,   775,   776,
   29563             :      776,   776,   776,   777,   777,   778,   778,   779,   779,   779,
   29564             :      779,   779,   779,   779,   779,   780,   780,   781,   781,   782,
   29565             :      783,   783,   784,   785,   785,   785,   785,   786,   787,   787,
   29566             :      787,   787,   787,   787,   787,   787,   787,   787,   787,   787,
   29567             :      787,   787,   787,   787,   788,   789,   789,   790,   790,   791,
   29568             :      791,   791,   791,   791,   791,   792,   793,   793,   794,   795,
   29569             :      795,   796,   796,   797,   797,   797,   797,   797,   798,   798,
   29570             :      799,   800,   800,   801,   801,   801,   801,   801,   802,   802,
   29571             :      803,   803,   804,   804,   804,   805,   806,   806,   807,   807,
   29572             :      808,   808,   809,   809,   810,   810,   811,   812,   813,   813,
   29573             :      813,   813,   813,   813,   813,   813,   813,   813,   813,   813,
   29574             :      814,   814,   814,   814,   814,   814,   814,   814,   814,   814,
   29575             :      814,   814,   814,   815,   815,   815,   815,   815,   816,   816,
   29576             :      816,   816,   816,   816,   816,   816,   817,   817,   817,   818,
   29577             :      818,   819,   819,   820,   820,   821,   821,   822,   823,   823,
   29578             :      823,   824,   824,   824,   824,   824,   824,   824,   824,   824,
   29579             :      824,   824,   824,   824,   824,   824,   824,   824,   824,   825,
   29580             :      825,   826,   826,   826,   826,   826,   826,   826,   826,   826,
   29581             :      826,   827,   827,   828,   828,   829,   829,   830,   830,   830,
   29582             :      830,   830,   830,   830,   830,   830,   830,   830,   830,   830,
   29583             :      830,   830,   830,   831,   831,   832,   832,   833,   834,   834,
   29584             :      835,   835,   835,   835,   835,   836,   836,   837,   837,   837,
   29585             :      837,   837,   838,   838,   839,   839,   840,   840,   840,   840,
   29586             :      840,   840,   840,   840,   840,   840,   840,   840,   840,   840,
   29587             :      840,   840,   840,   840,   840,   840,   840,   841,   841,   842,
   29588             :      842,   843,   843,   844,   844,   845,   845,   846,   846,   847,
   29589             :      848,   848,   848,   849,   849,   850,   851,   851,   852,   852,
   29590             :      852,   853,   853,   853,   854,   854,   854,   854,   854,   854,
   29591             :      854,   855,   855,   856,   856,   857,   857,   858,   858,   859,
   29592             :      859,   860,   860,   860,   861,   861,   862,   862,   863,   863,
   29593             :      864,   864,   864,   865,   865,   865,   866,   866,   866,   866,
   29594             :      867,   867,   868,   868,   869,   869,   870,   870,   871,   871,
   29595             :      871,   871,   872,   872,   873,   873,   874,   874,   874,   874,
   29596             :      874,   875,   875,   875,   875,   875,   876,   877,   878,   878,
   29597             :      878,   879,   879,   879,   880,   881,   881,   881,   881,   882,
   29598             :      882,   883,   884,   884,   885,   885,   886,   886,   887,   887,
   29599             :      887,   887,   887,   887,   887,   887,   887,   887,   887,   887,
   29600             :      887,   887,   887,   887,   887,   888,   888,   888,   888,   888,
   29601             :      889,   889,   890,   891,   891,   891,   892,   892,   893,   893,
   29602             :      894,   894,   895,   895,   896,   897,   897,   898,   898,   898,
   29603             :      899,   899,   900,   900,   901,   901,   901,   901,   901,   901,
   29604             :      902,   902,   903,   903,   904,   904,   904,   904,   905,   905,
   29605             :      906,   906,   907,   908,   909,   909,   910,   910,   911,   911,
   29606             :      911,   912,   912,   912,   913,   914,   914,   915,   916,   916,
   29607             :      916,   916,   917,   918,   918,   918,   919,   919,   920,   920,
   29608             :      921,   921,   922,   922,   923,   923,   923,   923,   923,   923,
   29609             :      923,   923,   923,   923,   923,   923,   923,   923,   923,   923,
   29610             :      923,   923,   923,   923,   923,   923,   923,   923,   923,   923,
   29611             :      923,   923,   923,   923,   923,   923,   923,   923,   923,   923,
   29612             :      923,   923,   923,   923,   923,   923,   923,   923,   923,   923,
   29613             :      923,   923,   923,   923,   923,   923,   923,   923,   923,   924,
   29614             :      924,   925,   925,   926,   926,   926,   926,   926,   926,   927,
   29615             :      927,   928,   928,   928,   928,   928,   928,   928,   928,   928,
   29616             :      928,   928,   928,   928,   928,   928,   928,   928,   928,   928,
   29617             :      928,   928,   928,   928,   928,   928,   928,   928,   929,   930,
   29618             :      930,   931,   931,   931,   932,   932,   932,   932,   932,   933,
   29619             :      934,   934,   934,   934,   934,   934,   934,   934,   934,   934,
   29620             :      934,   934,   934,   934,   934,   934,   934,   934,   934,   934,
   29621             :      934,   934,   934,   934,   935,   935,   935,   936,   936,   936,
   29622             :      936,   936,   936,   936,   937,   937,   938,   938,   938,   938,
   29623             :      939,   940,   940,   940,   940,   940,   940,   940,   940,   940,
   29624             :      941,   941,   942,   943,   943,   943,   944,   944,   945,   945,
   29625             :      945,   945,   945,   946,   946,   947,   947,   947,   947,   948,
   29626             :      948,   948,   949,   950,   950,   951,   952,   952,   953,   953,
   29627             :      953,   953,   953,   953,   953,   953,   953,   953,   953,   953,
   29628             :      954,   954,   955,   955,   955,   956,   956,   956,   956,   956,
   29629             :      957,   957,   957,   958,   958,   959,   959,   959,   960,   960,
   29630             :      960,   960,   961,   961,   961,   961,   962,   963,   964,   964,
   29631             :      965,   965,   966,   966,   966,   967,   967,   967,   967,   967,
   29632             :      967,   967,   968,   968,   969,   969,   969,   969,   970,   971,
   29633             :      971,   971,   971,   972,   972,   973,   974,   975,   975,   976,
   29634             :      977,   977,   977,   977,   977,   977,   977,   978,   978,   979,
   29635             :      980,   980,   980,   980,   980,   980,   981,   981,   982,   983,
   29636             :      983,   983,   983,   983,   984,   984,   985,   985,   986,   986,
   29637             :      987,   987,   988,   988,   989,   990,   990,   990,   991,   991,
   29638             :      991,   992,   992,   993,   993,   994,   994,   995,   995,   996,
   29639             :      996,   997,   998,   998,   999,   999,  1000,  1000,  1000,  1000,
   29640             :     1001,  1001,  1001,  1001,  1001,  1001,  1001,  1001,  1001,  1001,
   29641             :     1002,  1003,  1003,  1004,  1004,  1004,  1004,  1004,  1005,  1005,
   29642             :     1005,  1006,  1006,  1007,  1007,  1007,  1007,  1008,  1009,  1009,
   29643             :     1010,  1010,  1010,  1010,  1010,  1011,  1011,  1012,  1012,  1013,
   29644             :     1014,  1014,  1014,  1015,  1015,  1015,  1016,  1016,  1017,  1017,
   29645             :     1018,  1018,  1019,  1020,  1020,  1021,  1022,  1022,  1023,  1024,
   29646             :     1024,  1025,  1025,  1025,  1025,  1025,  1025,  1025,  1025,  1026,
   29647             :     1026,  1027,  1027,  1027,  1028,  1029,  1029,  1030,  1030,  1031,
   29648             :     1032,  1032,  1033,  1034,  1034,  1035,  1035,  1035,  1035,  1035,
   29649             :     1036,  1036,  1037,  1037,  1038,  1038,  1039,  1040,  1041,  1041,
   29650             :     1041,  1041,  1041,  1042,  1043,  1044,  1045,  1045,  1045,  1045,
   29651             :     1045,  1045,  1046,  1046,  1046,  1047,  1047,  1048,  1048,  1049,
   29652             :     1049,  1049,  1049,  1049,  1049,  1049,  1049,  1050,  1050,  1051,
   29653             :     1051,  1051,  1051,  1051,  1051,  1051,  1052,  1052,  1052,  1053,
   29654             :     1053,  1054,  1055,  1055,  1055,  1056,  1056,  1056,  1057,  1057,
   29655             :     1057,  1058,  1058,  1059,  1059,  1060,  1060,  1060,  1060,  1060,
   29656             :     1060,  1060,  1060,  1060,  1061,  1061,  1062,  1062,  1062,  1063,
   29657             :     1063,  1064,  1064,  1065,  1065,  1066,  1066,  1067,  1068,  1068,
   29658             :     1069,  1069,  1070,  1070,  1070,  1070,  1071,  1071,  1072,  1072,
   29659             :     1072,  1072,  1072,  1072,  1073,  1073,  1074,  1074,  1075,  1076,
   29660             :     1076,  1076,  1077,  1077,  1078,  1078,  1079,  1079,  1080,  1080,
   29661             :     1081,  1081,  1082,  1082,  1082,  1082,  1082,  1083,  1084,  1085,
   29662             :     1086,  1087,  1087,  1088,  1088,  1089,  1089,  1090,  1090,  1091,
   29663             :     1092,  1092,  1092,  1092,  1093,  1093,  1094,  1094,  1095,  1095,
   29664             :     1096,  1096,  1097,  1097,  1097,  1097,  1097,  1097,  1097,  1097,
   29665             :     1097,  1097,  1097,  1097,  1098,  1098,  1098,  1098,  1098,  1098,
   29666             :     1099,  1099,  1099,  1099,  1100,  1100,  1101,  1101,  1102,  1102,
   29667             :     1102,  1102,  1102,  1103,  1103,  1103,  1103,  1104,  1104,  1105,
   29668             :     1105,  1106,  1106,  1107,  1107,  1107,  1108,  1108,  1109,  1109,
   29669             :     1109,  1110,  1111,  1111,  1112,  1112,  1113,  1114,  1114,  1115,
   29670             :     1115,  1116,  1116,  1117,  1117,  1118,  1118,  1118,  1119,  1119,
   29671             :     1120,  1120,  1121,  1122,  1122,  1123,  1123,  1124,  1124,  1124,
   29672             :     1125,  1125,  1126,  1126,  1126,  1126,  1126,  1127,  1127,  1128,
   29673             :     1128,  1129,  1130,  1130,  1131,  1131,  1132,  1132,  1132,  1132,
   29674             :     1132,  1132,  1133,  1133,  1134,  1134,  1135,  1135,  1135,  1135,
   29675             :     1135,  1135,  1136,  1136,  1136,  1137,  1137,  1137,  1137,  1137,
   29676             :     1137,  1137,  1137,  1138,  1138,  1138,  1138,  1138,  1139,  1139,
   29677             :     1140,  1140,  1141,  1141,  1141,  1141,  1141,  1141,  1141,  1141,
   29678             :     1141,  1141,  1141,  1142,  1142,  1143,  1143,  1144,  1144,  1145,
   29679             :     1146,  1147,  1147,  1148,  1148,  1149,  1150,  1151,  1151,  1151,
   29680             :     1151,  1151,  1151,  1152,  1152,  1153,  1153,  1153,  1153,  1154,
   29681             :     1155,  1155,  1155,  1156,  1156,  1156,  1156,  1156,  1156,  1156,
   29682             :     1156,  1156,  1156,  1156,  1156,  1156,  1156,  1157,  1157,  1158,
   29683             :     1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,
   29684             :     1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,
   29685             :     1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,
   29686             :     1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,
   29687             :     1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,
   29688             :     1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,
   29689             :     1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,  1160,  1160,
   29690             :     1160,  1160,  1160,  1160,  1160,  1160,  1160,  1160,  1160,  1160,
   29691             :     1160,  1160,  1160,  1160,  1160,  1160,  1160,  1160,  1160,  1160,
   29692             :     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
   29693             :     1161,  1161,  1161,  1161,  1162,  1162,  1162,  1162,  1162,  1162,
   29694             :     1162,  1163,  1163,  1163,  1164,  1164,  1164,  1165,  1165,  1165,
   29695             :     1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,
   29696             :     1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,
   29697             :     1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,
   29698             :     1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,
   29699             :     1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,
   29700             :     1165,  1165,  1165,  1165,  1165,  1165,  1165,  1166,  1166,  1167,
   29701             :     1167,  1167,  1167,  1168,  1169,  1169,  1170,  1170,  1171,  1171,
   29702             :     1172,  1172,  1172,  1173,  1173,  1173,  1174,  1174,  1174,  1174,
   29703             :     1175,  1175,  1176,  1176,  1177,  1177,  1178,  1178,  1179,  1179,
   29704             :     1180,  1181,  1181,  1181,  1182,  1183,  1183,  1184,  1184,  1185,
   29705             :     1185,  1185,  1185,  1186,  1186,  1187,  1187,  1187,  1187,  1187,
   29706             :     1188,  1188,  1188,  1188,  1188,  1189,  1189,  1189,  1190,  1190,
   29707             :     1191,  1192,  1192,  1192,  1193,  1193,  1194,  1194,  1194,  1194,
   29708             :     1194,  1194,  1194,  1194,  1194,  1194,  1194,  1194,  1195,  1195,
   29709             :     1196,  1196,  1197,  1197,  1197,  1197,  1197,  1197,  1198,  1198,
   29710             :     1199,  1199,  1200,  1200,  1200,  1201,  1201,  1202,  1202,  1203,
   29711             :     1203,  1203,  1204,  1204,  1205,  1206,  1206,  1206,  1206,  1206,
   29712             :     1206,  1206,  1206,  1207,  1207,  1207,  1207,  1208,  1208,  1209,
   29713             :     1210,  1210,  1210,  1210,  1210,  1211,  1211,  1211,  1212,  1212,
   29714             :     1213,  1214,  1214,  1215,  1216,  1216,  1217,  1217,  1218,  1218,
   29715             :     1219,  1219,  1219,  1219,  1220,  1220,  1221,  1221,  1222,  1222,
   29716             :     1223,  1223,  1224,  1224,  1225,  1225,  1226,  1227,  1227,  1227,
   29717             :     1227,  1227,  1227,  1227,  1227,  1227,  1228,  1228,  1229,  1229,
   29718             :     1229,  1229,  1229,  1229,  1229,  1229,  1230,  1230,  1230,  1230,
   29719             :     1231,  1231,  1232,  1233,  1233,  1234,  1234,  1235,  1235,  1235,
   29720             :     1235,  1235,  1236,  1236,  1237,  1237,  1237,  1237,  1237,  1238,
   29721             :     1238,  1238,  1238,  1238,  1239,  1239,  1240,  1240,  1241,  1241,
   29722             :     1241,  1242,  1242,  1242,  1243,  1243,  1244,  1244,  1245,  1245,
   29723             :     1246,  1246,  1247,  1247,  1248,  1248,  1248,  1248,  1249,  1249,
   29724             :     1250,  1250,  1251,  1251,  1252,  1253,  1254,  1255,  1255,  1256,
   29725             :     1256,  1256,  1256,  1256,  1256,  1256,  1256,  1256,  1256,  1256,
   29726             :     1256,  1256,  1257,  1258,  1259,  1259,  1259,  1260,  1261,  1261,
   29727             :     1261,  1261,  1262,  1262,  1263,  1264,  1265,  1265,  1266,  1266,
   29728             :     1267,  1267,  1267,  1268,  1268,  1268,  1269,  1269,  1269,  1269,
   29729             :     1270,  1270,  1270,  1270,  1270,  1271,  1271,  1272,  1272,  1272,
   29730             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29731             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29732             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29733             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29734             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29735             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29736             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29737             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29738             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29739             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29740             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29741             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29742             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29743             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29744             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29745             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29746             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29747             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29748             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29749             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29750             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29751             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29752             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29753             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29754             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29755             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29756             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29757             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29758             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29759             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29760             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29761             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29762             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1273,  1273,  1273,
   29763             :     1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,
   29764             :     1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,
   29765             :     1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,
   29766             :     1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,
   29767             :     1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,
   29768             :     1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,
   29769             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   29770             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   29771             :     1274,  1274,  1274,  1275,  1275,  1275,  1275,  1275,  1275,  1275,
   29772             :     1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,
   29773             :     1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,
   29774             :     1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,
   29775             :     1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,
   29776             :     1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,
   29777             :     1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,
   29778             :     1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,
   29779             :     1275,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29780             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29781             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29782             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29783             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29784             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29785             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29786             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29787             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29788             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29789             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29790             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29791             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29792             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29793             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29794             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29795             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29796             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29797             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29798             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29799             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29800             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29801             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29802             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29803             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29804             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29805             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29806             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29807             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29808             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29809             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29810             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29811             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29812             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29813             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29814             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29815             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29816             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29817             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29818             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29819             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29820             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29821             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29822             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29823             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29824             :     1276,  1276,  1276,  1276,  1276,  1276
   29825             : };
   29826             : 
   29827             :   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
   29828             : static const yytype_int8 yyr2[] =
   29829             : {
   29830             :        0,     2,     1,     2,     2,     2,     2,     2,     3,     1,
   29831             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   29832             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   29833             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   29834             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   29835             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   29836             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   29837             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   29838             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   29839             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   29840             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   29841             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   29842             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   29843             :        1,     1,     1,     1,     1,     1,     0,     1,     0,     1,
   29844             :        0,     1,     0,     1,     1,     0,     2,     5,     1,     1,
   29845             :        0,     2,     0,     2,     0,     2,     2,     3,     3,     1,
   29846             :        3,     3,     2,     1,     1,     2,     2,     2,     3,     3,
   29847             :        5,     5,     5,     0,     3,     5,     5,     5,     5,     3,
   29848             :        5,     3,     5,     3,     5,     5,     6,     1,     1,     6,
   29849             :        4,     9,     7,     2,     0,     1,     1,     1,     1,     1,
   29850             :        1,     2,     3,     3,     2,     5,     1,     3,     3,     3,
   29851             :        3,     1,     3,     3,     2,     2,     2,     2,     3,     3,
   29852             :        3,     3,     1,     3,     1,     3,     1,     1,     2,     2,
   29853             :        2,     1,     1,     1,     1,     1,     1,     1,     3,     5,
   29854             :        1,     1,     1,     1,     1,     0,     1,     1,     2,     1,
   29855             :        2,     3,     2,     1,     1,     2,     1,     2,     1,     2,
   29856             :        3,     4,     3,     2,     4,     1,     1,     1,     1,     1,
   29857             :        2,     2,     2,     2,     2,     4,     6,     4,     6,    10,
   29858             :       13,     4,     6,     4,    10,    13,     4,     6,     4,     6,
   29859             :        5,     7,    11,    14,     5,     7,     1,     3,     4,     4,
   29860             :        4,     3,     2,     5,     3,     6,     4,     6,     6,     9,
   29861             :        5,     7,     6,     6,     5,     5,     5,     5,     9,     4,
   29862             :        5,     7,     6,     4,     8,     4,     2,     4,     4,     3,
   29863             :        6,     4,     3,     3,     3,     2,     2,     3,     4,     4,
   29864             :        3,     3,     3,     3,     3,     3,     4,     4,     3,     2,
   29865             :        3,     2,     2,     3,     4,     3,     2,     2,     3,     4,
   29866             :        4,     4,     5,     1,     3,     2,     2,     0,     2,     0,
   29867             :        1,     1,     1,     3,     3,     2,     0,     1,     3,     3,
   29868             :        1,     5,     3,     1,     2,     1,     3,     2,     3,     1,
   29869             :        1,     1,     1,     6,     6,    10,     1,     2,     1,     3,
   29870             :        4,     1,     3,     4,     6,     4,     8,     2,     2,    11,
   29871             :        9,     1,     1,     1,     0,     1,     1,     1,     1,     3,
   29872             :        2,     0,     1,     1,     3,     3,     1,     1,     3,     3,
   29873             :        3,     3,     4,     4,     3,     3,     2,     1,     0,     3,
   29874             :        0,     1,     0,     1,     3,     2,     1,     1,     1,     1,
   29875             :        3,     0,     1,     3,     1,    13,    16,    12,    15,    14,
   29876             :       17,     1,     1,     2,     2,     2,     2,     1,     0,     1,
   29877             :        0,     3,     0,     1,     3,     1,     3,     1,     1,     1,
   29878             :        1,     1,     6,     2,     4,     2,     2,     1,     0,     2,
   29879             :        2,     1,     0,     2,     0,     3,     1,     1,     2,     3,
   29880             :        1,     4,     4,     5,     2,     5,     7,     5,     2,     3,
   29881             :        0,     1,     2,     1,     1,     0,     1,     2,     2,     2,
   29882             :        1,     2,     3,     3,     3,     0,     1,     1,     1,     1,
   29883             :        1,     1,     1,     1,     1,     1,     3,     1,     5,     4,
   29884             :       10,     3,    10,     4,    10,    12,     3,     1,     5,     3,
   29885             :        2,     0,     2,     0,     3,     0,     1,     3,     3,     0,
   29886             :        4,     0,     1,     4,     0,     2,     2,     2,     0,     1,
   29887             :        3,     3,     6,     4,     0,     1,     1,     2,     2,     0,
   29888             :        3,     3,     2,     1,     1,     3,     3,     4,     0,     1,
   29889             :        0,     6,     1,     3,     3,     3,     5,     2,     0,     2,
   29890             :        2,     0,     3,     4,     4,     0,     2,     0,     4,     0,
   29891             :        3,     8,    11,     1,     3,     1,     1,     3,     6,     8,
   29892             :        7,    10,     6,     2,     3,     0,     8,    11,     5,     1,
   29893             :        0,     6,     5,     8,     4,     6,     1,     0,     3,     0,
   29894             :        1,     2,     2,     2,     1,     2,     3,     1,     2,     2,
   29895             :        2,     2,     3,     3,     3,     1,     3,     1,     1,     0,
   29896             :        1,     2,     2,     1,     1,     3,     6,    10,     1,     0,
   29897             :        1,     2,     2,     0,     2,     2,     1,     0,     1,     0,
   29898             :        7,     2,     0,     3,     5,     5,     8,     2,     0,     2,
   29899             :        2,     2,     1,     5,     2,     0,     2,     6,     6,     6,
   29900             :       10,     6,     6,     6,     9,     9,     6,     6,     9,     6,
   29901             :        7,     2,     2,     2,     2,     1,     2,     1,     0,     7,
   29902             :        6,     4,     0,     1,     3,     4,     1,     3,     1,     2,
   29903             :        2,     2,     2,     1,     1,    10,    13,     2,     0,     2,
   29904             :        2,     1,     0,     5,     4,     4,    11,    14,    12,    15,
   29905             :       11,     2,     1,     4,     0,     8,    11,     1,     1,     7,
   29906             :        9,     8,    10,     8,     4,     0,     5,     0,     2,     0,
   29907             :        2,     0,     2,     0,     2,     0,     1,     1,     1,     1,
   29908             :        1,     8,     1,     1,    17,    21,     1,     1,     2,     1,
   29909             :        3,     1,     1,     1,     3,     1,     2,     0,     1,     2,
   29910             :        4,     1,     1,     1,     1,     1,     3,     0,     1,     0,
   29911             :        1,     1,     4,     0,     1,     1,     1,     3,     0,     1,
   29912             :        1,     1,     1,     2,     0,     0,     2,     2,     1,     2,
   29913             :        2,     2,     2,     2,     1,    11,    13,     1,     3,     5,
   29914             :        1,     3,     5,     1,     2,     2,     1,     8,     6,     5,
   29915             :        4,     4,     3,     7,     8,     6,     6,     6,     6,     6,
   29916             :        4,     7,     5,     8,     3,     1,     3,     3,     1,     1,
   29917             :        1,     1,     1,     1,     1,     3,     1,     3,     3,     1,
   29918             :        0,     1,     3,     7,     9,     9,     8,     6,     3,     0,
   29919             :       13,     1,     3,     4,     4,     3,     6,     2,     1,     0,
   29920             :        2,     0,     2,     4,     0,     6,     8,     8,     1,     3,
   29921             :        5,     5,     7,     9,     7,     9,     5,     6,     6,     4,
   29922             :        6,     4,     6,     8,     4,     6,     4,     6,     5,     7,
   29923             :        1,     1,     1,     2,     1,     2,     1,     1,     1,     3,
   29924             :        3,     3,     3,     1,     1,     1,     1,     1,     2,     2,
   29925             :        1,     3,     2,     1,     1,     1,     1,     1,     1,     1,
   29926             :        3,     1,     2,     2,     3,     1,     3,     5,     2,     2,
   29927             :        0,     6,     6,     6,     6,     6,     6,     6,     6,     8,
   29928             :        9,     8,     6,     6,     9,     9,     9,     7,    10,     1,
   29929             :        1,     8,     8,     8,     8,     8,     8,     8,     9,     8,
   29930             :        8,     2,     0,     1,     1,     2,     2,     1,     2,     3,
   29931             :        3,     3,     3,     4,     4,     3,     3,     3,     4,     4,
   29932             :        3,     4,     4,     1,     1,     1,     0,     8,     8,    11,
   29933             :        1,     1,     2,     4,     5,     1,     3,     2,     2,     2,
   29934             :        2,     2,     1,     3,     1,     3,     1,     2,     2,     4,
   29935             :        3,     2,     2,     2,     2,     2,     2,     3,     2,     2,
   29936             :        2,     2,     5,     5,     5,     5,     5,     1,     3,     1,
   29937             :        2,     3,     0,     5,     7,     6,     9,     3,     1,     2,
   29938             :        1,     1,     1,     3,     0,     5,     2,     0,     3,     3,
   29939             :        3,     7,     7,    10,     1,     1,     1,     1,     1,     1,
   29940             :        2,    16,    19,     1,     0,     2,     0,     1,     3,     4,
   29941             :        5,     2,     2,     4,     4,     0,     1,     3,     2,     0,
   29942             :        1,     1,     0,     2,     2,     0,     9,    12,     7,     7,
   29943             :        2,     0,     3,     2,     1,     3,     1,     3,     2,     1,
   29944             :        1,     2,     3,     2,     1,     3,     3,     3,     2,     2,
   29945             :        1,     1,     1,     1,     2,     1,     1,     1,     1,     4,
   29946             :        5,     1,     3,     3,     1,     3,     3,     5,     6,     1,
   29947             :        3,     2,     1,     3,     1,     0,     1,     2,     4,     5,
   29948             :        1,     1,     1,     1,     3,     3,     2,     2,     1,     2,
   29949             :        2,     2,     2,     1,     2,     2,     2,     2,     1,     1,
   29950             :        1,     3,     2,     1,     4,     0,     3,     0,     1,     1,
   29951             :        3,     5,     2,     0,     2,     1,     3,     5,     5,     5,
   29952             :        1,     2,     1,     0,     4,     6,     4,     6,     4,     6,
   29953             :        4,     6,     4,     6,     3,     5,     5,     5,     1,     3,
   29954             :        1,     3,     2,     2,     1,     2,     1,     2,    11,    10,
   29955             :       10,     2,     2,     0,     9,     2,     0,    10,    11,    11,
   29956             :        5,     5,     8,     5,     5,     5,     1,     1,     1,     1,
   29957             :        3,     0,     5,     5,     6,     6,     6,     6,     6,     8,
   29958             :        8,     6,     6,     7,     9,     9,     8,    10,     6,     6,
   29959             :        6,     6,     6,     6,     6,     8,     6,     8,     6,     8,
   29960             :        7,     9,     6,     8,     7,     9,     8,    10,     8,    10,
   29961             :        9,    11,     8,    10,     9,    11,     8,     8,     7,     6,
   29962             :        6,     6,     6,     8,     8,     8,     8,     6,     9,     1,
   29963             :        0,     2,     0,     8,     8,     8,    10,     9,     8,     1,
   29964             :        0,     6,     6,     6,     6,     6,     6,     6,     9,     9,
   29965             :        6,     6,     6,     8,     6,     8,     8,     8,     8,     6,
   29966             :        8,     6,     8,     7,     9,     7,     9,     6,     7,     1,
   29967             :        3,     3,     3,     1,     1,     1,     1,     1,     1,     7,
   29968             :        6,     6,     6,     6,     6,     6,     7,     7,     6,     9,
   29969             :        9,     6,     6,     6,     6,     6,     6,     8,     8,     8,
   29970             :        6,     7,     6,     6,     4,     7,     6,     4,     4,     4,
   29971             :        3,     4,     3,     1,     1,     3,     5,     5,     5,     5,
   29972             :        8,     5,     5,     6,     7,     7,     7,     4,     4,     5,
   29973             :        4,     6,    13,     1,     1,     3,     3,     1,     1,     1,
   29974             :        1,     1,     1,     1,     0,     1,     1,     1,     1,     1,
   29975             :        1,     0,     3,     2,     0,     2,     2,     2,     3,     3,
   29976             :        3,     3,     2,     3,     2,     5,     4,     3,     3,     3,
   29977             :        3,     3,     1,     1,     0,     3,     2,     2,     1,     2,
   29978             :        1,     3,     2,     1,     0,     2,     3,     0,     9,    11,
   29979             :       12,    14,     3,     4,     4,     0,     2,     5,     1,     0,
   29980             :        1,     2,     3,     3,     3,     1,     2,     1,     1,     1,
   29981             :        1,     1,     1,     0,     5,     4,     6,     6,     4,     3,
   29982             :        5,     7,     9,     1,     3,     1,     5,     4,     4,     6,
   29983             :        4,     6,     6,     5,     7,     9,     6,     1,     0,     6,
   29984             :       11,    11,    11,    13,     9,    11,     1,     1,    10,     6,
   29985             :        4,     4,     2,     5,     2,     0,     6,     5,     3,     5,
   29986             :        1,     3,     1,     1,     2,     1,     1,     1,     1,     1,
   29987             :        0,     1,     0,     1,     0,     1,     0,     1,     0,     3,
   29988             :        0,     2,     1,     3,     1,     0,     2,     4,     3,     5,
   29989             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   29990             :        5,     3,     0,     1,     1,     1,     1,     1,     3,     9,
   29991             :       12,     3,     0,     2,     3,     2,     3,     7,     1,     3,
   29992             :        1,     4,     4,     7,     2,     1,     1,     1,     3,     2,
   29993             :        8,     5,     0,     4,     3,     0,     3,     0,     4,     0,
   29994             :        1,     3,     3,     1,     1,     7,     2,     0,     5,     3,
   29995             :        0,     2,     2,     2,     3,     1,     3,     1,     2,     1,
   29996             :        0,     1,     2,     0,     8,     1,     3,     3,     5,     2,
   29997             :        1,     3,    10,     1,     2,     4,     4,     4,     5,     5,
   29998             :        2,     5,     3,     5,     2,     0,     3,     1,     2,     5,
   29999             :        5,     8,     3,     4,     7,     1,     0,     3,     2,     2,
   30000             :        2,     2,     0,     2,     2,     1,     1,     3,     3,     1,
   30001             :        2,     4,     4,     2,     3,     5,     5,     1,     1,     9,
   30002             :        9,     1,     2,     4,     4,     4,     2,     2,     3,     1,
   30003             :        3,     9,     1,     2,     0,     7,     7,     0,    10,     6,
   30004             :        0,     1,     0,     2,     0,     3,     3,     4,     4,     4,
   30005             :        4,     3,     2,     1,     1,     0,     1,     1,     0,     1,
   30006             :        5,     1,     0,     1,     1,     1,     0,     3,     1,     3,
   30007             :        4,     3,     2,     2,     1,     1,     1,     0,     2,     4,
   30008             :        5,     6,     4,     5,     2,     3,     1,     1,     1,     1,
   30009             :        2,     2,     1,     1,     1,     1,     1,     1,     4,     0,
   30010             :        1,     3,     1,     1,     1,     1,     1,     2,     4,     4,
   30011             :        5,     2,     0,     1,     3,     1,     0,     1,     2,     3,
   30012             :        2,     4,     2,     3,     2,     0,     4,     5,     2,     0,
   30013             :        1,     3,     2,     3,     2,     3,     2,     3,     2,     3,
   30014             :        1,     4,     2,     3,     3,     4,     5,     4,     5,     4,
   30015             :        5,     2,     4,     1,     1,     0,     2,     0,     1,     4,
   30016             :        5,     4,     0,     2,     2,     2,     1,     1,     0,     5,
   30017             :        2,     1,     1,     2,     2,     4,     1,     3,     1,     2,
   30018             :        3,     6,     4,     0,     2,     6,     2,     1,     3,     4,
   30019             :        0,     2,     0,     2,     0,     2,     4,     0,     1,     0,
   30020             :        1,     3,     3,     7,    12,     1,     3,     2,     3,     3,
   30021             :        1,     2,     2,     2,     2,     1,     2,     1,     3,     3,
   30022             :        2,    13,     2,     0,     1,     3,     3,     6,     7,     5,
   30023             :        7,     9,     1,     0,     2,     0,     2,     3,     5,     6,
   30024             :        2,     3,     3,     4,     0,     1,     1,     1,     1,     1,
   30025             :        2,     4,     1,     1,     1,     1,     1,     1,     2,     3,
   30026             :        3,     0,     1,     1,     1,     1,     1,     2,     2,     2,
   30027             :        2,     2,     1,     3,     0,     1,     1,     1,     1,     5,
   30028             :        2,     1,     1,     1,     1,     4,     1,     2,     2,     1,
   30029             :        3,     3,     2,     1,     0,     5,     2,     5,     2,     1,
   30030             :        3,     3,     0,     1,     1,     1,     1,     1,     1,     3,
   30031             :        3,     3,     3,     3,     3,     3,     0,     1,     4,     1,
   30032             :        1,     3,     3,     5,     3,     2,     2,     3,     3,     3,
   30033             :        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
   30034             :        2,     3,     3,     2,     2,     3,     5,     4,     6,     3,
   30035             :        5,     4,     6,     4,     6,     5,     7,     3,     2,     4,
   30036             :        2,     3,     3,     4,     3,     4,     3,     4,     5,     6,
   30037             :        6,     7,     6,     7,     3,     4,     4,     6,     3,     3,
   30038             :        4,     3,     4,     4,     5,     4,     5,     1,     1,     3,
   30039             :        2,     2,     3,     3,     3,     3,     3,     3,     3,     3,
   30040             :        3,     3,     3,     3,     3,     2,     5,     6,     3,     4,
   30041             :        1,     1,     2,     4,     1,     1,     1,     2,     2,     2,
   30042             :        2,     1,     1,     4,     3,     5,     6,     8,     6,     6,
   30043             :        4,     4,     3,     1,     1,     1,     1,     5,     1,     1,
   30044             :        4,     1,     4,     1,     4,     1,     4,     1,     1,     1,
   30045             :        1,     1,     1,     1,     6,     4,     4,     6,     4,     4,
   30046             :        4,     4,     4,     6,     5,     5,     5,     4,     6,     4,
   30047             :        4,     4,     4,     5,     7,     7,     9,     5,     4,     6,
   30048             :        5,     7,     7,     8,     4,     7,     4,     6,     6,     4,
   30049             :        5,     4,     5,     3,    11,     8,     9,     2,     3,     3,
   30050             :        3,     4,     0,     4,     1,     3,     3,     1,     1,     1,
   30051             :        1,     2,     0,     2,     2,     0,     2,     3,     3,     4,
   30052             :        2,     2,     5,     0,     5,     0,     2,     0,     1,     3,
   30053             :        3,     2,     2,     0,     6,     1,     0,     3,     0,     3,
   30054             :        3,     3,     0,     1,     4,     2,     2,     2,     2,     2,
   30055             :        3,     2,     2,     3,     0,     4,     3,     5,     4,     3,
   30056             :        5,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30057             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     4,
   30058             :        1,     4,     1,     4,     1,     2,     1,     2,     1,     3,
   30059             :        1,     3,     1,     3,     3,     1,     0,     1,     3,     3,
   30060             :        3,     2,     1,     3,     3,     1,     1,     1,     1,     1,
   30061             :        1,     1,     1,     1,     1,     1,     1,     7,     5,     3,
   30062             :        5,     5,     3,     3,     5,     3,     2,     1,     1,     3,
   30063             :        5,     1,     2,     4,     2,     0,     1,     0,     1,     2,
   30064             :        2,     2,     3,     5,     1,     0,     1,     2,     0,     2,
   30065             :        1,     0,     2,     0,     1,     3,     3,     2,     3,     2,
   30066             :        3,     4,     4,     3,     3,     0,     2,     1,     1,     1,
   30067             :        1,     1,     1,     2,     2,     1,     3,     3,     6,     0,
   30068             :        3,     0,     2,     4,     2,     1,     0,     5,     2,     5,
   30069             :        2,     0,     3,     0,     1,     2,     2,     2,     2,     3,
   30070             :        2,     3,     2,     0,     1,     3,     3,     3,     3,     3,
   30071             :        0,     3,     3,     0,     1,     3,     7,     7,     3,     0,
   30072             :        1,     0,     1,     3,     3,     2,     1,     1,     1,     3,
   30073             :        1,     2,     1,     3,     1,     1,     1,     1,     2,     1,
   30074             :        1,     1,     1,     1,     2,     6,     2,     3,     5,     1,
   30075             :        1,     1,     1,     1,     1,     2,     2,     1,     1,     1,
   30076             :        1,     1,     1,     3,    10,     4,     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,     1,     1,     1,     1,
   30117             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30118             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30119             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30120             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30121             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30122             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30123             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30124             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30125             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30126             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30127             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30128             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30129             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30130             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30131             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30132             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30133             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30134             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30135             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30136             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30137             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30138             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30139             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30140             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30141             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30142             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30143             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30144             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30145             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30146             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30147             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30148             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30149             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30150             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30151             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30152             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30153             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30154             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30155             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30156             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30157             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30158             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30159             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30160             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30161             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30162             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30163             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30164             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30165             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30166             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30167             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30168             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30169             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30170             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30171             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30172             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30173             :        1,     1,     1,     1,     1,     1
   30174             : };
   30175             : 
   30176             : 
   30177             : enum { YYENOMEM = -2 };
   30178             : 
   30179             : #define yyerrok         (yyerrstatus = 0)
   30180             : #define yyclearin       (yychar = YYEMPTY)
   30181             : 
   30182             : #define YYACCEPT        goto yyacceptlab
   30183             : #define YYABORT         goto yyabortlab
   30184             : #define YYERROR         goto yyerrorlab
   30185             : 
   30186             : 
   30187             : #define YYRECOVERING()  (!!yyerrstatus)
   30188             : 
   30189             : #define YYBACKUP(Token, Value)                                    \
   30190             :   do                                                              \
   30191             :     if (yychar == YYEMPTY)                                        \
   30192             :       {                                                           \
   30193             :         yychar = (Token);                                         \
   30194             :         yylval = (Value);                                         \
   30195             :         YYPOPSTACK (yylen);                                       \
   30196             :         yystate = *yyssp;                                         \
   30197             :         goto yybackup;                                            \
   30198             :       }                                                           \
   30199             :     else                                                          \
   30200             :       {                                                           \
   30201             :         yyerror (&yylloc, yyscanner, YY_("syntax error: cannot back up")); \
   30202             :         YYERROR;                                                  \
   30203             :       }                                                           \
   30204             :   while (0)
   30205             : 
   30206             : /* Backward compatibility with an undocumented macro.
   30207             :    Use YYerror or YYUNDEF. */
   30208             : #define YYERRCODE YYUNDEF
   30209             : 
   30210             : /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
   30211             :    If N is 0, then set CURRENT to the empty location which ends
   30212             :    the previous symbol: RHS[0] (always defined).  */
   30213             : 
   30214             : #ifndef YYLLOC_DEFAULT
   30215             : # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
   30216             :     do                                                                  \
   30217             :       if (N)                                                            \
   30218             :         {                                                               \
   30219             :           (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
   30220             :           (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
   30221             :           (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
   30222             :           (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
   30223             :         }                                                               \
   30224             :       else                                                              \
   30225             :         {                                                               \
   30226             :           (Current).first_line   = (Current).last_line   =              \
   30227             :             YYRHSLOC (Rhs, 0).last_line;                                \
   30228             :           (Current).first_column = (Current).last_column =              \
   30229             :             YYRHSLOC (Rhs, 0).last_column;                              \
   30230             :         }                                                               \
   30231             :     while (0)
   30232             : #endif
   30233             : 
   30234             : #define YYRHSLOC(Rhs, K) ((Rhs)[K])
   30235             : 
   30236             : 
   30237             : /* Enable debugging if requested.  */
   30238             : #if YYDEBUG
   30239             : 
   30240             : # ifndef YYFPRINTF
   30241             : #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
   30242             : #  define YYFPRINTF fprintf
   30243             : # endif
   30244             : 
   30245             : # define YYDPRINTF(Args)                        \
   30246             : do {                                            \
   30247             :   if (yydebug)                                  \
   30248             :     YYFPRINTF Args;                             \
   30249             : } while (0)
   30250             : 
   30251             : 
   30252             : /* YY_LOCATION_PRINT -- Print the location on the stream.
   30253             :    This macro was not mandated originally: define only if we know
   30254             :    we won't break user code: when these are the locations we know.  */
   30255             : 
   30256             : # ifndef YY_LOCATION_PRINT
   30257             : #  if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
   30258             : 
   30259             : /* Print *YYLOCP on YYO.  Private, do not rely on its existence. */
   30260             : 
   30261             : YY_ATTRIBUTE_UNUSED
   30262             : static int
   30263             : yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
   30264             : {
   30265             :   int res = 0;
   30266             :   int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
   30267             :   if (0 <= yylocp->first_line)
   30268             :     {
   30269             :       res += YYFPRINTF (yyo, "%d", yylocp->first_line);
   30270             :       if (0 <= yylocp->first_column)
   30271             :         res += YYFPRINTF (yyo, ".%d", yylocp->first_column);
   30272             :     }
   30273             :   if (0 <= yylocp->last_line)
   30274             :     {
   30275             :       if (yylocp->first_line < yylocp->last_line)
   30276             :         {
   30277             :           res += YYFPRINTF (yyo, "-%d", yylocp->last_line);
   30278             :           if (0 <= end_col)
   30279             :             res += YYFPRINTF (yyo, ".%d", end_col);
   30280             :         }
   30281             :       else if (0 <= end_col && yylocp->first_column < end_col)
   30282             :         res += YYFPRINTF (yyo, "-%d", end_col);
   30283             :     }
   30284             :   return res;
   30285             :  }
   30286             : 
   30287             : #   define YY_LOCATION_PRINT(File, Loc)          \
   30288             :   yy_location_print_ (File, &(Loc))
   30289             : 
   30290             : #  else
   30291             : #   define YY_LOCATION_PRINT(File, Loc) ((void) 0)
   30292             : #  endif
   30293             : # endif /* !defined YY_LOCATION_PRINT */
   30294             : 
   30295             : 
   30296             : # define YY_SYMBOL_PRINT(Title, Kind, Value, Location)                    \
   30297             : do {                                                                      \
   30298             :   if (yydebug)                                                            \
   30299             :     {                                                                     \
   30300             :       YYFPRINTF (stderr, "%s ", Title);                                   \
   30301             :       yy_symbol_print (stderr,                                            \
   30302             :                   Kind, Value, Location, yyscanner); \
   30303             :       YYFPRINTF (stderr, "\n");                                           \
   30304             :     }                                                                     \
   30305             : } while (0)
   30306             : 
   30307             : 
   30308             : /*-----------------------------------.
   30309             : | Print this symbol's value on YYO.  |
   30310             : `-----------------------------------*/
   30311             : 
   30312             : static void
   30313             : yy_symbol_value_print (FILE *yyo,
   30314             :                        yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
   30315             : {
   30316             :   FILE *yyoutput = yyo;
   30317             :   YY_USE (yyoutput);
   30318             :   YY_USE (yylocationp);
   30319             :   YY_USE (yyscanner);
   30320             :   if (!yyvaluep)
   30321             :     return;
   30322             : # ifdef YYPRINT
   30323             :   if (yykind < YYNTOKENS)
   30324             :     YYPRINT (yyo, yytoknum[yykind], *yyvaluep);
   30325             : # endif
   30326             :   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
   30327             :   YY_USE (yykind);
   30328             :   YY_IGNORE_MAYBE_UNINITIALIZED_END
   30329             : }
   30330             : 
   30331             : 
   30332             : /*---------------------------.
   30333             : | Print this symbol on YYO.  |
   30334             : `---------------------------*/
   30335             : 
   30336             : static void
   30337             : yy_symbol_print (FILE *yyo,
   30338             :                  yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
   30339             : {
   30340             :   YYFPRINTF (yyo, "%s %s (",
   30341             :              yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind));
   30342             : 
   30343             :   YY_LOCATION_PRINT (yyo, *yylocationp);
   30344             :   YYFPRINTF (yyo, ": ");
   30345             :   yy_symbol_value_print (yyo, yykind, yyvaluep, yylocationp, yyscanner);
   30346             :   YYFPRINTF (yyo, ")");
   30347             : }
   30348             : 
   30349             : /*------------------------------------------------------------------.
   30350             : | yy_stack_print -- Print the state stack from its BOTTOM up to its |
   30351             : | TOP (included).                                                   |
   30352             : `------------------------------------------------------------------*/
   30353             : 
   30354             : static void
   30355             : yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
   30356             : {
   30357             :   YYFPRINTF (stderr, "Stack now");
   30358             :   for (; yybottom <= yytop; yybottom++)
   30359             :     {
   30360             :       int yybot = *yybottom;
   30361             :       YYFPRINTF (stderr, " %d", yybot);
   30362             :     }
   30363             :   YYFPRINTF (stderr, "\n");
   30364             : }
   30365             : 
   30366             : # define YY_STACK_PRINT(Bottom, Top)                            \
   30367             : do {                                                            \
   30368             :   if (yydebug)                                                  \
   30369             :     yy_stack_print ((Bottom), (Top));                           \
   30370             : } while (0)
   30371             : 
   30372             : 
   30373             : /*------------------------------------------------.
   30374             : | Report that the YYRULE is going to be reduced.  |
   30375             : `------------------------------------------------*/
   30376             : 
   30377             : static void
   30378             : yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp,
   30379             :                  int yyrule, core_yyscan_t yyscanner)
   30380             : {
   30381             :   int yylno = yyrline[yyrule];
   30382             :   int yynrhs = yyr2[yyrule];
   30383             :   int yyi;
   30384             :   YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
   30385             :              yyrule - 1, yylno);
   30386             :   /* The symbols being reduced.  */
   30387             :   for (yyi = 0; yyi < yynrhs; yyi++)
   30388             :     {
   30389             :       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
   30390             :       yy_symbol_print (stderr,
   30391             :                        YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]),
   30392             :                        &yyvsp[(yyi + 1) - (yynrhs)],
   30393             :                        &(yylsp[(yyi + 1) - (yynrhs)]), yyscanner);
   30394             :       YYFPRINTF (stderr, "\n");
   30395             :     }
   30396             : }
   30397             : 
   30398             : # define YY_REDUCE_PRINT(Rule)          \
   30399             : do {                                    \
   30400             :   if (yydebug)                          \
   30401             :     yy_reduce_print (yyssp, yyvsp, yylsp, Rule, yyscanner); \
   30402             : } while (0)
   30403             : 
   30404             : /* Nonzero means print parse trace.  It is left uninitialized so that
   30405             :    multiple parsers can coexist.  */
   30406             : int yydebug;
   30407             : #else /* !YYDEBUG */
   30408             : # define YYDPRINTF(Args) ((void) 0)
   30409             : # define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
   30410             : # define YY_STACK_PRINT(Bottom, Top)
   30411             : # define YY_REDUCE_PRINT(Rule)
   30412             : #endif /* !YYDEBUG */
   30413             : 
   30414             : 
   30415             : /* YYINITDEPTH -- initial size of the parser's stacks.  */
   30416             : #ifndef YYINITDEPTH
   30417             : # define YYINITDEPTH 200
   30418             : #endif
   30419             : 
   30420             : /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
   30421             :    if the built-in stack extension method is used).
   30422             : 
   30423             :    Do not make this value too large; the results are undefined if
   30424             :    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
   30425             :    evaluated with infinite-precision integer arithmetic.  */
   30426             : 
   30427             : #ifndef YYMAXDEPTH
   30428             : # define YYMAXDEPTH 10000
   30429             : #endif
   30430             : 
   30431             : 
   30432             : 
   30433             : 
   30434             : 
   30435             : 
   30436             : /*-----------------------------------------------.
   30437             : | Release the memory associated to this symbol.  |
   30438             : `-----------------------------------------------*/
   30439             : 
   30440             : static void
   30441     1583304 : yydestruct (const char *yymsg,
   30442             :             yysymbol_kind_t yykind, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, core_yyscan_t yyscanner)
   30443             : {
   30444             :   YY_USE (yyvaluep);
   30445             :   YY_USE (yylocationp);
   30446             :   YY_USE (yyscanner);
   30447     1583304 :   if (!yymsg)
   30448           0 :     yymsg = "Deleting";
   30449             :   YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
   30450             : 
   30451             :   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
   30452             :   YY_USE (yykind);
   30453             :   YY_IGNORE_MAYBE_UNINITIALIZED_END
   30454     1583304 : }
   30455             : 
   30456             : 
   30457             : 
   30458             : 
   30459             : 
   30460             : 
   30461             : /*----------.
   30462             : | yyparse.  |
   30463             : `----------*/
   30464             : 
   30465             : int
   30466      792858 : yyparse (core_yyscan_t yyscanner)
   30467             : {
   30468             : /* Lookahead token kind.  */
   30469             : int yychar;
   30470             : 
   30471             : 
   30472             : /* The semantic value of the lookahead symbol.  */
   30473             : /* Default value used for initialization, for pacifying older GCCs
   30474             :    or non-GCC compilers.  */
   30475             : YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
   30476             : YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
   30477             : 
   30478             : /* Location data for the lookahead symbol.  */
   30479             : static YYLTYPE yyloc_default
   30480             : # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
   30481             :   = { 1, 1, 1, 1 }
   30482             : # endif
   30483             : ;
   30484      792858 : YYLTYPE yylloc = yyloc_default;
   30485             : 
   30486             :     /* Number of syntax errors so far.  */
   30487      792858 :     int yynerrs = 0;
   30488             : 
   30489      792858 :     yy_state_fast_t yystate = 0;
   30490             :     /* Number of tokens to shift before error messages enabled.  */
   30491      792858 :     int yyerrstatus = 0;
   30492             : 
   30493             :     /* Refer to the stacks through separate pointers, to allow yyoverflow
   30494             :        to reallocate them elsewhere.  */
   30495             : 
   30496             :     /* Their size.  */
   30497      792858 :     YYPTRDIFF_T yystacksize = YYINITDEPTH;
   30498             : 
   30499             :     /* The state stack: array, bottom, top.  */
   30500             :     yy_state_t yyssa[YYINITDEPTH];
   30501      792858 :     yy_state_t *yyss = yyssa;
   30502      792858 :     yy_state_t *yyssp = yyss;
   30503             : 
   30504             :     /* The semantic value stack: array, bottom, top.  */
   30505             :     YYSTYPE yyvsa[YYINITDEPTH];
   30506      792858 :     YYSTYPE *yyvs = yyvsa;
   30507      792858 :     YYSTYPE *yyvsp = yyvs;
   30508             : 
   30509             :     /* The location stack: array, bottom, top.  */
   30510             :     YYLTYPE yylsa[YYINITDEPTH];
   30511      792858 :     YYLTYPE *yyls = yylsa;
   30512      792858 :     YYLTYPE *yylsp = yyls;
   30513             : 
   30514             :   int yyn;
   30515             :   /* The return value of yyparse.  */
   30516             :   int yyresult;
   30517             :   /* Lookahead symbol kind.  */
   30518      792858 :   yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY;
   30519             :   /* The variables used to return semantic value and location from the
   30520             :      action routines.  */
   30521             :   YYSTYPE yyval;
   30522             :   YYLTYPE yyloc;
   30523             : 
   30524             :   /* The locations where the error started and ended.  */
   30525             :   YYLTYPE yyerror_range[3];
   30526             : 
   30527             : 
   30528             : 
   30529             : #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
   30530             : 
   30531             :   /* The number of symbols on the RHS of the reduced rule.
   30532             :      Keep to zero when no symbol should be popped.  */
   30533      792858 :   int yylen = 0;
   30534             : 
   30535             :   YYDPRINTF ((stderr, "Starting parse\n"));
   30536             : 
   30537      792858 :   yychar = YYEMPTY; /* Cause a token to be read.  */
   30538      792858 :   yylsp[0] = yylloc;
   30539      792858 :   goto yysetstate;
   30540             : 
   30541             : 
   30542             : /*------------------------------------------------------------.
   30543             : | yynewstate -- push a new state, which is found in yystate.  |
   30544             : `------------------------------------------------------------*/
   30545    74449602 : yynewstate:
   30546             :   /* In all cases, when you get here, the value and location stacks
   30547             :      have just been pushed.  So pushing a state here evens the stacks.  */
   30548    74449602 :   yyssp++;
   30549             : 
   30550             : 
   30551             : /*--------------------------------------------------------------------.
   30552             : | yysetstate -- set current state (the top of the stack) to yystate.  |
   30553             : `--------------------------------------------------------------------*/
   30554    75242460 : yysetstate:
   30555             :   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
   30556             :   YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
   30557             :   YY_IGNORE_USELESS_CAST_BEGIN
   30558    75242460 :   *yyssp = YY_CAST (yy_state_t, yystate);
   30559             :   YY_IGNORE_USELESS_CAST_END
   30560             :   YY_STACK_PRINT (yyss, yyssp);
   30561             : 
   30562    75242460 :   if (yyss + yystacksize - 1 <= yyssp)
   30563             : #if !defined yyoverflow && !defined YYSTACK_RELOCATE
   30564             :     goto yyexhaustedlab;
   30565             : #else
   30566             :     {
   30567             :       /* Get the current used size of the three stacks, in elements.  */
   30568           0 :       YYPTRDIFF_T yysize = yyssp - yyss + 1;
   30569             : 
   30570             : # if defined yyoverflow
   30571             :       {
   30572             :         /* Give user a chance to reallocate the stack.  Use copies of
   30573             :            these so that the &'s don't force the real ones into
   30574             :            memory.  */
   30575             :         yy_state_t *yyss1 = yyss;
   30576             :         YYSTYPE *yyvs1 = yyvs;
   30577             :         YYLTYPE *yyls1 = yyls;
   30578             : 
   30579             :         /* Each stack pointer address is followed by the size of the
   30580             :            data in use in that stack, in bytes.  This used to be a
   30581             :            conditional around just the two extra args, but that might
   30582             :            be undefined if yyoverflow is a macro.  */
   30583             :         yyoverflow (YY_("memory exhausted"),
   30584             :                     &yyss1, yysize * YYSIZEOF (*yyssp),
   30585             :                     &yyvs1, yysize * YYSIZEOF (*yyvsp),
   30586             :                     &yyls1, yysize * YYSIZEOF (*yylsp),
   30587             :                     &yystacksize);
   30588             :         yyss = yyss1;
   30589             :         yyvs = yyvs1;
   30590             :         yyls = yyls1;
   30591             :       }
   30592             : # else /* defined YYSTACK_RELOCATE */
   30593             :       /* Extend the stack our own way.  */
   30594           0 :       if (YYMAXDEPTH <= yystacksize)
   30595           0 :         goto yyexhaustedlab;
   30596           0 :       yystacksize *= 2;
   30597           0 :       if (YYMAXDEPTH < yystacksize)
   30598           0 :         yystacksize = YYMAXDEPTH;
   30599             : 
   30600             :       {
   30601           0 :         yy_state_t *yyss1 = yyss;
   30602             :         union yyalloc *yyptr =
   30603           0 :           YY_CAST (union yyalloc *,
   30604             :                    YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
   30605           0 :         if (! yyptr)
   30606           0 :           goto yyexhaustedlab;
   30607           0 :         YYSTACK_RELOCATE (yyss_alloc, yyss);
   30608           0 :         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
   30609           0 :         YYSTACK_RELOCATE (yyls_alloc, yyls);
   30610             : #  undef YYSTACK_RELOCATE
   30611           0 :         if (yyss1 != yyssa)
   30612           0 :           YYSTACK_FREE (yyss1);
   30613             :       }
   30614             : # endif
   30615             : 
   30616           0 :       yyssp = yyss + yysize - 1;
   30617           0 :       yyvsp = yyvs + yysize - 1;
   30618           0 :       yylsp = yyls + yysize - 1;
   30619             : 
   30620             :       YY_IGNORE_USELESS_CAST_BEGIN
   30621             :       YYDPRINTF ((stderr, "Stack size increased to %ld\n",
   30622             :                   YY_CAST (long, yystacksize)));
   30623             :       YY_IGNORE_USELESS_CAST_END
   30624             : 
   30625           0 :       if (yyss + yystacksize - 1 <= yyssp)
   30626           0 :         YYABORT;
   30627             :     }
   30628             : #endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
   30629             : 
   30630    75242460 :   if (yystate == YYFINAL)
   30631      791652 :     YYACCEPT;
   30632             : 
   30633    74450808 :   goto yybackup;
   30634             : 
   30635             : 
   30636             : /*-----------.
   30637             : | yybackup.  |
   30638             : `-----------*/
   30639    74450808 : yybackup:
   30640             :   /* Do appropriate processing given the current state.  Read a
   30641             :      lookahead token if we need one and don't already have one.  */
   30642             : 
   30643             :   /* First try to decide what to do without reference to lookahead token.  */
   30644    74450808 :   yyn = yypact[yystate];
   30645    74450808 :   if (yypact_value_is_default (yyn))
   30646    32317400 :     goto yydefault;
   30647             : 
   30648             :   /* Not known => get a lookahead token if don't already have one.  */
   30649             : 
   30650             :   /* YYCHAR is either empty, or end-of-input, or a valid lookahead.  */
   30651    42133408 :   if (yychar == YYEMPTY)
   30652             :     {
   30653             :       YYDPRINTF ((stderr, "Reading a token\n"));
   30654    20166358 :       yychar = yylex (&yylval, &yylloc, yyscanner);
   30655             :     }
   30656             : 
   30657    42133102 :   if (yychar <= YYEOF)
   30658             :     {
   30659     3708084 :       yychar = YYEOF;
   30660     3708084 :       yytoken = YYSYMBOL_YYEOF;
   30661             :       YYDPRINTF ((stderr, "Now at end of input.\n"));
   30662             :     }
   30663    38425018 :   else if (yychar == YYerror)
   30664             :     {
   30665             :       /* The scanner already issued an error message, process directly
   30666             :          to error recovery.  But do not keep the error token as
   30667             :          lookahead, it is too special and may lead us to an endless
   30668             :          loop in error recovery. */
   30669           0 :       yychar = YYUNDEF;
   30670           0 :       yytoken = YYSYMBOL_YYerror;
   30671           0 :       yyerror_range[1] = yylloc;
   30672           0 :       goto yyerrlab1;
   30673             :     }
   30674             :   else
   30675             :     {
   30676    38425018 :       yytoken = YYTRANSLATE (yychar);
   30677             :       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
   30678             :     }
   30679             : 
   30680             :   /* If the proper action on seeing token YYTOKEN is to reduce or to
   30681             :      detect an error, take that action.  */
   30682    42133102 :   yyn += yytoken;
   30683    42133102 :   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
   30684    20745058 :     goto yydefault;
   30685    21388044 :   yyn = yytable[yyn];
   30686    21388044 :   if (yyn <= 0)
   30687             :     {
   30688     1222778 :       if (yytable_value_is_error (yyn))
   30689           0 :         goto yyerrlab;
   30690     1222778 :       yyn = -yyn;
   30691     1222778 :       goto yyreduce;
   30692             :     }
   30693             : 
   30694             :   /* Count tokens shifted since error; after three, turn off error
   30695             :      status.  */
   30696    20165266 :   if (yyerrstatus)
   30697           0 :     yyerrstatus--;
   30698             : 
   30699             :   /* Shift the lookahead token.  */
   30700             :   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
   30701    20165266 :   yystate = yyn;
   30702             :   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
   30703    20165266 :   *++yyvsp = yylval;
   30704             :   YY_IGNORE_MAYBE_UNINITIALIZED_END
   30705    20165266 :   *++yylsp = yylloc;
   30706             : 
   30707             :   /* Discard the shifted token.  */
   30708    20165266 :   yychar = YYEMPTY;
   30709    20165266 :   goto yynewstate;
   30710             : 
   30711             : 
   30712             : /*-----------------------------------------------------------.
   30713             : | yydefault -- do the default action for the current state.  |
   30714             : `-----------------------------------------------------------*/
   30715    53062458 : yydefault:
   30716    53062458 :   yyn = yydefact[yystate];
   30717    53062458 :   if (yyn == 0)
   30718         696 :     goto yyerrlab;
   30719    53061762 :   goto yyreduce;
   30720             : 
   30721             : 
   30722             : /*-----------------------------.
   30723             : | yyreduce -- do a reduction.  |
   30724             : `-----------------------------*/
   30725    54284540 : yyreduce:
   30726             :   /* yyn is the number of a rule to reduce with.  */
   30727    54284540 :   yylen = yyr2[yyn];
   30728             : 
   30729             :   /* If YYLEN is nonzero, implement the default value of the action:
   30730             :      '$$ = $1'.
   30731             : 
   30732             :      Otherwise, the following line sets YYVAL to garbage.
   30733             :      This behavior is undocumented and Bison
   30734             :      users should not rely upon it.  Assigning to YYVAL
   30735             :      unconditionally makes the parser a bit smaller, and it avoids a
   30736             :      GCC warning that YYVAL may be used uninitialized.  */
   30737    54284540 :   yyval = yyvsp[1-yylen];
   30738             : 
   30739             :   /* Default location. */
   30740    55110376 :   YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
   30741    54284540 :   yyerror_range[1] = yyloc;
   30742             :   YY_REDUCE_PRINT (yyn);
   30743    54284540 :   switch (yyn)
   30744             :     {
   30745      741818 :   case 2: /* parse_toplevel: stmtmulti  */
   30746             : #line 917 "gram.y"
   30747             :                         {
   30748             :                 pg_yyget_extra(yyscanner)->parsetree = (yyvsp[0].list);
   30749             :                 (void) yynerrs;     /* suppress compiler warning */
   30750             :             }
   30751             : #line 30752 "gram.c"
   30752      741818 :     break;
   30753             : 
   30754        9648 :   case 3: /* parse_toplevel: MODE_TYPE_NAME Typename  */
   30755             : #line 922 "gram.y"
   30756             :                         {
   30757             :                 pg_yyget_extra(yyscanner)->parsetree = list_make1((yyvsp[0].typnam));
   30758             :             }
   30759             : #line 30760 "gram.c"
   30760        9648 :     break;
   30761             : 
   30762       33236 :   case 4: /* parse_toplevel: MODE_PLPGSQL_EXPR PLpgSQL_Expr  */
   30763             : #line 926 "gram.y"
   30764             :                         {
   30765             :                 pg_yyget_extra(yyscanner)->parsetree =
   30766             :                     list_make1(makeRawStmt((yyvsp[0].node), (yylsp[0])));
   30767             :             }
   30768             : #line 30769 "gram.c"
   30769       33236 :     break;
   30770             : 
   30771        6326 :   case 5: /* parse_toplevel: MODE_PLPGSQL_ASSIGN1 PLAssignStmt  */
   30772             : #line 931 "gram.y"
   30773             :                         {
   30774             :                 PLAssignStmt *n = (PLAssignStmt *) (yyvsp[0].node);
   30775             : 
   30776             :                 n->nnames = 1;
   30777             :                 pg_yyget_extra(yyscanner)->parsetree =
   30778             :                     list_make1(makeRawStmt((Node *) n, (yylsp[0])));
   30779             :             }
   30780             : #line 30781 "gram.c"
   30781        6326 :     break;
   30782             : 
   30783         674 :   case 6: /* parse_toplevel: MODE_PLPGSQL_ASSIGN2 PLAssignStmt  */
   30784             : #line 939 "gram.y"
   30785             :                         {
   30786             :                 PLAssignStmt *n = (PLAssignStmt *) (yyvsp[0].node);
   30787             : 
   30788             :                 n->nnames = 2;
   30789             :                 pg_yyget_extra(yyscanner)->parsetree =
   30790             :                     list_make1(makeRawStmt((Node *) n, (yylsp[0])));
   30791             :             }
   30792             : #line 30793 "gram.c"
   30793         674 :     break;
   30794             : 
   30795          28 :   case 7: /* parse_toplevel: MODE_PLPGSQL_ASSIGN3 PLAssignStmt  */
   30796             : #line 947 "gram.y"
   30797             :                         {
   30798             :                 PLAssignStmt *n = (PLAssignStmt *) (yyvsp[0].node);
   30799             : 
   30800             :                 n->nnames = 3;
   30801             :                 pg_yyget_extra(yyscanner)->parsetree =
   30802             :                     list_make1(makeRawStmt((Node *) n, (yylsp[0])));
   30803             :             }
   30804             : #line 30805 "gram.c"
   30805          28 :     break;
   30806             : 
   30807      592030 :   case 8: /* stmtmulti: stmtmulti ';' toplevel_stmt  */
   30808             : #line 963 "gram.y"
   30809             :                                 {
   30810             :                     if ((yyvsp[-2].list) != NIL)
   30811             :                     {
   30812             :                         /* update length of previous stmt */
   30813             :                         updateRawStmtEnd(llast_node(RawStmt, (yyvsp[-2].list)), (yylsp[-1]));
   30814             :                     }
   30815             :                     if ((yyvsp[0].node) != NULL)
   30816             :                         (yyval.list) = lappend((yyvsp[-2].list), makeRawStmt((yyvsp[0].node), (yylsp[0])));
   30817             :                     else
   30818             :                         (yyval.list) = (yyvsp[-2].list);
   30819             :                 }
   30820             : #line 30821 "gram.c"
   30821      592030 :     break;
   30822             : 
   30823      741826 :   case 9: /* stmtmulti: toplevel_stmt  */
   30824             : #line 975 "gram.y"
   30825             :                                 {
   30826             :                     if ((yyvsp[0].node) != NULL)
   30827             :                         (yyval.list) = list_make1(makeRawStmt((yyvsp[0].node), (yylsp[0])));
   30828             :                     else
   30829             :                         (yyval.list) = NIL;
   30830             :                 }
   30831             : #line 30832 "gram.c"
   30832      741826 :     break;
   30833             : 
   30834      537262 :   case 136: /* stmt: %empty  */
   30835             : #line 1118 "gram.y"
   30836             :                                 { (yyval.node) = NULL; }
   30837             : #line 30838 "gram.c"
   30838      537262 :     break;
   30839             : 
   30840        5608 :   case 137: /* opt_single_name: ColId  */
   30841             : #line 1125 "gram.y"
   30842             :                                                                                 { (yyval.str) = (yyvsp[0].str); }
   30843             : #line 30844 "gram.c"
   30844        5608 :     break;
   30845             : 
   30846        1516 :   case 138: /* opt_single_name: %empty  */
   30847             : #line 1126 "gram.y"
   30848             :                                                                         { (yyval.str) = NULL; }
   30849             : #line 30850 "gram.c"
   30850        1516 :     break;
   30851             : 
   30852        1900 :   case 139: /* opt_qualified_name: any_name  */
   30853             : #line 1130 "gram.y"
   30854             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   30855             : #line 30856 "gram.c"
   30856        1900 :     break;
   30857             : 
   30858       15650 :   case 140: /* opt_qualified_name: %empty  */
   30859             : #line 1131 "gram.y"
   30860             :                                                                                 { (yyval.list) = NIL; }
   30861             : #line 30862 "gram.c"
   30862       15650 :     break;
   30863             : 
   30864        1056 :   case 141: /* opt_concurrently: CONCURRENTLY  */
   30865             : #line 1135 "gram.y"
   30866             :                                                                         { (yyval.boolean) = true; }
   30867             : #line 30868 "gram.c"
   30868        1056 :     break;
   30869             : 
   30870        7814 :   case 142: /* opt_concurrently: %empty  */
   30871             : #line 1136 "gram.y"
   30872             :                                                                                 { (yyval.boolean) = false; }
   30873             : #line 30874 "gram.c"
   30874        7814 :     break;
   30875             : 
   30876        1958 :   case 143: /* opt_drop_behavior: CASCADE  */
   30877             : #line 1140 "gram.y"
   30878             :                                                                                 { (yyval.dbehavior) = DROP_CASCADE; }
   30879             : #line 30880 "gram.c"
   30880        1958 :     break;
   30881             : 
   30882         170 :   case 144: /* opt_drop_behavior: RESTRICT  */
   30883             : #line 1141 "gram.y"
   30884             :                                                                                 { (yyval.dbehavior) = DROP_RESTRICT; }
   30885             : #line 30886 "gram.c"
   30886         170 :     break;
   30887             : 
   30888       39702 :   case 145: /* opt_drop_behavior: %empty  */
   30889             : #line 1142 "gram.y"
   30890             :                                                                         { (yyval.dbehavior) = DROP_RESTRICT; /* default */ }
   30891             : #line 30892 "gram.c"
   30892       39702 :     break;
   30893             : 
   30894         620 :   case 146: /* CallStmt: CALL func_application  */
   30895             : #line 1152 "gram.y"
   30896             :                                 {
   30897             :                     CallStmt   *n = makeNode(CallStmt);
   30898             : 
   30899             :                     n->funccall = castNode(FuncCall, (yyvsp[0].node));
   30900             :                     (yyval.node) = (Node *) n;
   30901             :                 }
   30902             : #line 30903 "gram.c"
   30903         620 :     break;
   30904             : 
   30905        1366 :   case 147: /* CreateRoleStmt: CREATE ROLE RoleId opt_with OptRoleList  */
   30906             : #line 1168 "gram.y"
   30907             :                                 {
   30908             :                     CreateRoleStmt *n = makeNode(CreateRoleStmt);
   30909             : 
   30910             :                     n->stmt_type = ROLESTMT_ROLE;
   30911             :                     n->role = (yyvsp[-2].str);
   30912             :                     n->options = (yyvsp[0].list);
   30913             :                     (yyval.node) = (Node *) n;
   30914             :                 }
   30915             : #line 30916 "gram.c"
   30916        1366 :     break;
   30917             : 
   30918        1196 :   case 151: /* OptRoleList: OptRoleList CreateOptRoleElem  */
   30919             : #line 1190 "gram.y"
   30920             :                                                                         { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   30921             : #line 30922 "gram.c"
   30922        1196 :     break;
   30923             : 
   30924        1846 :   case 152: /* OptRoleList: %empty  */
   30925             : #line 1191 "gram.y"
   30926             :                                                                                         { (yyval.list) = NIL; }
   30927             : #line 30928 "gram.c"
   30928        1846 :     break;
   30929             : 
   30930         658 :   case 153: /* AlterOptRoleList: AlterOptRoleList AlterOptRoleElem  */
   30931             : #line 1195 "gram.y"
   30932             :                                                                         { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   30933             : #line 30934 "gram.c"
   30934         658 :     break;
   30935             : 
   30936         418 :   case 154: /* AlterOptRoleList: %empty  */
   30937             : #line 1196 "gram.y"
   30938             :                                                                                         { (yyval.list) = NIL; }
   30939             : #line 30940 "gram.c"
   30940         418 :     break;
   30941             : 
   30942         188 :   case 155: /* AlterOptRoleElem: PASSWORD Sconst  */
   30943             : #line 1201 "gram.y"
   30944             :                                 {
   30945             :                     (yyval.defelt) = makeDefElem("password",
   30946             :                                      (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
   30947             :                 }
   30948             : #line 30949 "gram.c"
   30949         188 :     break;
   30950             : 
   30951          12 :   case 156: /* AlterOptRoleElem: PASSWORD NULL_P  */
   30952             : #line 1206 "gram.y"
   30953             :                                 {
   30954             :                     (yyval.defelt) = makeDefElem("password", NULL, (yylsp[-1]));
   30955             :                 }
   30956             : #line 30957 "gram.c"
   30957          12 :     break;
   30958             : 
   30959          18 :   case 157: /* AlterOptRoleElem: ENCRYPTED PASSWORD Sconst  */
   30960             : #line 1210 "gram.y"
   30961             :                                 {
   30962             :                     /*
   30963             :                      * These days, passwords are always stored in encrypted
   30964             :                      * form, so there is no difference between PASSWORD and
   30965             :                      * ENCRYPTED PASSWORD.
   30966             :                      */
   30967             :                     (yyval.defelt) = makeDefElem("password",
   30968             :                                      (Node *) makeString((yyvsp[0].str)), (yylsp[-2]));
   30969             :                 }
   30970             : #line 30971 "gram.c"
   30971          18 :     break;
   30972             : 
   30973           0 :   case 158: /* AlterOptRoleElem: UNENCRYPTED PASSWORD Sconst  */
   30974             : #line 1220 "gram.y"
   30975             :                                 {
   30976             :                     ereport(ERROR,
   30977             :                             (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   30978             :                              errmsg("UNENCRYPTED PASSWORD is no longer supported"),
   30979             :                              errhint("Remove UNENCRYPTED to store the password in encrypted form instead."),
   30980             :                              parser_errposition((yylsp[-2]))));
   30981             :                 }
   30982             : #line 30983 "gram.c"
   30983             :     break;
   30984             : 
   30985          96 :   case 159: /* AlterOptRoleElem: INHERIT  */
   30986             : #line 1228 "gram.y"
   30987             :                                 {
   30988             :                     (yyval.defelt) = makeDefElem("inherit", (Node *) makeBoolean(true), (yylsp[0]));
   30989             :                 }
   30990             : #line 30991 "gram.c"
   30991          96 :     break;
   30992             : 
   30993          26 :   case 160: /* AlterOptRoleElem: CONNECTION LIMIT SignedIconst  */
   30994             : #line 1232 "gram.y"
   30995             :                                 {
   30996             :                     (yyval.defelt) = makeDefElem("connectionlimit", (Node *) makeInteger((yyvsp[0].ival)), (yylsp[-2]));
   30997             :                 }
   30998             : #line 30999 "gram.c"
   30999          26 :     break;
   31000             : 
   31001           2 :   case 161: /* AlterOptRoleElem: VALID UNTIL Sconst  */
   31002             : #line 1236 "gram.y"
   31003             :                                 {
   31004             :                     (yyval.defelt) = makeDefElem("validUntil", (Node *) makeString((yyvsp[0].str)), (yylsp[-2]));
   31005             :                 }
   31006             : #line 31007 "gram.c"
   31007           2 :     break;
   31008             : 
   31009           6 :   case 162: /* AlterOptRoleElem: USER role_list  */
   31010             : #line 1241 "gram.y"
   31011             :                                 {
   31012             :                     (yyval.defelt) = makeDefElem("rolemembers", (Node *) (yyvsp[0].list), (yylsp[-1]));
   31013             :                 }
   31014             : #line 31015 "gram.c"
   31015           6 :     break;
   31016             : 
   31017        1356 :   case 163: /* AlterOptRoleElem: IDENT  */
   31018             : #line 1245 "gram.y"
   31019             :                                 {
   31020             :                     /*
   31021             :                      * We handle identifiers that aren't parser keywords with
   31022             :                      * the following special-case codes, to avoid bloating the
   31023             :                      * size of the main parser.
   31024             :                      */
   31025             :                     if (strcmp((yyvsp[0].str), "superuser") == 0)
   31026             :                         (yyval.defelt) = makeDefElem("superuser", (Node *) makeBoolean(true), (yylsp[0]));
   31027             :                     else if (strcmp((yyvsp[0].str), "nosuperuser") == 0)
   31028             :                         (yyval.defelt) = makeDefElem("superuser", (Node *) makeBoolean(false), (yylsp[0]));
   31029             :                     else if (strcmp((yyvsp[0].str), "createrole") == 0)
   31030             :                         (yyval.defelt) = makeDefElem("createrole", (Node *) makeBoolean(true), (yylsp[0]));
   31031             :                     else if (strcmp((yyvsp[0].str), "nocreaterole") == 0)
   31032             :                         (yyval.defelt) = makeDefElem("createrole", (Node *) makeBoolean(false), (yylsp[0]));
   31033             :                     else if (strcmp((yyvsp[0].str), "replication") == 0)
   31034             :                         (yyval.defelt) = makeDefElem("isreplication", (Node *) makeBoolean(true), (yylsp[0]));
   31035             :                     else if (strcmp((yyvsp[0].str), "noreplication") == 0)
   31036             :                         (yyval.defelt) = makeDefElem("isreplication", (Node *) makeBoolean(false), (yylsp[0]));
   31037             :                     else if (strcmp((yyvsp[0].str), "createdb") == 0)
   31038             :                         (yyval.defelt) = makeDefElem("createdb", (Node *) makeBoolean(true), (yylsp[0]));
   31039             :                     else if (strcmp((yyvsp[0].str), "nocreatedb") == 0)
   31040             :                         (yyval.defelt) = makeDefElem("createdb", (Node *) makeBoolean(false), (yylsp[0]));
   31041             :                     else if (strcmp((yyvsp[0].str), "login") == 0)
   31042             :                         (yyval.defelt) = makeDefElem("canlogin", (Node *) makeBoolean(true), (yylsp[0]));
   31043             :                     else if (strcmp((yyvsp[0].str), "nologin") == 0)
   31044             :                         (yyval.defelt) = makeDefElem("canlogin", (Node *) makeBoolean(false), (yylsp[0]));
   31045             :                     else if (strcmp((yyvsp[0].str), "bypassrls") == 0)
   31046             :                         (yyval.defelt) = makeDefElem("bypassrls", (Node *) makeBoolean(true), (yylsp[0]));
   31047             :                     else if (strcmp((yyvsp[0].str), "nobypassrls") == 0)
   31048             :                         (yyval.defelt) = makeDefElem("bypassrls", (Node *) makeBoolean(false), (yylsp[0]));
   31049             :                     else if (strcmp((yyvsp[0].str), "noinherit") == 0)
   31050             :                     {
   31051             :                         /*
   31052             :                          * Note that INHERIT is a keyword, so it's handled by main parser, but
   31053             :                          * NOINHERIT is handled here.
   31054             :                          */
   31055             :                         (yyval.defelt) = makeDefElem("inherit", (Node *) makeBoolean(false), (yylsp[0]));
   31056             :                     }
   31057             :                     else
   31058             :                         ereport(ERROR,
   31059             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   31060             :                                  errmsg("unrecognized role option \"%s\"", (yyvsp[0].str)),
   31061             :                                      parser_errposition((yylsp[0]))));
   31062             :                 }
   31063             : #line 31064 "gram.c"
   31064        1356 :     break;
   31065             : 
   31066        1046 :   case 164: /* CreateOptRoleElem: AlterOptRoleElem  */
   31067             : #line 1292 "gram.y"
   31068             :                                                                 { (yyval.defelt) = (yyvsp[0].defelt); }
   31069             : #line 31070 "gram.c"
   31070        1046 :     break;
   31071             : 
   31072           6 :   case 165: /* CreateOptRoleElem: SYSID Iconst  */
   31073             : #line 1295 "gram.y"
   31074             :                                 {
   31075             :                     (yyval.defelt) = makeDefElem("sysid", (Node *) makeInteger((yyvsp[0].ival)), (yylsp[-1]));
   31076             :                 }
   31077             : #line 31078 "gram.c"
   31078           6 :     break;
   31079             : 
   31080          22 :   case 166: /* CreateOptRoleElem: ADMIN role_list  */
   31081             : #line 1299 "gram.y"
   31082             :                                 {
   31083             :                     (yyval.defelt) = makeDefElem("adminmembers", (Node *) (yyvsp[0].list), (yylsp[-1]));
   31084             :                 }
   31085             : #line 31086 "gram.c"
   31086          22 :     break;
   31087             : 
   31088          22 :   case 167: /* CreateOptRoleElem: ROLE role_list  */
   31089             : #line 1303 "gram.y"
   31090             :                                 {
   31091             :                     (yyval.defelt) = makeDefElem("rolemembers", (Node *) (yyvsp[0].list), (yylsp[-1]));
   31092             :                 }
   31093             : #line 31094 "gram.c"
   31094          22 :     break;
   31095             : 
   31096         100 :   case 168: /* CreateOptRoleElem: IN_P ROLE role_list  */
   31097             : #line 1307 "gram.y"
   31098             :                                 {
   31099             :                     (yyval.defelt) = makeDefElem("addroleto", (Node *) (yyvsp[0].list), (yylsp[-2]));
   31100             :                 }
   31101             : #line 31102 "gram.c"
   31102         100 :     break;
   31103             : 
   31104           0 :   case 169: /* CreateOptRoleElem: IN_P GROUP_P role_list  */
   31105             : #line 1311 "gram.y"
   31106             :                                 {
   31107             :                     (yyval.defelt) = makeDefElem("addroleto", (Node *) (yyvsp[0].list), (yylsp[-2]));
   31108             :                 }
   31109             : #line 31110 "gram.c"
   31110           0 :     break;
   31111             : 
   31112         456 :   case 170: /* CreateUserStmt: CREATE USER RoleId opt_with OptRoleList  */
   31113             : #line 1325 "gram.y"
   31114             :                                 {
   31115             :                     CreateRoleStmt *n = makeNode(CreateRoleStmt);
   31116             : 
   31117             :                     n->stmt_type = ROLESTMT_USER;
   31118             :                     n->role = (yyvsp[-2].str);
   31119             :                     n->options = (yyvsp[0].list);
   31120             :                     (yyval.node) = (Node *) n;
   31121             :                 }
   31122             : #line 31123 "gram.c"
   31123         456 :     break;
   31124             : 
   31125         326 :   case 171: /* AlterRoleStmt: ALTER ROLE RoleSpec opt_with AlterOptRoleList  */
   31126             : #line 1344 "gram.y"
   31127             :                                  {
   31128             :                     AlterRoleStmt *n = makeNode(AlterRoleStmt);
   31129             : 
   31130             :                     n->role = (yyvsp[-2].rolespec);
   31131             :                     n->action = +1;  /* add, if there are members */
   31132             :                     n->options = (yyvsp[0].list);
   31133             :                     (yyval.node) = (Node *) n;
   31134             :                  }
   31135             : #line 31136 "gram.c"
   31136         326 :     break;
   31137             : 
   31138          92 :   case 172: /* AlterRoleStmt: ALTER USER RoleSpec opt_with AlterOptRoleList  */
   31139             : #line 1353 "gram.y"
   31140             :                                  {
   31141             :                     AlterRoleStmt *n = makeNode(AlterRoleStmt);
   31142             : 
   31143             :                     n->role = (yyvsp[-2].rolespec);
   31144             :                     n->action = +1;  /* add, if there are members */
   31145             :                     n->options = (yyvsp[0].list);
   31146             :                     (yyval.node) = (Node *) n;
   31147             :                  }
   31148             : #line 31149 "gram.c"
   31149          92 :     break;
   31150             : 
   31151          86 :   case 173: /* opt_in_database: %empty  */
   31152             : #line 1364 "gram.y"
   31153             :                                                                         { (yyval.str) = NULL; }
   31154             : #line 31155 "gram.c"
   31155          86 :     break;
   31156             : 
   31157           0 :   case 174: /* opt_in_database: IN_P DATABASE name  */
   31158             : #line 1365 "gram.y"
   31159             :                                                 { (yyval.str) = (yyvsp[0].str); }
   31160             : #line 31161 "gram.c"
   31161           0 :     break;
   31162             : 
   31163          48 :   case 175: /* AlterRoleSetStmt: ALTER ROLE RoleSpec opt_in_database SetResetClause  */
   31164             : #line 1370 "gram.y"
   31165             :                                 {
   31166             :                     AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
   31167             : 
   31168             :                     n->role = (yyvsp[-2].rolespec);
   31169             :                     n->database = (yyvsp[-1].str);
   31170             :                     n->setstmt = (yyvsp[0].vsetstmt);
   31171             :                     (yyval.node) = (Node *) n;
   31172             :                 }
   31173             : #line 31174 "gram.c"
   31174          48 :     break;
   31175             : 
   31176           4 :   case 176: /* AlterRoleSetStmt: ALTER ROLE ALL opt_in_database SetResetClause  */
   31177             : #line 1379 "gram.y"
   31178             :                                 {
   31179             :                     AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
   31180             : 
   31181             :                     n->role = NULL;
   31182             :                     n->database = (yyvsp[-1].str);
   31183             :                     n->setstmt = (yyvsp[0].vsetstmt);
   31184             :                     (yyval.node) = (Node *) n;
   31185             :                 }
   31186             : #line 31187 "gram.c"
   31187           4 :     break;
   31188             : 
   31189          26 :   case 177: /* AlterRoleSetStmt: ALTER USER RoleSpec opt_in_database SetResetClause  */
   31190             : #line 1388 "gram.y"
   31191             :                                 {
   31192             :                     AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
   31193             : 
   31194             :                     n->role = (yyvsp[-2].rolespec);
   31195             :                     n->database = (yyvsp[-1].str);
   31196             :                     n->setstmt = (yyvsp[0].vsetstmt);
   31197             :                     (yyval.node) = (Node *) n;
   31198             :                 }
   31199             : #line 31200 "gram.c"
   31200          26 :     break;
   31201             : 
   31202           4 :   case 178: /* AlterRoleSetStmt: ALTER USER ALL opt_in_database SetResetClause  */
   31203             : #line 1397 "gram.y"
   31204             :                                 {
   31205             :                     AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
   31206             : 
   31207             :                     n->role = NULL;
   31208             :                     n->database = (yyvsp[-1].str);
   31209             :                     n->setstmt = (yyvsp[0].vsetstmt);
   31210             :                     (yyval.node) = (Node *) n;
   31211             :                 }
   31212             : #line 31213 "gram.c"
   31213           4 :     break;
   31214             : 
   31215        1100 :   case 179: /* DropRoleStmt: DROP ROLE role_list  */
   31216             : #line 1419 "gram.y"
   31217             :                                 {
   31218             :                     DropRoleStmt *n = makeNode(DropRoleStmt);
   31219             : 
   31220             :                     n->missing_ok = false;
   31221             :                     n->roles = (yyvsp[0].list);
   31222             :                     (yyval.node) = (Node *) n;
   31223             :                 }
   31224             : #line 31225 "gram.c"
   31225        1100 :     break;
   31226             : 
   31227         134 :   case 180: /* DropRoleStmt: DROP ROLE IF_P EXISTS role_list  */
   31228             : #line 1427 "gram.y"
   31229             :                                 {
   31230             :                     DropRoleStmt *n = makeNode(DropRoleStmt);
   31231             : 
   31232             :                     n->missing_ok = true;
   31233             :                     n->roles = (yyvsp[0].list);
   31234             :                     (yyval.node) = (Node *) n;
   31235             :                 }
   31236             : #line 31237 "gram.c"
   31237         134 :     break;
   31238             : 
   31239         406 :   case 181: /* DropRoleStmt: DROP USER role_list  */
   31240             : #line 1435 "gram.y"
   31241             :                                 {
   31242             :                     DropRoleStmt *n = makeNode(DropRoleStmt);
   31243             : 
   31244             :                     n->missing_ok = false;
   31245             :                     n->roles = (yyvsp[0].list);
   31246             :                     (yyval.node) = (Node *) n;
   31247             :                 }
   31248             : #line 31249 "gram.c"
   31249         406 :     break;
   31250             : 
   31251          36 :   case 182: /* DropRoleStmt: DROP USER IF_P EXISTS role_list  */
   31252             : #line 1443 "gram.y"
   31253             :                                 {
   31254             :                     DropRoleStmt *n = makeNode(DropRoleStmt);
   31255             : 
   31256             :                     n->roles = (yyvsp[0].list);
   31257             :                     n->missing_ok = true;
   31258             :                     (yyval.node) = (Node *) n;
   31259             :                 }
   31260             : #line 31261 "gram.c"
   31261          36 :     break;
   31262             : 
   31263          36 :   case 183: /* DropRoleStmt: DROP GROUP_P role_list  */
   31264             : #line 1451 "gram.y"
   31265             :                                 {
   31266             :                     DropRoleStmt *n = makeNode(DropRoleStmt);
   31267             : 
   31268             :                     n->missing_ok = false;
   31269             :                     n->roles = (yyvsp[0].list);
   31270             :                     (yyval.node) = (Node *) n;
   31271             :                 }
   31272             : #line 31273 "gram.c"
   31273          36 :     break;
   31274             : 
   31275           6 :   case 184: /* DropRoleStmt: DROP GROUP_P IF_P EXISTS role_list  */
   31276             : #line 1459 "gram.y"
   31277             :                                 {
   31278             :                     DropRoleStmt *n = makeNode(DropRoleStmt);
   31279             : 
   31280             :                     n->missing_ok = true;
   31281             :                     n->roles = (yyvsp[0].list);
   31282             :                     (yyval.node) = (Node *) n;
   31283             :                 }
   31284             : #line 31285 "gram.c"
   31285           6 :     break;
   31286             : 
   31287          24 :   case 185: /* CreateGroupStmt: CREATE GROUP_P RoleId opt_with OptRoleList  */
   31288             : #line 1477 "gram.y"
   31289             :                                 {
   31290             :                     CreateRoleStmt *n = makeNode(CreateRoleStmt);
   31291             : 
   31292             :                     n->stmt_type = ROLESTMT_GROUP;
   31293             :                     n->role = (yyvsp[-2].str);
   31294             :                     n->options = (yyvsp[0].list);
   31295             :                     (yyval.node) = (Node *) n;
   31296             :                 }
   31297             : #line 31298 "gram.c"
   31298          24 :     break;
   31299             : 
   31300          42 :   case 186: /* AlterGroupStmt: ALTER GROUP_P RoleSpec add_drop USER role_list  */
   31301             : #line 1496 "gram.y"
   31302             :                                 {
   31303             :                     AlterRoleStmt *n = makeNode(AlterRoleStmt);
   31304             : 
   31305             :                     n->role = (yyvsp[-3].rolespec);
   31306             :                     n->action = (yyvsp[-2].ival);
   31307             :                     n->options = list_make1(makeDefElem("rolemembers",
   31308             :                                                         (Node *) (yyvsp[0].list), (yylsp[0])));
   31309             :                     (yyval.node) = (Node *) n;
   31310             :                 }
   31311             : #line 31312 "gram.c"
   31312          42 :     break;
   31313             : 
   31314          86 :   case 187: /* add_drop: ADD_P  */
   31315             : #line 1507 "gram.y"
   31316             :                                                                                         { (yyval.ival) = +1; }
   31317             : #line 31318 "gram.c"
   31318          86 :     break;
   31319             : 
   31320         198 :   case 188: /* add_drop: DROP  */
   31321             : #line 1508 "gram.y"
   31322             :                                                                                                 { (yyval.ival) = -1; }
   31323             : #line 31324 "gram.c"
   31324         198 :     break;
   31325             : 
   31326         158 :   case 189: /* CreateSchemaStmt: CREATE SCHEMA opt_single_name AUTHORIZATION RoleSpec OptSchemaEltList  */
   31327             : #line 1520 "gram.y"
   31328             :                                 {
   31329             :                     CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
   31330             : 
   31331             :                     /* One can omit the schema name or the authorization id. */
   31332             :                     n->schemaname = (yyvsp[-3].str);
   31333             :                     n->authrole = (yyvsp[-1].rolespec);
   31334             :                     n->schemaElts = (yyvsp[0].list);
   31335             :                     n->if_not_exists = false;
   31336             :                     (yyval.node) = (Node *) n;
   31337             :                 }
   31338             : #line 31339 "gram.c"
   31339         158 :     break;
   31340             : 
   31341         864 :   case 190: /* CreateSchemaStmt: CREATE SCHEMA ColId OptSchemaEltList  */
   31342             : #line 1531 "gram.y"
   31343             :                                 {
   31344             :                     CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
   31345             : 
   31346             :                     /* ...but not both */
   31347             :                     n->schemaname = (yyvsp[-1].str);
   31348             :                     n->authrole = NULL;
   31349             :                     n->schemaElts = (yyvsp[0].list);
   31350             :                     n->if_not_exists = false;
   31351             :                     (yyval.node) = (Node *) n;
   31352             :                 }
   31353             : #line 31354 "gram.c"
   31354         864 :     break;
   31355             : 
   31356          18 :   case 191: /* CreateSchemaStmt: CREATE SCHEMA IF_P NOT EXISTS opt_single_name AUTHORIZATION RoleSpec OptSchemaEltList  */
   31357             : #line 1542 "gram.y"
   31358             :                                 {
   31359             :                     CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
   31360             : 
   31361             :                     /* schema name can be omitted here, too */
   31362             :                     n->schemaname = (yyvsp[-3].str);
   31363             :                     n->authrole = (yyvsp[-1].rolespec);
   31364             :                     if ((yyvsp[0].list) != NIL)
   31365             :                         ereport(ERROR,
   31366             :                                 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   31367             :                                  errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
   31368             :                                  parser_errposition((yylsp[0]))));
   31369             :                     n->schemaElts = (yyvsp[0].list);
   31370             :                     n->if_not_exists = true;
   31371             :                     (yyval.node) = (Node *) n;
   31372             :                 }
   31373             : #line 31374 "gram.c"
   31374          18 :     break;
   31375             : 
   31376          34 :   case 192: /* CreateSchemaStmt: CREATE SCHEMA IF_P NOT EXISTS ColId OptSchemaEltList  */
   31377             : #line 1558 "gram.y"
   31378             :                                 {
   31379             :                     CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
   31380             : 
   31381             :                     /* ...but not here */
   31382             :                     n->schemaname = (yyvsp[-1].str);
   31383             :                     n->authrole = NULL;
   31384             :                     if ((yyvsp[0].list) != NIL)
   31385             :                         ereport(ERROR,
   31386             :                                 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   31387             :                                  errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
   31388             :                                  parser_errposition((yylsp[0]))));
   31389             :                     n->schemaElts = (yyvsp[0].list);
   31390             :                     n->if_not_exists = true;
   31391             :                     (yyval.node) = (Node *) n;
   31392             :                 }
   31393             : #line 31394 "gram.c"
   31394          28 :     break;
   31395             : 
   31396         546 :   case 193: /* OptSchemaEltList: OptSchemaEltList schema_stmt  */
   31397             : #line 1577 "gram.y"
   31398             :                                 {
   31399             :                     (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node));
   31400             :                 }
   31401             : #line 31402 "gram.c"
   31402         546 :     break;
   31403             : 
   31404        1074 :   case 194: /* OptSchemaEltList: %empty  */
   31405             : #line 1581 "gram.y"
   31406             :                                 { (yyval.list) = NIL; }
   31407             : #line 31408 "gram.c"
   31408        1074 :     break;
   31409             : 
   31410       22270 :   case 201: /* VariableSetStmt: SET set_rest  */
   31411             : #line 1609 "gram.y"
   31412             :                                 {
   31413             :                     VariableSetStmt *n = (yyvsp[0].vsetstmt);
   31414             : 
   31415             :                     n->is_local = false;
   31416             :                     (yyval.node) = (Node *) n;
   31417             :                 }
   31418             : #line 31419 "gram.c"
   31419       22270 :     break;
   31420             : 
   31421        1230 :   case 202: /* VariableSetStmt: SET LOCAL set_rest  */
   31422             : #line 1616 "gram.y"
   31423             :                                 {
   31424             :                     VariableSetStmt *n = (yyvsp[0].vsetstmt);
   31425             : 
   31426             :                     n->is_local = true;
   31427             :                     (yyval.node) = (Node *) n;
   31428             :                 }
   31429             : #line 31430 "gram.c"
   31430        1230 :     break;
   31431             : 
   31432          84 :   case 203: /* VariableSetStmt: SET SESSION set_rest  */
   31433             : #line 1623 "gram.y"
   31434             :                                 {
   31435             :                     VariableSetStmt *n = (yyvsp[0].vsetstmt);
   31436             : 
   31437             :                     n->is_local = false;
   31438             :                     (yyval.node) = (Node *) n;
   31439             :                 }
   31440             : #line 31441 "gram.c"
   31441          84 :     break;
   31442             : 
   31443         684 :   case 204: /* set_rest: TRANSACTION transaction_mode_list  */
   31444             : #line 1633 "gram.y"
   31445             :                                 {
   31446             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31447             : 
   31448             :                     n->kind = VAR_SET_MULTI;
   31449             :                     n->name = "TRANSACTION";
   31450             :                     n->args = (yyvsp[0].list);
   31451             :                     n->jumble_args = true;
   31452             :                     n->location = -1;
   31453             :                     (yyval.vsetstmt) = n;
   31454             :                 }
   31455             : #line 31456 "gram.c"
   31456         684 :     break;
   31457             : 
   31458          18 :   case 205: /* set_rest: SESSION CHARACTERISTICS AS TRANSACTION transaction_mode_list  */
   31459             : #line 1644 "gram.y"
   31460             :                                 {
   31461             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31462             : 
   31463             :                     n->kind = VAR_SET_MULTI;
   31464             :                     n->name = "SESSION CHARACTERISTICS";
   31465             :                     n->args = (yyvsp[0].list);
   31466             :                     n->jumble_args = true;
   31467             :                     n->location = -1;
   31468             :                     (yyval.vsetstmt) = n;
   31469             :                 }
   31470             : #line 31471 "gram.c"
   31471          18 :     break;
   31472             : 
   31473        5204 :   case 207: /* generic_set: var_name TO var_list  */
   31474             : #line 1659 "gram.y"
   31475             :                                 {
   31476             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31477             : 
   31478             :                     n->kind = VAR_SET_VALUE;
   31479             :                     n->name = (yyvsp[-2].str);
   31480             :                     n->args = (yyvsp[0].list);
   31481             :                     n->location = (yylsp[0]);
   31482             :                     (yyval.vsetstmt) = n;
   31483             :                 }
   31484             : #line 31485 "gram.c"
   31485        5204 :     break;
   31486             : 
   31487       15340 :   case 208: /* generic_set: var_name '=' var_list  */
   31488             : #line 1669 "gram.y"
   31489             :                                 {
   31490             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31491             : 
   31492             :                     n->kind = VAR_SET_VALUE;
   31493             :                     n->name = (yyvsp[-2].str);
   31494             :                     n->args = (yyvsp[0].list);
   31495             :                     n->location = (yylsp[0]);
   31496             :                     (yyval.vsetstmt) = n;
   31497             :                 }
   31498             : #line 31499 "gram.c"
   31499       15340 :     break;
   31500             : 
   31501         136 :   case 209: /* generic_set: var_name TO DEFAULT  */
   31502             : #line 1679 "gram.y"
   31503             :                                 {
   31504             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31505             : 
   31506             :                     n->kind = VAR_SET_DEFAULT;
   31507             :                     n->name = (yyvsp[-2].str);
   31508             :                     n->location = -1;
   31509             :                     (yyval.vsetstmt) = n;
   31510             :                 }
   31511             : #line 31512 "gram.c"
   31512         136 :     break;
   31513             : 
   31514          10 :   case 210: /* generic_set: var_name '=' DEFAULT  */
   31515             : #line 1688 "gram.y"
   31516             :                                 {
   31517             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31518             : 
   31519             :                     n->kind = VAR_SET_DEFAULT;
   31520             :                     n->name = (yyvsp[-2].str);
   31521             :                     n->location = -1;
   31522             :                     (yyval.vsetstmt) = n;
   31523             :                 }
   31524             : #line 31525 "gram.c"
   31525          10 :     break;
   31526             : 
   31527       20562 :   case 211: /* set_rest_more: generic_set  */
   31528             : #line 1699 "gram.y"
   31529             :                                                                                         {(yyval.vsetstmt) = (yyvsp[0].vsetstmt);}
   31530             : #line 31531 "gram.c"
   31531       20562 :     break;
   31532             : 
   31533           4 :   case 212: /* set_rest_more: var_name FROM CURRENT_P  */
   31534             : #line 1701 "gram.y"
   31535             :                                 {
   31536             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31537             : 
   31538             :                     n->kind = VAR_SET_CURRENT;
   31539             :                     n->name = (yyvsp[-2].str);
   31540             :                     n->location = -1;
   31541             :                     (yyval.vsetstmt) = n;
   31542             :                 }
   31543             : #line 31544 "gram.c"
   31544           4 :     break;
   31545             : 
   31546         104 :   case 213: /* set_rest_more: TIME ZONE zone_value  */
   31547             : #line 1711 "gram.y"
   31548             :                                 {
   31549             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31550             : 
   31551             :                     n->kind = VAR_SET_VALUE;
   31552             :                     n->name = "timezone";
   31553             :                     n->location = -1;
   31554             :                     n->jumble_args = true;
   31555             :                     if ((yyvsp[0].node) != NULL)
   31556             :                         n->args = list_make1((yyvsp[0].node));
   31557             :                     else
   31558             :                         n->kind = VAR_SET_DEFAULT;
   31559             :                     (yyval.vsetstmt) = n;
   31560             :                 }
   31561             : #line 31562 "gram.c"
   31562         104 :     break;
   31563             : 
   31564           0 :   case 214: /* set_rest_more: CATALOG_P Sconst  */
   31565             : #line 1725 "gram.y"
   31566             :                                 {
   31567             :                     ereport(ERROR,
   31568             :                             (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   31569             :                              errmsg("current database cannot be changed"),
   31570             :                              parser_errposition((yylsp[0]))));
   31571             :                     (yyval.vsetstmt) = NULL; /*not reached*/
   31572             :                 }
   31573             : #line 31574 "gram.c"
   31574             :     break;
   31575             : 
   31576           4 :   case 215: /* set_rest_more: SCHEMA Sconst  */
   31577             : #line 1733 "gram.y"
   31578             :                                 {
   31579             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31580             : 
   31581             :                     n->kind = VAR_SET_VALUE;
   31582             :                     n->name = "search_path";
   31583             :                     n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
   31584             :                     n->location = (yylsp[0]);
   31585             :                     (yyval.vsetstmt) = n;
   31586             :                 }
   31587             : #line 31588 "gram.c"
   31588           4 :     break;
   31589             : 
   31590           0 :   case 216: /* set_rest_more: NAMES opt_encoding  */
   31591             : #line 1743 "gram.y"
   31592             :                                 {
   31593             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31594             : 
   31595             :                     n->kind = VAR_SET_VALUE;
   31596             :                     n->name = "client_encoding";
   31597             :                     n->location = (yylsp[0]);
   31598             :                     if ((yyvsp[0].str) != NULL)
   31599             :                         n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
   31600             :                     else
   31601             :                         n->kind = VAR_SET_DEFAULT;
   31602             :                     (yyval.vsetstmt) = n;
   31603             :                 }
   31604             : #line 31605 "gram.c"
   31605           0 :     break;
   31606             : 
   31607         962 :   case 217: /* set_rest_more: ROLE NonReservedWord_or_Sconst  */
   31608             : #line 1756 "gram.y"
   31609             :                                 {
   31610             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31611             : 
   31612             :                     n->kind = VAR_SET_VALUE;
   31613             :                     n->name = "role";
   31614             :                     n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
   31615             :                     n->location = (yylsp[0]);
   31616             :                     (yyval.vsetstmt) = n;
   31617             :                 }
   31618             : #line 31619 "gram.c"
   31619         962 :     break;
   31620             : 
   31621        2550 :   case 218: /* set_rest_more: SESSION AUTHORIZATION NonReservedWord_or_Sconst  */
   31622             : #line 1766 "gram.y"
   31623             :                                 {
   31624             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31625             : 
   31626             :                     n->kind = VAR_SET_VALUE;
   31627             :                     n->name = "session_authorization";
   31628             :                     n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
   31629             :                     n->location = (yylsp[0]);
   31630             :                     (yyval.vsetstmt) = n;
   31631             :                 }
   31632             : #line 31633 "gram.c"
   31633        2550 :     break;
   31634             : 
   31635           4 :   case 219: /* set_rest_more: SESSION AUTHORIZATION DEFAULT  */
   31636             : #line 1776 "gram.y"
   31637             :                                 {
   31638             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31639             : 
   31640             :                     n->kind = VAR_SET_DEFAULT;
   31641             :                     n->name = "session_authorization";
   31642             :                     n->location = -1;
   31643             :                     (yyval.vsetstmt) = n;
   31644             :                 }
   31645             : #line 31646 "gram.c"
   31646           4 :     break;
   31647             : 
   31648          16 :   case 220: /* set_rest_more: XML_P OPTION document_or_content  */
   31649             : #line 1785 "gram.y"
   31650             :                                 {
   31651             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31652             : 
   31653             :                     n->kind = VAR_SET_VALUE;
   31654             :                     n->name = "xmloption";
   31655             :                     n->args = list_make1(makeStringConst((yyvsp[0].ival) == XMLOPTION_DOCUMENT ? "DOCUMENT" : "CONTENT", (yylsp[0])));
   31656             :                     n->jumble_args = true;
   31657             :                     n->location = -1;
   31658             :                     (yyval.vsetstmt) = n;
   31659             :                 }
   31660             : #line 31661 "gram.c"
   31661          16 :     break;
   31662             : 
   31663          48 :   case 221: /* set_rest_more: TRANSACTION SNAPSHOT Sconst  */
   31664             : #line 1797 "gram.y"
   31665             :                                 {
   31666             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31667             : 
   31668             :                     n->kind = VAR_SET_MULTI;
   31669             :                     n->name = "TRANSACTION SNAPSHOT";
   31670             :                     n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
   31671             :                     n->location = (yylsp[0]);
   31672             :                     (yyval.vsetstmt) = n;
   31673             :                 }
   31674             : #line 31675 "gram.c"
   31675          48 :     break;
   31676             : 
   31677       25314 :   case 222: /* var_name: ColId  */
   31678             : #line 1808 "gram.y"
   31679             :                                                                                 { (yyval.str) = (yyvsp[0].str); }
   31680             : #line 31681 "gram.c"
   31681       25314 :     break;
   31682             : 
   31683         466 :   case 223: /* var_name: var_name '.' ColId  */
   31684             : #line 1810 "gram.y"
   31685             :                                 { (yyval.str) = psprintf("%s.%s", (yyvsp[-2].str), (yyvsp[0].str)); }
   31686             : #line 31687 "gram.c"
   31687         466 :     break;
   31688             : 
   31689       20544 :   case 224: /* var_list: var_value  */
   31690             : #line 1813 "gram.y"
   31691             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   31692             : #line 31693 "gram.c"
   31693       20544 :     break;
   31694             : 
   31695         176 :   case 225: /* var_list: var_list ',' var_value  */
   31696             : #line 1814 "gram.y"
   31697             :                                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   31698             : #line 31699 "gram.c"
   31699         176 :     break;
   31700             : 
   31701       15016 :   case 226: /* var_value: opt_boolean_or_string  */
   31702             : #line 1818 "gram.y"
   31703             :                                 { (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); }
   31704             : #line 31705 "gram.c"
   31705       15016 :     break;
   31706             : 
   31707        5704 :   case 227: /* var_value: NumericOnly  */
   31708             : #line 1820 "gram.y"
   31709             :                                 { (yyval.node) = makeAConst((yyvsp[0].node), (yylsp[0])); }
   31710             : #line 31711 "gram.c"
   31711        5704 :     break;
   31712             : 
   31713           0 :   case 228: /* iso_level: READ UNCOMMITTED  */
   31714             : #line 1823 "gram.y"
   31715             :                                                                                 { (yyval.str) = "read uncommitted"; }
   31716             : #line 31717 "gram.c"
   31717           0 :     break;
   31718             : 
   31719         908 :   case 229: /* iso_level: READ COMMITTED  */
   31720             : #line 1824 "gram.y"
   31721             :                                                                                         { (yyval.str) = "read committed"; }
   31722             : #line 31723 "gram.c"
   31723         908 :     break;
   31724             : 
   31725        2672 :   case 230: /* iso_level: REPEATABLE READ  */
   31726             : #line 1825 "gram.y"
   31727             :                                                                                         { (yyval.str) = "repeatable read"; }
   31728             : #line 31729 "gram.c"
   31729        2672 :     break;
   31730             : 
   31731        3196 :   case 231: /* iso_level: SERIALIZABLE  */
   31732             : #line 1826 "gram.y"
   31733             :                                                                                         { (yyval.str) = "serializable"; }
   31734             : #line 31735 "gram.c"
   31735        3196 :     break;
   31736             : 
   31737         674 :   case 232: /* opt_boolean_or_string: TRUE_P  */
   31738             : #line 1830 "gram.y"
   31739             :                                                                                                 { (yyval.str) = "true"; }
   31740             : #line 31741 "gram.c"
   31741         674 :     break;
   31742             : 
   31743        1452 :   case 233: /* opt_boolean_or_string: FALSE_P  */
   31744             : #line 1831 "gram.y"
   31745             :                                                                                                 { (yyval.str) = "false"; }
   31746             : #line 31747 "gram.c"
   31747        1452 :     break;
   31748             : 
   31749        2206 :   case 234: /* opt_boolean_or_string: ON  */
   31750             : #line 1832 "gram.y"
   31751             :                                                                                                 { (yyval.str) = "on"; }
   31752             : #line 31753 "gram.c"
   31753        2206 :     break;
   31754             : 
   31755       30134 :   case 235: /* opt_boolean_or_string: NonReservedWord_or_Sconst  */
   31756             : #line 1838 "gram.y"
   31757             :                                                                                 { (yyval.str) = (yyvsp[0].str); }
   31758             : #line 31759 "gram.c"
   31759       30134 :     break;
   31760             : 
   31761          60 :   case 236: /* zone_value: Sconst  */
   31762             : #line 1851 "gram.y"
   31763             :                                 {
   31764             :                     (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
   31765             :                 }
   31766             : #line 31767 "gram.c"
   31767          60 :     break;
   31768             : 
   31769           4 :   case 237: /* zone_value: IDENT  */
   31770             : #line 1855 "gram.y"
   31771             :                                 {
   31772             :                     (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
   31773             :                 }
   31774             : #line 31775 "gram.c"
   31775           4 :     break;
   31776             : 
   31777           0 :   case 238: /* zone_value: ConstInterval Sconst opt_interval  */
   31778             : #line 1859 "gram.y"
   31779             :                                 {
   31780             :                     TypeName   *t = (yyvsp[-2].typnam);
   31781             : 
   31782             :                     if ((yyvsp[0].list) != NIL)
   31783             :                     {
   31784             :                         A_Const    *n = (A_Const *) linitial((yyvsp[0].list));
   31785             : 
   31786             :                         if ((n->val.ival.ival & ~(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE))) != 0)
   31787             :                             ereport(ERROR,
   31788             :                                     (errcode(ERRCODE_SYNTAX_ERROR),
   31789             :                                      errmsg("time zone interval must be HOUR or HOUR TO MINUTE"),
   31790             :                                      parser_errposition((yylsp[0]))));
   31791             :                     }
   31792             :                     t->typmods = (yyvsp[0].list);
   31793             :                     (yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
   31794             :                 }
   31795             : #line 31796 "gram.c"
   31796           0 :     break;
   31797             : 
   31798           0 :   case 239: /* zone_value: ConstInterval '(' Iconst ')' Sconst  */
   31799             : #line 1876 "gram.y"
   31800             :                                 {
   31801             :                     TypeName   *t = (yyvsp[-4].typnam);
   31802             : 
   31803             :                     t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
   31804             :                                             makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
   31805             :                     (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
   31806             :                 }
   31807             : #line 31808 "gram.c"
   31808           0 :     break;
   31809             : 
   31810          24 :   case 240: /* zone_value: NumericOnly  */
   31811             : #line 1883 "gram.y"
   31812             :                                                                                         { (yyval.node) = makeAConst((yyvsp[0].node), (yylsp[0])); }
   31813             : #line 31814 "gram.c"
   31814          24 :     break;
   31815             : 
   31816          14 :   case 241: /* zone_value: DEFAULT  */
   31817             : #line 1884 "gram.y"
   31818             :                                                                                                 { (yyval.node) = NULL; }
   31819             : #line 31820 "gram.c"
   31820          14 :     break;
   31821             : 
   31822           2 :   case 242: /* zone_value: LOCAL  */
   31823             : #line 1885 "gram.y"
   31824             :                                                                                                 { (yyval.node) = NULL; }
   31825             : #line 31826 "gram.c"
   31826           2 :     break;
   31827             : 
   31828           0 :   case 243: /* opt_encoding: Sconst  */
   31829             : #line 1889 "gram.y"
   31830             :                                                                                                 { (yyval.str) = (yyvsp[0].str); }
   31831             : #line 31832 "gram.c"
   31832           0 :     break;
   31833             : 
   31834           0 :   case 244: /* opt_encoding: DEFAULT  */
   31835             : #line 1890 "gram.y"
   31836             :                                                                                                 { (yyval.str) = NULL; }
   31837             : #line 31838 "gram.c"
   31838           0 :     break;
   31839             : 
   31840           0 :   case 245: /* opt_encoding: %empty  */
   31841             : #line 1891 "gram.y"
   31842             :                                                                                                 { (yyval.str) = NULL; }
   31843             : #line 31844 "gram.c"
   31844           0 :     break;
   31845             : 
   31846       52864 :   case 246: /* NonReservedWord_or_Sconst: NonReservedWord  */
   31847             : #line 1895 "gram.y"
   31848             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   31849             : #line 31850 "gram.c"
   31850       52864 :     break;
   31851             : 
   31852        5484 :   case 247: /* NonReservedWord_or_Sconst: Sconst  */
   31853             : #line 1896 "gram.y"
   31854             :                                                                                                 { (yyval.str) = (yyvsp[0].str); }
   31855             : #line 31856 "gram.c"
   31856        5484 :     break;
   31857             : 
   31858        4502 :   case 248: /* VariableResetStmt: RESET reset_rest  */
   31859             : #line 1900 "gram.y"
   31860             :                                                                                         { (yyval.node) = (Node *) (yyvsp[0].vsetstmt); }
   31861             : #line 31862 "gram.c"
   31862        4502 :     break;
   31863             : 
   31864        3722 :   case 249: /* reset_rest: generic_reset  */
   31865             : #line 1904 "gram.y"
   31866             :                                                                                         { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
   31867             : #line 31868 "gram.c"
   31868        3722 :     break;
   31869             : 
   31870          14 :   case 250: /* reset_rest: TIME ZONE  */
   31871             : #line 1906 "gram.y"
   31872             :                                 {
   31873             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31874             : 
   31875             :                     n->kind = VAR_RESET;
   31876             :                     n->name = "timezone";
   31877             :                     n->location = -1;
   31878             :                     (yyval.vsetstmt) = n;
   31879             :                 }
   31880             : #line 31881 "gram.c"
   31881          14 :     break;
   31882             : 
   31883           0 :   case 251: /* reset_rest: TRANSACTION ISOLATION LEVEL  */
   31884             : #line 1915 "gram.y"
   31885             :                                 {
   31886             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31887             : 
   31888             :                     n->kind = VAR_RESET;
   31889             :                     n->name = "transaction_isolation";
   31890             :                     n->location = -1;
   31891             :                     (yyval.vsetstmt) = n;
   31892             :                 }
   31893             : #line 31894 "gram.c"
   31894           0 :     break;
   31895             : 
   31896         766 :   case 252: /* reset_rest: SESSION AUTHORIZATION  */
   31897             : #line 1924 "gram.y"
   31898             :                                 {
   31899             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31900             : 
   31901             :                     n->kind = VAR_RESET;
   31902             :                     n->name = "session_authorization";
   31903             :                     n->location = -1;
   31904             :                     (yyval.vsetstmt) = n;
   31905             :                 }
   31906             : #line 31907 "gram.c"
   31907         766 :     break;
   31908             : 
   31909        3758 :   case 253: /* generic_reset: var_name  */
   31910             : #line 1936 "gram.y"
   31911             :                                 {
   31912             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31913             : 
   31914             :                     n->kind = VAR_RESET;
   31915             :                     n->name = (yyvsp[0].str);
   31916             :                     n->location = -1;
   31917             :                     (yyval.vsetstmt) = n;
   31918             :                 }
   31919             : #line 31920 "gram.c"
   31920        3758 :     break;
   31921             : 
   31922          18 :   case 254: /* generic_reset: ALL  */
   31923             : #line 1945 "gram.y"
   31924             :                                 {
   31925             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31926             : 
   31927             :                     n->kind = VAR_RESET_ALL;
   31928             :                     n->location = -1;
   31929             :                     (yyval.vsetstmt) = n;
   31930             :                 }
   31931             : #line 31932 "gram.c"
   31932          18 :     break;
   31933             : 
   31934        1224 :   case 255: /* SetResetClause: SET set_rest  */
   31935             : #line 1956 "gram.y"
   31936             :                                                                         { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
   31937             : #line 31938 "gram.c"
   31938        1224 :     break;
   31939             : 
   31940          44 :   case 256: /* SetResetClause: VariableResetStmt  */
   31941             : #line 1957 "gram.y"
   31942             :                                                                         { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
   31943             : #line 31944 "gram.c"
   31944          44 :     break;
   31945             : 
   31946         148 :   case 257: /* FunctionSetResetClause: SET set_rest_more  */
   31947             : #line 1962 "gram.y"
   31948             :                                                                         { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
   31949             : #line 31950 "gram.c"
   31950         148 :     break;
   31951             : 
   31952          12 :   case 258: /* FunctionSetResetClause: VariableResetStmt  */
   31953             : #line 1963 "gram.y"
   31954             :                                                                         { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
   31955             : #line 31956 "gram.c"
   31956          12 :     break;
   31957             : 
   31958         862 :   case 259: /* VariableShowStmt: SHOW var_name  */
   31959             : #line 1969 "gram.y"
   31960             :                                 {
   31961             :                     VariableShowStmt *n = makeNode(VariableShowStmt);
   31962             : 
   31963             :                     n->name = (yyvsp[0].str);
   31964             :                     (yyval.node) = (Node *) n;
   31965             :                 }
   31966             : #line 31967 "gram.c"
   31967         862 :     break;
   31968             : 
   31969          10 :   case 260: /* VariableShowStmt: SHOW TIME ZONE  */
   31970             : #line 1976 "gram.y"
   31971             :                                 {
   31972             :                     VariableShowStmt *n = makeNode(VariableShowStmt);
   31973             : 
   31974             :                     n->name = "timezone";
   31975             :                     (yyval.node) = (Node *) n;
   31976             :                 }
   31977             : #line 31978 "gram.c"
   31978          10 :     break;
   31979             : 
   31980           4 :   case 261: /* VariableShowStmt: SHOW TRANSACTION ISOLATION LEVEL  */
   31981             : #line 1983 "gram.y"
   31982             :                                 {
   31983             :                     VariableShowStmt *n = makeNode(VariableShowStmt);
   31984             : 
   31985             :                     n->name = "transaction_isolation";
   31986             :                     (yyval.node) = (Node *) n;
   31987             :                 }
   31988             : #line 31989 "gram.c"
   31989           4 :     break;
   31990             : 
   31991           0 :   case 262: /* VariableShowStmt: SHOW SESSION AUTHORIZATION  */
   31992             : #line 1990 "gram.y"
   31993             :                                 {
   31994             :                     VariableShowStmt *n = makeNode(VariableShowStmt);
   31995             : 
   31996             :                     n->name = "session_authorization";
   31997             :                     (yyval.node) = (Node *) n;
   31998             :                 }
   31999             : #line 32000 "gram.c"
   32000           0 :     break;
   32001             : 
   32002           0 :   case 263: /* VariableShowStmt: SHOW ALL  */
   32003             : #line 1997 "gram.y"
   32004             :                                 {
   32005             :                     VariableShowStmt *n = makeNode(VariableShowStmt);
   32006             : 
   32007             :                     n->name = "all";
   32008             :                     (yyval.node) = (Node *) n;
   32009             :                 }
   32010             : #line 32011 "gram.c"
   32011           0 :     break;
   32012             : 
   32013         104 :   case 264: /* ConstraintsSetStmt: SET CONSTRAINTS constraints_set_list constraints_set_mode  */
   32014             : #line 2008 "gram.y"
   32015             :                                 {
   32016             :                     ConstraintsSetStmt *n = makeNode(ConstraintsSetStmt);
   32017             : 
   32018             :                     n->constraints = (yyvsp[-1].list);
   32019             :                     n->deferred = (yyvsp[0].boolean);
   32020             :                     (yyval.node) = (Node *) n;
   32021             :                 }
   32022             : #line 32023 "gram.c"
   32023         104 :     break;
   32024             : 
   32025          56 :   case 265: /* constraints_set_list: ALL  */
   32026             : #line 2018 "gram.y"
   32027             :                                                                                                         { (yyval.list) = NIL; }
   32028             : #line 32029 "gram.c"
   32029          56 :     break;
   32030             : 
   32031          48 :   case 266: /* constraints_set_list: qualified_name_list  */
   32032             : #line 2019 "gram.y"
   32033             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   32034             : #line 32035 "gram.c"
   32035          48 :     break;
   32036             : 
   32037          68 :   case 267: /* constraints_set_mode: DEFERRED  */
   32038             : #line 2023 "gram.y"
   32039             :                                                                                                 { (yyval.boolean) = true; }
   32040             : #line 32041 "gram.c"
   32041          68 :     break;
   32042             : 
   32043          36 :   case 268: /* constraints_set_mode: IMMEDIATE  */
   32044             : #line 2024 "gram.y"
   32045             :                                                                                                 { (yyval.boolean) = false; }
   32046             : #line 32047 "gram.c"
   32047          36 :     break;
   32048             : 
   32049         224 :   case 269: /* CheckPointStmt: CHECKPOINT  */
   32050             : #line 2033 "gram.y"
   32051             :                                 {
   32052             :                     CheckPointStmt *n = makeNode(CheckPointStmt);
   32053             : 
   32054             :                     (yyval.node) = (Node *) n;
   32055             :                 }
   32056             : #line 32057 "gram.c"
   32057         224 :     break;
   32058             : 
   32059           6 :   case 270: /* DiscardStmt: DISCARD ALL  */
   32060             : #line 2049 "gram.y"
   32061             :                                 {
   32062             :                     DiscardStmt *n = makeNode(DiscardStmt);
   32063             : 
   32064             :                     n->target = DISCARD_ALL;
   32065             :                     (yyval.node) = (Node *) n;
   32066             :                 }
   32067             : #line 32068 "gram.c"
   32068           6 :     break;
   32069             : 
   32070           8 :   case 271: /* DiscardStmt: DISCARD TEMP  */
   32071             : #line 2056 "gram.y"
   32072             :                                 {
   32073             :                     DiscardStmt *n = makeNode(DiscardStmt);
   32074             : 
   32075             :                     n->target = DISCARD_TEMP;
   32076             :                     (yyval.node) = (Node *) n;
   32077             :                 }
   32078             : #line 32079 "gram.c"
   32079           8 :     break;
   32080             : 
   32081           0 :   case 272: /* DiscardStmt: DISCARD TEMPORARY  */
   32082             : #line 2063 "gram.y"
   32083             :                                 {
   32084             :                     DiscardStmt *n = makeNode(DiscardStmt);
   32085             : 
   32086             :                     n->target = DISCARD_TEMP;
   32087             :                     (yyval.node) = (Node *) n;
   32088             :                 }
   32089             : #line 32090 "gram.c"
   32090           0 :     break;
   32091             : 
   32092           4 :   case 273: /* DiscardStmt: DISCARD PLANS  */
   32093             : #line 2070 "gram.y"
   32094             :                                 {
   32095             :                     DiscardStmt *n = makeNode(DiscardStmt);
   32096             : 
   32097             :                     n->target = DISCARD_PLANS;
   32098             :                     (yyval.node) = (Node *) n;
   32099             :                 }
   32100             : #line 32101 "gram.c"
   32101           4 :     break;
   32102             : 
   32103          12 :   case 274: /* DiscardStmt: DISCARD SEQUENCES  */
   32104             : #line 2077 "gram.y"
   32105             :                                 {
   32106             :                     DiscardStmt *n = makeNode(DiscardStmt);
   32107             : 
   32108             :                     n->target = DISCARD_SEQUENCES;
   32109             :                     (yyval.node) = (Node *) n;
   32110             :                 }
   32111             : #line 32112 "gram.c"
   32112          12 :     break;
   32113             : 
   32114       27652 :   case 275: /* AlterTableStmt: ALTER TABLE relation_expr alter_table_cmds  */
   32115             : #line 2097 "gram.y"
   32116             :                                 {
   32117             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32118             : 
   32119             :                     n->relation = (yyvsp[-1].range);
   32120             :                     n->cmds = (yyvsp[0].list);
   32121             :                     n->objtype = OBJECT_TABLE;
   32122             :                     n->missing_ok = false;
   32123             :                     (yyval.node) = (Node *) n;
   32124             :                 }
   32125             : #line 32126 "gram.c"
   32126       27652 :     break;
   32127             : 
   32128          54 :   case 276: /* AlterTableStmt: ALTER TABLE IF_P EXISTS relation_expr alter_table_cmds  */
   32129             : #line 2107 "gram.y"
   32130             :                                 {
   32131             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32132             : 
   32133             :                     n->relation = (yyvsp[-1].range);
   32134             :                     n->cmds = (yyvsp[0].list);
   32135             :                     n->objtype = OBJECT_TABLE;
   32136             :                     n->missing_ok = true;
   32137             :                     (yyval.node) = (Node *) n;
   32138             :                 }
   32139             : #line 32140 "gram.c"
   32140          54 :     break;
   32141             : 
   32142        3422 :   case 277: /* AlterTableStmt: ALTER TABLE relation_expr partition_cmd  */
   32143             : #line 2117 "gram.y"
   32144             :                                 {
   32145             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32146             : 
   32147             :                     n->relation = (yyvsp[-1].range);
   32148             :                     n->cmds = list_make1((yyvsp[0].node));
   32149             :                     n->objtype = OBJECT_TABLE;
   32150             :                     n->missing_ok = false;
   32151             :                     (yyval.node) = (Node *) n;
   32152             :                 }
   32153             : #line 32154 "gram.c"
   32154        3422 :     break;
   32155             : 
   32156           0 :   case 278: /* AlterTableStmt: ALTER TABLE IF_P EXISTS relation_expr partition_cmd  */
   32157             : #line 2127 "gram.y"
   32158             :                                 {
   32159             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32160             : 
   32161             :                     n->relation = (yyvsp[-1].range);
   32162             :                     n->cmds = list_make1((yyvsp[0].node));
   32163             :                     n->objtype = OBJECT_TABLE;
   32164             :                     n->missing_ok = true;
   32165             :                     (yyval.node) = (Node *) n;
   32166             :                 }
   32167             : #line 32168 "gram.c"
   32168           0 :     break;
   32169             : 
   32170          12 :   case 279: /* AlterTableStmt: ALTER TABLE ALL IN_P TABLESPACE name SET TABLESPACE name opt_nowait  */
   32171             : #line 2137 "gram.y"
   32172             :                                 {
   32173             :                     AlterTableMoveAllStmt *n =
   32174             :                         makeNode(AlterTableMoveAllStmt);
   32175             : 
   32176             :                     n->orig_tablespacename = (yyvsp[-4].str);
   32177             :                     n->objtype = OBJECT_TABLE;
   32178             :                     n->roles = NIL;
   32179             :                     n->new_tablespacename = (yyvsp[-1].str);
   32180             :                     n->nowait = (yyvsp[0].boolean);
   32181             :                     (yyval.node) = (Node *) n;
   32182             :                 }
   32183             : #line 32184 "gram.c"
   32184          12 :     break;
   32185             : 
   32186           0 :   case 280: /* AlterTableStmt: ALTER TABLE ALL IN_P TABLESPACE name OWNED BY role_list SET TABLESPACE name opt_nowait  */
   32187             : #line 2149 "gram.y"
   32188             :                                 {
   32189             :                     AlterTableMoveAllStmt *n =
   32190             :                         makeNode(AlterTableMoveAllStmt);
   32191             : 
   32192             :                     n->orig_tablespacename = (yyvsp[-7].str);
   32193             :                     n->objtype = OBJECT_TABLE;
   32194             :                     n->roles = (yyvsp[-4].list);
   32195             :                     n->new_tablespacename = (yyvsp[-1].str);
   32196             :                     n->nowait = (yyvsp[0].boolean);
   32197             :                     (yyval.node) = (Node *) n;
   32198             :                 }
   32199             : #line 32200 "gram.c"
   32200           0 :     break;
   32201             : 
   32202         228 :   case 281: /* AlterTableStmt: ALTER INDEX qualified_name alter_table_cmds  */
   32203             : #line 2161 "gram.y"
   32204             :                                 {
   32205             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32206             : 
   32207             :                     n->relation = (yyvsp[-1].range);
   32208             :                     n->cmds = (yyvsp[0].list);
   32209             :                     n->objtype = OBJECT_INDEX;
   32210             :                     n->missing_ok = false;
   32211             :                     (yyval.node) = (Node *) n;
   32212             :                 }
   32213             : #line 32214 "gram.c"
   32214         228 :     break;
   32215             : 
   32216           0 :   case 282: /* AlterTableStmt: ALTER INDEX IF_P EXISTS qualified_name alter_table_cmds  */
   32217             : #line 2171 "gram.y"
   32218             :                                 {
   32219             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32220             : 
   32221             :                     n->relation = (yyvsp[-1].range);
   32222             :                     n->cmds = (yyvsp[0].list);
   32223             :                     n->objtype = OBJECT_INDEX;
   32224             :                     n->missing_ok = true;
   32225             :                     (yyval.node) = (Node *) n;
   32226             :                 }
   32227             : #line 32228 "gram.c"
   32228           0 :     break;
   32229             : 
   32230         494 :   case 283: /* AlterTableStmt: ALTER INDEX qualified_name index_partition_cmd  */
   32231             : #line 2181 "gram.y"
   32232             :                                 {
   32233             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32234             : 
   32235             :                     n->relation = (yyvsp[-1].range);
   32236             :                     n->cmds = list_make1((yyvsp[0].node));
   32237             :                     n->objtype = OBJECT_INDEX;
   32238             :                     n->missing_ok = false;
   32239             :                     (yyval.node) = (Node *) n;
   32240             :                 }
   32241             : #line 32242 "gram.c"
   32242         494 :     break;
   32243             : 
   32244           6 :   case 284: /* AlterTableStmt: ALTER INDEX ALL IN_P TABLESPACE name SET TABLESPACE name opt_nowait  */
   32245             : #line 2191 "gram.y"
   32246             :                                 {
   32247             :                     AlterTableMoveAllStmt *n =
   32248             :                         makeNode(AlterTableMoveAllStmt);
   32249             : 
   32250             :                     n->orig_tablespacename = (yyvsp[-4].str);
   32251             :                     n->objtype = OBJECT_INDEX;
   32252             :                     n->roles = NIL;
   32253             :                     n->new_tablespacename = (yyvsp[-1].str);
   32254             :                     n->nowait = (yyvsp[0].boolean);
   32255             :                     (yyval.node) = (Node *) n;
   32256             :                 }
   32257             : #line 32258 "gram.c"
   32258           6 :     break;
   32259             : 
   32260           0 :   case 285: /* AlterTableStmt: ALTER INDEX ALL IN_P TABLESPACE name OWNED BY role_list SET TABLESPACE name opt_nowait  */
   32261             : #line 2203 "gram.y"
   32262             :                                 {
   32263             :                     AlterTableMoveAllStmt *n =
   32264             :                         makeNode(AlterTableMoveAllStmt);
   32265             : 
   32266             :                     n->orig_tablespacename = (yyvsp[-7].str);
   32267             :                     n->objtype = OBJECT_INDEX;
   32268             :                     n->roles = (yyvsp[-4].list);
   32269             :                     n->new_tablespacename = (yyvsp[-1].str);
   32270             :                     n->nowait = (yyvsp[0].boolean);
   32271             :                     (yyval.node) = (Node *) n;
   32272             :                 }
   32273             : #line 32274 "gram.c"
   32274           0 :     break;
   32275             : 
   32276         156 :   case 286: /* AlterTableStmt: ALTER SEQUENCE qualified_name alter_table_cmds  */
   32277             : #line 2215 "gram.y"
   32278             :                                 {
   32279             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32280             : 
   32281             :                     n->relation = (yyvsp[-1].range);
   32282             :                     n->cmds = (yyvsp[0].list);
   32283             :                     n->objtype = OBJECT_SEQUENCE;
   32284             :                     n->missing_ok = false;
   32285             :                     (yyval.node) = (Node *) n;
   32286             :                 }
   32287             : #line 32288 "gram.c"
   32288         156 :     break;
   32289             : 
   32290           0 :   case 287: /* AlterTableStmt: ALTER SEQUENCE IF_P EXISTS qualified_name alter_table_cmds  */
   32291             : #line 2225 "gram.y"
   32292             :                                 {
   32293             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32294             : 
   32295             :                     n->relation = (yyvsp[-1].range);
   32296             :                     n->cmds = (yyvsp[0].list);
   32297             :                     n->objtype = OBJECT_SEQUENCE;
   32298             :                     n->missing_ok = true;
   32299             :                     (yyval.node) = (Node *) n;
   32300             :                 }
   32301             : #line 32302 "gram.c"
   32302           0 :     break;
   32303             : 
   32304         352 :   case 288: /* AlterTableStmt: ALTER VIEW qualified_name alter_table_cmds  */
   32305             : #line 2235 "gram.y"
   32306             :                                 {
   32307             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32308             : 
   32309             :                     n->relation = (yyvsp[-1].range);
   32310             :                     n->cmds = (yyvsp[0].list);
   32311             :                     n->objtype = OBJECT_VIEW;
   32312             :                     n->missing_ok = false;
   32313             :                     (yyval.node) = (Node *) n;
   32314             :                 }
   32315             : #line 32316 "gram.c"
   32316         352 :     break;
   32317             : 
   32318           0 :   case 289: /* AlterTableStmt: ALTER VIEW IF_P EXISTS qualified_name alter_table_cmds  */
   32319             : #line 2245 "gram.y"
   32320             :                                 {
   32321             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32322             : 
   32323             :                     n->relation = (yyvsp[-1].range);
   32324             :                     n->cmds = (yyvsp[0].list);
   32325             :                     n->objtype = OBJECT_VIEW;
   32326             :                     n->missing_ok = true;
   32327             :                     (yyval.node) = (Node *) n;
   32328             :                 }
   32329             : #line 32330 "gram.c"
   32330           0 :     break;
   32331             : 
   32332          64 :   case 290: /* AlterTableStmt: ALTER MATERIALIZED VIEW qualified_name alter_table_cmds  */
   32333             : #line 2255 "gram.y"
   32334             :                                 {
   32335             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32336             : 
   32337             :                     n->relation = (yyvsp[-1].range);
   32338             :                     n->cmds = (yyvsp[0].list);
   32339             :                     n->objtype = OBJECT_MATVIEW;
   32340             :                     n->missing_ok = false;
   32341             :                     (yyval.node) = (Node *) n;
   32342             :                 }
   32343             : #line 32344 "gram.c"
   32344          64 :     break;
   32345             : 
   32346           0 :   case 291: /* AlterTableStmt: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name alter_table_cmds  */
   32347             : #line 2265 "gram.y"
   32348             :                                 {
   32349             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32350             : 
   32351             :                     n->relation = (yyvsp[-1].range);
   32352             :                     n->cmds = (yyvsp[0].list);
   32353             :                     n->objtype = OBJECT_MATVIEW;
   32354             :                     n->missing_ok = true;
   32355             :                     (yyval.node) = (Node *) n;
   32356             :                 }
   32357             : #line 32358 "gram.c"
   32358           0 :     break;
   32359             : 
   32360          12 :   case 292: /* AlterTableStmt: ALTER MATERIALIZED VIEW ALL IN_P TABLESPACE name SET TABLESPACE name opt_nowait  */
   32361             : #line 2275 "gram.y"
   32362             :                                 {
   32363             :                     AlterTableMoveAllStmt *n =
   32364             :                         makeNode(AlterTableMoveAllStmt);
   32365             : 
   32366             :                     n->orig_tablespacename = (yyvsp[-4].str);
   32367             :                     n->objtype = OBJECT_MATVIEW;
   32368             :                     n->roles = NIL;
   32369             :                     n->new_tablespacename = (yyvsp[-1].str);
   32370             :                     n->nowait = (yyvsp[0].boolean);
   32371             :                     (yyval.node) = (Node *) n;
   32372             :                 }
   32373             : #line 32374 "gram.c"
   32374          12 :     break;
   32375             : 
   32376           0 :   case 293: /* AlterTableStmt: ALTER MATERIALIZED VIEW ALL IN_P TABLESPACE name OWNED BY role_list SET TABLESPACE name opt_nowait  */
   32377             : #line 2287 "gram.y"
   32378             :                                 {
   32379             :                     AlterTableMoveAllStmt *n =
   32380             :                         makeNode(AlterTableMoveAllStmt);
   32381             : 
   32382             :                     n->orig_tablespacename = (yyvsp[-7].str);
   32383             :                     n->objtype = OBJECT_MATVIEW;
   32384             :                     n->roles = (yyvsp[-4].list);
   32385             :                     n->new_tablespacename = (yyvsp[-1].str);
   32386             :                     n->nowait = (yyvsp[0].boolean);
   32387             :                     (yyval.node) = (Node *) n;
   32388             :                 }
   32389             : #line 32390 "gram.c"
   32390           0 :     break;
   32391             : 
   32392         374 :   case 294: /* AlterTableStmt: ALTER FOREIGN TABLE relation_expr alter_table_cmds  */
   32393             : #line 2299 "gram.y"
   32394             :                                 {
   32395             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32396             : 
   32397             :                     n->relation = (yyvsp[-1].range);
   32398             :                     n->cmds = (yyvsp[0].list);
   32399             :                     n->objtype = OBJECT_FOREIGN_TABLE;
   32400             :                     n->missing_ok = false;
   32401             :                     (yyval.node) = (Node *) n;
   32402             :                 }
   32403             : #line 32404 "gram.c"
   32404         374 :     break;
   32405             : 
   32406         108 :   case 295: /* AlterTableStmt: ALTER FOREIGN TABLE IF_P EXISTS relation_expr alter_table_cmds  */
   32407             : #line 2309 "gram.y"
   32408             :                                 {
   32409             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32410             : 
   32411             :                     n->relation = (yyvsp[-1].range);
   32412             :                     n->cmds = (yyvsp[0].list);
   32413             :                     n->objtype = OBJECT_FOREIGN_TABLE;
   32414             :                     n->missing_ok = true;
   32415             :                     (yyval.node) = (Node *) n;
   32416             :                 }
   32417             : #line 32418 "gram.c"
   32418         108 :     break;
   32419             : 
   32420       28988 :   case 296: /* alter_table_cmds: alter_table_cmd  */
   32421             : #line 2321 "gram.y"
   32422             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   32423             : #line 32424 "gram.c"
   32424       28988 :     break;
   32425             : 
   32426        1020 :   case 297: /* alter_table_cmds: alter_table_cmds ',' alter_table_cmd  */
   32427             : #line 2322 "gram.y"
   32428             :                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   32429             : #line 32430 "gram.c"
   32430        1020 :     break;
   32431             : 
   32432        2820 :   case 298: /* partition_cmd: ATTACH PARTITION qualified_name PartitionBoundSpec  */
   32433             : #line 2328 "gram.y"
   32434             :                                 {
   32435             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32436             :                     PartitionCmd *cmd = makeNode(PartitionCmd);
   32437             : 
   32438             :                     n->subtype = AT_AttachPartition;
   32439             :                     cmd->name = (yyvsp[-1].range);
   32440             :                     cmd->bound = (yyvsp[0].partboundspec);
   32441             :                     cmd->concurrent = false;
   32442             :                     n->def = (Node *) cmd;
   32443             : 
   32444             :                     (yyval.node) = (Node *) n;
   32445             :                 }
   32446             : #line 32447 "gram.c"
   32447        2820 :     break;
   32448             : 
   32449         582 :   case 299: /* partition_cmd: DETACH PARTITION qualified_name opt_concurrently  */
   32450             : #line 2342 "gram.y"
   32451             :                                 {
   32452             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32453             :                     PartitionCmd *cmd = makeNode(PartitionCmd);
   32454             : 
   32455             :                     n->subtype = AT_DetachPartition;
   32456             :                     cmd->name = (yyvsp[-1].range);
   32457             :                     cmd->bound = NULL;
   32458             :                     cmd->concurrent = (yyvsp[0].boolean);
   32459             :                     n->def = (Node *) cmd;
   32460             : 
   32461             :                     (yyval.node) = (Node *) n;
   32462             :                 }
   32463             : #line 32464 "gram.c"
   32464         582 :     break;
   32465             : 
   32466          20 :   case 300: /* partition_cmd: DETACH PARTITION qualified_name FINALIZE  */
   32467             : #line 2355 "gram.y"
   32468             :                                 {
   32469             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32470             :                     PartitionCmd *cmd = makeNode(PartitionCmd);
   32471             : 
   32472             :                     n->subtype = AT_DetachPartitionFinalize;
   32473             :                     cmd->name = (yyvsp[-1].range);
   32474             :                     cmd->bound = NULL;
   32475             :                     cmd->concurrent = false;
   32476             :                     n->def = (Node *) cmd;
   32477             :                     (yyval.node) = (Node *) n;
   32478             :                 }
   32479             : #line 32480 "gram.c"
   32480          20 :     break;
   32481             : 
   32482         494 :   case 301: /* index_partition_cmd: ATTACH PARTITION qualified_name  */
   32483             : #line 2371 "gram.y"
   32484             :                                 {
   32485             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32486             :                     PartitionCmd *cmd = makeNode(PartitionCmd);
   32487             : 
   32488             :                     n->subtype = AT_AttachPartition;
   32489             :                     cmd->name = (yyvsp[0].range);
   32490             :                     cmd->bound = NULL;
   32491             :                     cmd->concurrent = false;
   32492             :                     n->def = (Node *) cmd;
   32493             : 
   32494             :                     (yyval.node) = (Node *) n;
   32495             :                 }
   32496             : #line 32497 "gram.c"
   32497         494 :     break;
   32498             : 
   32499         192 :   case 302: /* alter_table_cmd: ADD_P columnDef  */
   32500             : #line 2388 "gram.y"
   32501             :                                 {
   32502             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32503             : 
   32504             :                     n->subtype = AT_AddColumn;
   32505             :                     n->def = (yyvsp[0].node);
   32506             :                     n->missing_ok = false;
   32507             :                     (yyval.node) = (Node *) n;
   32508             :                 }
   32509             : #line 32510 "gram.c"
   32510         192 :     break;
   32511             : 
   32512           0 :   case 303: /* alter_table_cmd: ADD_P IF_P NOT EXISTS columnDef  */
   32513             : #line 2398 "gram.y"
   32514             :                                 {
   32515             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32516             : 
   32517             :                     n->subtype = AT_AddColumn;
   32518             :                     n->def = (yyvsp[0].node);
   32519             :                     n->missing_ok = true;
   32520             :                     (yyval.node) = (Node *) n;
   32521             :                 }
   32522             : #line 32523 "gram.c"
   32523           0 :     break;
   32524             : 
   32525        1890 :   case 304: /* alter_table_cmd: ADD_P COLUMN columnDef  */
   32526             : #line 2408 "gram.y"
   32527             :                                 {
   32528             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32529             : 
   32530             :                     n->subtype = AT_AddColumn;
   32531             :                     n->def = (yyvsp[0].node);
   32532             :                     n->missing_ok = false;
   32533             :                     (yyval.node) = (Node *) n;
   32534             :                 }
   32535             : #line 32536 "gram.c"
   32536        1890 :     break;
   32537             : 
   32538          60 :   case 305: /* alter_table_cmd: ADD_P COLUMN IF_P NOT EXISTS columnDef  */
   32539             : #line 2418 "gram.y"
   32540             :                                 {
   32541             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32542             : 
   32543             :                     n->subtype = AT_AddColumn;
   32544             :                     n->def = (yyvsp[0].node);
   32545             :                     n->missing_ok = true;
   32546             :                     (yyval.node) = (Node *) n;
   32547             :                 }
   32548             : #line 32549 "gram.c"
   32549          60 :     break;
   32550             : 
   32551         578 :   case 306: /* alter_table_cmd: ALTER opt_column ColId alter_column_default  */
   32552             : #line 2428 "gram.y"
   32553             :                                 {
   32554             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32555             : 
   32556             :                     n->subtype = AT_ColumnDefault;
   32557             :                     n->name = (yyvsp[-1].str);
   32558             :                     n->def = (yyvsp[0].node);
   32559             :                     (yyval.node) = (Node *) n;
   32560             :                 }
   32561             : #line 32562 "gram.c"
   32562         578 :     break;
   32563             : 
   32564         294 :   case 307: /* alter_table_cmd: ALTER opt_column ColId DROP NOT NULL_P  */
   32565             : #line 2438 "gram.y"
   32566             :                                 {
   32567             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32568             : 
   32569             :                     n->subtype = AT_DropNotNull;
   32570             :                     n->name = (yyvsp[-3].str);
   32571             :                     (yyval.node) = (Node *) n;
   32572             :                 }
   32573             : #line 32574 "gram.c"
   32574         294 :     break;
   32575             : 
   32576         434 :   case 308: /* alter_table_cmd: ALTER opt_column ColId SET NOT NULL_P  */
   32577             : #line 2447 "gram.y"
   32578             :                                 {
   32579             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32580             : 
   32581             :                     n->subtype = AT_SetNotNull;
   32582             :                     n->name = (yyvsp[-3].str);
   32583             :                     (yyval.node) = (Node *) n;
   32584             :                 }
   32585             : #line 32586 "gram.c"
   32586         434 :     break;
   32587             : 
   32588         132 :   case 309: /* alter_table_cmd: ALTER opt_column ColId SET EXPRESSION AS '(' a_expr ')'  */
   32589             : #line 2456 "gram.y"
   32590             :                                 {
   32591             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32592             : 
   32593             :                     n->subtype = AT_SetExpression;
   32594             :                     n->name = (yyvsp[-6].str);
   32595             :                     n->def = (yyvsp[-1].node);
   32596             :                     (yyval.node) = (Node *) n;
   32597             :                 }
   32598             : #line 32599 "gram.c"
   32599         132 :     break;
   32600             : 
   32601          62 :   case 310: /* alter_table_cmd: ALTER opt_column ColId DROP EXPRESSION  */
   32602             : #line 2466 "gram.y"
   32603             :                                 {
   32604             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32605             : 
   32606             :                     n->subtype = AT_DropExpression;
   32607             :                     n->name = (yyvsp[-2].str);
   32608             :                     (yyval.node) = (Node *) n;
   32609             :                 }
   32610             : #line 32611 "gram.c"
   32611          62 :     break;
   32612             : 
   32613          12 :   case 311: /* alter_table_cmd: ALTER opt_column ColId DROP EXPRESSION IF_P EXISTS  */
   32614             : #line 2475 "gram.y"
   32615             :                                 {
   32616             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32617             : 
   32618             :                     n->subtype = AT_DropExpression;
   32619             :                     n->name = (yyvsp[-4].str);
   32620             :                     n->missing_ok = true;
   32621             :                     (yyval.node) = (Node *) n;
   32622             :                 }
   32623             : #line 32624 "gram.c"
   32624          12 :     break;
   32625             : 
   32626          62 :   case 312: /* alter_table_cmd: ALTER opt_column ColId SET STATISTICS set_statistics_value  */
   32627             : #line 2485 "gram.y"
   32628             :                                 {
   32629             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32630             : 
   32631             :                     n->subtype = AT_SetStatistics;
   32632             :                     n->name = (yyvsp[-3].str);
   32633             :                     n->def = (yyvsp[0].node);
   32634             :                     (yyval.node) = (Node *) n;
   32635             :                 }
   32636             : #line 32637 "gram.c"
   32637          62 :     break;
   32638             : 
   32639          70 :   case 313: /* alter_table_cmd: ALTER opt_column Iconst SET STATISTICS set_statistics_value  */
   32640             : #line 2495 "gram.y"
   32641             :                                 {
   32642             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32643             : 
   32644             :                     if ((yyvsp[-3].ival) <= 0 || (yyvsp[-3].ival) > PG_INT16_MAX)
   32645             :                         ereport(ERROR,
   32646             :                                 (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
   32647             :                                  errmsg("column number must be in range from 1 to %d", PG_INT16_MAX),
   32648             :                                  parser_errposition((yylsp[-3]))));
   32649             : 
   32650             :                     n->subtype = AT_SetStatistics;
   32651             :                     n->num = (int16) (yyvsp[-3].ival);
   32652             :                     n->def = (yyvsp[0].node);
   32653             :                     (yyval.node) = (Node *) n;
   32654             :                 }
   32655             : #line 32656 "gram.c"
   32656          64 :     break;
   32657             : 
   32658          38 :   case 314: /* alter_table_cmd: ALTER opt_column ColId SET reloptions  */
   32659             : #line 2511 "gram.y"
   32660             :                                 {
   32661             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32662             : 
   32663             :                     n->subtype = AT_SetOptions;
   32664             :                     n->name = (yyvsp[-2].str);
   32665             :                     n->def = (Node *) (yyvsp[0].list);
   32666             :                     (yyval.node) = (Node *) n;
   32667             :                 }
   32668             : #line 32669 "gram.c"
   32669          38 :     break;
   32670             : 
   32671           6 :   case 315: /* alter_table_cmd: ALTER opt_column ColId RESET reloptions  */
   32672             : #line 2521 "gram.y"
   32673             :                                 {
   32674             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32675             : 
   32676             :                     n->subtype = AT_ResetOptions;
   32677             :                     n->name = (yyvsp[-2].str);
   32678             :                     n->def = (Node *) (yyvsp[0].list);
   32679             :                     (yyval.node) = (Node *) n;
   32680             :                 }
   32681             : #line 32682 "gram.c"
   32682           6 :     break;
   32683             : 
   32684         224 :   case 316: /* alter_table_cmd: ALTER opt_column ColId SET column_storage  */
   32685             : #line 2531 "gram.y"
   32686             :                                 {
   32687             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32688             : 
   32689             :                     n->subtype = AT_SetStorage;
   32690             :                     n->name = (yyvsp[-2].str);
   32691             :                     n->def = (Node *) makeString((yyvsp[0].str));
   32692             :                     (yyval.node) = (Node *) n;
   32693             :                 }
   32694             : #line 32695 "gram.c"
   32695         224 :     break;
   32696             : 
   32697          90 :   case 317: /* alter_table_cmd: ALTER opt_column ColId SET column_compression  */
   32698             : #line 2541 "gram.y"
   32699             :                                 {
   32700             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32701             : 
   32702             :                     n->subtype = AT_SetCompression;
   32703             :                     n->name = (yyvsp[-2].str);
   32704             :                     n->def = (Node *) makeString((yyvsp[0].str));
   32705             :                     (yyval.node) = (Node *) n;
   32706             :                 }
   32707             : #line 32708 "gram.c"
   32708          90 :     break;
   32709             : 
   32710         210 :   case 318: /* alter_table_cmd: ALTER opt_column ColId ADD_P GENERATED generated_when AS IDENTITY_P OptParenthesizedSeqOptList  */
   32711             : #line 2551 "gram.y"
   32712             :                                 {
   32713             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32714             :                     Constraint *c = makeNode(Constraint);
   32715             : 
   32716             :                     c->contype = CONSTR_IDENTITY;
   32717             :                     c->generated_when = (yyvsp[-3].ival);
   32718             :                     c->options = (yyvsp[0].list);
   32719             :                     c->location = (yylsp[-4]);
   32720             : 
   32721             :                     n->subtype = AT_AddIdentity;
   32722             :                     n->name = (yyvsp[-6].str);
   32723             :                     n->def = (Node *) c;
   32724             : 
   32725             :                     (yyval.node) = (Node *) n;
   32726             :                 }
   32727             : #line 32728 "gram.c"
   32728         210 :     break;
   32729             : 
   32730          62 :   case 319: /* alter_table_cmd: ALTER opt_column ColId alter_identity_column_option_list  */
   32731             : #line 2568 "gram.y"
   32732             :                                 {
   32733             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32734             : 
   32735             :                     n->subtype = AT_SetIdentity;
   32736             :                     n->name = (yyvsp[-1].str);
   32737             :                     n->def = (Node *) (yyvsp[0].list);
   32738             :                     (yyval.node) = (Node *) n;
   32739             :                 }
   32740             : #line 32741 "gram.c"
   32741          62 :     break;
   32742             : 
   32743          50 :   case 320: /* alter_table_cmd: ALTER opt_column ColId DROP IDENTITY_P  */
   32744             : #line 2578 "gram.y"
   32745             :                                 {
   32746             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32747             : 
   32748             :                     n->subtype = AT_DropIdentity;
   32749             :                     n->name = (yyvsp[-2].str);
   32750             :                     n->missing_ok = false;
   32751             :                     (yyval.node) = (Node *) n;
   32752             :                 }
   32753             : #line 32754 "gram.c"
   32754          50 :     break;
   32755             : 
   32756           6 :   case 321: /* alter_table_cmd: ALTER opt_column ColId DROP IDENTITY_P IF_P EXISTS  */
   32757             : #line 2588 "gram.y"
   32758             :                                 {
   32759             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32760             : 
   32761             :                     n->subtype = AT_DropIdentity;
   32762             :                     n->name = (yyvsp[-4].str);
   32763             :                     n->missing_ok = true;
   32764             :                     (yyval.node) = (Node *) n;
   32765             :                 }
   32766             : #line 32767 "gram.c"
   32767           6 :     break;
   32768             : 
   32769          18 :   case 322: /* alter_table_cmd: DROP opt_column IF_P EXISTS ColId opt_drop_behavior  */
   32770             : #line 2598 "gram.y"
   32771             :                                 {
   32772             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32773             : 
   32774             :                     n->subtype = AT_DropColumn;
   32775             :                     n->name = (yyvsp[-1].str);
   32776             :                     n->behavior = (yyvsp[0].dbehavior);
   32777             :                     n->missing_ok = true;
   32778             :                     (yyval.node) = (Node *) n;
   32779             :                 }
   32780             : #line 32781 "gram.c"
   32781          18 :     break;
   32782             : 
   32783        1574 :   case 323: /* alter_table_cmd: DROP opt_column ColId opt_drop_behavior  */
   32784             : #line 2609 "gram.y"
   32785             :                                 {
   32786             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32787             : 
   32788             :                     n->subtype = AT_DropColumn;
   32789             :                     n->name = (yyvsp[-1].str);
   32790             :                     n->behavior = (yyvsp[0].dbehavior);
   32791             :                     n->missing_ok = false;
   32792             :                     (yyval.node) = (Node *) n;
   32793             :                 }
   32794             : #line 32795 "gram.c"
   32795        1574 :     break;
   32796             : 
   32797         994 :   case 324: /* alter_table_cmd: ALTER opt_column ColId opt_set_data TYPE_P Typename opt_collate_clause alter_using  */
   32798             : #line 2623 "gram.y"
   32799             :                                 {
   32800             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32801             :                     ColumnDef *def = makeNode(ColumnDef);
   32802             : 
   32803             :                     n->subtype = AT_AlterColumnType;
   32804             :                     n->name = (yyvsp[-5].str);
   32805             :                     n->def = (Node *) def;
   32806             :                     /* We only use these fields of the ColumnDef node */
   32807             :                     def->typeName = (yyvsp[-2].typnam);
   32808             :                     def->collClause = (CollateClause *) (yyvsp[-1].node);
   32809             :                     def->raw_default = (yyvsp[0].node);
   32810             :                     def->location = (yylsp[-5]);
   32811             :                     (yyval.node) = (Node *) n;
   32812             :                 }
   32813             : #line 32814 "gram.c"
   32814         994 :     break;
   32815             : 
   32816          50 :   case 325: /* alter_table_cmd: ALTER opt_column ColId alter_generic_options  */
   32817             : #line 2639 "gram.y"
   32818             :                                 {
   32819             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32820             : 
   32821             :                     n->subtype = AT_AlterColumnGenericOptions;
   32822             :                     n->name = (yyvsp[-1].str);
   32823             :                     n->def = (Node *) (yyvsp[0].list);
   32824             :                     (yyval.node) = (Node *) n;
   32825             :                 }
   32826             : #line 32827 "gram.c"
   32827          50 :     break;
   32828             : 
   32829       14616 :   case 326: /* alter_table_cmd: ADD_P TableConstraint  */
   32830             : #line 2649 "gram.y"
   32831             :                                 {
   32832             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32833             : 
   32834             :                     n->subtype = AT_AddConstraint;
   32835             :                     n->def = (yyvsp[0].node);
   32836             :                     (yyval.node) = (Node *) n;
   32837             :                 }
   32838             : #line 32839 "gram.c"
   32839       14616 :     break;
   32840             : 
   32841         228 :   case 327: /* alter_table_cmd: ALTER CONSTRAINT name ConstraintAttributeSpec  */
   32842             : #line 2658 "gram.y"
   32843             :                                 {
   32844             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32845             :                     ATAlterConstraint *c = makeNode(ATAlterConstraint);
   32846             : 
   32847             :                     n->subtype = AT_AlterConstraint;
   32848             :                     n->def = (Node *) c;
   32849             :                     c->conname = (yyvsp[-1].str);
   32850             :                     if ((yyvsp[0].ival) & (CAS_NOT_ENFORCED | CAS_ENFORCED))
   32851             :                         c->alterEnforceability = true;
   32852             :                     if ((yyvsp[0].ival) & (CAS_DEFERRABLE | CAS_NOT_DEFERRABLE |
   32853             :                               CAS_INITIALLY_DEFERRED | CAS_INITIALLY_IMMEDIATE))
   32854             :                         c->alterDeferrability = true;
   32855             :                     if ((yyvsp[0].ival) & CAS_NO_INHERIT)
   32856             :                         c->alterInheritability = true;
   32857             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "FOREIGN KEY",
   32858             :                                     &c->deferrable,
   32859             :                                     &c->initdeferred,
   32860             :                                     &c->is_enforced,
   32861             :                                     NULL,
   32862             :                                     &c->noinherit,
   32863             :                                     yyscanner);
   32864             :                     (yyval.node) = (Node *) n;
   32865             :                 }
   32866             : #line 32867 "gram.c"
   32867         222 :     break;
   32868             : 
   32869          66 :   case 328: /* alter_table_cmd: ALTER CONSTRAINT name INHERIT  */
   32870             : #line 2683 "gram.y"
   32871             :                                 {
   32872             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32873             :                     ATAlterConstraint *c = makeNode(ATAlterConstraint);
   32874             : 
   32875             :                     n->subtype = AT_AlterConstraint;
   32876             :                     n->def = (Node *) c;
   32877             :                     c->conname = (yyvsp[-1].str);
   32878             :                     c->alterInheritability = true;
   32879             :                     c->noinherit = false;
   32880             : 
   32881             :                     (yyval.node) = (Node *) n;
   32882             :                 }
   32883             : #line 32884 "gram.c"
   32884          66 :     break;
   32885             : 
   32886         448 :   case 329: /* alter_table_cmd: VALIDATE CONSTRAINT name  */
   32887             : #line 2697 "gram.y"
   32888             :                                 {
   32889             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32890             : 
   32891             :                     n->subtype = AT_ValidateConstraint;
   32892             :                     n->name = (yyvsp[0].str);
   32893             :                     (yyval.node) = (Node *) n;
   32894             :                 }
   32895             : #line 32896 "gram.c"
   32896         448 :     break;
   32897             : 
   32898          18 :   case 330: /* alter_table_cmd: DROP CONSTRAINT IF_P EXISTS name opt_drop_behavior  */
   32899             : #line 2706 "gram.y"
   32900             :                                 {
   32901             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32902             : 
   32903             :                     n->subtype = AT_DropConstraint;
   32904             :                     n->name = (yyvsp[-1].str);
   32905             :                     n->behavior = (yyvsp[0].dbehavior);
   32906             :                     n->missing_ok = true;
   32907             :                     (yyval.node) = (Node *) n;
   32908             :                 }
   32909             : #line 32910 "gram.c"
   32910          18 :     break;
   32911             : 
   32912         798 :   case 331: /* alter_table_cmd: DROP CONSTRAINT name opt_drop_behavior  */
   32913             : #line 2717 "gram.y"
   32914             :                                 {
   32915             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32916             : 
   32917             :                     n->subtype = AT_DropConstraint;
   32918             :                     n->name = (yyvsp[-1].str);
   32919             :                     n->behavior = (yyvsp[0].dbehavior);
   32920             :                     n->missing_ok = false;
   32921             :                     (yyval.node) = (Node *) n;
   32922             :                 }
   32923             : #line 32924 "gram.c"
   32924         798 :     break;
   32925             : 
   32926           6 :   case 332: /* alter_table_cmd: SET WITHOUT OIDS  */
   32927             : #line 2728 "gram.y"
   32928             :                                 {
   32929             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32930             : 
   32931             :                     n->subtype = AT_DropOids;
   32932             :                     (yyval.node) = (Node *) n;
   32933             :                 }
   32934             : #line 32935 "gram.c"
   32935           6 :     break;
   32936             : 
   32937          46 :   case 333: /* alter_table_cmd: CLUSTER ON name  */
   32938             : #line 2736 "gram.y"
   32939             :                                 {
   32940             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32941             : 
   32942             :                     n->subtype = AT_ClusterOn;
   32943             :                     n->name = (yyvsp[0].str);
   32944             :                     (yyval.node) = (Node *) n;
   32945             :                 }
   32946             : #line 32947 "gram.c"
   32947          46 :     break;
   32948             : 
   32949          18 :   case 334: /* alter_table_cmd: SET WITHOUT CLUSTER  */
   32950             : #line 2745 "gram.y"
   32951             :                                 {
   32952             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32953             : 
   32954             :                     n->subtype = AT_DropCluster;
   32955             :                     n->name = NULL;
   32956             :                     (yyval.node) = (Node *) n;
   32957             :                 }
   32958             : #line 32959 "gram.c"
   32959          18 :     break;
   32960             : 
   32961          50 :   case 335: /* alter_table_cmd: SET LOGGED  */
   32962             : #line 2754 "gram.y"
   32963             :                                 {
   32964             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32965             : 
   32966             :                     n->subtype = AT_SetLogged;
   32967             :                     (yyval.node) = (Node *) n;
   32968             :                 }
   32969             : #line 32970 "gram.c"
   32970          50 :     break;
   32971             : 
   32972          62 :   case 336: /* alter_table_cmd: SET UNLOGGED  */
   32973             : #line 2762 "gram.y"
   32974             :                                 {
   32975             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32976             : 
   32977             :                     n->subtype = AT_SetUnLogged;
   32978             :                     (yyval.node) = (Node *) n;
   32979             :                 }
   32980             : #line 32981 "gram.c"
   32981          62 :     break;
   32982             : 
   32983         122 :   case 337: /* alter_table_cmd: ENABLE_P TRIGGER name  */
   32984             : #line 2770 "gram.y"
   32985             :                                 {
   32986             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32987             : 
   32988             :                     n->subtype = AT_EnableTrig;
   32989             :                     n->name = (yyvsp[0].str);
   32990             :                     (yyval.node) = (Node *) n;
   32991             :                 }
   32992             : #line 32993 "gram.c"
   32993         122 :     break;
   32994             : 
   32995          44 :   case 338: /* alter_table_cmd: ENABLE_P ALWAYS TRIGGER name  */
   32996             : #line 2779 "gram.y"
   32997             :                                 {
   32998             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32999             : 
   33000             :                     n->subtype = AT_EnableAlwaysTrig;
   33001             :                     n->name = (yyvsp[0].str);
   33002             :                     (yyval.node) = (Node *) n;
   33003             :                 }
   33004             : #line 33005 "gram.c"
   33005          44 :     break;
   33006             : 
   33007          16 :   case 339: /* alter_table_cmd: ENABLE_P REPLICA TRIGGER name  */
   33008             : #line 2788 "gram.y"
   33009             :                                 {
   33010             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33011             : 
   33012             :                     n->subtype = AT_EnableReplicaTrig;
   33013             :                     n->name = (yyvsp[0].str);
   33014             :                     (yyval.node) = (Node *) n;
   33015             :                 }
   33016             : #line 33017 "gram.c"
   33017          16 :     break;
   33018             : 
   33019           0 :   case 340: /* alter_table_cmd: ENABLE_P TRIGGER ALL  */
   33020             : #line 2797 "gram.y"
   33021             :                                 {
   33022             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33023             : 
   33024             :                     n->subtype = AT_EnableTrigAll;
   33025             :                     (yyval.node) = (Node *) n;
   33026             :                 }
   33027             : #line 33028 "gram.c"
   33028           0 :     break;
   33029             : 
   33030           0 :   case 341: /* alter_table_cmd: ENABLE_P TRIGGER USER  */
   33031             : #line 2805 "gram.y"
   33032             :                                 {
   33033             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33034             : 
   33035             :                     n->subtype = AT_EnableTrigUser;
   33036             :                     (yyval.node) = (Node *) n;
   33037             :                 }
   33038             : #line 33039 "gram.c"
   33039           0 :     break;
   33040             : 
   33041         140 :   case 342: /* alter_table_cmd: DISABLE_P TRIGGER name  */
   33042             : #line 2813 "gram.y"
   33043             :                                 {
   33044             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33045             : 
   33046             :                     n->subtype = AT_DisableTrig;
   33047             :                     n->name = (yyvsp[0].str);
   33048             :                     (yyval.node) = (Node *) n;
   33049             :                 }
   33050             : #line 33051 "gram.c"
   33051         140 :     break;
   33052             : 
   33053          12 :   case 343: /* alter_table_cmd: DISABLE_P TRIGGER ALL  */
   33054             : #line 2822 "gram.y"
   33055             :                                 {
   33056             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33057             : 
   33058             :                     n->subtype = AT_DisableTrigAll;
   33059             :                     (yyval.node) = (Node *) n;
   33060             :                 }
   33061             : #line 33062 "gram.c"
   33062          12 :     break;
   33063             : 
   33064          12 :   case 344: /* alter_table_cmd: DISABLE_P TRIGGER USER  */
   33065             : #line 2830 "gram.y"
   33066             :                                 {
   33067             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33068             : 
   33069             :                     n->subtype = AT_DisableTrigUser;
   33070             :                     (yyval.node) = (Node *) n;
   33071             :                 }
   33072             : #line 33073 "gram.c"
   33073          12 :     break;
   33074             : 
   33075           8 :   case 345: /* alter_table_cmd: ENABLE_P RULE name  */
   33076             : #line 2838 "gram.y"
   33077             :                                 {
   33078             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33079             : 
   33080             :                     n->subtype = AT_EnableRule;
   33081             :                     n->name = (yyvsp[0].str);
   33082             :                     (yyval.node) = (Node *) n;
   33083             :                 }
   33084             : #line 33085 "gram.c"
   33085           8 :     break;
   33086             : 
   33087           0 :   case 346: /* alter_table_cmd: ENABLE_P ALWAYS RULE name  */
   33088             : #line 2847 "gram.y"
   33089             :                                 {
   33090             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33091             : 
   33092             :                     n->subtype = AT_EnableAlwaysRule;
   33093             :                     n->name = (yyvsp[0].str);
   33094             :                     (yyval.node) = (Node *) n;
   33095             :                 }
   33096             : #line 33097 "gram.c"
   33097           0 :     break;
   33098             : 
   33099           6 :   case 347: /* alter_table_cmd: ENABLE_P REPLICA RULE name  */
   33100             : #line 2856 "gram.y"
   33101             :                                 {
   33102             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33103             : 
   33104             :                     n->subtype = AT_EnableReplicaRule;
   33105             :                     n->name = (yyvsp[0].str);
   33106             :                     (yyval.node) = (Node *) n;
   33107             :                 }
   33108             : #line 33109 "gram.c"
   33109           6 :     break;
   33110             : 
   33111          38 :   case 348: /* alter_table_cmd: DISABLE_P RULE name  */
   33112             : #line 2865 "gram.y"
   33113             :                                 {
   33114             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33115             : 
   33116             :                     n->subtype = AT_DisableRule;
   33117             :                     n->name = (yyvsp[0].str);
   33118             :                     (yyval.node) = (Node *) n;
   33119             :                 }
   33120             : #line 33121 "gram.c"
   33121          38 :     break;
   33122             : 
   33123         436 :   case 349: /* alter_table_cmd: INHERIT qualified_name  */
   33124             : #line 2874 "gram.y"
   33125             :                                 {
   33126             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33127             : 
   33128             :                     n->subtype = AT_AddInherit;
   33129             :                     n->def = (Node *) (yyvsp[0].range);
   33130             :                     (yyval.node) = (Node *) n;
   33131             :                 }
   33132             : #line 33133 "gram.c"
   33133         436 :     break;
   33134             : 
   33135          86 :   case 350: /* alter_table_cmd: NO INHERIT qualified_name  */
   33136             : #line 2883 "gram.y"
   33137             :                                 {
   33138             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33139             : 
   33140             :                     n->subtype = AT_DropInherit;
   33141             :                     n->def = (Node *) (yyvsp[0].range);
   33142             :                     (yyval.node) = (Node *) n;
   33143             :                 }
   33144             : #line 33145 "gram.c"
   33145          86 :     break;
   33146             : 
   33147          66 :   case 351: /* alter_table_cmd: OF any_name  */
   33148             : #line 2892 "gram.y"
   33149             :                                 {
   33150             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33151             :                     TypeName   *def = makeTypeNameFromNameList((yyvsp[0].list));
   33152             : 
   33153             :                     def->location = (yylsp[0]);
   33154             :                     n->subtype = AT_AddOf;
   33155             :                     n->def = (Node *) def;
   33156             :                     (yyval.node) = (Node *) n;
   33157             :                 }
   33158             : #line 33159 "gram.c"
   33159          66 :     break;
   33160             : 
   33161           6 :   case 352: /* alter_table_cmd: NOT OF  */
   33162             : #line 2903 "gram.y"
   33163             :                                 {
   33164             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33165             : 
   33166             :                     n->subtype = AT_DropOf;
   33167             :                     (yyval.node) = (Node *) n;
   33168             :                 }
   33169             : #line 33170 "gram.c"
   33170           6 :     break;
   33171             : 
   33172        3574 :   case 353: /* alter_table_cmd: OWNER TO RoleSpec  */
   33173             : #line 2911 "gram.y"
   33174             :                                 {
   33175             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33176             : 
   33177             :                     n->subtype = AT_ChangeOwner;
   33178             :                     n->newowner = (yyvsp[0].rolespec);
   33179             :                     (yyval.node) = (Node *) n;
   33180             :                 }
   33181             : #line 33182 "gram.c"
   33182        3574 :     break;
   33183             : 
   33184         128 :   case 354: /* alter_table_cmd: SET ACCESS METHOD set_access_method_name  */
   33185             : #line 2920 "gram.y"
   33186             :                                 {
   33187             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33188             : 
   33189             :                     n->subtype = AT_SetAccessMethod;
   33190             :                     n->name = (yyvsp[0].str);
   33191             :                     (yyval.node) = (Node *) n;
   33192             :                 }
   33193             : #line 33194 "gram.c"
   33194         128 :     break;
   33195             : 
   33196         104 :   case 355: /* alter_table_cmd: SET TABLESPACE name  */
   33197             : #line 2929 "gram.y"
   33198             :                                 {
   33199             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33200             : 
   33201             :                     n->subtype = AT_SetTableSpace;
   33202             :                     n->name = (yyvsp[0].str);
   33203             :                     (yyval.node) = (Node *) n;
   33204             :                 }
   33205             : #line 33206 "gram.c"
   33206         104 :     break;
   33207             : 
   33208         594 :   case 356: /* alter_table_cmd: SET reloptions  */
   33209             : #line 2938 "gram.y"
   33210             :                                 {
   33211             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33212             : 
   33213             :                     n->subtype = AT_SetRelOptions;
   33214             :                     n->def = (Node *) (yyvsp[0].list);
   33215             :                     (yyval.node) = (Node *) n;
   33216             :                 }
   33217             : #line 33218 "gram.c"
   33218         594 :     break;
   33219             : 
   33220         170 :   case 357: /* alter_table_cmd: RESET reloptions  */
   33221             : #line 2947 "gram.y"
   33222             :                                 {
   33223             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33224             : 
   33225             :                     n->subtype = AT_ResetRelOptions;
   33226             :                     n->def = (Node *) (yyvsp[0].list);
   33227             :                     (yyval.node) = (Node *) n;
   33228             :                 }
   33229             : #line 33230 "gram.c"
   33230         170 :     break;
   33231             : 
   33232         490 :   case 358: /* alter_table_cmd: REPLICA IDENTITY_P replica_identity  */
   33233             : #line 2956 "gram.y"
   33234             :                                 {
   33235             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33236             : 
   33237             :                     n->subtype = AT_ReplicaIdentity;
   33238             :                     n->def = (yyvsp[0].node);
   33239             :                     (yyval.node) = (Node *) n;
   33240             :                 }
   33241             : #line 33242 "gram.c"
   33242         490 :     break;
   33243             : 
   33244         302 :   case 359: /* alter_table_cmd: ENABLE_P ROW LEVEL SECURITY  */
   33245             : #line 2965 "gram.y"
   33246             :                                 {
   33247             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33248             : 
   33249             :                     n->subtype = AT_EnableRowSecurity;
   33250             :                     (yyval.node) = (Node *) n;
   33251             :                 }
   33252             : #line 33253 "gram.c"
   33253         302 :     break;
   33254             : 
   33255          10 :   case 360: /* alter_table_cmd: DISABLE_P ROW LEVEL SECURITY  */
   33256             : #line 2973 "gram.y"
   33257             :                                 {
   33258             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33259             : 
   33260             :                     n->subtype = AT_DisableRowSecurity;
   33261             :                     (yyval.node) = (Node *) n;
   33262             :                 }
   33263             : #line 33264 "gram.c"
   33264          10 :     break;
   33265             : 
   33266          96 :   case 361: /* alter_table_cmd: FORCE ROW LEVEL SECURITY  */
   33267             : #line 2981 "gram.y"
   33268             :                                 {
   33269             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33270             : 
   33271             :                     n->subtype = AT_ForceRowSecurity;
   33272             :                     (yyval.node) = (Node *) n;
   33273             :                 }
   33274             : #line 33275 "gram.c"
   33275          96 :     break;
   33276             : 
   33277          32 :   case 362: /* alter_table_cmd: NO FORCE ROW LEVEL SECURITY  */
   33278             : #line 2989 "gram.y"
   33279             :                                 {
   33280             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33281             : 
   33282             :                     n->subtype = AT_NoForceRowSecurity;
   33283             :                     (yyval.node) = (Node *) n;
   33284             :                 }
   33285             : #line 33286 "gram.c"
   33286          32 :     break;
   33287             : 
   33288          64 :   case 363: /* alter_table_cmd: alter_generic_options  */
   33289             : #line 2996 "gram.y"
   33290             :                                 {
   33291             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33292             : 
   33293             :                     n->subtype = AT_GenericOptions;
   33294             :                     n->def = (Node *) (yyvsp[0].list);
   33295             :                     (yyval.node) = (Node *) n;
   33296             :                 }
   33297             : #line 33298 "gram.c"
   33298          64 :     break;
   33299             : 
   33300         406 :   case 364: /* alter_column_default: SET DEFAULT a_expr  */
   33301             : #line 3006 "gram.y"
   33302             :                                                                 { (yyval.node) = (yyvsp[0].node); }
   33303             : #line 33304 "gram.c"
   33304         406 :     break;
   33305             : 
   33306         186 :   case 365: /* alter_column_default: DROP DEFAULT  */
   33307             : #line 3007 "gram.y"
   33308             :                                                                 { (yyval.node) = NULL; }
   33309             : #line 33310 "gram.c"
   33310         186 :     break;
   33311             : 
   33312          18 :   case 366: /* opt_collate_clause: COLLATE any_name  */
   33313             : #line 3012 "gram.y"
   33314             :                                 {
   33315             :                     CollateClause *n = makeNode(CollateClause);
   33316             : 
   33317             :                     n->arg = NULL;
   33318             :                     n->collname = (yyvsp[0].list);
   33319             :                     n->location = (yylsp[-1]);
   33320             :                     (yyval.node) = (Node *) n;
   33321             :                 }
   33322             : #line 33323 "gram.c"
   33323          18 :     break;
   33324             : 
   33325        4772 :   case 367: /* opt_collate_clause: %empty  */
   33326             : #line 3020 "gram.y"
   33327             :                                                                 { (yyval.node) = NULL; }
   33328             : #line 33329 "gram.c"
   33329        4772 :     break;
   33330             : 
   33331         174 :   case 368: /* alter_using: USING a_expr  */
   33332             : #line 3024 "gram.y"
   33333             :                                                                 { (yyval.node) = (yyvsp[0].node); }
   33334             : #line 33335 "gram.c"
   33335         174 :     break;
   33336             : 
   33337         820 :   case 369: /* alter_using: %empty  */
   33338             : #line 3025 "gram.y"
   33339             :                                                                 { (yyval.node) = NULL; }
   33340             : #line 33341 "gram.c"
   33341         820 :     break;
   33342             : 
   33343          48 :   case 370: /* replica_identity: NOTHING  */
   33344             : #line 3030 "gram.y"
   33345             :                                 {
   33346             :                     ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
   33347             : 
   33348             :                     n->identity_type = REPLICA_IDENTITY_NOTHING;
   33349             :                     n->name = NULL;
   33350             :                     (yyval.node) = (Node *) n;
   33351             :                 }
   33352             : #line 33353 "gram.c"
   33353          48 :     break;
   33354             : 
   33355         166 :   case 371: /* replica_identity: FULL  */
   33356             : #line 3038 "gram.y"
   33357             :                                 {
   33358             :                     ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
   33359             : 
   33360             :                     n->identity_type = REPLICA_IDENTITY_FULL;
   33361             :                     n->name = NULL;
   33362             :                     (yyval.node) = (Node *) n;
   33363             :                 }
   33364             : #line 33365 "gram.c"
   33365         166 :     break;
   33366             : 
   33367           6 :   case 372: /* replica_identity: DEFAULT  */
   33368             : #line 3046 "gram.y"
   33369             :                                 {
   33370             :                     ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
   33371             : 
   33372             :                     n->identity_type = REPLICA_IDENTITY_DEFAULT;
   33373             :                     n->name = NULL;
   33374             :                     (yyval.node) = (Node *) n;
   33375             :                 }
   33376             : #line 33377 "gram.c"
   33377           6 :     break;
   33378             : 
   33379         270 :   case 373: /* replica_identity: USING INDEX name  */
   33380             : #line 3054 "gram.y"
   33381             :                                 {
   33382             :                     ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
   33383             : 
   33384             :                     n->identity_type = REPLICA_IDENTITY_INDEX;
   33385             :                     n->name = (yyvsp[0].str);
   33386             :                     (yyval.node) = (Node *) n;
   33387             :                 }
   33388             : #line 33389 "gram.c"
   33389         270 :     break;
   33390             : 
   33391        2774 :   case 374: /* reloptions: '(' reloption_list ')'  */
   33392             : #line 3064 "gram.y"
   33393             :                                                                                 { (yyval.list) = (yyvsp[-1].list); }
   33394             : #line 33395 "gram.c"
   33395        2774 :     break;
   33396             : 
   33397        1010 :   case 375: /* opt_reloptions: WITH reloptions  */
   33398             : #line 3067 "gram.y"
   33399             :                                                                         { (yyval.list) = (yyvsp[0].list); }
   33400             : #line 33401 "gram.c"
   33401        1010 :     break;
   33402             : 
   33403       23250 :   case 376: /* opt_reloptions: %empty  */
   33404             : #line 3068 "gram.y"
   33405             :                                                                                                 { (yyval.list) = NIL; }
   33406             : #line 33407 "gram.c"
   33407       23250 :     break;
   33408             : 
   33409        2774 :   case 377: /* reloption_list: reloption_elem  */
   33410             : #line 3072 "gram.y"
   33411             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   33412             : #line 33413 "gram.c"
   33413        2774 :     break;
   33414             : 
   33415         244 :   case 378: /* reloption_list: reloption_list ',' reloption_elem  */
   33416             : #line 3073 "gram.y"
   33417             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
   33418             : #line 33419 "gram.c"
   33419         244 :     break;
   33420             : 
   33421        2370 :   case 379: /* reloption_elem: ColLabel '=' def_arg  */
   33422             : #line 3079 "gram.y"
   33423             :                                 {
   33424             :                     (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
   33425             :                 }
   33426             : #line 33427 "gram.c"
   33427        2370 :     break;
   33428             : 
   33429         578 :   case 380: /* reloption_elem: ColLabel  */
   33430             : #line 3083 "gram.y"
   33431             :                                 {
   33432             :                     (yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0]));
   33433             :                 }
   33434             : #line 33435 "gram.c"
   33435         578 :     break;
   33436             : 
   33437          64 :   case 381: /* reloption_elem: ColLabel '.' ColLabel '=' def_arg  */
   33438             : #line 3087 "gram.y"
   33439             :                                 {
   33440             :                     (yyval.defelt) = makeDefElemExtended((yyvsp[-4].str), (yyvsp[-2].str), (Node *) (yyvsp[0].node),
   33441             :                                              DEFELEM_UNSPEC, (yylsp[-4]));
   33442             :                 }
   33443             : #line 33444 "gram.c"
   33444          64 :     break;
   33445             : 
   33446           6 :   case 382: /* reloption_elem: ColLabel '.' ColLabel  */
   33447             : #line 3092 "gram.y"
   33448             :                                 {
   33449             :                     (yyval.defelt) = makeDefElemExtended((yyvsp[-2].str), (yyvsp[0].str), NULL, DEFELEM_UNSPEC, (yylsp[-2]));
   33450             :                 }
   33451             : #line 33452 "gram.c"
   33452           6 :     break;
   33453             : 
   33454          62 :   case 383: /* alter_identity_column_option_list: alter_identity_column_option  */
   33455             : #line 3099 "gram.y"
   33456             :                                 { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   33457             : #line 33458 "gram.c"
   33458          62 :     break;
   33459             : 
   33460          60 :   case 384: /* alter_identity_column_option_list: alter_identity_column_option_list alter_identity_column_option  */
   33461             : #line 3101 "gram.y"
   33462             :                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   33463             : #line 33464 "gram.c"
   33464          60 :     break;
   33465             : 
   33466          24 :   case 385: /* alter_identity_column_option: RESTART  */
   33467             : #line 3106 "gram.y"
   33468             :                                 {
   33469             :                     (yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0]));
   33470             :                 }
   33471             : #line 33472 "gram.c"
   33472          24 :     break;
   33473             : 
   33474           0 :   case 386: /* alter_identity_column_option: RESTART opt_with NumericOnly  */
   33475             : #line 3110 "gram.y"
   33476             :                                 {
   33477             :                     (yyval.defelt) = makeDefElem("restart", (Node *) (yyvsp[0].node), (yylsp[-2]));
   33478             :                 }
   33479             : #line 33480 "gram.c"
   33480           0 :     break;
   33481             : 
   33482          54 :   case 387: /* alter_identity_column_option: SET SeqOptElem  */
   33483             : #line 3114 "gram.y"
   33484             :                                 {
   33485             :                     if (strcmp((yyvsp[0].defelt)->defname, "as") == 0 ||
   33486             :                         strcmp((yyvsp[0].defelt)->defname, "restart") == 0 ||
   33487             :                         strcmp((yyvsp[0].defelt)->defname, "owned_by") == 0)
   33488             :                         ereport(ERROR,
   33489             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   33490             :                                  errmsg("sequence option \"%s\" not supported here", (yyvsp[0].defelt)->defname),
   33491             :                                  parser_errposition((yylsp[0]))));
   33492             :                     (yyval.defelt) = (yyvsp[0].defelt);
   33493             :                 }
   33494             : #line 33495 "gram.c"
   33495          54 :     break;
   33496             : 
   33497          44 :   case 388: /* alter_identity_column_option: SET GENERATED generated_when  */
   33498             : #line 3125 "gram.y"
   33499             :                                 {
   33500             :                     (yyval.defelt) = makeDefElem("generated", (Node *) makeInteger((yyvsp[0].ival)), (yylsp[-2]));
   33501             :                 }
   33502             : #line 33503 "gram.c"
   33503          44 :     break;
   33504             : 
   33505         158 :   case 389: /* set_statistics_value: SignedIconst  */
   33506             : #line 3131 "gram.y"
   33507             :                                                                         { (yyval.node) = (Node *) makeInteger((yyvsp[0].ival)); }
   33508             : #line 33509 "gram.c"
   33509         158 :     break;
   33510             : 
   33511           0 :   case 390: /* set_statistics_value: DEFAULT  */
   33512             : #line 3132 "gram.y"
   33513             :                                                                                 { (yyval.node) = NULL; }
   33514             : #line 33515 "gram.c"
   33515           0 :     break;
   33516             : 
   33517          92 :   case 391: /* set_access_method_name: ColId  */
   33518             : #line 3136 "gram.y"
   33519             :                                                                                 { (yyval.str) = (yyvsp[0].str); }
   33520             : #line 33521 "gram.c"
   33521          92 :     break;
   33522             : 
   33523          36 :   case 392: /* set_access_method_name: DEFAULT  */
   33524             : #line 3137 "gram.y"
   33525             :                                                                                 { (yyval.str) = NULL; }
   33526             : #line 33527 "gram.c"
   33527          36 :     break;
   33528             : 
   33529         738 :   case 393: /* PartitionBoundSpec: FOR VALUES WITH '(' hash_partbound ')'  */
   33530             : #line 3143 "gram.y"
   33531             :                                 {
   33532             :                     ListCell   *lc;
   33533             :                     PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
   33534             : 
   33535             :                     n->strategy = PARTITION_STRATEGY_HASH;
   33536             :                     n->modulus = n->remainder = -1;
   33537             : 
   33538             :                     foreach (lc, (yyvsp[-1].list))
   33539             :                     {
   33540             :                         DefElem    *opt = lfirst_node(DefElem, lc);
   33541             : 
   33542             :                         if (strcmp(opt->defname, "modulus") == 0)
   33543             :                         {
   33544             :                             if (n->modulus != -1)
   33545             :                                 ereport(ERROR,
   33546             :                                         (errcode(ERRCODE_DUPLICATE_OBJECT),
   33547             :                                          errmsg("modulus for hash partition provided more than once"),
   33548             :                                          parser_errposition(opt->location)));
   33549             :                             n->modulus = defGetInt32(opt);
   33550             :                         }
   33551             :                         else if (strcmp(opt->defname, "remainder") == 0)
   33552             :                         {
   33553             :                             if (n->remainder != -1)
   33554             :                                 ereport(ERROR,
   33555             :                                         (errcode(ERRCODE_DUPLICATE_OBJECT),
   33556             :                                          errmsg("remainder for hash partition provided more than once"),
   33557             :                                          parser_errposition(opt->location)));
   33558             :                             n->remainder = defGetInt32(opt);
   33559             :                         }
   33560             :                         else
   33561             :                             ereport(ERROR,
   33562             :                                     (errcode(ERRCODE_SYNTAX_ERROR),
   33563             :                                      errmsg("unrecognized hash partition bound specification \"%s\"",
   33564             :                                             opt->defname),
   33565             :                                      parser_errposition(opt->location)));
   33566             :                     }
   33567             : 
   33568             :                     if (n->modulus == -1)
   33569             :                         ereport(ERROR,
   33570             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   33571             :                                  errmsg("modulus for hash partition must be specified"),
   33572             :                                  parser_errposition((yylsp[-3]))));
   33573             :                     if (n->remainder == -1)
   33574             :                         ereport(ERROR,
   33575             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   33576             :                                  errmsg("remainder for hash partition must be specified"),
   33577             :                                  parser_errposition((yylsp[-3]))));
   33578             : 
   33579             :                     n->location = (yylsp[-3]);
   33580             : 
   33581             :                     (yyval.partboundspec) = n;
   33582             :                 }
   33583             : #line 33584 "gram.c"
   33584         738 :     break;
   33585             : 
   33586        5068 :   case 394: /* PartitionBoundSpec: FOR VALUES IN_P '(' expr_list ')'  */
   33587             : #line 3198 "gram.y"
   33588             :                                 {
   33589             :                     PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
   33590             : 
   33591             :                     n->strategy = PARTITION_STRATEGY_LIST;
   33592             :                     n->is_default = false;
   33593             :                     n->listdatums = (yyvsp[-1].list);
   33594             :                     n->location = (yylsp[-3]);
   33595             : 
   33596             :                     (yyval.partboundspec) = n;
   33597             :                 }
   33598             : #line 33599 "gram.c"
   33599        5068 :     break;
   33600             : 
   33601        4350 :   case 395: /* PartitionBoundSpec: FOR VALUES FROM '(' expr_list ')' TO '(' expr_list ')'  */
   33602             : #line 3211 "gram.y"
   33603             :                                 {
   33604             :                     PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
   33605             : 
   33606             :                     n->strategy = PARTITION_STRATEGY_RANGE;
   33607             :                     n->is_default = false;
   33608             :                     n->lowerdatums = (yyvsp[-5].list);
   33609             :                     n->upperdatums = (yyvsp[-1].list);
   33610             :                     n->location = (yylsp[-7]);
   33611             : 
   33612             :                     (yyval.partboundspec) = n;
   33613             :                 }
   33614             : #line 33615 "gram.c"
   33615        4350 :     break;
   33616             : 
   33617         622 :   case 396: /* PartitionBoundSpec: DEFAULT  */
   33618             : #line 3225 "gram.y"
   33619             :                                 {
   33620             :                     PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
   33621             : 
   33622             :                     n->is_default = true;
   33623             :                     n->location = (yylsp[0]);
   33624             : 
   33625             :                     (yyval.partboundspec) = n;
   33626             :                 }
   33627             : #line 33628 "gram.c"
   33628         622 :     break;
   33629             : 
   33630        1476 :   case 397: /* hash_partbound_elem: NonReservedWord Iconst  */
   33631             : #line 3237 "gram.y"
   33632             :                         {
   33633             :                 (yyval.defelt) = makeDefElem((yyvsp[-1].str), (Node *) makeInteger((yyvsp[0].ival)), (yylsp[-1]));
   33634             :             }
   33635             : #line 33636 "gram.c"
   33636        1476 :     break;
   33637             : 
   33638         738 :   case 398: /* hash_partbound: hash_partbound_elem  */
   33639             : #line 3244 "gram.y"
   33640             :                         {
   33641             :                 (yyval.list) = list_make1((yyvsp[0].defelt));
   33642             :             }
   33643             : #line 33644 "gram.c"
   33644         738 :     break;
   33645             : 
   33646         738 :   case 399: /* hash_partbound: hash_partbound ',' hash_partbound_elem  */
   33647             : #line 3248 "gram.y"
   33648             :                         {
   33649             :                 (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
   33650             :             }
   33651             : #line 33652 "gram.c"
   33652         738 :     break;
   33653             : 
   33654         208 :   case 400: /* AlterCompositeTypeStmt: ALTER TYPE_P any_name alter_type_cmds  */
   33655             : #line 3262 "gram.y"
   33656             :                                 {
   33657             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   33658             : 
   33659             :                     /* can't use qualified_name, sigh */
   33660             :                     n->relation = makeRangeVarFromAnyName((yyvsp[-1].list), (yylsp[-1]), yyscanner);
   33661             :                     n->cmds = (yyvsp[0].list);
   33662             :                     n->objtype = OBJECT_TYPE;
   33663             :                     (yyval.node) = (Node *) n;
   33664             :                 }
   33665             : #line 33666 "gram.c"
   33666         208 :     break;
   33667             : 
   33668         208 :   case 401: /* alter_type_cmds: alter_type_cmd  */
   33669             : #line 3274 "gram.y"
   33670             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   33671             : #line 33672 "gram.c"
   33672         208 :     break;
   33673             : 
   33674          12 :   case 402: /* alter_type_cmds: alter_type_cmds ',' alter_type_cmd  */
   33675             : #line 3275 "gram.y"
   33676             :                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   33677             : #line 33678 "gram.c"
   33678          12 :     break;
   33679             : 
   33680          64 :   case 403: /* alter_type_cmd: ADD_P ATTRIBUTE TableFuncElement opt_drop_behavior  */
   33681             : #line 3281 "gram.y"
   33682             :                                 {
   33683             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33684             : 
   33685             :                     n->subtype = AT_AddColumn;
   33686             :                     n->def = (yyvsp[-1].node);
   33687             :                     n->behavior = (yyvsp[0].dbehavior);
   33688             :                     (yyval.node) = (Node *) n;
   33689             :                 }
   33690             : #line 33691 "gram.c"
   33691          64 :     break;
   33692             : 
   33693           6 :   case 404: /* alter_type_cmd: DROP ATTRIBUTE IF_P EXISTS ColId opt_drop_behavior  */
   33694             : #line 3291 "gram.y"
   33695             :                                 {
   33696             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33697             : 
   33698             :                     n->subtype = AT_DropColumn;
   33699             :                     n->name = (yyvsp[-1].str);
   33700             :                     n->behavior = (yyvsp[0].dbehavior);
   33701             :                     n->missing_ok = true;
   33702             :                     (yyval.node) = (Node *) n;
   33703             :                 }
   33704             : #line 33705 "gram.c"
   33705           6 :     break;
   33706             : 
   33707          76 :   case 405: /* alter_type_cmd: DROP ATTRIBUTE ColId opt_drop_behavior  */
   33708             : #line 3302 "gram.y"
   33709             :                                 {
   33710             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33711             : 
   33712             :                     n->subtype = AT_DropColumn;
   33713             :                     n->name = (yyvsp[-1].str);
   33714             :                     n->behavior = (yyvsp[0].dbehavior);
   33715             :                     n->missing_ok = false;
   33716             :                     (yyval.node) = (Node *) n;
   33717             :                 }
   33718             : #line 33719 "gram.c"
   33719          76 :     break;
   33720             : 
   33721          74 :   case 406: /* alter_type_cmd: ALTER ATTRIBUTE ColId opt_set_data TYPE_P Typename opt_collate_clause opt_drop_behavior  */
   33722             : #line 3313 "gram.y"
   33723             :                                 {
   33724             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33725             :                     ColumnDef *def = makeNode(ColumnDef);
   33726             : 
   33727             :                     n->subtype = AT_AlterColumnType;
   33728             :                     n->name = (yyvsp[-5].str);
   33729             :                     n->def = (Node *) def;
   33730             :                     n->behavior = (yyvsp[0].dbehavior);
   33731             :                     /* We only use these fields of the ColumnDef node */
   33732             :                     def->typeName = (yyvsp[-2].typnam);
   33733             :                     def->collClause = (CollateClause *) (yyvsp[-1].node);
   33734             :                     def->raw_default = NULL;
   33735             :                     def->location = (yylsp[-5]);
   33736             :                     (yyval.node) = (Node *) n;
   33737             :                 }
   33738             : #line 33739 "gram.c"
   33739          74 :     break;
   33740             : 
   33741        2192 :   case 407: /* ClosePortalStmt: CLOSE cursor_name  */
   33742             : #line 3340 "gram.y"
   33743             :                                 {
   33744             :                     ClosePortalStmt *n = makeNode(ClosePortalStmt);
   33745             : 
   33746             :                     n->portalname = (yyvsp[0].str);
   33747             :                     (yyval.node) = (Node *) n;
   33748             :                 }
   33749             : #line 33750 "gram.c"
   33750        2192 :     break;
   33751             : 
   33752          12 :   case 408: /* ClosePortalStmt: CLOSE ALL  */
   33753             : #line 3347 "gram.y"
   33754             :                                 {
   33755             :                     ClosePortalStmt *n = makeNode(ClosePortalStmt);
   33756             : 
   33757             :                     n->portalname = NULL;
   33758             :                     (yyval.node) = (Node *) n;
   33759             :                 }
   33760             : #line 33761 "gram.c"
   33761          12 :     break;
   33762             : 
   33763       15578 :   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  */
   33764             : #line 3383 "gram.y"
   33765             :                                 {
   33766             :                     CopyStmt *n = makeNode(CopyStmt);
   33767             : 
   33768             :                     n->relation = (yyvsp[-8].range);
   33769             :                     n->query = NULL;
   33770             :                     n->attlist = (yyvsp[-7].list);
   33771             :                     n->is_from = (yyvsp[-6].boolean);
   33772             :                     n->is_program = (yyvsp[-5].boolean);
   33773             :                     n->filename = (yyvsp[-4].str);
   33774             :                     n->whereClause = (yyvsp[0].node);
   33775             : 
   33776             :                     if (n->is_program && n->filename == NULL)
   33777             :                         ereport(ERROR,
   33778             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   33779             :                                  errmsg("STDIN/STDOUT not allowed with PROGRAM"),
   33780             :                                  parser_errposition((yylsp[-3]))));
   33781             : 
   33782             :                     if (!n->is_from && n->whereClause != NULL)
   33783             :                         ereport(ERROR,
   33784             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   33785             :                                  errmsg("WHERE clause not allowed with COPY TO"),
   33786             :                                  parser_errposition((yylsp[0]))));
   33787             : 
   33788             :                     n->options = NIL;
   33789             :                     /* Concatenate user-supplied flags */
   33790             :                     if ((yyvsp[-9].defelt))
   33791             :                         n->options = lappend(n->options, (yyvsp[-9].defelt));
   33792             :                     if ((yyvsp[-3].defelt))
   33793             :                         n->options = lappend(n->options, (yyvsp[-3].defelt));
   33794             :                     if ((yyvsp[-1].list))
   33795             :                         n->options = list_concat(n->options, (yyvsp[-1].list));
   33796             :                     (yyval.node) = (Node *) n;
   33797             :                 }
   33798             : #line 33799 "gram.c"
   33799       15572 :     break;
   33800             : 
   33801         464 :   case 410: /* CopyStmt: COPY '(' PreparableStmt ')' TO opt_program copy_file_name opt_with copy_options  */
   33802             : #line 3417 "gram.y"
   33803             :                                 {
   33804             :                     CopyStmt *n = makeNode(CopyStmt);
   33805             : 
   33806             :                     updatePreparableStmtEnd((yyvsp[-6].node), (yylsp[-5]));
   33807             :                     n->relation = NULL;
   33808             :                     n->query = (yyvsp[-6].node);
   33809             :                     n->attlist = NIL;
   33810             :                     n->is_from = false;
   33811             :                     n->is_program = (yyvsp[-3].boolean);
   33812             :                     n->filename = (yyvsp[-2].str);
   33813             :                     n->options = (yyvsp[0].list);
   33814             : 
   33815             :                     if (n->is_program && n->filename == NULL)
   33816             :                         ereport(ERROR,
   33817             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   33818             :                                  errmsg("STDIN/STDOUT not allowed with PROGRAM"),
   33819             :                                  parser_errposition((yylsp[-4]))));
   33820             : 
   33821             :                     (yyval.node) = (Node *) n;
   33822             :                 }
   33823             : #line 33824 "gram.c"
   33824         464 :     break;
   33825             : 
   33826        2994 :   case 411: /* copy_from: FROM  */
   33827             : #line 3440 "gram.y"
   33828             :                                                                                                 { (yyval.boolean) = true; }
   33829             : #line 33830 "gram.c"
   33830        2994 :     break;
   33831             : 
   33832       12584 :   case 412: /* copy_from: TO  */
   33833             : #line 3441 "gram.y"
   33834             :                                                                                                 { (yyval.boolean) = false; }
   33835             : #line 33836 "gram.c"
   33836       12584 :     break;
   33837             : 
   33838           0 :   case 413: /* opt_program: PROGRAM  */
   33839             : #line 3445 "gram.y"
   33840             :                                                                                                 { (yyval.boolean) = true; }
   33841             : #line 33842 "gram.c"
   33842           0 :     break;
   33843             : 
   33844       16042 :   case 414: /* opt_program: %empty  */
   33845             : #line 3446 "gram.y"
   33846             :                                                                                         { (yyval.boolean) = false; }
   33847             : #line 33848 "gram.c"
   33848       16042 :     break;
   33849             : 
   33850         450 :   case 415: /* copy_file_name: Sconst  */
   33851             : #line 3455 "gram.y"
   33852             :                                                                                                 { (yyval.str) = (yyvsp[0].str); }
   33853             : #line 33854 "gram.c"
   33854         450 :     break;
   33855             : 
   33856        2608 :   case 416: /* copy_file_name: STDIN  */
   33857             : #line 3456 "gram.y"
   33858             :                                                                                                 { (yyval.str) = NULL; }
   33859             : #line 33860 "gram.c"
   33860        2608 :     break;
   33861             : 
   33862       12984 :   case 417: /* copy_file_name: STDOUT  */
   33863             : #line 3457 "gram.y"
   33864             :                                                                                                 { (yyval.str) = NULL; }
   33865             : #line 33866 "gram.c"
   33866       12984 :     break;
   33867             : 
   33868       15386 :   case 418: /* copy_options: copy_opt_list  */
   33869             : #line 3460 "gram.y"
   33870             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   33871             : #line 33872 "gram.c"
   33872       15386 :     break;
   33873             : 
   33874         656 :   case 419: /* copy_options: '(' copy_generic_opt_list ')'  */
   33875             : #line 3461 "gram.y"
   33876             :                                                                         { (yyval.list) = (yyvsp[-1].list); }
   33877             : #line 33878 "gram.c"
   33878         656 :     break;
   33879             : 
   33880         504 :   case 420: /* copy_opt_list: copy_opt_list copy_opt_item  */
   33881             : #line 3466 "gram.y"
   33882             :                                                                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   33883             : #line 33884 "gram.c"
   33884         504 :     break;
   33885             : 
   33886       15386 :   case 421: /* copy_opt_list: %empty  */
   33887             : #line 3467 "gram.y"
   33888             :                                                                                         { (yyval.list) = NIL; }
   33889             : #line 33890 "gram.c"
   33890       15386 :     break;
   33891             : 
   33892           0 :   case 422: /* copy_opt_item: BINARY  */
   33893             : #line 3472 "gram.y"
   33894             :                                 {
   33895             :                     (yyval.defelt) = makeDefElem("format", (Node *) makeString("binary"), (yylsp[0]));
   33896             :                 }
   33897             : #line 33898 "gram.c"
   33898           0 :     break;
   33899             : 
   33900          50 :   case 423: /* copy_opt_item: FREEZE  */
   33901             : #line 3476 "gram.y"
   33902             :                                 {
   33903             :                     (yyval.defelt) = makeDefElem("freeze", (Node *) makeBoolean(true), (yylsp[0]));
   33904             :                 }
   33905             : #line 33906 "gram.c"
   33906          50 :     break;
   33907             : 
   33908         172 :   case 424: /* copy_opt_item: DELIMITER opt_as Sconst  */
   33909             : #line 3480 "gram.y"
   33910             :                                 {
   33911             :                     (yyval.defelt) = makeDefElem("delimiter", (Node *) makeString((yyvsp[0].str)), (yylsp[-2]));
   33912             :                 }
   33913             : #line 33914 "gram.c"
   33914         172 :     break;
   33915             : 
   33916          48 :   case 425: /* copy_opt_item: NULL_P opt_as Sconst  */
   33917             : #line 3484 "gram.y"
   33918             :                                 {
   33919             :                     (yyval.defelt) = makeDefElem("null", (Node *) makeString((yyvsp[0].str)), (yylsp[-2]));
   33920             :                 }
   33921             : #line 33922 "gram.c"
   33922          48 :     break;
   33923             : 
   33924         150 :   case 426: /* copy_opt_item: CSV  */
   33925             : #line 3488 "gram.y"
   33926             :                                 {
   33927             :                     (yyval.defelt) = makeDefElem("format", (Node *) makeString("csv"), (yylsp[0]));
   33928             :                 }
   33929             : #line 33930 "gram.c"
   33930         150 :     break;
   33931             : 
   33932          18 :   case 427: /* copy_opt_item: HEADER_P  */
   33933             : #line 3492 "gram.y"
   33934             :                                 {
   33935             :                     (yyval.defelt) = makeDefElem("header", (Node *) makeBoolean(true), (yylsp[0]));
   33936             :                 }
   33937             : #line 33938 "gram.c"
   33938          18 :     break;
   33939             : 
   33940          18 :   case 428: /* copy_opt_item: QUOTE opt_as Sconst  */
   33941             : #line 3496 "gram.y"
   33942             :                                 {
   33943             :                     (yyval.defelt) = makeDefElem("quote", (Node *) makeString((yyvsp[0].str)), (yylsp[-2]));
   33944             :                 }
   33945             : #line 33946 "gram.c"
   33946          18 :     break;
   33947             : 
   33948          18 :   case 429: /* copy_opt_item: ESCAPE opt_as Sconst  */
   33949             : #line 3500 "gram.y"
   33950             :                                 {
   33951             :                     (yyval.defelt) = makeDefElem("escape", (Node *) makeString((yyvsp[0].str)), (yylsp[-2]));
   33952             :                 }
   33953             : #line 33954 "gram.c"
   33954          18 :     break;
   33955             : 
   33956          12 :   case 430: /* copy_opt_item: FORCE QUOTE columnList  */
   33957             : #line 3504 "gram.y"
   33958             :                                 {
   33959             :                     (yyval.defelt) = makeDefElem("force_quote", (Node *) (yyvsp[0].list), (yylsp[-2]));
   33960             :                 }
   33961             : #line 33962 "gram.c"
   33962          12 :     break;
   33963             : 
   33964           6 :   case 431: /* copy_opt_item: FORCE QUOTE '*'  */
   33965             : #line 3508 "gram.y"
   33966             :                                 {
   33967             :                     (yyval.defelt) = makeDefElem("force_quote", (Node *) makeNode(A_Star), (yylsp[-2]));
   33968             :                 }
   33969             : #line 33970 "gram.c"
   33970           6 :     break;
   33971             : 
   33972           0 :   case 432: /* copy_opt_item: FORCE NOT NULL_P columnList  */
   33973             : #line 3512 "gram.y"
   33974             :                                 {
   33975             :                     (yyval.defelt) = makeDefElem("force_not_null", (Node *) (yyvsp[0].list), (yylsp[-3]));
   33976             :                 }
   33977             : #line 33978 "gram.c"
   33978           0 :     break;
   33979             : 
   33980           0 :   case 433: /* copy_opt_item: FORCE NOT NULL_P '*'  */
   33981             : #line 3516 "gram.y"
   33982             :                                 {
   33983             :                     (yyval.defelt) = makeDefElem("force_not_null", (Node *) makeNode(A_Star), (yylsp[-3]));
   33984             :                 }
   33985             : #line 33986 "gram.c"
   33986           0 :     break;
   33987             : 
   33988           0 :   case 434: /* copy_opt_item: FORCE NULL_P columnList  */
   33989             : #line 3520 "gram.y"
   33990             :                                 {
   33991             :                     (yyval.defelt) = makeDefElem("force_null", (Node *) (yyvsp[0].list), (yylsp[-2]));
   33992             :                 }
   33993             : #line 33994 "gram.c"
   33994           0 :     break;
   33995             : 
   33996           0 :   case 435: /* copy_opt_item: FORCE NULL_P '*'  */
   33997             : #line 3524 "gram.y"
   33998             :                                 {
   33999             :                     (yyval.defelt) = makeDefElem("force_null", (Node *) makeNode(A_Star), (yylsp[-2]));
   34000             :                 }
   34001             : #line 34002 "gram.c"
   34002           0 :     break;
   34003             : 
   34004          12 :   case 436: /* copy_opt_item: ENCODING Sconst  */
   34005             : #line 3528 "gram.y"
   34006             :                                 {
   34007             :                     (yyval.defelt) = makeDefElem("encoding", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
   34008             :                 }
   34009             : #line 34010 "gram.c"
   34010          12 :     break;
   34011             : 
   34012          12 :   case 437: /* opt_binary: BINARY  */
   34013             : #line 3537 "gram.y"
   34014             :                                 {
   34015             :                     (yyval.defelt) = makeDefElem("format", (Node *) makeString("binary"), (yylsp[0]));
   34016             :                 }
   34017             : #line 34018 "gram.c"
   34018          12 :     break;
   34019             : 
   34020       15566 :   case 438: /* opt_binary: %empty  */
   34021             : #line 3540 "gram.y"
   34022             :                                                                                                 { (yyval.defelt) = NULL; }
   34023             : #line 34024 "gram.c"
   34024       15566 :     break;
   34025             : 
   34026           0 :   case 439: /* copy_delimiter: opt_using DELIMITERS Sconst  */
   34027             : #line 3545 "gram.y"
   34028             :                                 {
   34029             :                     (yyval.defelt) = makeDefElem("delimiter", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
   34030             :                 }
   34031             : #line 34032 "gram.c"
   34032           0 :     break;
   34033             : 
   34034       15578 :   case 440: /* copy_delimiter: %empty  */
   34035             : #line 3548 "gram.y"
   34036             :                                                                                                 { (yyval.defelt) = NULL; }
   34037             : #line 34038 "gram.c"
   34038       15578 :     break;
   34039             : 
   34040         656 :   case 443: /* copy_generic_opt_list: copy_generic_opt_elem  */
   34041             : #line 3559 "gram.y"
   34042             :                                 {
   34043             :                     (yyval.list) = list_make1((yyvsp[0].defelt));
   34044             :                 }
   34045             : #line 34046 "gram.c"
   34046         656 :     break;
   34047             : 
   34048         450 :   case 444: /* copy_generic_opt_list: copy_generic_opt_list ',' copy_generic_opt_elem  */
   34049             : #line 3563 "gram.y"
   34050             :                                 {
   34051             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
   34052             :                 }
   34053             : #line 34054 "gram.c"
   34054         450 :     break;
   34055             : 
   34056        1106 :   case 445: /* copy_generic_opt_elem: ColLabel copy_generic_opt_arg  */
   34057             : #line 3570 "gram.y"
   34058             :                                 {
   34059             :                     (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
   34060             :                 }
   34061             : #line 34062 "gram.c"
   34062        1106 :     break;
   34063             : 
   34064         800 :   case 446: /* copy_generic_opt_arg: opt_boolean_or_string  */
   34065             : #line 3576 "gram.y"
   34066             :                                                                 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
   34067             : #line 34068 "gram.c"
   34068         800 :     break;
   34069             : 
   34070          24 :   case 447: /* copy_generic_opt_arg: NumericOnly  */
   34071             : #line 3577 "gram.y"
   34072             :                                                                         { (yyval.node) = (Node *) (yyvsp[0].node); }
   34073             : #line 34074 "gram.c"
   34074          24 :     break;
   34075             : 
   34076          90 :   case 448: /* copy_generic_opt_arg: '*'  */
   34077             : #line 3578 "gram.y"
   34078             :                                                                                 { (yyval.node) = (Node *) makeNode(A_Star); }
   34079             : #line 34080 "gram.c"
   34080          90 :     break;
   34081             : 
   34082           6 :   case 449: /* copy_generic_opt_arg: DEFAULT  */
   34083             : #line 3579 "gram.y"
   34084             :                                                         { (yyval.node) = (Node *) makeString("default"); }
   34085             : #line 34086 "gram.c"
   34086           6 :     break;
   34087             : 
   34088         150 :   case 450: /* copy_generic_opt_arg: '(' copy_generic_opt_arg_list ')'  */
   34089             : #line 3580 "gram.y"
   34090             :                                                                         { (yyval.node) = (Node *) (yyvsp[-1].list); }
   34091             : #line 34092 "gram.c"
   34092         150 :     break;
   34093             : 
   34094          36 :   case 451: /* copy_generic_opt_arg: %empty  */
   34095             : #line 3581 "gram.y"
   34096             :                                                                         { (yyval.node) = NULL; }
   34097             : #line 34098 "gram.c"
   34098          36 :     break;
   34099             : 
   34100         150 :   case 452: /* copy_generic_opt_arg_list: copy_generic_opt_arg_list_item  */
   34101             : #line 3586 "gram.y"
   34102             :                                 {
   34103             :                     (yyval.list) = list_make1((yyvsp[0].node));
   34104             :                 }
   34105             : #line 34106 "gram.c"
   34106         150 :     break;
   34107             : 
   34108          12 :   case 453: /* copy_generic_opt_arg_list: copy_generic_opt_arg_list ',' copy_generic_opt_arg_list_item  */
   34109             : #line 3590 "gram.y"
   34110             :                                 {
   34111             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
   34112             :                 }
   34113             : #line 34114 "gram.c"
   34114          12 :     break;
   34115             : 
   34116         162 :   case 454: /* copy_generic_opt_arg_list_item: opt_boolean_or_string  */
   34117             : #line 3597 "gram.y"
   34118             :                                                 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
   34119             : #line 34120 "gram.c"
   34120         162 :     break;
   34121             : 
   34122       30622 :   case 455: /* CreateStmt: CREATE OptTemp TABLE qualified_name '(' OptTableElementList ')' OptInherit OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace  */
   34123             : #line 3611 "gram.y"
   34124             :                                 {
   34125             :                     CreateStmt *n = makeNode(CreateStmt);
   34126             : 
   34127             :                     (yyvsp[-9].range)->relpersistence = (yyvsp[-11].ival);
   34128             :                     n->relation = (yyvsp[-9].range);
   34129             :                     n->tableElts = (yyvsp[-7].list);
   34130             :                     n->inhRelations = (yyvsp[-5].list);
   34131             :                     n->partspec = (yyvsp[-4].partspec);
   34132             :                     n->ofTypename = NULL;
   34133             :                     n->constraints = NIL;
   34134             :                     n->accessMethod = (yyvsp[-3].str);
   34135             :                     n->options = (yyvsp[-2].list);
   34136             :                     n->oncommit = (yyvsp[-1].oncommit);
   34137             :                     n->tablespacename = (yyvsp[0].str);
   34138             :                     n->if_not_exists = false;
   34139             :                     (yyval.node) = (Node *) n;
   34140             :                 }
   34141             : #line 34142 "gram.c"
   34142       30622 :     break;
   34143             : 
   34144          30 :   case 456: /* CreateStmt: CREATE OptTemp TABLE IF_P NOT EXISTS qualified_name '(' OptTableElementList ')' OptInherit OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace  */
   34145             : #line 3631 "gram.y"
   34146             :                                 {
   34147             :                     CreateStmt *n = makeNode(CreateStmt);
   34148             : 
   34149             :                     (yyvsp[-9].range)->relpersistence = (yyvsp[-14].ival);
   34150             :                     n->relation = (yyvsp[-9].range);
   34151             :                     n->tableElts = (yyvsp[-7].list);
   34152             :                     n->inhRelations = (yyvsp[-5].list);
   34153             :                     n->partspec = (yyvsp[-4].partspec);
   34154             :                     n->ofTypename = NULL;
   34155             :                     n->constraints = NIL;
   34156             :                     n->accessMethod = (yyvsp[-3].str);
   34157             :                     n->options = (yyvsp[-2].list);
   34158             :                     n->oncommit = (yyvsp[-1].oncommit);
   34159             :                     n->tablespacename = (yyvsp[0].str);
   34160             :                     n->if_not_exists = true;
   34161             :                     (yyval.node) = (Node *) n;
   34162             :                 }
   34163             : #line 34164 "gram.c"
   34164          30 :     break;
   34165             : 
   34166         134 :   case 457: /* CreateStmt: CREATE OptTemp TABLE qualified_name OF any_name OptTypedTableElementList OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace  */
   34167             : #line 3651 "gram.y"
   34168             :                                 {
   34169             :                     CreateStmt *n = makeNode(CreateStmt);
   34170             : 
   34171             :                     (yyvsp[-8].range)->relpersistence = (yyvsp[-10].ival);
   34172             :                     n->relation = (yyvsp[-8].range);
   34173             :                     n->tableElts = (yyvsp[-5].list);
   34174             :                     n->inhRelations = NIL;
   34175             :                     n->partspec = (yyvsp[-4].partspec);
   34176             :                     n->ofTypename = makeTypeNameFromNameList((yyvsp[-6].list));
   34177             :                     n->ofTypename->location = (yylsp[-6]);
   34178             :                     n->constraints = NIL;
   34179             :                     n->accessMethod = (yyvsp[-3].str);
   34180             :                     n->options = (yyvsp[-2].list);
   34181             :                     n->oncommit = (yyvsp[-1].oncommit);
   34182             :                     n->tablespacename = (yyvsp[0].str);
   34183             :                     n->if_not_exists = false;
   34184             :                     (yyval.node) = (Node *) n;
   34185             :                 }
   34186             : #line 34187 "gram.c"
   34187         134 :     break;
   34188             : 
   34189           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  */
   34190             : #line 3672 "gram.y"
   34191             :                                 {
   34192             :                     CreateStmt *n = makeNode(CreateStmt);
   34193             : 
   34194             :                     (yyvsp[-8].range)->relpersistence = (yyvsp[-13].ival);
   34195             :                     n->relation = (yyvsp[-8].range);
   34196             :                     n->tableElts = (yyvsp[-5].list);
   34197             :                     n->inhRelations = NIL;
   34198             :                     n->partspec = (yyvsp[-4].partspec);
   34199             :                     n->ofTypename = makeTypeNameFromNameList((yyvsp[-6].list));
   34200             :                     n->ofTypename->location = (yylsp[-6]);
   34201             :                     n->constraints = NIL;
   34202             :                     n->accessMethod = (yyvsp[-3].str);
   34203             :                     n->options = (yyvsp[-2].list);
   34204             :                     n->oncommit = (yyvsp[-1].oncommit);
   34205             :                     n->tablespacename = (yyvsp[0].str);
   34206             :                     n->if_not_exists = true;
   34207             :                     (yyval.node) = (Node *) n;
   34208             :                 }
   34209             : #line 34210 "gram.c"
   34210           6 :     break;
   34211             : 
   34212        7868 :   case 459: /* CreateStmt: CREATE OptTemp TABLE qualified_name PARTITION OF qualified_name OptTypedTableElementList PartitionBoundSpec OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace  */
   34213             : #line 3693 "gram.y"
   34214             :                                 {
   34215             :                     CreateStmt *n = makeNode(CreateStmt);
   34216             : 
   34217             :                     (yyvsp[-10].range)->relpersistence = (yyvsp[-12].ival);
   34218             :                     n->relation = (yyvsp[-10].range);
   34219             :                     n->tableElts = (yyvsp[-6].list);
   34220             :                     n->inhRelations = list_make1((yyvsp[-7].range));
   34221             :                     n->partbound = (yyvsp[-5].partboundspec);
   34222             :                     n->partspec = (yyvsp[-4].partspec);
   34223             :                     n->ofTypename = NULL;
   34224             :                     n->constraints = NIL;
   34225             :                     n->accessMethod = (yyvsp[-3].str);
   34226             :                     n->options = (yyvsp[-2].list);
   34227             :                     n->oncommit = (yyvsp[-1].oncommit);
   34228             :                     n->tablespacename = (yyvsp[0].str);
   34229             :                     n->if_not_exists = false;
   34230             :                     (yyval.node) = (Node *) n;
   34231             :                 }
   34232             : #line 34233 "gram.c"
   34233        7868 :     break;
   34234             : 
   34235           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  */
   34236             : #line 3714 "gram.y"
   34237             :                                 {
   34238             :                     CreateStmt *n = makeNode(CreateStmt);
   34239             : 
   34240             :                     (yyvsp[-10].range)->relpersistence = (yyvsp[-15].ival);
   34241             :                     n->relation = (yyvsp[-10].range);
   34242             :                     n->tableElts = (yyvsp[-6].list);
   34243             :                     n->inhRelations = list_make1((yyvsp[-7].range));
   34244             :                     n->partbound = (yyvsp[-5].partboundspec);
   34245             :                     n->partspec = (yyvsp[-4].partspec);
   34246             :                     n->ofTypename = NULL;
   34247             :                     n->constraints = NIL;
   34248             :                     n->accessMethod = (yyvsp[-3].str);
   34249             :                     n->options = (yyvsp[-2].list);
   34250             :                     n->oncommit = (yyvsp[-1].oncommit);
   34251             :                     n->tablespacename = (yyvsp[0].str);
   34252             :                     n->if_not_exists = true;
   34253             :                     (yyval.node) = (Node *) n;
   34254             :                 }
   34255             : #line 34256 "gram.c"
   34256           0 :     break;
   34257             : 
   34258         336 :   case 461: /* OptTemp: TEMPORARY  */
   34259             : #line 3745 "gram.y"
   34260             :                                                                 { (yyval.ival) = RELPERSISTENCE_TEMP; }
   34261             : #line 34262 "gram.c"
   34262         336 :     break;
   34263             : 
   34264        2720 :   case 462: /* OptTemp: TEMP  */
   34265             : #line 3746 "gram.y"
   34266             :                                                                         { (yyval.ival) = RELPERSISTENCE_TEMP; }
   34267             : #line 34268 "gram.c"
   34268        2720 :     break;
   34269             : 
   34270           0 :   case 463: /* OptTemp: LOCAL TEMPORARY  */
   34271             : #line 3747 "gram.y"
   34272             :                                                                 { (yyval.ival) = RELPERSISTENCE_TEMP; }
   34273             : #line 34274 "gram.c"
   34274           0 :     break;
   34275             : 
   34276           0 :   case 464: /* OptTemp: LOCAL TEMP  */
   34277             : #line 3748 "gram.y"
   34278             :                                                                 { (yyval.ival) = RELPERSISTENCE_TEMP; }
   34279             : #line 34280 "gram.c"
   34280           0 :     break;
   34281             : 
   34282           0 :   case 465: /* OptTemp: GLOBAL TEMPORARY  */
   34283             : #line 3750 "gram.y"
   34284             :                                 {
   34285             :                     ereport(WARNING,
   34286             :                             (errmsg("GLOBAL is deprecated in temporary table creation"),
   34287             :                              parser_errposition((yylsp[-1]))));
   34288             :                     (yyval.ival) = RELPERSISTENCE_TEMP;
   34289             :                 }
   34290             : #line 34291 "gram.c"
   34291           0 :     break;
   34292             : 
   34293           0 :   case 466: /* OptTemp: GLOBAL TEMP  */
   34294             : #line 3757 "gram.y"
   34295             :                                 {
   34296             :                     ereport(WARNING,
   34297             :                             (errmsg("GLOBAL is deprecated in temporary table creation"),
   34298             :                              parser_errposition((yylsp[-1]))));
   34299             :                     (yyval.ival) = RELPERSISTENCE_TEMP;
   34300             :                 }
   34301             : #line 34302 "gram.c"
   34302           0 :     break;
   34303             : 
   34304         170 :   case 467: /* OptTemp: UNLOGGED  */
   34305             : #line 3763 "gram.y"
   34306             :                                                                         { (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
   34307             : #line 34308 "gram.c"
   34308         170 :     break;
   34309             : 
   34310       54292 :   case 468: /* OptTemp: %empty  */
   34311             : #line 3764 "gram.y"
   34312             :                                                                         { (yyval.ival) = RELPERSISTENCE_PERMANENT; }
   34313             : #line 34314 "gram.c"
   34314       54292 :     break;
   34315             : 
   34316       29460 :   case 469: /* OptTableElementList: TableElementList  */
   34317             : #line 3768 "gram.y"
   34318             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   34319             : #line 34320 "gram.c"
   34320       29460 :     break;
   34321             : 
   34322        1624 :   case 470: /* OptTableElementList: %empty  */
   34323             : #line 3769 "gram.y"
   34324             :                                                                                         { (yyval.list) = NIL; }
   34325             : #line 34326 "gram.c"
   34326        1624 :     break;
   34327             : 
   34328         354 :   case 471: /* OptTypedTableElementList: '(' TypedTableElementList ')'  */
   34329             : #line 3773 "gram.y"
   34330             :                                                                 { (yyval.list) = (yyvsp[-1].list); }
   34331             : #line 34332 "gram.c"
   34332         354 :     break;
   34333             : 
   34334        7750 :   case 472: /* OptTypedTableElementList: %empty  */
   34335             : #line 3774 "gram.y"
   34336             :                                                                                         { (yyval.list) = NIL; }
   34337             : #line 34338 "gram.c"
   34338        7750 :     break;
   34339             : 
   34340       29514 :   case 473: /* TableElementList: TableElement  */
   34341             : #line 3779 "gram.y"
   34342             :                                 {
   34343             :                     (yyval.list) = list_make1((yyvsp[0].node));
   34344             :                 }
   34345             : #line 34346 "gram.c"
   34346       29514 :     break;
   34347             : 
   34348       44296 :   case 474: /* TableElementList: TableElementList ',' TableElement  */
   34349             : #line 3783 "gram.y"
   34350             :                                 {
   34351             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
   34352             :                 }
   34353             : #line 34354 "gram.c"
   34354       44296 :     break;
   34355             : 
   34356         354 :   case 475: /* TypedTableElementList: TypedTableElement  */
   34357             : #line 3790 "gram.y"
   34358             :                                 {
   34359             :                     (yyval.list) = list_make1((yyvsp[0].node));
   34360             :                 }
   34361             : #line 34362 "gram.c"
   34362         354 :     break;
   34363             : 
   34364          70 :   case 476: /* TypedTableElementList: TypedTableElementList ',' TypedTableElement  */
   34365             : #line 3794 "gram.y"
   34366             :                                 {
   34367             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
   34368             :                 }
   34369             : #line 34370 "gram.c"
   34370          70 :     break;
   34371             : 
   34372       70282 :   case 477: /* TableElement: columnDef  */
   34373             : #line 3800 "gram.y"
   34374             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   34375             : #line 34376 "gram.c"
   34376       70282 :     break;
   34377             : 
   34378         774 :   case 478: /* TableElement: TableLikeClause  */
   34379             : #line 3801 "gram.y"
   34380             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   34381             : #line 34382 "gram.c"
   34382         774 :     break;
   34383             : 
   34384        2754 :   case 479: /* TableElement: TableConstraint  */
   34385             : #line 3802 "gram.y"
   34386             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   34387             : #line 34388 "gram.c"
   34388        2754 :     break;
   34389             : 
   34390         354 :   case 480: /* TypedTableElement: columnOptions  */
   34391             : #line 3806 "gram.y"
   34392             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   34393             : #line 34394 "gram.c"
   34394         354 :     break;
   34395             : 
   34396          70 :   case 481: /* TypedTableElement: TableConstraint  */
   34397             : #line 3807 "gram.y"
   34398             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   34399             : #line 34400 "gram.c"
   34400          70 :     break;
   34401             : 
   34402       72424 :   case 482: /* columnDef: ColId Typename opt_column_storage opt_column_compression create_generic_options ColQualList  */
   34403             : #line 3811 "gram.y"
   34404             :                                 {
   34405             :                     ColumnDef *n = makeNode(ColumnDef);
   34406             : 
   34407             :                     n->colname = (yyvsp[-5].str);
   34408             :                     n->typeName = (yyvsp[-4].typnam);
   34409             :                     n->storage_name = (yyvsp[-3].str);
   34410             :                     n->compression = (yyvsp[-2].str);
   34411             :                     n->inhcount = 0;
   34412             :                     n->is_local = true;
   34413             :                     n->is_not_null = false;
   34414             :                     n->is_from_type = false;
   34415             :                     n->storage = 0;
   34416             :                     n->raw_default = NULL;
   34417             :                     n->cooked_default = NULL;
   34418             :                     n->collOid = InvalidOid;
   34419             :                     n->fdwoptions = (yyvsp[-1].list);
   34420             :                     SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
   34421             :                                      yyscanner);
   34422             :                     n->location = (yylsp[-5]);
   34423             :                     (yyval.node) = (Node *) n;
   34424             :                 }
   34425             : #line 34426 "gram.c"
   34426       72424 :     break;
   34427             : 
   34428         146 :   case 483: /* columnOptions: ColId ColQualList  */
   34429             : #line 3835 "gram.y"
   34430             :                                 {
   34431             :                     ColumnDef *n = makeNode(ColumnDef);
   34432             : 
   34433             :                     n->colname = (yyvsp[-1].str);
   34434             :                     n->typeName = NULL;
   34435             :                     n->inhcount = 0;
   34436             :                     n->is_local = true;
   34437             :                     n->is_not_null = false;
   34438             :                     n->is_from_type = false;
   34439             :                     n->storage = 0;
   34440             :                     n->raw_default = NULL;
   34441             :                     n->cooked_default = NULL;
   34442             :                     n->collOid = InvalidOid;
   34443             :                     SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
   34444             :                                      yyscanner);
   34445             :                     n->location = (yylsp[-1]);
   34446             :                     (yyval.node) = (Node *) n;
   34447             :                 }
   34448             : #line 34449 "gram.c"
   34449         146 :     break;
   34450             : 
   34451         208 :   case 484: /* columnOptions: ColId WITH OPTIONS ColQualList  */
   34452             : #line 3854 "gram.y"
   34453             :                                 {
   34454             :                     ColumnDef *n = makeNode(ColumnDef);
   34455             : 
   34456             :                     n->colname = (yyvsp[-3].str);
   34457             :                     n->typeName = NULL;
   34458             :                     n->inhcount = 0;
   34459             :                     n->is_local = true;
   34460             :                     n->is_not_null = false;
   34461             :                     n->is_from_type = false;
   34462             :                     n->storage = 0;
   34463             :                     n->raw_default = NULL;
   34464             :                     n->cooked_default = NULL;
   34465             :                     n->collOid = InvalidOid;
   34466             :                     SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
   34467             :                                      yyscanner);
   34468             :                     n->location = (yylsp[-3]);
   34469             :                     (yyval.node) = (Node *) n;
   34470             :                 }
   34471             : #line 34472 "gram.c"
   34472         208 :     break;
   34473             : 
   34474         166 :   case 485: /* column_compression: COMPRESSION ColId  */
   34475             : #line 3875 "gram.y"
   34476             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   34477             : #line 34478 "gram.c"
   34478         166 :     break;
   34479             : 
   34480           6 :   case 486: /* column_compression: COMPRESSION DEFAULT  */
   34481             : #line 3876 "gram.y"
   34482             :                                                                                 { (yyval.str) = pstrdup("default"); }
   34483             : #line 34484 "gram.c"
   34484           6 :     break;
   34485             : 
   34486          82 :   case 487: /* opt_column_compression: column_compression  */
   34487             : #line 3880 "gram.y"
   34488             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   34489             : #line 34490 "gram.c"
   34490          82 :     break;
   34491             : 
   34492       72408 :   case 488: /* opt_column_compression: %empty  */
   34493             : #line 3881 "gram.y"
   34494             :                                                                                                 { (yyval.str) = NULL; }
   34495             : #line 34496 "gram.c"
   34496       72408 :     break;
   34497             : 
   34498         238 :   case 489: /* column_storage: STORAGE ColId  */
   34499             : #line 3885 "gram.y"
   34500             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   34501             : #line 34502 "gram.c"
   34502         238 :     break;
   34503             : 
   34504           6 :   case 490: /* column_storage: STORAGE DEFAULT  */
   34505             : #line 3886 "gram.y"
   34506             :                                                                                         { (yyval.str) = pstrdup("default"); }
   34507             : #line 34508 "gram.c"
   34508           6 :     break;
   34509             : 
   34510          20 :   case 491: /* opt_column_storage: column_storage  */
   34511             : #line 3890 "gram.y"
   34512             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   34513             : #line 34514 "gram.c"
   34514          20 :     break;
   34515             : 
   34516       72470 :   case 492: /* opt_column_storage: %empty  */
   34517             : #line 3891 "gram.y"
   34518             :                                                                                                 { (yyval.str) = NULL; }
   34519             : #line 34520 "gram.c"
   34520       72470 :     break;
   34521             : 
   34522       20348 :   case 493: /* ColQualList: ColQualList ColConstraint  */
   34523             : #line 3895 "gram.y"
   34524             :                                                                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
   34525             : #line 34526 "gram.c"
   34526       20348 :     break;
   34527             : 
   34528       74318 :   case 494: /* ColQualList: %empty  */
   34529             : #line 3896 "gram.y"
   34530             :                                                                                                 { (yyval.list) = NIL; }
   34531             : #line 34532 "gram.c"
   34532       74318 :     break;
   34533             : 
   34534         930 :   case 495: /* ColConstraint: CONSTRAINT name ColConstraintElem  */
   34535             : #line 3901 "gram.y"
   34536             :                                 {
   34537             :                     Constraint *n = castNode(Constraint, (yyvsp[0].node));
   34538             : 
   34539             :                     n->conname = (yyvsp[-1].str);
   34540             :                     n->location = (yylsp[-2]);
   34541             :                     (yyval.node) = (Node *) n;
   34542             :                 }
   34543             : #line 34544 "gram.c"
   34544         930 :     break;
   34545             : 
   34546       18364 :   case 496: /* ColConstraint: ColConstraintElem  */
   34547             : #line 3908 "gram.y"
   34548             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   34549             : #line 34550 "gram.c"
   34550       18364 :     break;
   34551             : 
   34552         294 :   case 497: /* ColConstraint: ConstraintAttr  */
   34553             : #line 3909 "gram.y"
   34554             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   34555             : #line 34556 "gram.c"
   34556         294 :     break;
   34557             : 
   34558         760 :   case 498: /* ColConstraint: COLLATE any_name  */
   34559             : #line 3911 "gram.y"
   34560             :                                 {
   34561             :                     /*
   34562             :                      * Note: the CollateClause is momentarily included in
   34563             :                      * the list built by ColQualList, but we split it out
   34564             :                      * again in SplitColQualList.
   34565             :                      */
   34566             :                     CollateClause *n = makeNode(CollateClause);
   34567             : 
   34568             :                     n->arg = NULL;
   34569             :                     n->collname = (yyvsp[0].list);
   34570             :                     n->location = (yylsp[-1]);
   34571             :                     (yyval.node) = (Node *) n;
   34572             :                 }
   34573             : #line 34574 "gram.c"
   34574         760 :     break;
   34575             : 
   34576        7106 :   case 499: /* ColConstraintElem: NOT NULL_P opt_no_inherit  */
   34577             : #line 3943 "gram.y"
   34578             :                                 {
   34579             :                     Constraint *n = makeNode(Constraint);
   34580             : 
   34581             :                     n->contype = CONSTR_NOTNULL;
   34582             :                     n->location = (yylsp[-2]);
   34583             :                     n->is_no_inherit = (yyvsp[0].boolean);
   34584             :                     n->is_enforced = true;
   34585             :                     n->skip_validation = false;
   34586             :                     n->initially_valid = true;
   34587             :                     (yyval.node) = (Node *) n;
   34588             :                 }
   34589             : #line 34590 "gram.c"
   34590        7106 :     break;
   34591             : 
   34592          30 :   case 500: /* ColConstraintElem: NULL_P  */
   34593             : #line 3955 "gram.y"
   34594             :                                 {
   34595             :                     Constraint *n = makeNode(Constraint);
   34596             : 
   34597             :                     n->contype = CONSTR_NULL;
   34598             :                     n->location = (yylsp[0]);
   34599             :                     (yyval.node) = (Node *) n;
   34600             :                 }
   34601             : #line 34602 "gram.c"
   34602          30 :     break;
   34603             : 
   34604         446 :   case 501: /* ColConstraintElem: UNIQUE opt_unique_null_treatment opt_definition OptConsTableSpace  */
   34605             : #line 3963 "gram.y"
   34606             :                                 {
   34607             :                     Constraint *n = makeNode(Constraint);
   34608             : 
   34609             :                     n->contype = CONSTR_UNIQUE;
   34610             :                     n->location = (yylsp[-3]);
   34611             :                     n->nulls_not_distinct = !(yyvsp[-2].boolean);
   34612             :                     n->keys = NULL;
   34613             :                     n->options = (yyvsp[-1].list);
   34614             :                     n->indexname = NULL;
   34615             :                     n->indexspace = (yyvsp[0].str);
   34616             :                     (yyval.node) = (Node *) n;
   34617             :                 }
   34618             : #line 34619 "gram.c"
   34619         446 :     break;
   34620             : 
   34621        5748 :   case 502: /* ColConstraintElem: PRIMARY KEY opt_definition OptConsTableSpace  */
   34622             : #line 3976 "gram.y"
   34623             :                                 {
   34624             :                     Constraint *n = makeNode(Constraint);
   34625             : 
   34626             :                     n->contype = CONSTR_PRIMARY;
   34627             :                     n->location = (yylsp[-3]);
   34628             :                     n->keys = NULL;
   34629             :                     n->options = (yyvsp[-1].list);
   34630             :                     n->indexname = NULL;
   34631             :                     n->indexspace = (yyvsp[0].str);
   34632             :                     (yyval.node) = (Node *) n;
   34633             :                 }
   34634             : #line 34635 "gram.c"
   34635        5748 :     break;
   34636             : 
   34637        1104 :   case 503: /* ColConstraintElem: CHECK '(' a_expr ')' opt_no_inherit  */
   34638             : #line 3988 "gram.y"
   34639             :                                 {
   34640             :                     Constraint *n = makeNode(Constraint);
   34641             : 
   34642             :                     n->contype = CONSTR_CHECK;
   34643             :                     n->location = (yylsp[-4]);
   34644             :                     n->is_no_inherit = (yyvsp[0].boolean);
   34645             :                     n->raw_expr = (yyvsp[-2].node);
   34646             :                     n->cooked_expr = NULL;
   34647             :                     n->is_enforced = true;
   34648             :                     n->skip_validation = false;
   34649             :                     n->initially_valid = true;
   34650             :                     (yyval.node) = (Node *) n;
   34651             :                 }
   34652             : #line 34653 "gram.c"
   34653        1104 :     break;
   34654             : 
   34655        1882 :   case 504: /* ColConstraintElem: DEFAULT b_expr  */
   34656             : #line 4002 "gram.y"
   34657             :                                 {
   34658             :                     Constraint *n = makeNode(Constraint);
   34659             : 
   34660             :                     n->contype = CONSTR_DEFAULT;
   34661             :                     n->location = (yylsp[-1]);
   34662             :                     n->raw_expr = (yyvsp[0].node);
   34663             :                     n->cooked_expr = NULL;
   34664             :                     (yyval.node) = (Node *) n;
   34665             :                 }
   34666             : #line 34667 "gram.c"
   34667        1882 :     break;
   34668             : 
   34669         332 :   case 505: /* ColConstraintElem: GENERATED generated_when AS IDENTITY_P OptParenthesizedSeqOptList  */
   34670             : #line 4012 "gram.y"
   34671             :                                 {
   34672             :                     Constraint *n = makeNode(Constraint);
   34673             : 
   34674             :                     n->contype = CONSTR_IDENTITY;
   34675             :                     n->generated_when = (yyvsp[-3].ival);
   34676             :                     n->options = (yyvsp[0].list);
   34677             :                     n->location = (yylsp[-4]);
   34678             :                     (yyval.node) = (Node *) n;
   34679             :                 }
   34680             : #line 34681 "gram.c"
   34681         332 :     break;
   34682             : 
   34683        1830 :   case 506: /* ColConstraintElem: GENERATED generated_when AS '(' a_expr ')' opt_virtual_or_stored  */
   34684             : #line 4022 "gram.y"
   34685             :                                 {
   34686             :                     Constraint *n = makeNode(Constraint);
   34687             : 
   34688             :                     n->contype = CONSTR_GENERATED;
   34689             :                     n->generated_when = (yyvsp[-5].ival);
   34690             :                     n->raw_expr = (yyvsp[-2].node);
   34691             :                     n->cooked_expr = NULL;
   34692             :                     n->generated_kind = (yyvsp[0].ival);
   34693             :                     n->location = (yylsp[-6]);
   34694             : 
   34695             :                     /*
   34696             :                      * Can't do this in the grammar because of shift/reduce
   34697             :                      * conflicts.  (IDENTITY allows both ALWAYS and BY
   34698             :                      * DEFAULT, but generated columns only allow ALWAYS.)  We
   34699             :                      * can also give a more useful error message and location.
   34700             :                      */
   34701             :                     if ((yyvsp[-5].ival) != ATTRIBUTE_IDENTITY_ALWAYS)
   34702             :                         ereport(ERROR,
   34703             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   34704             :                                  errmsg("for a generated column, GENERATED ALWAYS must be specified"),
   34705             :                                  parser_errposition((yylsp[-5]))));
   34706             : 
   34707             :                     (yyval.node) = (Node *) n;
   34708             :                 }
   34709             : #line 34710 "gram.c"
   34710        1818 :     break;
   34711             : 
   34712         828 :   case 507: /* ColConstraintElem: REFERENCES qualified_name opt_column_list key_match key_actions  */
   34713             : #line 4047 "gram.y"
   34714             :                                 {
   34715             :                     Constraint *n = makeNode(Constraint);
   34716             : 
   34717             :                     n->contype = CONSTR_FOREIGN;
   34718             :                     n->location = (yylsp[-4]);
   34719             :                     n->pktable = (yyvsp[-3].range);
   34720             :                     n->fk_attrs = NIL;
   34721             :                     n->pk_attrs = (yyvsp[-2].list);
   34722             :                     n->fk_matchtype = (yyvsp[-1].ival);
   34723             :                     n->fk_upd_action = ((yyvsp[0].keyactions))->updateAction->action;
   34724             :                     n->fk_del_action = ((yyvsp[0].keyactions))->deleteAction->action;
   34725             :                     n->fk_del_set_cols = ((yyvsp[0].keyactions))->deleteAction->cols;
   34726             :                     n->is_enforced = true;
   34727             :                     n->skip_validation = false;
   34728             :                     n->initially_valid = true;
   34729             :                     (yyval.node) = (Node *) n;
   34730             :                 }
   34731             : #line 34732 "gram.c"
   34732         828 :     break;
   34733             : 
   34734          12 :   case 508: /* opt_unique_null_treatment: NULLS_P DISTINCT  */
   34735             : #line 4067 "gram.y"
   34736             :                                                         { (yyval.boolean) = true; }
   34737             : #line 34738 "gram.c"
   34738          12 :     break;
   34739             : 
   34740          36 :   case 509: /* opt_unique_null_treatment: NULLS_P NOT DISTINCT  */
   34741             : #line 4068 "gram.y"
   34742             :                                                 { (yyval.boolean) = false; }
   34743             : #line 34744 "gram.c"
   34744          36 :     break;
   34745             : 
   34746        7918 :   case 510: /* opt_unique_null_treatment: %empty  */
   34747             : #line 4069 "gram.y"
   34748             :                                                                 { (yyval.boolean) = true; }
   34749             : #line 34750 "gram.c"
   34750        7918 :     break;
   34751             : 
   34752        2218 :   case 511: /* generated_when: ALWAYS  */
   34753             : #line 4073 "gram.y"
   34754             :                                                 { (yyval.ival) = ATTRIBUTE_IDENTITY_ALWAYS; }
   34755             : #line 34756 "gram.c"
   34756        2218 :     break;
   34757             : 
   34758         198 :   case 512: /* generated_when: BY DEFAULT  */
   34759             : #line 4074 "gram.y"
   34760             :                                         { (yyval.ival) = ATTRIBUTE_IDENTITY_BY_DEFAULT; }
   34761             : #line 34762 "gram.c"
   34762         198 :     break;
   34763             : 
   34764        1038 :   case 513: /* opt_virtual_or_stored: STORED  */
   34765             : #line 4078 "gram.y"
   34766             :                                                 { (yyval.ival) = ATTRIBUTE_GENERATED_STORED; }
   34767             : #line 34768 "gram.c"
   34768        1038 :     break;
   34769             : 
   34770         616 :   case 514: /* opt_virtual_or_stored: VIRTUAL  */
   34771             : #line 4079 "gram.y"
   34772             :                                                 { (yyval.ival) = ATTRIBUTE_GENERATED_VIRTUAL; }
   34773             : #line 34774 "gram.c"
   34774         616 :     break;
   34775             : 
   34776         176 :   case 515: /* opt_virtual_or_stored: %empty  */
   34777             : #line 4080 "gram.y"
   34778             :                                                 { (yyval.ival) = ATTRIBUTE_GENERATED_VIRTUAL; }
   34779             : #line 34780 "gram.c"
   34780         176 :     break;
   34781             : 
   34782         102 :   case 516: /* ConstraintAttr: DEFERRABLE  */
   34783             : #line 4100 "gram.y"
   34784             :                                 {
   34785             :                     Constraint *n = makeNode(Constraint);
   34786             : 
   34787             :                     n->contype = CONSTR_ATTR_DEFERRABLE;
   34788             :                     n->location = (yylsp[0]);
   34789             :                     (yyval.node) = (Node *) n;
   34790             :                 }
   34791             : #line 34792 "gram.c"
   34792         102 :     break;
   34793             : 
   34794           0 :   case 517: /* ConstraintAttr: NOT DEFERRABLE  */
   34795             : #line 4108 "gram.y"
   34796             :                                 {
   34797             :                     Constraint *n = makeNode(Constraint);
   34798             : 
   34799             :                     n->contype = CONSTR_ATTR_NOT_DEFERRABLE;
   34800             :                     n->location = (yylsp[-1]);
   34801             :                     (yyval.node) = (Node *) n;
   34802             :                 }
   34803             : #line 34804 "gram.c"
   34804           0 :     break;
   34805             : 
   34806          78 :   case 518: /* ConstraintAttr: INITIALLY DEFERRED  */
   34807             : #line 4116 "gram.y"
   34808             :                                 {
   34809             :                     Constraint *n = makeNode(Constraint);
   34810             : 
   34811             :                     n->contype = CONSTR_ATTR_DEFERRED;
   34812             :                     n->location = (yylsp[-1]);
   34813             :                     (yyval.node) = (Node *) n;
   34814             :                 }
   34815             : #line 34816 "gram.c"
   34816          78 :     break;
   34817             : 
   34818           6 :   case 519: /* ConstraintAttr: INITIALLY IMMEDIATE  */
   34819             : #line 4124 "gram.y"
   34820             :                                 {
   34821             :                     Constraint *n = makeNode(Constraint);
   34822             : 
   34823             :                     n->contype = CONSTR_ATTR_IMMEDIATE;
   34824             :                     n->location = (yylsp[-1]);
   34825             :                     (yyval.node) = (Node *) n;
   34826             :                 }
   34827             : #line 34828 "gram.c"
   34828           6 :     break;
   34829             : 
   34830          42 :   case 520: /* ConstraintAttr: ENFORCED  */
   34831             : #line 4132 "gram.y"
   34832             :                                 {
   34833             :                     Constraint *n = makeNode(Constraint);
   34834             : 
   34835             :                     n->contype = CONSTR_ATTR_ENFORCED;
   34836             :                     n->location = (yylsp[0]);
   34837             :                     (yyval.node) = (Node *) n;
   34838             :                 }
   34839             : #line 34840 "gram.c"
   34840          42 :     break;
   34841             : 
   34842          66 :   case 521: /* ConstraintAttr: NOT ENFORCED  */
   34843             : #line 4140 "gram.y"
   34844             :                                 {
   34845             :                     Constraint *n = makeNode(Constraint);
   34846             : 
   34847             :                     n->contype = CONSTR_ATTR_NOT_ENFORCED;
   34848             :                     n->location = (yylsp[-1]);
   34849             :                     (yyval.node) = (Node *) n;
   34850             :                 }
   34851             : #line 34852 "gram.c"
   34852          66 :     break;
   34853             : 
   34854         774 :   case 522: /* TableLikeClause: LIKE qualified_name TableLikeOptionList  */
   34855             : #line 4152 "gram.y"
   34856             :                                 {
   34857             :                     TableLikeClause *n = makeNode(TableLikeClause);
   34858             : 
   34859             :                     n->relation = (yyvsp[-1].range);
   34860             :                     n->options = (yyvsp[0].ival);
   34861             :                     n->relationOid = InvalidOid;
   34862             :                     (yyval.node) = (Node *) n;
   34863             :                 }
   34864             : #line 34865 "gram.c"
   34865         774 :     break;
   34866             : 
   34867         282 :   case 523: /* TableLikeOptionList: TableLikeOptionList INCLUDING TableLikeOption  */
   34868             : #line 4163 "gram.y"
   34869             :                                                                                 { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
   34870             : #line 34871 "gram.c"
   34871         282 :     break;
   34872             : 
   34873           8 :   case 524: /* TableLikeOptionList: TableLikeOptionList EXCLUDING TableLikeOption  */
   34874             : #line 4164 "gram.y"
   34875             :                                                                                 { (yyval.ival) = (yyvsp[-2].ival) & ~(yyvsp[0].ival); }
   34876             : #line 34877 "gram.c"
   34877           8 :     break;
   34878             : 
   34879         774 :   case 525: /* TableLikeOptionList: %empty  */
   34880             : #line 4165 "gram.y"
   34881             :                                                                                         { (yyval.ival) = 0; }
   34882             : #line 34883 "gram.c"
   34883         774 :     break;
   34884             : 
   34885          24 :   case 526: /* TableLikeOption: COMMENTS  */
   34886             : #line 4169 "gram.y"
   34887             :                                                                 { (yyval.ival) = CREATE_TABLE_LIKE_COMMENTS; }
   34888             : #line 34889 "gram.c"
   34889          24 :     break;
   34890             : 
   34891           6 :   case 527: /* TableLikeOption: COMPRESSION  */
   34892             : #line 4170 "gram.y"
   34893             :                                                         { (yyval.ival) = CREATE_TABLE_LIKE_COMPRESSION; }
   34894             : #line 34895 "gram.c"
   34895           6 :     break;
   34896             : 
   34897          54 :   case 528: /* TableLikeOption: CONSTRAINTS  */
   34898             : #line 4171 "gram.y"
   34899             :                                                         { (yyval.ival) = CREATE_TABLE_LIKE_CONSTRAINTS; }
   34900             : #line 34901 "gram.c"
   34901          54 :     break;
   34902             : 
   34903          20 :   case 529: /* TableLikeOption: DEFAULTS  */
   34904             : #line 4172 "gram.y"
   34905             :                                                                 { (yyval.ival) = CREATE_TABLE_LIKE_DEFAULTS; }
   34906             : #line 34907 "gram.c"
   34907          20 :     break;
   34908             : 
   34909          12 :   case 530: /* TableLikeOption: IDENTITY_P  */
   34910             : #line 4173 "gram.y"
   34911             :                                                         { (yyval.ival) = CREATE_TABLE_LIKE_IDENTITY; }
   34912             : #line 34913 "gram.c"
   34913          12 :     break;
   34914             : 
   34915          30 :   case 531: /* TableLikeOption: GENERATED  */
   34916             : #line 4174 "gram.y"
   34917             :                                                                 { (yyval.ival) = CREATE_TABLE_LIKE_GENERATED; }
   34918             : #line 34919 "gram.c"
   34919          30 :     break;
   34920             : 
   34921          50 :   case 532: /* TableLikeOption: INDEXES  */
   34922             : #line 4175 "gram.y"
   34923             :                                                                 { (yyval.ival) = CREATE_TABLE_LIKE_INDEXES; }
   34924             : #line 34925 "gram.c"
   34925          50 :     break;
   34926             : 
   34927           0 :   case 533: /* TableLikeOption: STATISTICS  */
   34928             : #line 4176 "gram.y"
   34929             :                                                         { (yyval.ival) = CREATE_TABLE_LIKE_STATISTICS; }
   34930             : #line 34931 "gram.c"
   34931           0 :     break;
   34932             : 
   34933          26 :   case 534: /* TableLikeOption: STORAGE  */
   34934             : #line 4177 "gram.y"
   34935             :                                                                 { (yyval.ival) = CREATE_TABLE_LIKE_STORAGE; }
   34936             : #line 34937 "gram.c"
   34937          26 :     break;
   34938             : 
   34939          68 :   case 535: /* TableLikeOption: ALL  */
   34940             : #line 4178 "gram.y"
   34941             :                                                                 { (yyval.ival) = CREATE_TABLE_LIKE_ALL; }
   34942             : #line 34943 "gram.c"
   34943          68 :     break;
   34944             : 
   34945        4458 :   case 536: /* TableConstraint: CONSTRAINT name ConstraintElem  */
   34946             : #line 4188 "gram.y"
   34947             :                                 {
   34948             :                     Constraint *n = castNode(Constraint, (yyvsp[0].node));
   34949             : 
   34950             :                     n->conname = (yyvsp[-1].str);
   34951             :                     n->location = (yylsp[-2]);
   34952             :                     (yyval.node) = (Node *) n;
   34953             :                 }
   34954             : #line 34955 "gram.c"
   34955        4458 :     break;
   34956             : 
   34957       12982 :   case 537: /* TableConstraint: ConstraintElem  */
   34958             : #line 4195 "gram.y"
   34959             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   34960             : #line 34961 "gram.c"
   34961       12982 :     break;
   34962             : 
   34963        1314 :   case 538: /* ConstraintElem: CHECK '(' a_expr ')' ConstraintAttributeSpec  */
   34964             : #line 4200 "gram.y"
   34965             :                                 {
   34966             :                     Constraint *n = makeNode(Constraint);
   34967             : 
   34968             :                     n->contype = CONSTR_CHECK;
   34969             :                     n->location = (yylsp[-4]);
   34970             :                     n->raw_expr = (yyvsp[-2].node);
   34971             :                     n->cooked_expr = NULL;
   34972             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "CHECK",
   34973             :                                    NULL, NULL, &n->is_enforced, &n->skip_validation,
   34974             :                                    &n->is_no_inherit, yyscanner);
   34975             :                     n->initially_valid = !n->skip_validation;
   34976             :                     (yyval.node) = (Node *) n;
   34977             :                 }
   34978             : #line 34979 "gram.c"
   34979        1314 :     break;
   34980             : 
   34981         600 :   case 539: /* ConstraintElem: NOT NULL_P ColId ConstraintAttributeSpec  */
   34982             : #line 4214 "gram.y"
   34983             :                                 {
   34984             :                     Constraint *n = makeNode(Constraint);
   34985             : 
   34986             :                     n->contype = CONSTR_NOTNULL;
   34987             :                     n->location = (yylsp[-3]);
   34988             :                     n->keys = list_make1(makeString((yyvsp[-1].str)));
   34989             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "NOT NULL",
   34990             :                                    NULL, NULL, NULL, &n->skip_validation,
   34991             :                                    &n->is_no_inherit, yyscanner);
   34992             :                     n->initially_valid = !n->skip_validation;
   34993             :                     (yyval.node) = (Node *) n;
   34994             :                 }
   34995             : #line 34996 "gram.c"
   34996         600 :     break;
   34997             : 
   34998         630 :   case 540: /* ConstraintElem: UNIQUE opt_unique_null_treatment '(' columnList opt_without_overlaps ')' opt_c_include opt_definition OptConsTableSpace ConstraintAttributeSpec  */
   34999             : #line 4228 "gram.y"
   35000             :                                 {
   35001             :                     Constraint *n = makeNode(Constraint);
   35002             : 
   35003             :                     n->contype = CONSTR_UNIQUE;
   35004             :                     n->location = (yylsp[-9]);
   35005             :                     n->nulls_not_distinct = !(yyvsp[-8].boolean);
   35006             :                     n->keys = (yyvsp[-6].list);
   35007             :                     n->without_overlaps = (yyvsp[-5].boolean);
   35008             :                     n->including = (yyvsp[-3].list);
   35009             :                     n->options = (yyvsp[-2].list);
   35010             :                     n->indexname = NULL;
   35011             :                     n->indexspace = (yyvsp[-1].str);
   35012             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "UNIQUE",
   35013             :                                    &n->deferrable, &n->initdeferred, NULL,
   35014             :                                    NULL, NULL, yyscanner);
   35015             :                     (yyval.node) = (Node *) n;
   35016             :                 }
   35017             : #line 35018 "gram.c"
   35018         630 :     break;
   35019             : 
   35020        4552 :   case 541: /* ConstraintElem: UNIQUE ExistingIndex ConstraintAttributeSpec  */
   35021             : #line 4246 "gram.y"
   35022             :                                 {
   35023             :                     Constraint *n = makeNode(Constraint);
   35024             : 
   35025             :                     n->contype = CONSTR_UNIQUE;
   35026             :                     n->location = (yylsp[-2]);
   35027             :                     n->keys = NIL;
   35028             :                     n->including = NIL;
   35029             :                     n->options = NIL;
   35030             :                     n->indexname = (yyvsp[-1].str);
   35031             :                     n->indexspace = NULL;
   35032             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "UNIQUE",
   35033             :                                    &n->deferrable, &n->initdeferred, NULL,
   35034             :                                    NULL, NULL, yyscanner);
   35035             :                     (yyval.node) = (Node *) n;
   35036             :                 }
   35037             : #line 35038 "gram.c"
   35038        4552 :     break;
   35039             : 
   35040        2378 :   case 542: /* ConstraintElem: PRIMARY KEY '(' columnList opt_without_overlaps ')' opt_c_include opt_definition OptConsTableSpace ConstraintAttributeSpec  */
   35041             : #line 4263 "gram.y"
   35042             :                                 {
   35043             :                     Constraint *n = makeNode(Constraint);
   35044             : 
   35045             :                     n->contype = CONSTR_PRIMARY;
   35046             :                     n->location = (yylsp[-9]);
   35047             :                     n->keys = (yyvsp[-6].list);
   35048             :                     n->without_overlaps = (yyvsp[-5].boolean);
   35049             :                     n->including = (yyvsp[-3].list);
   35050             :                     n->options = (yyvsp[-2].list);
   35051             :                     n->indexname = NULL;
   35052             :                     n->indexspace = (yyvsp[-1].str);
   35053             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "PRIMARY KEY",
   35054             :                                    &n->deferrable, &n->initdeferred, NULL,
   35055             :                                    NULL, NULL, yyscanner);
   35056             :                     (yyval.node) = (Node *) n;
   35057             :                 }
   35058             : #line 35059 "gram.c"
   35059        2378 :     break;
   35060             : 
   35061        5894 :   case 543: /* ConstraintElem: PRIMARY KEY ExistingIndex ConstraintAttributeSpec  */
   35062             : #line 4280 "gram.y"
   35063             :                                 {
   35064             :                     Constraint *n = makeNode(Constraint);
   35065             : 
   35066             :                     n->contype = CONSTR_PRIMARY;
   35067             :                     n->location = (yylsp[-3]);
   35068             :                     n->keys = NIL;
   35069             :                     n->including = NIL;
   35070             :                     n->options = NIL;
   35071             :                     n->indexname = (yyvsp[-1].str);
   35072             :                     n->indexspace = NULL;
   35073             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "PRIMARY KEY",
   35074             :                                    &n->deferrable, &n->initdeferred, NULL,
   35075             :                                    NULL, NULL, yyscanner);
   35076             :                     (yyval.node) = (Node *) n;
   35077             :                 }
   35078             : #line 35079 "gram.c"
   35079        5894 :     break;
   35080             : 
   35081         238 :   case 544: /* ConstraintElem: EXCLUDE access_method_clause '(' ExclusionConstraintList ')' opt_c_include opt_definition OptConsTableSpace OptWhereClause ConstraintAttributeSpec  */
   35082             : #line 4298 "gram.y"
   35083             :                                 {
   35084             :                     Constraint *n = makeNode(Constraint);
   35085             : 
   35086             :                     n->contype = CONSTR_EXCLUSION;
   35087             :                     n->location = (yylsp[-9]);
   35088             :                     n->access_method = (yyvsp[-8].str);
   35089             :                     n->exclusions = (yyvsp[-6].list);
   35090             :                     n->including = (yyvsp[-4].list);
   35091             :                     n->options = (yyvsp[-3].list);
   35092             :                     n->indexname = NULL;
   35093             :                     n->indexspace = (yyvsp[-2].str);
   35094             :                     n->where_clause = (yyvsp[-1].node);
   35095             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "EXCLUDE",
   35096             :                                    &n->deferrable, &n->initdeferred, NULL,
   35097             :                                    NULL, NULL, yyscanner);
   35098             :                     (yyval.node) = (Node *) n;
   35099             :                 }
   35100             : #line 35101 "gram.c"
   35101         238 :     break;
   35102             : 
   35103        1834 :   case 545: /* ConstraintElem: FOREIGN KEY '(' columnList optionalPeriodName ')' REFERENCES qualified_name opt_column_and_period_list key_match key_actions ConstraintAttributeSpec  */
   35104             : #line 4317 "gram.y"
   35105             :                                 {
   35106             :                     Constraint *n = makeNode(Constraint);
   35107             : 
   35108             :                     n->contype = CONSTR_FOREIGN;
   35109             :                     n->location = (yylsp[-11]);
   35110             :                     n->pktable = (yyvsp[-4].range);
   35111             :                     n->fk_attrs = (yyvsp[-8].list);
   35112             :                     if ((yyvsp[-7].node))
   35113             :                     {
   35114             :                         n->fk_attrs = lappend(n->fk_attrs, (yyvsp[-7].node));
   35115             :                         n->fk_with_period = true;
   35116             :                     }
   35117             :                     n->pk_attrs = linitial((yyvsp[-3].list));
   35118             :                     if (lsecond((yyvsp[-3].list)))
   35119             :                     {
   35120             :                         n->pk_attrs = lappend(n->pk_attrs, lsecond((yyvsp[-3].list)));
   35121             :                         n->pk_with_period = true;
   35122             :                     }
   35123             :                     n->fk_matchtype = (yyvsp[-2].ival);
   35124             :                     n->fk_upd_action = ((yyvsp[-1].keyactions))->updateAction->action;
   35125             :                     n->fk_del_action = ((yyvsp[-1].keyactions))->deleteAction->action;
   35126             :                     n->fk_del_set_cols = ((yyvsp[-1].keyactions))->deleteAction->cols;
   35127             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "FOREIGN KEY",
   35128             :                                    &n->deferrable, &n->initdeferred,
   35129             :                                    &n->is_enforced, &n->skip_validation, NULL,
   35130             :                                    yyscanner);
   35131             :                     n->initially_valid = !n->skip_validation;
   35132             :                     (yyval.node) = (Node *) n;
   35133             :                 }
   35134             : #line 35135 "gram.c"
   35135        1834 :     break;
   35136             : 
   35137         156 :   case 546: /* DomainConstraint: CONSTRAINT name DomainConstraintElem  */
   35138             : #line 4361 "gram.y"
   35139             :                                 {
   35140             :                     Constraint *n = castNode(Constraint, (yyvsp[0].node));
   35141             : 
   35142             :                     n->conname = (yyvsp[-1].str);
   35143             :                     n->location = (yylsp[-2]);
   35144             :                     (yyval.node) = (Node *) n;
   35145             :                 }
   35146             : #line 35147 "gram.c"
   35147         156 :     break;
   35148             : 
   35149          18 :   case 547: /* DomainConstraint: DomainConstraintElem  */
   35150             : #line 4368 "gram.y"
   35151             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   35152             : #line 35153 "gram.c"
   35153          18 :     break;
   35154             : 
   35155         156 :   case 548: /* DomainConstraintElem: CHECK '(' a_expr ')' ConstraintAttributeSpec  */
   35156             : #line 4373 "gram.y"
   35157             :                                 {
   35158             :                     Constraint *n = makeNode(Constraint);
   35159             : 
   35160             :                     n->contype = CONSTR_CHECK;
   35161             :                     n->location = (yylsp[-4]);
   35162             :                     n->raw_expr = (yyvsp[-2].node);
   35163             :                     n->cooked_expr = NULL;
   35164             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "CHECK",
   35165             :                                    NULL, NULL, NULL, &n->skip_validation,
   35166             :                                    &n->is_no_inherit, yyscanner);
   35167             :                     n->is_enforced = true;
   35168             :                     n->initially_valid = !n->skip_validation;
   35169             :                     (yyval.node) = (Node *) n;
   35170             :                 }
   35171             : #line 35172 "gram.c"
   35172         144 :     break;
   35173             : 
   35174          30 :   case 549: /* DomainConstraintElem: NOT NULL_P ConstraintAttributeSpec  */
   35175             : #line 4388 "gram.y"
   35176             :                                 {
   35177             :                     Constraint *n = makeNode(Constraint);
   35178             : 
   35179             :                     n->contype = CONSTR_NOTNULL;
   35180             :                     n->location = (yylsp[-2]);
   35181             :                     n->keys = list_make1(makeString("value"));
   35182             :                     /* no NOT VALID, NO INHERIT support */
   35183             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "NOT NULL",
   35184             :                                    NULL, NULL, NULL,
   35185             :                                    NULL, NULL, yyscanner);
   35186             :                     n->initially_valid = true;
   35187             :                     (yyval.node) = (Node *) n;
   35188             :                 }
   35189             : #line 35190 "gram.c"
   35190          30 :     break;
   35191             : 
   35192         138 :   case 550: /* opt_no_inherit: NO INHERIT  */
   35193             : #line 4403 "gram.y"
   35194             :                                                                                 {  (yyval.boolean) = true; }
   35195             : #line 35196 "gram.c"
   35196         138 :     break;
   35197             : 
   35198        8072 :   case 551: /* opt_no_inherit: %empty  */
   35199             : #line 4404 "gram.y"
   35200             :                                                                                         {  (yyval.boolean) = false; }
   35201             : #line 35202 "gram.c"
   35202        8072 :     break;
   35203             : 
   35204         570 :   case 552: /* opt_without_overlaps: WITHOUT OVERLAPS  */
   35205             : #line 4408 "gram.y"
   35206             :                                                                                         { (yyval.boolean) = true; }
   35207             : #line 35208 "gram.c"
   35208         570 :     break;
   35209             : 
   35210        2438 :   case 553: /* opt_without_overlaps: %empty  */
   35211             : #line 4409 "gram.y"
   35212             :                                                                                                 { (yyval.boolean) = false; }
   35213             : #line 35214 "gram.c"
   35214        2438 :     break;
   35215             : 
   35216       15054 :   case 554: /* opt_column_list: '(' columnList ')'  */
   35217             : #line 4413 "gram.y"
   35218             :                                                                                         { (yyval.list) = (yyvsp[-1].list); }
   35219             : #line 35220 "gram.c"
   35220       15054 :     break;
   35221             : 
   35222       42280 :   case 555: /* opt_column_list: %empty  */
   35223             : #line 4414 "gram.y"
   35224             :                                                                                                 { (yyval.list) = NIL; }
   35225             : #line 35226 "gram.c"
   35226       42280 :     break;
   35227             : 
   35228       21644 :   case 556: /* columnList: columnElem  */
   35229             : #line 4418 "gram.y"
   35230             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   35231             : #line 35232 "gram.c"
   35232       21644 :     break;
   35233             : 
   35234       44132 :   case 557: /* columnList: columnList ',' columnElem  */
   35235             : #line 4419 "gram.y"
   35236             :                                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   35237             : #line 35238 "gram.c"
   35238       44132 :     break;
   35239             : 
   35240         472 :   case 558: /* optionalPeriodName: ',' PERIOD columnElem  */
   35241             : #line 4423 "gram.y"
   35242             :                                               { (yyval.node) = (yyvsp[0].node); }
   35243             : #line 35244 "gram.c"
   35244         472 :     break;
   35245             : 
   35246        2530 :   case 559: /* optionalPeriodName: %empty  */
   35247             : #line 4424 "gram.y"
   35248             :                                                   { (yyval.node) = NULL; }
   35249             : #line 35250 "gram.c"
   35250        2530 :     break;
   35251             : 
   35252        1162 :   case 560: /* opt_column_and_period_list: '(' columnList optionalPeriodName ')'  */
   35253             : #line 4428 "gram.y"
   35254             :                                                                                 { (yyval.list) = list_make2((yyvsp[-2].list), (yyvsp[-1].node)); }
   35255             : #line 35256 "gram.c"
   35256        1162 :     break;
   35257             : 
   35258         678 :   case 561: /* opt_column_and_period_list: %empty  */
   35259             : #line 4429 "gram.y"
   35260             :                                                                                                 { (yyval.list) = list_make2(NIL, NULL); }
   35261             : #line 35262 "gram.c"
   35262         678 :     break;
   35263             : 
   35264       66248 :   case 562: /* columnElem: ColId  */
   35265             : #line 4433 "gram.y"
   35266             :                                 {
   35267             :                     (yyval.node) = (Node *) makeString((yyvsp[0].str));
   35268             :                 }
   35269             : #line 35270 "gram.c"
   35270       66248 :     break;
   35271             : 
   35272         176 :   case 563: /* opt_c_include: INCLUDE '(' columnList ')'  */
   35273             : #line 4438 "gram.y"
   35274             :                                                                 { (yyval.list) = (yyvsp[-1].list); }
   35275             : #line 35276 "gram.c"
   35276         176 :     break;
   35277             : 
   35278        3070 :   case 564: /* opt_c_include: %empty  */
   35279             : #line 4439 "gram.y"
   35280             :                                                                                                 { (yyval.list) = NIL; }
   35281             : #line 35282 "gram.c"
   35282        3070 :     break;
   35283             : 
   35284         100 :   case 565: /* key_match: MATCH FULL  */
   35285             : #line 4443 "gram.y"
   35286             :                         {
   35287             :                 (yyval.ival) = FKCONSTR_MATCH_FULL;
   35288             :             }
   35289             : #line 35290 "gram.c"
   35290         100 :     break;
   35291             : 
   35292           0 :   case 566: /* key_match: MATCH PARTIAL  */
   35293             : #line 4447 "gram.y"
   35294             :                         {
   35295             :                 ereport(ERROR,
   35296             :                         (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   35297             :                          errmsg("MATCH PARTIAL not yet implemented"),
   35298             :                          parser_errposition((yylsp[-1]))));
   35299             :                 (yyval.ival) = FKCONSTR_MATCH_PARTIAL;
   35300             :             }
   35301             : #line 35302 "gram.c"
   35302             :     break;
   35303             : 
   35304           6 :   case 567: /* key_match: MATCH SIMPLE  */
   35305             : #line 4455 "gram.y"
   35306             :                         {
   35307             :                 (yyval.ival) = FKCONSTR_MATCH_SIMPLE;
   35308             :             }
   35309             : #line 35310 "gram.c"
   35310           6 :     break;
   35311             : 
   35312        2562 :   case 568: /* key_match: %empty  */
   35313             : #line 4459 "gram.y"
   35314             :                         {
   35315             :                 (yyval.ival) = FKCONSTR_MATCH_SIMPLE;
   35316             :             }
   35317             : #line 35318 "gram.c"
   35318        2562 :     break;
   35319             : 
   35320         238 :   case 569: /* ExclusionConstraintList: ExclusionConstraintElem  */
   35321             : #line 4465 "gram.y"
   35322             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].list)); }
   35323             : #line 35324 "gram.c"
   35324         238 :     break;
   35325             : 
   35326         110 :   case 570: /* ExclusionConstraintList: ExclusionConstraintList ',' ExclusionConstraintElem  */
   35327             : #line 4467 "gram.y"
   35328             :                                                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
   35329             : #line 35330 "gram.c"
   35330         110 :     break;
   35331             : 
   35332         348 :   case 571: /* ExclusionConstraintElem: index_elem WITH any_operator  */
   35333             : #line 4471 "gram.y"
   35334             :                         {
   35335             :                 (yyval.list) = list_make2((yyvsp[-2].ielem), (yyvsp[0].list));
   35336             :             }
   35337             : #line 35338 "gram.c"
   35338         348 :     break;
   35339             : 
   35340           0 :   case 572: /* ExclusionConstraintElem: index_elem WITH OPERATOR '(' any_operator ')'  */
   35341             : #line 4476 "gram.y"
   35342             :                         {
   35343             :                 (yyval.list) = list_make2((yyvsp[-5].ielem), (yyvsp[-1].list));
   35344             :             }
   35345             : #line 35346 "gram.c"
   35346           0 :     break;
   35347             : 
   35348         440 :   case 573: /* OptWhereClause: WHERE '(' a_expr ')'  */
   35349             : #line 4482 "gram.y"
   35350             :                                                                                 { (yyval.node) = (yyvsp[-1].node); }
   35351             : #line 35352 "gram.c"
   35352         440 :     break;
   35353             : 
   35354        1242 :   case 574: /* OptWhereClause: %empty  */
   35355             : #line 4483 "gram.y"
   35356             :                                                                                                 { (yyval.node) = NULL; }
   35357             : #line 35358 "gram.c"
   35358        1242 :     break;
   35359             : 
   35360          76 :   case 575: /* key_actions: key_update  */
   35361             : #line 4488 "gram.y"
   35362             :                                 {
   35363             :                     KeyActions *n = palloc(sizeof(KeyActions));
   35364             : 
   35365             :                     n->updateAction = (yyvsp[0].keyaction);
   35366             :                     n->deleteAction = palloc(sizeof(KeyAction));
   35367             :                     n->deleteAction->action = FKCONSTR_ACTION_NOACTION;
   35368             :                     n->deleteAction->cols = NIL;
   35369             :                     (yyval.keyactions) = n;
   35370             :                 }
   35371             : #line 35372 "gram.c"
   35372          76 :     break;
   35373             : 
   35374         150 :   case 576: /* key_actions: key_delete  */
   35375             : #line 4498 "gram.y"
   35376             :                                 {
   35377             :                     KeyActions *n = palloc(sizeof(KeyActions));
   35378             : 
   35379             :                     n->updateAction = palloc(sizeof(KeyAction));
   35380             :                     n->updateAction->action = FKCONSTR_ACTION_NOACTION;
   35381             :                     n->updateAction->cols = NIL;
   35382             :                     n->deleteAction = (yyvsp[0].keyaction);
   35383             :                     (yyval.keyactions) = n;
   35384             :                 }
   35385             : #line 35386 "gram.c"
   35386         150 :     break;
   35387             : 
   35388         162 :   case 577: /* key_actions: key_update key_delete  */
   35389             : #line 4508 "gram.y"
   35390             :                                 {
   35391             :                     KeyActions *n = palloc(sizeof(KeyActions));
   35392             : 
   35393             :                     n->updateAction = (yyvsp[-1].keyaction);
   35394             :                     n->deleteAction = (yyvsp[0].keyaction);
   35395             :                     (yyval.keyactions) = n;
   35396             :                 }
   35397             : #line 35398 "gram.c"
   35398         162 :     break;
   35399             : 
   35400         150 :   case 578: /* key_actions: key_delete key_update  */
   35401             : #line 4516 "gram.y"
   35402             :                                 {
   35403             :                     KeyActions *n = palloc(sizeof(KeyActions));
   35404             : 
   35405             :                     n->updateAction = (yyvsp[0].keyaction);
   35406             :                     n->deleteAction = (yyvsp[-1].keyaction);
   35407             :                     (yyval.keyactions) = n;
   35408             :                 }
   35409             : #line 35410 "gram.c"
   35410         150 :     break;
   35411             : 
   35412        2124 :   case 579: /* key_actions: %empty  */
   35413             : #line 4524 "gram.y"
   35414             :                                 {
   35415             :                     KeyActions *n = palloc(sizeof(KeyActions));
   35416             : 
   35417             :                     n->updateAction = palloc(sizeof(KeyAction));
   35418             :                     n->updateAction->action = FKCONSTR_ACTION_NOACTION;
   35419             :                     n->updateAction->cols = NIL;
   35420             :                     n->deleteAction = palloc(sizeof(KeyAction));
   35421             :                     n->deleteAction->action = FKCONSTR_ACTION_NOACTION;
   35422             :                     n->deleteAction->cols = NIL;
   35423             :                     (yyval.keyactions) = n;
   35424             :                 }
   35425             : #line 35426 "gram.c"
   35426        2124 :     break;
   35427             : 
   35428         394 :   case 580: /* key_update: ON UPDATE key_action  */
   35429             : #line 4538 "gram.y"
   35430             :                                 {
   35431             :                     if (((yyvsp[0].keyaction))->cols)
   35432             :                         ereport(ERROR,
   35433             :                                 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   35434             :                                  errmsg("a column list with %s is only supported for ON DELETE actions",
   35435             :                                         ((yyvsp[0].keyaction))->action == FKCONSTR_ACTION_SETNULL ? "SET NULL" : "SET DEFAULT"),
   35436             :                                  parser_errposition((yylsp[-2]))));
   35437             :                     (yyval.keyaction) = (yyvsp[0].keyaction);
   35438             :                 }
   35439             : #line 35440 "gram.c"
   35440         388 :     break;
   35441             : 
   35442         462 :   case 581: /* key_delete: ON DELETE_P key_action  */
   35443             : #line 4550 "gram.y"
   35444             :                                 {
   35445             :                     (yyval.keyaction) = (yyvsp[0].keyaction);
   35446             :                 }
   35447             : #line 35448 "gram.c"
   35448         462 :     break;
   35449             : 
   35450          80 :   case 582: /* key_action: NO ACTION  */
   35451             : #line 4557 "gram.y"
   35452             :                                 {
   35453             :                     KeyAction *n = palloc(sizeof(KeyAction));
   35454             : 
   35455             :                     n->action = FKCONSTR_ACTION_NOACTION;
   35456             :                     n->cols = NIL;
   35457             :                     (yyval.keyaction) = n;
   35458             :                 }
   35459             : #line 35460 "gram.c"
   35460          80 :     break;
   35461             : 
   35462          48 :   case 583: /* key_action: RESTRICT  */
   35463             : #line 4565 "gram.y"
   35464             :                                 {
   35465             :                     KeyAction *n = palloc(sizeof(KeyAction));
   35466             : 
   35467             :                     n->action = FKCONSTR_ACTION_RESTRICT;
   35468             :                     n->cols = NIL;
   35469             :                     (yyval.keyaction) = n;
   35470             :                 }
   35471             : #line 35472 "gram.c"
   35472          48 :     break;
   35473             : 
   35474         434 :   case 584: /* key_action: CASCADE  */
   35475             : #line 4573 "gram.y"
   35476             :                                 {
   35477             :                     KeyAction *n = palloc(sizeof(KeyAction));
   35478             : 
   35479             :                     n->action = FKCONSTR_ACTION_CASCADE;
   35480             :                     n->cols = NIL;
   35481             :                     (yyval.keyaction) = n;
   35482             :                 }
   35483             : #line 35484 "gram.c"
   35484         434 :     break;
   35485             : 
   35486         192 :   case 585: /* key_action: SET NULL_P opt_column_list  */
   35487             : #line 4581 "gram.y"
   35488             :                                 {
   35489             :                     KeyAction *n = palloc(sizeof(KeyAction));
   35490             : 
   35491             :                     n->action = FKCONSTR_ACTION_SETNULL;
   35492             :                     n->cols = (yyvsp[0].list);
   35493             :                     (yyval.keyaction) = n;
   35494             :                 }
   35495             : #line 35496 "gram.c"
   35496         192 :     break;
   35497             : 
   35498         102 :   case 586: /* key_action: SET DEFAULT opt_column_list  */
   35499             : #line 4589 "gram.y"
   35500             :                                 {
   35501             :                     KeyAction *n = palloc(sizeof(KeyAction));
   35502             : 
   35503             :                     n->action = FKCONSTR_ACTION_SETDEFAULT;
   35504             :                     n->cols = (yyvsp[0].list);
   35505             :                     (yyval.keyaction) = n;
   35506             :                 }
   35507             : #line 35508 "gram.c"
   35508         102 :     break;
   35509             : 
   35510        2160 :   case 587: /* OptInherit: INHERITS '(' qualified_name_list ')'  */
   35511             : #line 4598 "gram.y"
   35512             :                                                         { (yyval.list) = (yyvsp[-1].list); }
   35513             : #line 35514 "gram.c"
   35514        2160 :     break;
   35515             : 
   35516       28906 :   case 588: /* OptInherit: %empty  */
   35517             : #line 4599 "gram.y"
   35518             :                                                                                                 { (yyval.list) = NIL; }
   35519             : #line 35520 "gram.c"
   35520       28906 :     break;
   35521             : 
   35522        5138 :   case 589: /* OptPartitionSpec: PartitionSpec  */
   35523             : #line 4603 "gram.y"
   35524             :                                 { (yyval.partspec) = (yyvsp[0].partspec); }
   35525             : #line 35526 "gram.c"
   35526        5138 :     break;
   35527             : 
   35528       33534 :   case 590: /* OptPartitionSpec: %empty  */
   35529             : #line 4604 "gram.y"
   35530             :                                                         { (yyval.partspec) = NULL; }
   35531             : #line 35532 "gram.c"
   35532       33534 :     break;
   35533             : 
   35534        5144 :   case 591: /* PartitionSpec: PARTITION BY ColId '(' part_params ')'  */
   35535             : #line 4608 "gram.y"
   35536             :                                 {
   35537             :                     PartitionSpec *n = makeNode(PartitionSpec);
   35538             : 
   35539             :                     n->strategy = parsePartitionStrategy((yyvsp[-3].str), (yylsp[-3]), yyscanner);
   35540             :                     n->partParams = (yyvsp[-1].list);
   35541             :                     n->location = (yylsp[-5]);
   35542             : 
   35543             :                     (yyval.partspec) = n;
   35544             :                 }
   35545             : #line 35546 "gram.c"
   35546        5138 :     break;
   35547             : 
   35548        5144 :   case 592: /* part_params: part_elem  */
   35549             : #line 4619 "gram.y"
   35550             :                                                                         { (yyval.list) = list_make1((yyvsp[0].partelem)); }
   35551             : #line 35552 "gram.c"
   35552        5144 :     break;
   35553             : 
   35554         466 :   case 593: /* part_params: part_params ',' part_elem  */
   35555             : #line 4620 "gram.y"
   35556             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].partelem)); }
   35557             : #line 35558 "gram.c"
   35558         466 :     break;
   35559             : 
   35560        5290 :   case 594: /* part_elem: ColId opt_collate opt_qualified_name  */
   35561             : #line 4624 "gram.y"
   35562             :                                 {
   35563             :                     PartitionElem *n = makeNode(PartitionElem);
   35564             : 
   35565             :                     n->name = (yyvsp[-2].str);
   35566             :                     n->expr = NULL;
   35567             :                     n->collation = (yyvsp[-1].list);
   35568             :                     n->opclass = (yyvsp[0].list);
   35569             :                     n->location = (yylsp[-2]);
   35570             :                     (yyval.partelem) = n;
   35571             :                 }
   35572             : #line 35573 "gram.c"
   35573        5290 :     break;
   35574             : 
   35575         134 :   case 595: /* part_elem: func_expr_windowless opt_collate opt_qualified_name  */
   35576             : #line 4635 "gram.y"
   35577             :                                 {
   35578             :                     PartitionElem *n = makeNode(PartitionElem);
   35579             : 
   35580             :                     n->name = NULL;
   35581             :                     n->expr = (yyvsp[-2].node);
   35582             :                     n->collation = (yyvsp[-1].list);
   35583             :                     n->opclass = (yyvsp[0].list);
   35584             :                     n->location = (yylsp[-2]);
   35585             :                     (yyval.partelem) = n;
   35586             :                 }
   35587             : #line 35588 "gram.c"
   35588         134 :     break;
   35589             : 
   35590         186 :   case 596: /* part_elem: '(' a_expr ')' opt_collate opt_qualified_name  */
   35591             : #line 4646 "gram.y"
   35592             :                                 {
   35593             :                     PartitionElem *n = makeNode(PartitionElem);
   35594             : 
   35595             :                     n->name = NULL;
   35596             :                     n->expr = (yyvsp[-3].node);
   35597             :                     n->collation = (yyvsp[-1].list);
   35598             :                     n->opclass = (yyvsp[0].list);
   35599             :                     n->location = (yylsp[-4]);
   35600             :                     (yyval.partelem) = n;
   35601             :                 }
   35602             : #line 35603 "gram.c"
   35603         186 :     break;
   35604             : 
   35605         122 :   case 597: /* table_access_method_clause: USING name  */
   35606             : #line 4659 "gram.y"
   35607             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   35608             : #line 35609 "gram.c"
   35609         122 :     break;
   35610             : 
   35611       40474 :   case 598: /* table_access_method_clause: %empty  */
   35612             : #line 4660 "gram.y"
   35613             :                                                                                         { (yyval.str) = NULL; }
   35614             : #line 35615 "gram.c"
   35615       40474 :     break;
   35616             : 
   35617         790 :   case 599: /* OptWith: WITH reloptions  */
   35618             : #line 4665 "gram.y"
   35619             :                                                                 { (yyval.list) = (yyvsp[0].list); }
   35620             : #line 35621 "gram.c"
   35621         790 :     break;
   35622             : 
   35623          24 :   case 600: /* OptWith: WITHOUT OIDS  */
   35624             : #line 4666 "gram.y"
   35625             :                                                                 { (yyval.list) = NIL; }
   35626             : #line 35627 "gram.c"
   35627          24 :     break;
   35628             : 
   35629       39178 :   case 601: /* OptWith: %empty  */
   35630             : #line 4667 "gram.y"
   35631             :                                                                         { (yyval.list) = NIL; }
   35632             : #line 35633 "gram.c"
   35633       39178 :     break;
   35634             : 
   35635          60 :   case 602: /* OnCommitOption: ON COMMIT DROP  */
   35636             : #line 4670 "gram.y"
   35637             :                                                         { (yyval.oncommit) = ONCOMMIT_DROP; }
   35638             : #line 35639 "gram.c"
   35639          60 :     break;
   35640             : 
   35641         104 :   case 603: /* OnCommitOption: ON COMMIT DELETE_P ROWS  */
   35642             : #line 4671 "gram.y"
   35643             :                                                                 { (yyval.oncommit) = ONCOMMIT_DELETE_ROWS; }
   35644             : #line 35645 "gram.c"
   35645         104 :     break;
   35646             : 
   35647          24 :   case 604: /* OnCommitOption: ON COMMIT PRESERVE ROWS  */
   35648             : #line 4672 "gram.y"
   35649             :                                                                 { (yyval.oncommit) = ONCOMMIT_PRESERVE_ROWS; }
   35650             : #line 35651 "gram.c"
   35651          24 :     break;
   35652             : 
   35653       39804 :   case 605: /* OnCommitOption: %empty  */
   35654             : #line 4673 "gram.y"
   35655             :                                                                                 { (yyval.oncommit) = ONCOMMIT_NOOP; }
   35656             : #line 35657 "gram.c"
   35657       39804 :     break;
   35658             : 
   35659         206 :   case 606: /* OptTableSpace: TABLESPACE name  */
   35660             : #line 4676 "gram.y"
   35661             :                                                                         { (yyval.str) = (yyvsp[0].str); }
   35662             : #line 35663 "gram.c"
   35663         206 :     break;
   35664             : 
   35665       47274 :   case 607: /* OptTableSpace: %empty  */
   35666             : #line 4677 "gram.y"
   35667             :                                                                                                 { (yyval.str) = NULL; }
   35668             : #line 35669 "gram.c"
   35669       47274 :     break;
   35670             : 
   35671          66 :   case 608: /* OptConsTableSpace: USING INDEX TABLESPACE name  */
   35672             : #line 4680 "gram.y"
   35673             :                                                         { (yyval.str) = (yyvsp[0].str); }
   35674             : #line 35675 "gram.c"
   35675          66 :     break;
   35676             : 
   35677        9374 :   case 609: /* OptConsTableSpace: %empty  */
   35678             : #line 4681 "gram.y"
   35679             :                                                                                                 { (yyval.str) = NULL; }
   35680             : #line 35681 "gram.c"
   35681        9374 :     break;
   35682             : 
   35683       10446 :   case 610: /* ExistingIndex: USING INDEX name  */
   35684             : #line 4684 "gram.y"
   35685             :                                                                         { (yyval.str) = (yyvsp[0].str); }
   35686             : #line 35687 "gram.c"
   35687       10446 :     break;
   35688             : 
   35689         660 :   case 611: /* CreateStatsStmt: CREATE STATISTICS opt_qualified_name opt_name_list ON stats_params FROM from_list  */
   35690             : #line 4706 "gram.y"
   35691             :                                 {
   35692             :                     CreateStatsStmt *n = makeNode(CreateStatsStmt);
   35693             : 
   35694             :                     n->defnames = (yyvsp[-5].list);
   35695             :                     n->stat_types = (yyvsp[-4].list);
   35696             :                     n->exprs = (yyvsp[-2].list);
   35697             :                     n->relations = (yyvsp[0].list);
   35698             :                     n->stxcomment = NULL;
   35699             :                     n->if_not_exists = false;
   35700             :                     (yyval.node) = (Node *) n;
   35701             :                 }
   35702             : #line 35703 "gram.c"
   35703         660 :     break;
   35704             : 
   35705          12 :   case 612: /* CreateStatsStmt: CREATE STATISTICS IF_P NOT EXISTS any_name opt_name_list ON stats_params FROM from_list  */
   35706             : #line 4719 "gram.y"
   35707             :                                 {
   35708             :                     CreateStatsStmt *n = makeNode(CreateStatsStmt);
   35709             : 
   35710             :                     n->defnames = (yyvsp[-5].list);
   35711             :                     n->stat_types = (yyvsp[-4].list);
   35712             :                     n->exprs = (yyvsp[-2].list);
   35713             :                     n->relations = (yyvsp[0].list);
   35714             :                     n->stxcomment = NULL;
   35715             :                     n->if_not_exists = true;
   35716             :                     (yyval.node) = (Node *) n;
   35717             :                 }
   35718             : #line 35719 "gram.c"
   35719          12 :     break;
   35720             : 
   35721         684 :   case 613: /* stats_params: stats_param  */
   35722             : #line 4739 "gram.y"
   35723             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].selem)); }
   35724             : #line 35725 "gram.c"
   35725         684 :     break;
   35726             : 
   35727         988 :   case 614: /* stats_params: stats_params ',' stats_param  */
   35728             : #line 4740 "gram.y"
   35729             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].selem)); }
   35730             : #line 35731 "gram.c"
   35731         988 :     break;
   35732             : 
   35733        1192 :   case 615: /* stats_param: ColId  */
   35734             : #line 4744 "gram.y"
   35735             :                                 {
   35736             :                     (yyval.selem) = makeNode(StatsElem);
   35737             :                     (yyval.selem)->name = (yyvsp[0].str);
   35738             :                     (yyval.selem)->expr = NULL;
   35739             :                 }
   35740             : #line 35741 "gram.c"
   35741        1192 :     break;
   35742             : 
   35743          34 :   case 616: /* stats_param: func_expr_windowless  */
   35744             : #line 4750 "gram.y"
   35745             :                                 {
   35746             :                     (yyval.selem) = makeNode(StatsElem);
   35747             :                     (yyval.selem)->name = NULL;
   35748             :                     (yyval.selem)->expr = (yyvsp[0].node);
   35749             :                 }
   35750             : #line 35751 "gram.c"
   35751          34 :     break;
   35752             : 
   35753         446 :   case 617: /* stats_param: '(' a_expr ')'  */
   35754             : #line 4756 "gram.y"
   35755             :                                 {
   35756             :                     (yyval.selem) = makeNode(StatsElem);
   35757             :                     (yyval.selem)->name = NULL;
   35758             :                     (yyval.selem)->expr = (yyvsp[-1].node);
   35759             :                 }
   35760             : #line 35761 "gram.c"
   35761         446 :     break;
   35762             : 
   35763          20 :   case 618: /* AlterStatsStmt: ALTER STATISTICS any_name SET STATISTICS set_statistics_value  */
   35764             : #line 4773 "gram.y"
   35765             :                                 {
   35766             :                     AlterStatsStmt *n = makeNode(AlterStatsStmt);
   35767             : 
   35768             :                     n->defnames = (yyvsp[-3].list);
   35769             :                     n->missing_ok = false;
   35770             :                     n->stxstattarget = (yyvsp[0].node);
   35771             :                     (yyval.node) = (Node *) n;
   35772             :                 }
   35773             : #line 35774 "gram.c"
   35774          20 :     break;
   35775             : 
   35776           6 :   case 619: /* AlterStatsStmt: ALTER STATISTICS IF_P EXISTS any_name SET STATISTICS set_statistics_value  */
   35777             : #line 4782 "gram.y"
   35778             :                                 {
   35779             :                     AlterStatsStmt *n = makeNode(AlterStatsStmt);
   35780             : 
   35781             :                     n->defnames = (yyvsp[-3].list);
   35782             :                     n->missing_ok = true;
   35783             :                     n->stxstattarget = (yyvsp[0].node);
   35784             :                     (yyval.node) = (Node *) n;
   35785             :                 }
   35786             : #line 35787 "gram.c"
   35787           6 :     break;
   35788             : 
   35789        1192 :   case 620: /* CreateAsStmt: CREATE OptTemp TABLE create_as_target AS SelectStmt opt_with_data  */
   35790             : #line 4804 "gram.y"
   35791             :                                 {
   35792             :                     CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
   35793             : 
   35794             :                     ctas->query = (yyvsp[-1].node);
   35795             :                     ctas->into = (yyvsp[-3].into);
   35796             :                     ctas->objtype = OBJECT_TABLE;
   35797             :                     ctas->is_select_into = false;
   35798             :                     ctas->if_not_exists = false;
   35799             :                     /* cram additional flags into the IntoClause */
   35800             :                     (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-5].ival);
   35801             :                     (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
   35802             :                     (yyval.node) = (Node *) ctas;
   35803             :                 }
   35804             : #line 35805 "gram.c"
   35805        1192 :     break;
   35806             : 
   35807          52 :   case 621: /* CreateAsStmt: CREATE OptTemp TABLE IF_P NOT EXISTS create_as_target AS SelectStmt opt_with_data  */
   35808             : #line 4818 "gram.y"
   35809             :                                 {
   35810             :                     CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
   35811             : 
   35812             :                     ctas->query = (yyvsp[-1].node);
   35813             :                     ctas->into = (yyvsp[-3].into);
   35814             :                     ctas->objtype = OBJECT_TABLE;
   35815             :                     ctas->is_select_into = false;
   35816             :                     ctas->if_not_exists = true;
   35817             :                     /* cram additional flags into the IntoClause */
   35818             :                     (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-8].ival);
   35819             :                     (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
   35820             :                     (yyval.node) = (Node *) ctas;
   35821             :                 }
   35822             : #line 35823 "gram.c"
   35823          52 :     break;
   35824             : 
   35825        1332 :   case 622: /* create_as_target: qualified_name opt_column_list table_access_method_clause OptWith OnCommitOption OptTableSpace  */
   35826             : #line 4836 "gram.y"
   35827             :                                 {
   35828             :                     (yyval.into) = makeNode(IntoClause);
   35829             :                     (yyval.into)->rel = (yyvsp[-5].range);
   35830             :                     (yyval.into)->colNames = (yyvsp[-4].list);
   35831             :                     (yyval.into)->accessMethod = (yyvsp[-3].str);
   35832             :                     (yyval.into)->options = (yyvsp[-2].list);
   35833             :                     (yyval.into)->onCommit = (yyvsp[-1].oncommit);
   35834             :                     (yyval.into)->tableSpaceName = (yyvsp[0].str);
   35835             :                     (yyval.into)->viewQuery = NULL;
   35836             :                     (yyval.into)->skipData = false;      /* might get changed later */
   35837             :                 }
   35838             : #line 35839 "gram.c"
   35839        1332 :     break;
   35840             : 
   35841          36 :   case 623: /* opt_with_data: WITH DATA_P  */
   35842             : #line 4850 "gram.y"
   35843             :                                                                                                 { (yyval.boolean) = true; }
   35844             : #line 35845 "gram.c"
   35845          36 :     break;
   35846             : 
   35847         234 :   case 624: /* opt_with_data: WITH NO DATA_P  */
   35848             : #line 4851 "gram.y"
   35849             :                                                                                         { (yyval.boolean) = false; }
   35850             : #line 35851 "gram.c"
   35851         234 :     break;
   35852             : 
   35853        1944 :   case 625: /* opt_with_data: %empty  */
   35854             : #line 4852 "gram.y"
   35855             :                                                                                                 { (yyval.boolean) = true; }
   35856             : #line 35857 "gram.c"
   35857        1944 :     break;
   35858             : 
   35859         550 :   case 626: /* CreateMatViewStmt: CREATE OptNoLog MATERIALIZED VIEW create_mv_target AS SelectStmt opt_with_data  */
   35860             : #line 4865 "gram.y"
   35861             :                                 {
   35862             :                     CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
   35863             : 
   35864             :                     ctas->query = (yyvsp[-1].node);
   35865             :                     ctas->into = (yyvsp[-3].into);
   35866             :                     ctas->objtype = OBJECT_MATVIEW;
   35867             :                     ctas->is_select_into = false;
   35868             :                     ctas->if_not_exists = false;
   35869             :                     /* cram additional flags into the IntoClause */
   35870             :                     (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-6].ival);
   35871             :                     (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
   35872             :                     (yyval.node) = (Node *) ctas;
   35873             :                 }
   35874             : #line 35875 "gram.c"
   35875         550 :     break;
   35876             : 
   35877          48 :   case 627: /* CreateMatViewStmt: CREATE OptNoLog MATERIALIZED VIEW IF_P NOT EXISTS create_mv_target AS SelectStmt opt_with_data  */
   35878             : #line 4879 "gram.y"
   35879             :                                 {
   35880             :                     CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
   35881             : 
   35882             :                     ctas->query = (yyvsp[-1].node);
   35883             :                     ctas->into = (yyvsp[-3].into);
   35884             :                     ctas->objtype = OBJECT_MATVIEW;
   35885             :                     ctas->is_select_into = false;
   35886             :                     ctas->if_not_exists = true;
   35887             :                     /* cram additional flags into the IntoClause */
   35888             :                     (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-9].ival);
   35889             :                     (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
   35890             :                     (yyval.node) = (Node *) ctas;
   35891             :                 }
   35892             : #line 35893 "gram.c"
   35893          48 :     break;
   35894             : 
   35895         598 :   case 628: /* create_mv_target: qualified_name opt_column_list table_access_method_clause opt_reloptions OptTableSpace  */
   35896             : #line 4896 "gram.y"
   35897             :                                 {
   35898             :                     (yyval.into) = makeNode(IntoClause);
   35899             :                     (yyval.into)->rel = (yyvsp[-4].range);
   35900             :                     (yyval.into)->colNames = (yyvsp[-3].list);
   35901             :                     (yyval.into)->accessMethod = (yyvsp[-2].str);
   35902             :                     (yyval.into)->options = (yyvsp[-1].list);
   35903             :                     (yyval.into)->onCommit = ONCOMMIT_NOOP;
   35904             :                     (yyval.into)->tableSpaceName = (yyvsp[0].str);
   35905             :                     (yyval.into)->viewQuery = NULL;      /* filled at analysis time */
   35906             :                     (yyval.into)->skipData = false;      /* might get changed later */
   35907             :                 }
   35908             : #line 35909 "gram.c"
   35909         598 :     break;
   35910             : 
   35911           0 :   case 629: /* OptNoLog: UNLOGGED  */
   35912             : #line 4909 "gram.y"
   35913             :                                                                 { (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
   35914             : #line 35915 "gram.c"
   35915           0 :     break;
   35916             : 
   35917         598 :   case 630: /* OptNoLog: %empty  */
   35918             : #line 4910 "gram.y"
   35919             :                                                                         { (yyval.ival) = RELPERSISTENCE_PERMANENT; }
   35920             : #line 35921 "gram.c"
   35921         598 :     break;
   35922             : 
   35923         284 :   case 631: /* RefreshMatViewStmt: REFRESH MATERIALIZED VIEW opt_concurrently qualified_name opt_with_data  */
   35924             : #line 4923 "gram.y"
   35925             :                                 {
   35926             :                     RefreshMatViewStmt *n = makeNode(RefreshMatViewStmt);
   35927             : 
   35928             :                     n->concurrent = (yyvsp[-2].boolean);
   35929             :                     n->relation = (yyvsp[-1].range);
   35930             :                     n->skipData = !((yyvsp[0].boolean));
   35931             :                     (yyval.node) = (Node *) n;
   35932             :                 }
   35933             : #line 35934 "gram.c"
   35934         284 :     break;
   35935             : 
   35936         720 :   case 632: /* CreateSeqStmt: CREATE OptTemp SEQUENCE qualified_name OptSeqOptList  */
   35937             : #line 4944 "gram.y"
   35938             :                                 {
   35939             :                     CreateSeqStmt *n = makeNode(CreateSeqStmt);
   35940             : 
   35941             :                     (yyvsp[-1].range)->relpersistence = (yyvsp[-3].ival);
   35942             :                     n->sequence = (yyvsp[-1].range);
   35943             :                     n->options = (yyvsp[0].list);
   35944             :                     n->ownerId = InvalidOid;
   35945             :                     n->if_not_exists = false;
   35946             :                     (yyval.node) = (Node *) n;
   35947             :                 }
   35948             : #line 35949 "gram.c"
   35949         720 :     break;
   35950             : 
   35951          24 :   case 633: /* CreateSeqStmt: CREATE OptTemp SEQUENCE IF_P NOT EXISTS qualified_name OptSeqOptList  */
   35952             : #line 4955 "gram.y"
   35953             :                                 {
   35954             :                     CreateSeqStmt *n = makeNode(CreateSeqStmt);
   35955             : 
   35956             :                     (yyvsp[-1].range)->relpersistence = (yyvsp[-6].ival);
   35957             :                     n->sequence = (yyvsp[-1].range);
   35958             :                     n->options = (yyvsp[0].list);
   35959             :                     n->ownerId = InvalidOid;
   35960             :                     n->if_not_exists = true;
   35961             :                     (yyval.node) = (Node *) n;
   35962             :                 }
   35963             : #line 35964 "gram.c"
   35964          24 :     break;
   35965             : 
   35966         212 :   case 634: /* AlterSeqStmt: ALTER SEQUENCE qualified_name SeqOptList  */
   35967             : #line 4969 "gram.y"
   35968             :                                 {
   35969             :                     AlterSeqStmt *n = makeNode(AlterSeqStmt);
   35970             : 
   35971             :                     n->sequence = (yyvsp[-1].range);
   35972             :                     n->options = (yyvsp[0].list);
   35973             :                     n->missing_ok = false;
   35974             :                     (yyval.node) = (Node *) n;
   35975             :                 }
   35976             : #line 35977 "gram.c"
   35977         212 :     break;
   35978             : 
   35979          12 :   case 635: /* AlterSeqStmt: ALTER SEQUENCE IF_P EXISTS qualified_name SeqOptList  */
   35980             : #line 4978 "gram.y"
   35981             :                                 {
   35982             :                     AlterSeqStmt *n = makeNode(AlterSeqStmt);
   35983             : 
   35984             :                     n->sequence = (yyvsp[-1].range);
   35985             :                     n->options = (yyvsp[0].list);
   35986             :                     n->missing_ok = true;
   35987             :                     (yyval.node) = (Node *) n;
   35988             :                 }
   35989             : #line 35990 "gram.c"
   35990          12 :     break;
   35991             : 
   35992         326 :   case 636: /* OptSeqOptList: SeqOptList  */
   35993             : #line 4989 "gram.y"
   35994             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   35995             : #line 35996 "gram.c"
   35996         326 :     break;
   35997             : 
   35998         418 :   case 637: /* OptSeqOptList: %empty  */
   35999             : #line 4990 "gram.y"
   36000             :                                                                                                 { (yyval.list) = NIL; }
   36001             : #line 36002 "gram.c"
   36002         418 :     break;
   36003             : 
   36004         118 :   case 638: /* OptParenthesizedSeqOptList: '(' SeqOptList ')'  */
   36005             : #line 4993 "gram.y"
   36006             :                                                         { (yyval.list) = (yyvsp[-1].list); }
   36007             : #line 36008 "gram.c"
   36008         118 :     break;
   36009             : 
   36010         424 :   case 639: /* OptParenthesizedSeqOptList: %empty  */
   36011             : #line 4994 "gram.y"
   36012             :                                                                                                 { (yyval.list) = NIL; }
   36013             : #line 36014 "gram.c"
   36014         424 :     break;
   36015             : 
   36016         668 :   case 640: /* SeqOptList: SeqOptElem  */
   36017             : #line 4997 "gram.y"
   36018             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   36019             : #line 36020 "gram.c"
   36020         668 :     break;
   36021             : 
   36022        1322 :   case 641: /* SeqOptList: SeqOptList SeqOptElem  */
   36023             : #line 4998 "gram.y"
   36024             :                                                                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   36025             : #line 36026 "gram.c"
   36026        1322 :     break;
   36027             : 
   36028         236 :   case 642: /* SeqOptElem: AS SimpleTypename  */
   36029             : #line 5002 "gram.y"
   36030             :                                 {
   36031             :                     (yyval.defelt) = makeDefElem("as", (Node *) (yyvsp[0].typnam), (yylsp[-1]));
   36032             :                 }
   36033             : #line 36034 "gram.c"
   36034         236 :     break;
   36035             : 
   36036         236 :   case 643: /* SeqOptElem: CACHE NumericOnly  */
   36037             : #line 5006 "gram.y"
   36038             :                                 {
   36039             :                     (yyval.defelt) = makeDefElem("cache", (Node *) (yyvsp[0].node), (yylsp[-1]));
   36040             :                 }
   36041             : #line 36042 "gram.c"
   36042         236 :     break;
   36043             : 
   36044          36 :   case 644: /* SeqOptElem: CYCLE  */
   36045             : #line 5010 "gram.y"
   36046             :                                 {
   36047             :                     (yyval.defelt) = makeDefElem("cycle", (Node *) makeBoolean(true), (yylsp[0]));
   36048             :                 }
   36049             : #line 36050 "gram.c"
   36050          36 :     break;
   36051             : 
   36052          14 :   case 645: /* SeqOptElem: NO CYCLE  */
   36053             : #line 5014 "gram.y"
   36054             :                                 {
   36055             :                     (yyval.defelt) = makeDefElem("cycle", (Node *) makeBoolean(false), (yylsp[-1]));
   36056             :                 }
   36057             : #line 36058 "gram.c"
   36058          14 :     break;
   36059             : 
   36060         352 :   case 646: /* SeqOptElem: INCREMENT opt_by NumericOnly  */
   36061             : #line 5018 "gram.y"
   36062             :                                 {
   36063             :                     (yyval.defelt) = makeDefElem("increment", (Node *) (yyvsp[0].node), (yylsp[-2]));
   36064             :                 }
   36065             : #line 36066 "gram.c"
   36066         352 :     break;
   36067             : 
   36068           4 :   case 647: /* SeqOptElem: LOGGED  */
   36069             : #line 5022 "gram.y"
   36070             :                                 {
   36071             :                     (yyval.defelt) = makeDefElem("logged", NULL, (yylsp[0]));
   36072             :                 }
   36073             : #line 36074 "gram.c"
   36074           4 :     break;
   36075             : 
   36076          74 :   case 648: /* SeqOptElem: MAXVALUE NumericOnly  */
   36077             : #line 5026 "gram.y"
   36078             :                                 {
   36079             :                     (yyval.defelt) = makeDefElem("maxvalue", (Node *) (yyvsp[0].node), (yylsp[-1]));
   36080             :                 }
   36081             : #line 36082 "gram.c"
   36082          74 :     break;
   36083             : 
   36084          74 :   case 649: /* SeqOptElem: MINVALUE NumericOnly  */
   36085             : #line 5030 "gram.y"
   36086             :                                 {
   36087             :                     (yyval.defelt) = makeDefElem("minvalue", (Node *) (yyvsp[0].node), (yylsp[-1]));
   36088             :                 }
   36089             : #line 36090 "gram.c"
   36090          74 :     break;
   36091             : 
   36092         208 :   case 650: /* SeqOptElem: NO MAXVALUE  */
   36093             : #line 5034 "gram.y"
   36094             :                                 {
   36095             :                     (yyval.defelt) = makeDefElem("maxvalue", NULL, (yylsp[-1]));
   36096             :                 }
   36097             : #line 36098 "gram.c"
   36098         208 :     break;
   36099             : 
   36100         208 :   case 651: /* SeqOptElem: NO MINVALUE  */
   36101             : #line 5038 "gram.y"
   36102             :                                 {
   36103             :                     (yyval.defelt) = makeDefElem("minvalue", NULL, (yylsp[-1]));
   36104             :                 }
   36105             : #line 36106 "gram.c"
   36106         208 :     break;
   36107             : 
   36108         100 :   case 652: /* SeqOptElem: OWNED BY any_name  */
   36109             : #line 5042 "gram.y"
   36110             :                                 {
   36111             :                     (yyval.defelt) = makeDefElem("owned_by", (Node *) (yyvsp[0].list), (yylsp[-2]));
   36112             :                 }
   36113             : #line 36114 "gram.c"
   36114         100 :     break;
   36115             : 
   36116          88 :   case 653: /* SeqOptElem: SEQUENCE NAME_P any_name  */
   36117             : #line 5046 "gram.y"
   36118             :                                 {
   36119             :                     (yyval.defelt) = makeDefElem("sequence_name", (Node *) (yyvsp[0].list), (yylsp[-2]));
   36120             :                 }
   36121             : #line 36122 "gram.c"
   36122          88 :     break;
   36123             : 
   36124         344 :   case 654: /* SeqOptElem: START opt_with NumericOnly  */
   36125             : #line 5050 "gram.y"
   36126             :                                 {
   36127             :                     (yyval.defelt) = makeDefElem("start", (Node *) (yyvsp[0].node), (yylsp[-2]));
   36128             :                 }
   36129             : #line 36130 "gram.c"
   36130         344 :     break;
   36131             : 
   36132           6 :   case 655: /* SeqOptElem: RESTART  */
   36133             : #line 5054 "gram.y"
   36134             :                                 {
   36135             :                     (yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0]));
   36136             :                 }
   36137             : #line 36138 "gram.c"
   36138           6 :     break;
   36139             : 
   36140          60 :   case 656: /* SeqOptElem: RESTART opt_with NumericOnly  */
   36141             : #line 5058 "gram.y"
   36142             :                                 {
   36143             :                     (yyval.defelt) = makeDefElem("restart", (Node *) (yyvsp[0].node), (yylsp[-2]));
   36144             :                 }
   36145             : #line 36146 "gram.c"
   36146          60 :     break;
   36147             : 
   36148           4 :   case 657: /* SeqOptElem: UNLOGGED  */
   36149             : #line 5062 "gram.y"
   36150             :                                 {
   36151             :                     (yyval.defelt) = makeDefElem("unlogged", NULL, (yylsp[0]));
   36152             :                 }
   36153             : #line 36154 "gram.c"
   36154           4 :     break;
   36155             : 
   36156         322 :   case 660: /* NumericOnly: FCONST  */
   36157             : #line 5072 "gram.y"
   36158             :                                                                                         { (yyval.node) = (Node *) makeFloat((yyvsp[0].str)); }
   36159             : #line 36160 "gram.c"
   36160         322 :     break;
   36161             : 
   36162           0 :   case 661: /* NumericOnly: '+' FCONST  */
   36163             : #line 5073 "gram.y"
   36164             :                                                                                 { (yyval.node) = (Node *) makeFloat((yyvsp[0].str)); }
   36165             : #line 36166 "gram.c"
   36166           0 :     break;
   36167             : 
   36168          22 :   case 662: /* NumericOnly: '-' FCONST  */
   36169             : #line 5075 "gram.y"
   36170             :                                 {
   36171             :                     Float      *f = makeFloat((yyvsp[0].str));
   36172             : 
   36173             :                     doNegateFloat(f);
   36174             :                     (yyval.node) = (Node *) f;
   36175             :                 }
   36176             : #line 36177 "gram.c"
   36177          22 :     break;
   36178             : 
   36179       13476 :   case 663: /* NumericOnly: SignedIconst  */
   36180             : #line 5081 "gram.y"
   36181             :                                                                                 { (yyval.node) = (Node *) makeInteger((yyvsp[0].ival)); }
   36182             : #line 36183 "gram.c"
   36183       13476 :     break;
   36184             : 
   36185          80 :   case 664: /* NumericOnly_list: NumericOnly  */
   36186             : #line 5084 "gram.y"
   36187             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   36188             : #line 36189 "gram.c"
   36189          80 :     break;
   36190             : 
   36191           6 :   case 665: /* NumericOnly_list: NumericOnly_list ',' NumericOnly  */
   36192             : #line 5085 "gram.y"
   36193             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   36194             : #line 36195 "gram.c"
   36195           6 :     break;
   36196             : 
   36197           0 :   case 666: /* CreatePLangStmt: CREATE opt_or_replace opt_trusted opt_procedural LANGUAGE name  */
   36198             : #line 5098 "gram.y"
   36199             :                         {
   36200             :                 /*
   36201             :                  * We now interpret parameterless CREATE LANGUAGE as
   36202             :                  * CREATE EXTENSION.  "OR REPLACE" is silently translated
   36203             :                  * to "IF NOT EXISTS", which isn't quite the same, but
   36204             :                  * seems more useful than throwing an error.  We just
   36205             :                  * ignore TRUSTED, as the previous code would have too.
   36206             :                  */
   36207             :                 CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
   36208             : 
   36209             :                 n->if_not_exists = (yyvsp[-4].boolean);
   36210             :                 n->extname = (yyvsp[0].str);
   36211             :                 n->options = NIL;
   36212             :                 (yyval.node) = (Node *) n;
   36213             :             }
   36214             : #line 36215 "gram.c"
   36215           0 :     break;
   36216             : 
   36217         140 :   case 667: /* CreatePLangStmt: CREATE opt_or_replace opt_trusted opt_procedural LANGUAGE name HANDLER handler_name opt_inline_handler opt_validator  */
   36218             : #line 5115 "gram.y"
   36219             :                         {
   36220             :                 CreatePLangStmt *n = makeNode(CreatePLangStmt);
   36221             : 
   36222             :                 n->replace = (yyvsp[-8].boolean);
   36223             :                 n->plname = (yyvsp[-4].str);
   36224             :                 n->plhandler = (yyvsp[-2].list);
   36225             :                 n->plinline = (yyvsp[-1].list);
   36226             :                 n->plvalidator = (yyvsp[0].list);
   36227             :                 n->pltrusted = (yyvsp[-7].boolean);
   36228             :                 (yyval.node) = (Node *) n;
   36229             :             }
   36230             : #line 36231 "gram.c"
   36231         140 :     break;
   36232             : 
   36233         110 :   case 668: /* opt_trusted: TRUSTED  */
   36234             : #line 5129 "gram.y"
   36235             :                                                                                                 { (yyval.boolean) = true; }
   36236             : #line 36237 "gram.c"
   36237         110 :     break;
   36238             : 
   36239          38 :   case 669: /* opt_trusted: %empty  */
   36240             : #line 5130 "gram.y"
   36241             :                                                                                                 { (yyval.boolean) = false; }
   36242             : #line 36243 "gram.c"
   36243          38 :     break;
   36244             : 
   36245         550 :   case 670: /* handler_name: name  */
   36246             : #line 5138 "gram.y"
   36247             :                                                                         { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   36248             : #line 36249 "gram.c"
   36249         550 :     break;
   36250             : 
   36251           2 :   case 671: /* handler_name: name attrs  */
   36252             : #line 5139 "gram.y"
   36253             :                                                                 { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
   36254             : #line 36255 "gram.c"
   36255           2 :     break;
   36256             : 
   36257         122 :   case 672: /* opt_inline_handler: INLINE_P handler_name  */
   36258             : #line 5143 "gram.y"
   36259             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   36260             : #line 36261 "gram.c"
   36261         122 :     break;
   36262             : 
   36263          18 :   case 673: /* opt_inline_handler: %empty  */
   36264             : #line 5144 "gram.y"
   36265             :                                                                                                 { (yyval.list) = NIL; }
   36266             : #line 36267 "gram.c"
   36267          18 :     break;
   36268             : 
   36269         122 :   case 674: /* validator_clause: VALIDATOR handler_name  */
   36270             : #line 5148 "gram.y"
   36271             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   36272             : #line 36273 "gram.c"
   36273         122 :     break;
   36274             : 
   36275           0 :   case 675: /* validator_clause: NO VALIDATOR  */
   36276             : #line 5149 "gram.y"
   36277             :                                                                                         { (yyval.list) = NIL; }
   36278             : #line 36279 "gram.c"
   36279           0 :     break;
   36280             : 
   36281         122 :   case 676: /* opt_validator: validator_clause  */
   36282             : #line 5153 "gram.y"
   36283             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   36284             : #line 36285 "gram.c"
   36285         122 :     break;
   36286             : 
   36287          18 :   case 677: /* opt_validator: %empty  */
   36288             : #line 5154 "gram.y"
   36289             :                                                                                                 { (yyval.list) = NIL; }
   36290             : #line 36291 "gram.c"
   36291          18 :     break;
   36292             : 
   36293         116 :   case 680: /* CreateTableSpaceStmt: CREATE TABLESPACE name OptTableSpaceOwner LOCATION Sconst opt_reloptions  */
   36294             : #line 5170 "gram.y"
   36295             :                                 {
   36296             :                     CreateTableSpaceStmt *n = makeNode(CreateTableSpaceStmt);
   36297             : 
   36298             :                     n->tablespacename = (yyvsp[-4].str);
   36299             :                     n->owner = (yyvsp[-3].rolespec);
   36300             :                     n->location = (yyvsp[-1].str);
   36301             :                     n->options = (yyvsp[0].list);
   36302             :                     (yyval.node) = (Node *) n;
   36303             :                 }
   36304             : #line 36305 "gram.c"
   36305         116 :     break;
   36306             : 
   36307           6 :   case 681: /* OptTableSpaceOwner: OWNER RoleSpec  */
   36308             : #line 5181 "gram.y"
   36309             :                                                 { (yyval.rolespec) = (yyvsp[0].rolespec); }
   36310             : #line 36311 "gram.c"
   36311           6 :     break;
   36312             : 
   36313         110 :   case 682: /* OptTableSpaceOwner: %empty  */
   36314             : #line 5182 "gram.y"
   36315             :                                                                 { (yyval.rolespec) = NULL; }
   36316             : #line 36317 "gram.c"
   36317         110 :     break;
   36318             : 
   36319          64 :   case 683: /* DropTableSpaceStmt: DROP TABLESPACE name  */
   36320             : #line 5196 "gram.y"
   36321             :                                 {
   36322             :                     DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
   36323             : 
   36324             :                     n->tablespacename = (yyvsp[0].str);
   36325             :                     n->missing_ok = false;
   36326             :                     (yyval.node) = (Node *) n;
   36327             :                 }
   36328             : #line 36329 "gram.c"
   36329          64 :     break;
   36330             : 
   36331           0 :   case 684: /* DropTableSpaceStmt: DROP TABLESPACE IF_P EXISTS name  */
   36332             : #line 5204 "gram.y"
   36333             :                                 {
   36334             :                     DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
   36335             : 
   36336             :                     n->tablespacename = (yyvsp[0].str);
   36337             :                     n->missing_ok = true;
   36338             :                     (yyval.node) = (Node *) n;
   36339             :                 }
   36340             : #line 36341 "gram.c"
   36341           0 :     break;
   36342             : 
   36343         502 :   case 685: /* CreateExtensionStmt: CREATE EXTENSION name opt_with create_extension_opt_list  */
   36344             : #line 5222 "gram.y"
   36345             :                                 {
   36346             :                     CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
   36347             : 
   36348             :                     n->extname = (yyvsp[-2].str);
   36349             :                     n->if_not_exists = false;
   36350             :                     n->options = (yyvsp[0].list);
   36351             :                     (yyval.node) = (Node *) n;
   36352             :                 }
   36353             : #line 36354 "gram.c"
   36354         502 :     break;
   36355             : 
   36356          18 :   case 686: /* CreateExtensionStmt: CREATE EXTENSION IF_P NOT EXISTS name opt_with create_extension_opt_list  */
   36357             : #line 5231 "gram.y"
   36358             :                                 {
   36359             :                     CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
   36360             : 
   36361             :                     n->extname = (yyvsp[-2].str);
   36362             :                     n->if_not_exists = true;
   36363             :                     n->options = (yyvsp[0].list);
   36364             :                     (yyval.node) = (Node *) n;
   36365             :                 }
   36366             : #line 36367 "gram.c"
   36367          18 :     break;
   36368             : 
   36369          98 :   case 687: /* create_extension_opt_list: create_extension_opt_list create_extension_opt_item  */
   36370             : #line 5243 "gram.y"
   36371             :                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   36372             : #line 36373 "gram.c"
   36373          98 :     break;
   36374             : 
   36375         520 :   case 688: /* create_extension_opt_list: %empty  */
   36376             : #line 5245 "gram.y"
   36377             :                                 { (yyval.list) = NIL; }
   36378             : #line 36379 "gram.c"
   36379         520 :     break;
   36380             : 
   36381          46 :   case 689: /* create_extension_opt_item: SCHEMA name  */
   36382             : #line 5250 "gram.y"
   36383             :                                 {
   36384             :                     (yyval.defelt) = makeDefElem("schema", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
   36385             :                 }
   36386             : #line 36387 "gram.c"
   36387          46 :     break;
   36388             : 
   36389          12 :   case 690: /* create_extension_opt_item: VERSION_P NonReservedWord_or_Sconst  */
   36390             : #line 5254 "gram.y"
   36391             :                                 {
   36392             :                     (yyval.defelt) = makeDefElem("new_version", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
   36393             :                 }
   36394             : #line 36395 "gram.c"
   36395          12 :     break;
   36396             : 
   36397           0 :   case 691: /* create_extension_opt_item: FROM NonReservedWord_or_Sconst  */
   36398             : #line 5258 "gram.y"
   36399             :                                 {
   36400             :                     ereport(ERROR,
   36401             :                             (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   36402             :                              errmsg("CREATE EXTENSION ... FROM is no longer supported"),
   36403             :                              parser_errposition((yylsp[-1]))));
   36404             :                 }
   36405             : #line 36406 "gram.c"
   36406             :     break;
   36407             : 
   36408          40 :   case 692: /* create_extension_opt_item: CASCADE  */
   36409             : #line 5265 "gram.y"
   36410             :                                 {
   36411             :                     (yyval.defelt) = makeDefElem("cascade", (Node *) makeBoolean(true), (yylsp[0]));
   36412             :                 }
   36413             : #line 36414 "gram.c"
   36414          40 :     break;
   36415             : 
   36416          38 :   case 693: /* AlterExtensionStmt: ALTER EXTENSION name UPDATE alter_extension_opt_list  */
   36417             : #line 5277 "gram.y"
   36418             :                                 {
   36419             :                     AlterExtensionStmt *n = makeNode(AlterExtensionStmt);
   36420             : 
   36421             :                     n->extname = (yyvsp[-2].str);
   36422             :                     n->options = (yyvsp[0].list);
   36423             :                     (yyval.node) = (Node *) n;
   36424             :                 }
   36425             : #line 36426 "gram.c"
   36426          38 :     break;
   36427             : 
   36428          38 :   case 694: /* alter_extension_opt_list: alter_extension_opt_list alter_extension_opt_item  */
   36429             : #line 5288 "gram.y"
   36430             :                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   36431             : #line 36432 "gram.c"
   36432          38 :     break;
   36433             : 
   36434          38 :   case 695: /* alter_extension_opt_list: %empty  */
   36435             : #line 5290 "gram.y"
   36436             :                                 { (yyval.list) = NIL; }
   36437             : #line 36438 "gram.c"
   36438          38 :     break;
   36439             : 
   36440          38 :   case 696: /* alter_extension_opt_item: TO NonReservedWord_or_Sconst  */
   36441             : #line 5295 "gram.y"
   36442             :                                 {
   36443             :                     (yyval.defelt) = makeDefElem("new_version", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
   36444             :                 }
   36445             : #line 36446 "gram.c"
   36446          38 :     break;
   36447             : 
   36448          18 :   case 697: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop object_type_name name  */
   36449             : #line 5308 "gram.y"
   36450             :                                 {
   36451             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36452             : 
   36453             :                     n->extname = (yyvsp[-3].str);
   36454             :                     n->action = (yyvsp[-2].ival);
   36455             :                     n->objtype = (yyvsp[-1].objtype);
   36456             :                     n->object = (Node *) makeString((yyvsp[0].str));
   36457             :                     (yyval.node) = (Node *) n;
   36458             :                 }
   36459             : #line 36460 "gram.c"
   36460          18 :     break;
   36461             : 
   36462          76 :   case 698: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop object_type_any_name any_name  */
   36463             : #line 5318 "gram.y"
   36464             :                                 {
   36465             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36466             : 
   36467             :                     n->extname = (yyvsp[-3].str);
   36468             :                     n->action = (yyvsp[-2].ival);
   36469             :                     n->objtype = (yyvsp[-1].objtype);
   36470             :                     n->object = (Node *) (yyvsp[0].list);
   36471             :                     (yyval.node) = (Node *) n;
   36472             :                 }
   36473             : #line 36474 "gram.c"
   36474          76 :     break;
   36475             : 
   36476           8 :   case 699: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop AGGREGATE aggregate_with_argtypes  */
   36477             : #line 5328 "gram.y"
   36478             :                                 {
   36479             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36480             : 
   36481             :                     n->extname = (yyvsp[-3].str);
   36482             :                     n->action = (yyvsp[-2].ival);
   36483             :                     n->objtype = OBJECT_AGGREGATE;
   36484             :                     n->object = (Node *) (yyvsp[0].objwithargs);
   36485             :                     (yyval.node) = (Node *) n;
   36486             :                 }
   36487             : #line 36488 "gram.c"
   36488           8 :     break;
   36489             : 
   36490           4 :   case 700: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop CAST '(' Typename AS Typename ')'  */
   36491             : #line 5338 "gram.y"
   36492             :                                 {
   36493             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36494             : 
   36495             :                     n->extname = (yyvsp[-7].str);
   36496             :                     n->action = (yyvsp[-6].ival);
   36497             :                     n->objtype = OBJECT_CAST;
   36498             :                     n->object = (Node *) list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam));
   36499             :                     (yyval.node) = (Node *) n;
   36500             :                 }
   36501             : #line 36502 "gram.c"
   36502           4 :     break;
   36503             : 
   36504           0 :   case 701: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop DOMAIN_P Typename  */
   36505             : #line 5348 "gram.y"
   36506             :                                 {
   36507             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36508             : 
   36509             :                     n->extname = (yyvsp[-3].str);
   36510             :                     n->action = (yyvsp[-2].ival);
   36511             :                     n->objtype = OBJECT_DOMAIN;
   36512             :                     n->object = (Node *) (yyvsp[0].typnam);
   36513             :                     (yyval.node) = (Node *) n;
   36514             :                 }
   36515             : #line 36516 "gram.c"
   36516           0 :     break;
   36517             : 
   36518          98 :   case 702: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop FUNCTION function_with_argtypes  */
   36519             : #line 5358 "gram.y"
   36520             :                                 {
   36521             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36522             : 
   36523             :                     n->extname = (yyvsp[-3].str);
   36524             :                     n->action = (yyvsp[-2].ival);
   36525             :                     n->objtype = OBJECT_FUNCTION;
   36526             :                     n->object = (Node *) (yyvsp[0].objwithargs);
   36527             :                     (yyval.node) = (Node *) n;
   36528             :                 }
   36529             : #line 36530 "gram.c"
   36530          98 :     break;
   36531             : 
   36532          18 :   case 703: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop OPERATOR operator_with_argtypes  */
   36533             : #line 5368 "gram.y"
   36534             :                                 {
   36535             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36536             : 
   36537             :                     n->extname = (yyvsp[-3].str);
   36538             :                     n->action = (yyvsp[-2].ival);
   36539             :                     n->objtype = OBJECT_OPERATOR;
   36540             :                     n->object = (Node *) (yyvsp[0].objwithargs);
   36541             :                     (yyval.node) = (Node *) n;
   36542             :                 }
   36543             : #line 36544 "gram.c"
   36544          18 :     break;
   36545             : 
   36546           4 :   case 704: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop OPERATOR CLASS any_name USING name  */
   36547             : #line 5378 "gram.y"
   36548             :                                 {
   36549             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36550             : 
   36551             :                     n->extname = (yyvsp[-6].str);
   36552             :                     n->action = (yyvsp[-5].ival);
   36553             :                     n->objtype = OBJECT_OPCLASS;
   36554             :                     n->object = (Node *) lcons(makeString((yyvsp[0].str)), (yyvsp[-2].list));
   36555             :                     (yyval.node) = (Node *) n;
   36556             :                 }
   36557             : #line 36558 "gram.c"
   36558           4 :     break;
   36559             : 
   36560           4 :   case 705: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop OPERATOR FAMILY any_name USING name  */
   36561             : #line 5388 "gram.y"
   36562             :                                 {
   36563             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36564             : 
   36565             :                     n->extname = (yyvsp[-6].str);
   36566             :                     n->action = (yyvsp[-5].ival);
   36567             :                     n->objtype = OBJECT_OPFAMILY;
   36568             :                     n->object = (Node *) lcons(makeString((yyvsp[0].str)), (yyvsp[-2].list));
   36569             :                     (yyval.node) = (Node *) n;
   36570             :                 }
   36571             : #line 36572 "gram.c"
   36572           4 :     break;
   36573             : 
   36574           0 :   case 706: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop PROCEDURE function_with_argtypes  */
   36575             : #line 5398 "gram.y"
   36576             :                                 {
   36577             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36578             : 
   36579             :                     n->extname = (yyvsp[-3].str);
   36580             :                     n->action = (yyvsp[-2].ival);
   36581             :                     n->objtype = OBJECT_PROCEDURE;
   36582             :                     n->object = (Node *) (yyvsp[0].objwithargs);
   36583             :                     (yyval.node) = (Node *) n;
   36584             :                 }
   36585             : #line 36586 "gram.c"
   36586           0 :     break;
   36587             : 
   36588           0 :   case 707: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop ROUTINE function_with_argtypes  */
   36589             : #line 5408 "gram.y"
   36590             :                                 {
   36591             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36592             : 
   36593             :                     n->extname = (yyvsp[-3].str);
   36594             :                     n->action = (yyvsp[-2].ival);
   36595             :                     n->objtype = OBJECT_ROUTINE;
   36596             :                     n->object = (Node *) (yyvsp[0].objwithargs);
   36597             :                     (yyval.node) = (Node *) n;
   36598             :                 }
   36599             : #line 36600 "gram.c"
   36600           0 :     break;
   36601             : 
   36602           4 :   case 708: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop TRANSFORM FOR Typename LANGUAGE name  */
   36603             : #line 5418 "gram.y"
   36604             :                                 {
   36605             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36606             : 
   36607             :                     n->extname = (yyvsp[-6].str);
   36608             :                     n->action = (yyvsp[-5].ival);
   36609             :                     n->objtype = OBJECT_TRANSFORM;
   36610             :                     n->object = (Node *) list_make2((yyvsp[-2].typnam), makeString((yyvsp[0].str)));
   36611             :                     (yyval.node) = (Node *) n;
   36612             :                 }
   36613             : #line 36614 "gram.c"
   36614           4 :     break;
   36615             : 
   36616           8 :   case 709: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop TYPE_P Typename  */
   36617             : #line 5428 "gram.y"
   36618             :                                 {
   36619             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36620             : 
   36621             :                     n->extname = (yyvsp[-3].str);
   36622             :                     n->action = (yyvsp[-2].ival);
   36623             :                     n->objtype = OBJECT_TYPE;
   36624             :                     n->object = (Node *) (yyvsp[0].typnam);
   36625             :                     (yyval.node) = (Node *) n;
   36626             :                 }
   36627             : #line 36628 "gram.c"
   36628           8 :     break;
   36629             : 
   36630         208 :   case 710: /* CreateFdwStmt: CREATE FOREIGN DATA_P WRAPPER name opt_fdw_options create_generic_options  */
   36631             : #line 5447 "gram.y"
   36632             :                                 {
   36633             :                     CreateFdwStmt *n = makeNode(CreateFdwStmt);
   36634             : 
   36635             :                     n->fdwname = (yyvsp[-2].str);
   36636             :                     n->func_options = (yyvsp[-1].list);
   36637             :                     n->options = (yyvsp[0].list);
   36638             :                     (yyval.node) = (Node *) n;
   36639             :                 }
   36640             : #line 36641 "gram.c"
   36641         208 :     break;
   36642             : 
   36643          56 :   case 711: /* fdw_option: HANDLER handler_name  */
   36644             : #line 5458 "gram.y"
   36645             :                                                                         { (yyval.defelt) = makeDefElem("handler", (Node *) (yyvsp[0].list), (yylsp[-1])); }
   36646             : #line 36647 "gram.c"
   36647          56 :     break;
   36648             : 
   36649           0 :   case 712: /* fdw_option: NO HANDLER  */
   36650             : #line 5459 "gram.y"
   36651             :                                                                                 { (yyval.defelt) = makeDefElem("handler", NULL, (yylsp[-1])); }
   36652             : #line 36653 "gram.c"
   36653           0 :     break;
   36654             : 
   36655          48 :   case 713: /* fdw_option: VALIDATOR handler_name  */
   36656             : #line 5460 "gram.y"
   36657             :                                                                         { (yyval.defelt) = makeDefElem("validator", (Node *) (yyvsp[0].list), (yylsp[-1])); }
   36658             : #line 36659 "gram.c"
   36659          48 :     break;
   36660             : 
   36661           6 :   case 714: /* fdw_option: NO VALIDATOR  */
   36662             : #line 5461 "gram.y"
   36663             :                                                                                 { (yyval.defelt) = makeDefElem("validator", NULL, (yylsp[-1])); }
   36664             : #line 36665 "gram.c"
   36665           6 :     break;
   36666             : 
   36667          90 :   case 715: /* fdw_options: fdw_option  */
   36668             : #line 5465 "gram.y"
   36669             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   36670             : #line 36671 "gram.c"
   36671          90 :     break;
   36672             : 
   36673          20 :   case 716: /* fdw_options: fdw_options fdw_option  */
   36674             : #line 5466 "gram.y"
   36675             :                                                                         { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   36676             : #line 36677 "gram.c"
   36677          20 :     break;
   36678             : 
   36679          54 :   case 717: /* opt_fdw_options: fdw_options  */
   36680             : #line 5470 "gram.y"
   36681             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   36682             : #line 36683 "gram.c"
   36683          54 :     break;
   36684             : 
   36685         246 :   case 718: /* opt_fdw_options: %empty  */
   36686             : #line 5471 "gram.y"
   36687             :                                                                                         { (yyval.list) = NIL; }
   36688             : #line 36689 "gram.c"
   36689         246 :     break;
   36690             : 
   36691          86 :   case 719: /* AlterFdwStmt: ALTER FOREIGN DATA_P WRAPPER name opt_fdw_options alter_generic_options  */
   36692             : #line 5482 "gram.y"
   36693             :                                 {
   36694             :                     AlterFdwStmt *n = makeNode(AlterFdwStmt);
   36695             : 
   36696             :                     n->fdwname = (yyvsp[-2].str);
   36697             :                     n->func_options = (yyvsp[-1].list);
   36698             :                     n->options = (yyvsp[0].list);
   36699             :                     (yyval.node) = (Node *) n;
   36700             :                 }
   36701             : #line 36702 "gram.c"
   36702          86 :     break;
   36703             : 
   36704          36 :   case 720: /* AlterFdwStmt: ALTER FOREIGN DATA_P WRAPPER name fdw_options  */
   36705             : #line 5491 "gram.y"
   36706             :                                 {
   36707             :                     AlterFdwStmt *n = makeNode(AlterFdwStmt);
   36708             : 
   36709             :                     n->fdwname = (yyvsp[-1].str);
   36710             :                     n->func_options = (yyvsp[0].list);
   36711             :                     n->options = NIL;
   36712             :                     (yyval.node) = (Node *) n;
   36713             :                 }
   36714             : #line 36715 "gram.c"
   36715          36 :     break;
   36716             : 
   36717         734 :   case 721: /* create_generic_options: OPTIONS '(' generic_option_list ')'  */
   36718             : #line 5503 "gram.y"
   36719             :                                                                                 { (yyval.list) = (yyvsp[-1].list); }
   36720             : #line 36721 "gram.c"
   36721         734 :     break;
   36722             : 
   36723       73042 :   case 722: /* create_generic_options: %empty  */
   36724             : #line 5504 "gram.y"
   36725             :                                                                                                         { (yyval.list) = NIL; }
   36726             : #line 36727 "gram.c"
   36727       73042 :     break;
   36728             : 
   36729         734 :   case 723: /* generic_option_list: generic_option_elem  */
   36730             : #line 5509 "gram.y"
   36731             :                                 {
   36732             :                     (yyval.list) = list_make1((yyvsp[0].defelt));
   36733             :                 }
   36734             : #line 36735 "gram.c"
   36735         734 :     break;
   36736             : 
   36737         480 :   case 724: /* generic_option_list: generic_option_list ',' generic_option_elem  */
   36738             : #line 5513 "gram.y"
   36739             :                                 {
   36740             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
   36741             :                 }
   36742             : #line 36743 "gram.c"
   36743         480 :     break;
   36744             : 
   36745         488 :   case 725: /* alter_generic_options: OPTIONS '(' alter_generic_option_list ')'  */
   36746             : #line 5520 "gram.y"
   36747             :                                                                                 { (yyval.list) = (yyvsp[-1].list); }
   36748             : #line 36749 "gram.c"
   36749         488 :     break;
   36750             : 
   36751         488 :   case 726: /* alter_generic_option_list: alter_generic_option_elem  */
   36752             : #line 5525 "gram.y"
   36753             :                                 {
   36754             :                     (yyval.list) = list_make1((yyvsp[0].defelt));
   36755             :                 }
   36756             : #line 36757 "gram.c"
   36757         488 :     break;
   36758             : 
   36759         168 :   case 727: /* alter_generic_option_list: alter_generic_option_list ',' alter_generic_option_elem  */
   36760             : #line 5529 "gram.y"
   36761             :                                 {
   36762             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
   36763             :                 }
   36764             : #line 36765 "gram.c"
   36765         168 :     break;
   36766             : 
   36767         200 :   case 728: /* alter_generic_option_elem: generic_option_elem  */
   36768             : #line 5536 "gram.y"
   36769             :                                 {
   36770             :                     (yyval.defelt) = (yyvsp[0].defelt);
   36771             :                 }
   36772             : #line 36773 "gram.c"
   36773         200 :     break;
   36774             : 
   36775         128 :   case 729: /* alter_generic_option_elem: SET generic_option_elem  */
   36776             : #line 5540 "gram.y"
   36777             :                                 {
   36778             :                     (yyval.defelt) = (yyvsp[0].defelt);
   36779             :                     (yyval.defelt)->defaction = DEFELEM_SET;
   36780             :                 }
   36781             : #line 36782 "gram.c"
   36782         128 :     break;
   36783             : 
   36784         202 :   case 730: /* alter_generic_option_elem: ADD_P generic_option_elem  */
   36785             : #line 5545 "gram.y"
   36786             :                                 {
   36787             :                     (yyval.defelt) = (yyvsp[0].defelt);
   36788             :                     (yyval.defelt)->defaction = DEFELEM_ADD;
   36789             :                 }
   36790             : #line 36791 "gram.c"
   36791         202 :     break;
   36792             : 
   36793         126 :   case 731: /* alter_generic_option_elem: DROP generic_option_name  */
   36794             : #line 5550 "gram.y"
   36795             :                                 {
   36796             :                     (yyval.defelt) = makeDefElemExtended(NULL, (yyvsp[0].str), NULL, DEFELEM_DROP, (yylsp[0]));
   36797             :                 }
   36798             : #line 36799 "gram.c"
   36799         126 :     break;
   36800             : 
   36801        1744 :   case 732: /* generic_option_elem: generic_option_name generic_option_arg  */
   36802             : #line 5557 "gram.y"
   36803             :                                 {
   36804             :                     (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
   36805             :                 }
   36806             : #line 36807 "gram.c"
   36807        1744 :     break;
   36808             : 
   36809        1870 :   case 733: /* generic_option_name: ColLabel  */
   36810             : #line 5563 "gram.y"
   36811             :                                                                 { (yyval.str) = (yyvsp[0].str); }
   36812             : #line 36813 "gram.c"
   36813        1870 :     break;
   36814             : 
   36815        1744 :   case 734: /* generic_option_arg: Sconst  */
   36816             : #line 5568 "gram.y"
   36817             :                                                                 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
   36818             : #line 36819 "gram.c"
   36819        1744 :     break;
   36820             : 
   36821         274 :   case 735: /* CreateForeignServerStmt: CREATE SERVER name opt_type opt_foreign_server_version FOREIGN DATA_P WRAPPER name create_generic_options  */
   36822             : #line 5580 "gram.y"
   36823             :                                 {
   36824             :                     CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
   36825             : 
   36826             :                     n->servername = (yyvsp[-7].str);
   36827             :                     n->servertype = (yyvsp[-6].str);
   36828             :                     n->version = (yyvsp[-5].str);
   36829             :                     n->fdwname = (yyvsp[-1].str);
   36830             :                     n->options = (yyvsp[0].list);
   36831             :                     n->if_not_exists = false;
   36832             :                     (yyval.node) = (Node *) n;
   36833             :                 }
   36834             : #line 36835 "gram.c"
   36835         274 :     break;
   36836             : 
   36837          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  */
   36838             : #line 5593 "gram.y"
   36839             :                                 {
   36840             :                     CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
   36841             : 
   36842             :                     n->servername = (yyvsp[-7].str);
   36843             :                     n->servertype = (yyvsp[-6].str);
   36844             :                     n->version = (yyvsp[-5].str);
   36845             :                     n->fdwname = (yyvsp[-1].str);
   36846             :                     n->options = (yyvsp[0].list);
   36847             :                     n->if_not_exists = true;
   36848             :                     (yyval.node) = (Node *) n;
   36849             :                 }
   36850             : #line 36851 "gram.c"
   36851          24 :     break;
   36852             : 
   36853          18 :   case 737: /* opt_type: TYPE_P Sconst  */
   36854             : #line 5607 "gram.y"
   36855             :                                                         { (yyval.str) = (yyvsp[0].str); }
   36856             : #line 36857 "gram.c"
   36857          18 :     break;
   36858             : 
   36859         280 :   case 738: /* opt_type: %empty  */
   36860             : #line 5608 "gram.y"
   36861             :                                                                 { (yyval.str) = NULL; }
   36862             : #line 36863 "gram.c"
   36863         280 :     break;
   36864             : 
   36865          66 :   case 739: /* foreign_server_version: VERSION_P Sconst  */
   36866             : #line 5613 "gram.y"
   36867             :                                                         { (yyval.str) = (yyvsp[0].str); }
   36868             : #line 36869 "gram.c"
   36869          66 :     break;
   36870             : 
   36871           0 :   case 740: /* foreign_server_version: VERSION_P NULL_P  */
   36872             : #line 5614 "gram.y"
   36873             :                                                         { (yyval.str) = NULL; }
   36874             : #line 36875 "gram.c"
   36875           0 :     break;
   36876             : 
   36877          18 :   case 741: /* opt_foreign_server_version: foreign_server_version  */
   36878             : #line 5618 "gram.y"
   36879             :                                                 { (yyval.str) = (yyvsp[0].str); }
   36880             : #line 36881 "gram.c"
   36881          18 :     break;
   36882             : 
   36883         280 :   case 742: /* opt_foreign_server_version: %empty  */
   36884             : #line 5619 "gram.y"
   36885             :                                                                 { (yyval.str) = NULL; }
   36886             : #line 36887 "gram.c"
   36887         280 :     break;
   36888             : 
   36889           6 :   case 743: /* AlterForeignServerStmt: ALTER SERVER name foreign_server_version alter_generic_options  */
   36890             : #line 5630 "gram.y"
   36891             :                                 {
   36892             :                     AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
   36893             : 
   36894             :                     n->servername = (yyvsp[-2].str);
   36895             :                     n->version = (yyvsp[-1].str);
   36896             :                     n->options = (yyvsp[0].list);
   36897             :                     n->has_version = true;
   36898             :                     (yyval.node) = (Node *) n;
   36899             :                 }
   36900             : #line 36901 "gram.c"
   36901           6 :     break;
   36902             : 
   36903          42 :   case 744: /* AlterForeignServerStmt: ALTER SERVER name foreign_server_version  */
   36904             : #line 5640 "gram.y"
   36905             :                                 {
   36906             :                     AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
   36907             : 
   36908             :                     n->servername = (yyvsp[-1].str);
   36909             :                     n->version = (yyvsp[0].str);
   36910             :                     n->has_version = true;
   36911             :                     (yyval.node) = (Node *) n;
   36912             :                 }
   36913             : #line 36914 "gram.c"
   36914          42 :     break;
   36915             : 
   36916         172 :   case 745: /* AlterForeignServerStmt: ALTER SERVER name alter_generic_options  */
   36917             : #line 5649 "gram.y"
   36918             :                                 {
   36919             :                     AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
   36920             : 
   36921             :                     n->servername = (yyvsp[-1].str);
   36922             :                     n->options = (yyvsp[0].list);
   36923             :                     (yyval.node) = (Node *) n;
   36924             :                 }
   36925             : #line 36926 "gram.c"
   36926         172 :     break;
   36927             : 
   36928         390 :   case 746: /* CreateForeignTableStmt: CREATE FOREIGN TABLE qualified_name '(' OptTableElementList ')' OptInherit SERVER name create_generic_options  */
   36929             : #line 5669 "gram.y"
   36930             :                                 {
   36931             :                     CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
   36932             : 
   36933             :                     (yyvsp[-7].range)->relpersistence = RELPERSISTENCE_PERMANENT;
   36934             :                     n->base.relation = (yyvsp[-7].range);
   36935             :                     n->base.tableElts = (yyvsp[-5].list);
   36936             :                     n->base.inhRelations = (yyvsp[-3].list);
   36937             :                     n->base.ofTypename = NULL;
   36938             :                     n->base.constraints = NIL;
   36939             :                     n->base.options = NIL;
   36940             :                     n->base.oncommit = ONCOMMIT_NOOP;
   36941             :                     n->base.tablespacename = NULL;
   36942             :                     n->base.if_not_exists = false;
   36943             :                     /* FDW-specific data */
   36944             :                     n->servername = (yyvsp[-1].str);
   36945             :                     n->options = (yyvsp[0].list);
   36946             :                     (yyval.node) = (Node *) n;
   36947             :                 }
   36948             : #line 36949 "gram.c"
   36949         390 :     break;
   36950             : 
   36951           0 :   case 747: /* CreateForeignTableStmt: CREATE FOREIGN TABLE IF_P NOT EXISTS qualified_name '(' OptTableElementList ')' OptInherit SERVER name create_generic_options  */
   36952             : #line 5690 "gram.y"
   36953             :                                 {
   36954             :                     CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
   36955             : 
   36956             :                     (yyvsp[-7].range)->relpersistence = RELPERSISTENCE_PERMANENT;
   36957             :                     n->base.relation = (yyvsp[-7].range);
   36958             :                     n->base.tableElts = (yyvsp[-5].list);
   36959             :                     n->base.inhRelations = (yyvsp[-3].list);
   36960             :                     n->base.ofTypename = NULL;
   36961             :                     n->base.constraints = NIL;
   36962             :                     n->base.options = NIL;
   36963             :                     n->base.oncommit = ONCOMMIT_NOOP;
   36964             :                     n->base.tablespacename = NULL;
   36965             :                     n->base.if_not_exists = true;
   36966             :                     /* FDW-specific data */
   36967             :                     n->servername = (yyvsp[-1].str);
   36968             :                     n->options = (yyvsp[0].list);
   36969             :                     (yyval.node) = (Node *) n;
   36970             :                 }
   36971             : #line 36972 "gram.c"
   36972           0 :     break;
   36973             : 
   36974          90 :   case 748: /* CreateForeignTableStmt: CREATE FOREIGN TABLE qualified_name PARTITION OF qualified_name OptTypedTableElementList PartitionBoundSpec SERVER name create_generic_options  */
   36975             : #line 5711 "gram.y"
   36976             :                                 {
   36977             :                     CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
   36978             : 
   36979             :                     (yyvsp[-8].range)->relpersistence = RELPERSISTENCE_PERMANENT;
   36980             :                     n->base.relation = (yyvsp[-8].range);
   36981             :                     n->base.inhRelations = list_make1((yyvsp[-5].range));
   36982             :                     n->base.tableElts = (yyvsp[-4].list);
   36983             :                     n->base.partbound = (yyvsp[-3].partboundspec);
   36984             :                     n->base.ofTypename = NULL;
   36985             :                     n->base.constraints = NIL;
   36986             :                     n->base.options = NIL;
   36987             :                     n->base.oncommit = ONCOMMIT_NOOP;
   36988             :                     n->base.tablespacename = NULL;
   36989             :                     n->base.if_not_exists = false;
   36990             :                     /* FDW-specific data */
   36991             :                     n->servername = (yyvsp[-1].str);
   36992             :                     n->options = (yyvsp[0].list);
   36993             :                     (yyval.node) = (Node *) n;
   36994             :                 }
   36995             : #line 36996 "gram.c"
   36996          90 :     break;
   36997             : 
   36998           0 :   case 749: /* CreateForeignTableStmt: CREATE FOREIGN TABLE IF_P NOT EXISTS qualified_name PARTITION OF qualified_name OptTypedTableElementList PartitionBoundSpec SERVER name create_generic_options  */
   36999             : #line 5733 "gram.y"
   37000             :                                 {
   37001             :                     CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
   37002             : 
   37003             :                     (yyvsp[-8].range)->relpersistence = RELPERSISTENCE_PERMANENT;
   37004             :                     n->base.relation = (yyvsp[-8].range);
   37005             :                     n->base.inhRelations = list_make1((yyvsp[-5].range));
   37006             :                     n->base.tableElts = (yyvsp[-4].list);
   37007             :                     n->base.partbound = (yyvsp[-3].partboundspec);
   37008             :                     n->base.ofTypename = NULL;
   37009             :                     n->base.constraints = NIL;
   37010             :                     n->base.options = NIL;
   37011             :                     n->base.oncommit = ONCOMMIT_NOOP;
   37012             :                     n->base.tablespacename = NULL;
   37013             :                     n->base.if_not_exists = true;
   37014             :                     /* FDW-specific data */
   37015             :                     n->servername = (yyvsp[-1].str);
   37016             :                     n->options = (yyvsp[0].list);
   37017             :                     (yyval.node) = (Node *) n;
   37018             :                 }
   37019             : #line 37020 "gram.c"
   37020           0 :     break;
   37021             : 
   37022          48 :   case 750: /* ImportForeignSchemaStmt: IMPORT_P FOREIGN SCHEMA name import_qualification FROM SERVER name INTO name create_generic_options  */
   37023             : #line 5766 "gram.y"
   37024             :                         {
   37025             :                 ImportForeignSchemaStmt *n = makeNode(ImportForeignSchemaStmt);
   37026             : 
   37027             :                 n->server_name = (yyvsp[-3].str);
   37028             :                 n->remote_schema = (yyvsp[-7].str);
   37029             :                 n->local_schema = (yyvsp[-1].str);
   37030             :                 n->list_type = (yyvsp[-6].importqual)->type;
   37031             :                 n->table_list = (yyvsp[-6].importqual)->table_names;
   37032             :                 n->options = (yyvsp[0].list);
   37033             :                 (yyval.node) = (Node *) n;
   37034             :             }
   37035             : #line 37036 "gram.c"
   37036          48 :     break;
   37037             : 
   37038          14 :   case 751: /* import_qualification_type: LIMIT TO  */
   37039             : #line 5780 "gram.y"
   37040             :                                                         { (yyval.ival) = FDW_IMPORT_SCHEMA_LIMIT_TO; }
   37041             : #line 37042 "gram.c"
   37042          14 :     break;
   37043             : 
   37044          14 :   case 752: /* import_qualification_type: EXCEPT  */
   37045             : #line 5781 "gram.y"
   37046             :                                                         { (yyval.ival) = FDW_IMPORT_SCHEMA_EXCEPT; }
   37047             : #line 37048 "gram.c"
   37048          14 :     break;
   37049             : 
   37050          28 :   case 753: /* import_qualification: import_qualification_type '(' relation_expr_list ')'  */
   37051             : #line 5786 "gram.y"
   37052             :                         {
   37053             :                 ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
   37054             : 
   37055             :                 n->type = (yyvsp[-3].ival);
   37056             :                 n->table_names = (yyvsp[-1].list);
   37057             :                 (yyval.importqual) = n;
   37058             :             }
   37059             : #line 37060 "gram.c"
   37060          28 :     break;
   37061             : 
   37062          20 :   case 754: /* import_qualification: %empty  */
   37063             : #line 5794 "gram.y"
   37064             :                         {
   37065             :                 ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
   37066             :                 n->type = FDW_IMPORT_SCHEMA_ALL;
   37067             :                 n->table_names = NIL;
   37068             :                 (yyval.importqual) = n;
   37069             :             }
   37070             : #line 37071 "gram.c"
   37071          20 :     break;
   37072             : 
   37073         246 :   case 755: /* CreateUserMappingStmt: CREATE USER MAPPING FOR auth_ident SERVER name create_generic_options  */
   37074             : #line 5810 "gram.y"
   37075             :                                 {
   37076             :                     CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
   37077             : 
   37078             :                     n->user = (yyvsp[-3].rolespec);
   37079             :                     n->servername = (yyvsp[-1].str);
   37080             :                     n->options = (yyvsp[0].list);
   37081             :                     n->if_not_exists = false;
   37082             :                     (yyval.node) = (Node *) n;
   37083             :                 }
   37084             : #line 37085 "gram.c"
   37085         246 :     break;
   37086             : 
   37087           6 :   case 756: /* CreateUserMappingStmt: CREATE USER MAPPING IF_P NOT EXISTS FOR auth_ident SERVER name create_generic_options  */
   37088             : #line 5820 "gram.y"
   37089             :                                 {
   37090             :                     CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
   37091             : 
   37092             :                     n->user = (yyvsp[-3].rolespec);
   37093             :                     n->servername = (yyvsp[-1].str);
   37094             :                     n->options = (yyvsp[0].list);
   37095             :                     n->if_not_exists = true;
   37096             :                     (yyval.node) = (Node *) n;
   37097             :                 }
   37098             : #line 37099 "gram.c"
   37099           6 :     break;
   37100             : 
   37101         442 :   case 757: /* auth_ident: RoleSpec  */
   37102             : #line 5832 "gram.y"
   37103             :                                         { (yyval.rolespec) = (yyvsp[0].rolespec); }
   37104             : #line 37105 "gram.c"
   37105         442 :     break;
   37106             : 
   37107          46 :   case 758: /* auth_ident: USER  */
   37108             : #line 5833 "gram.y"
   37109             :                                                         { (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0])); }
   37110             : #line 37111 "gram.c"
   37111          46 :     break;
   37112             : 
   37113          88 :   case 759: /* DropUserMappingStmt: DROP USER MAPPING FOR auth_ident SERVER name  */
   37114             : #line 5846 "gram.y"
   37115             :                                 {
   37116             :                     DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
   37117             : 
   37118             :                     n->user = (yyvsp[-2].rolespec);
   37119             :                     n->servername = (yyvsp[0].str);
   37120             :                     n->missing_ok = false;
   37121             :                     (yyval.node) = (Node *) n;
   37122             :                 }
   37123             : #line 37124 "gram.c"
   37124          88 :     break;
   37125             : 
   37126          38 :   case 760: /* DropUserMappingStmt: DROP USER MAPPING IF_P EXISTS FOR auth_ident SERVER name  */
   37127             : #line 5855 "gram.y"
   37128             :                                 {
   37129             :                     DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
   37130             : 
   37131             :                     n->user = (yyvsp[-2].rolespec);
   37132             :                     n->servername = (yyvsp[0].str);
   37133             :                     n->missing_ok = true;
   37134             :                     (yyval.node) = (Node *) n;
   37135             :                 }
   37136             : #line 37137 "gram.c"
   37137          38 :     break;
   37138             : 
   37139         110 :   case 761: /* AlterUserMappingStmt: ALTER USER MAPPING FOR auth_ident SERVER name alter_generic_options  */
   37140             : #line 5873 "gram.y"
   37141             :                                 {
   37142             :                     AlterUserMappingStmt *n = makeNode(AlterUserMappingStmt);
   37143             : 
   37144             :                     n->user = (yyvsp[-3].rolespec);
   37145             :                     n->servername = (yyvsp[-1].str);
   37146             :                     n->options = (yyvsp[0].list);
   37147             :                     (yyval.node) = (Node *) n;
   37148             :                 }
   37149             : #line 37150 "gram.c"
   37150         110 :     break;
   37151             : 
   37152         700 :   case 762: /* CreatePolicyStmt: CREATE POLICY name ON qualified_name RowSecurityDefaultPermissive RowSecurityDefaultForCmd RowSecurityDefaultToRole RowSecurityOptionalExpr RowSecurityOptionalWithCheck  */
   37153             : #line 5900 "gram.y"
   37154             :                                 {
   37155             :                     CreatePolicyStmt *n = makeNode(CreatePolicyStmt);
   37156             : 
   37157             :                     n->policy_name = (yyvsp[-7].str);
   37158             :                     n->table = (yyvsp[-5].range);
   37159             :                     n->permissive = (yyvsp[-4].boolean);
   37160             :                     n->cmd_name = (yyvsp[-3].str);
   37161             :                     n->roles = (yyvsp[-2].list);
   37162             :                     n->qual = (yyvsp[-1].node);
   37163             :                     n->with_check = (yyvsp[0].node);
   37164             :                     (yyval.node) = (Node *) n;
   37165             :                 }
   37166             : #line 37167 "gram.c"
   37167         700 :     break;
   37168             : 
   37169          84 :   case 763: /* AlterPolicyStmt: ALTER POLICY name ON qualified_name RowSecurityOptionalToRole RowSecurityOptionalExpr RowSecurityOptionalWithCheck  */
   37170             : #line 5917 "gram.y"
   37171             :                                 {
   37172             :                     AlterPolicyStmt *n = makeNode(AlterPolicyStmt);
   37173             : 
   37174             :                     n->policy_name = (yyvsp[-5].str);
   37175             :                     n->table = (yyvsp[-3].range);
   37176             :                     n->roles = (yyvsp[-2].list);
   37177             :                     n->qual = (yyvsp[-1].node);
   37178             :                     n->with_check = (yyvsp[0].node);
   37179             :                     (yyval.node) = (Node *) n;
   37180             :                 }
   37181             : #line 37182 "gram.c"
   37182          84 :     break;
   37183             : 
   37184         726 :   case 764: /* RowSecurityOptionalExpr: USING '(' a_expr ')'  */
   37185             : #line 5930 "gram.y"
   37186             :                                                 { (yyval.node) = (yyvsp[-1].node); }
   37187             : #line 37188 "gram.c"
   37188         726 :     break;
   37189             : 
   37190          58 :   case 765: /* RowSecurityOptionalExpr: %empty  */
   37191             : #line 5931 "gram.y"
   37192             :                                                         { (yyval.node) = NULL; }
   37193             : #line 37194 "gram.c"
   37194          58 :     break;
   37195             : 
   37196         128 :   case 766: /* RowSecurityOptionalWithCheck: WITH CHECK '(' a_expr ')'  */
   37197             : #line 5935 "gram.y"
   37198             :                                                                 { (yyval.node) = (yyvsp[-1].node); }
   37199             : #line 37200 "gram.c"
   37200         128 :     break;
   37201             : 
   37202         656 :   case 767: /* RowSecurityOptionalWithCheck: %empty  */
   37203             : #line 5936 "gram.y"
   37204             :                                                                         { (yyval.node) = NULL; }
   37205             : #line 37206 "gram.c"
   37206         656 :     break;
   37207             : 
   37208         130 :   case 768: /* RowSecurityDefaultToRole: TO role_list  */
   37209             : #line 5940 "gram.y"
   37210             :                                                         { (yyval.list) = (yyvsp[0].list); }
   37211             : #line 37212 "gram.c"
   37212         130 :     break;
   37213             : 
   37214         570 :   case 769: /* RowSecurityDefaultToRole: %empty  */
   37215             : #line 5941 "gram.y"
   37216             :                                                         { (yyval.list) = list_make1(makeRoleSpec(ROLESPEC_PUBLIC, -1)); }
   37217             : #line 37218 "gram.c"
   37218         570 :     break;
   37219             : 
   37220          12 :   case 770: /* RowSecurityOptionalToRole: TO role_list  */
   37221             : #line 5945 "gram.y"
   37222             :                                                         { (yyval.list) = (yyvsp[0].list); }
   37223             : #line 37224 "gram.c"
   37224          12 :     break;
   37225             : 
   37226          72 :   case 771: /* RowSecurityOptionalToRole: %empty  */
   37227             : #line 5946 "gram.y"
   37228             :                                                         { (yyval.list) = NULL; }
   37229             : #line 37230 "gram.c"
   37230          72 :     break;
   37231             : 
   37232          98 :   case 772: /* RowSecurityDefaultPermissive: AS IDENT  */
   37233             : #line 5951 "gram.y"
   37234             :                                 {
   37235             :                     if (strcmp((yyvsp[0].str), "permissive") == 0)
   37236             :                         (yyval.boolean) = true;
   37237             :                     else if (strcmp((yyvsp[0].str), "restrictive") == 0)
   37238             :                         (yyval.boolean) = false;
   37239             :                     else
   37240             :                         ereport(ERROR,
   37241             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   37242             :                                  errmsg("unrecognized row security option \"%s\"", (yyvsp[0].str)),
   37243             :                                  errhint("Only PERMISSIVE or RESTRICTIVE policies are supported currently."),
   37244             :                                  parser_errposition((yylsp[0]))));
   37245             : 
   37246             :                 }
   37247             : #line 37248 "gram.c"
   37248          92 :     break;
   37249             : 
   37250         608 :   case 773: /* RowSecurityDefaultPermissive: %empty  */
   37251             : #line 5964 "gram.y"
   37252             :                                                         { (yyval.boolean) = true; }
   37253             : #line 37254 "gram.c"
   37254         608 :     break;
   37255             : 
   37256         332 :   case 774: /* RowSecurityDefaultForCmd: FOR row_security_cmd  */
   37257             : #line 5968 "gram.y"
   37258             :                                                 { (yyval.str) = (yyvsp[0].str); }
   37259             : #line 37260 "gram.c"
   37260         332 :     break;
   37261             : 
   37262         368 :   case 775: /* RowSecurityDefaultForCmd: %empty  */
   37263             : #line 5969 "gram.y"
   37264             :                                                         { (yyval.str) = "all"; }
   37265             : #line 37266 "gram.c"
   37266         368 :     break;
   37267             : 
   37268          44 :   case 776: /* row_security_cmd: ALL  */
   37269             : #line 5973 "gram.y"
   37270             :                                                         { (yyval.str) = "all"; }
   37271             : #line 37272 "gram.c"
   37272          44 :     break;
   37273             : 
   37274         116 :   case 777: /* row_security_cmd: SELECT  */
   37275             : #line 5974 "gram.y"
   37276             :                                                 { (yyval.str) = "select"; }
   37277             : #line 37278 "gram.c"
   37278         116 :     break;
   37279             : 
   37280          44 :   case 778: /* row_security_cmd: INSERT  */
   37281             : #line 5975 "gram.y"
   37282             :                                                 { (yyval.str) = "insert"; }
   37283             : #line 37284 "gram.c"
   37284          44 :     break;
   37285             : 
   37286          82 :   case 779: /* row_security_cmd: UPDATE  */
   37287             : #line 5976 "gram.y"
   37288             :                                                 { (yyval.str) = "update"; }
   37289             : #line 37290 "gram.c"
   37290          82 :     break;
   37291             : 
   37292          46 :   case 780: /* row_security_cmd: DELETE_P  */
   37293             : #line 5977 "gram.y"
   37294             :                                                 { (yyval.str) = "delete"; }
   37295             : #line 37296 "gram.c"
   37296          46 :     break;
   37297             : 
   37298          64 :   case 781: /* CreateAmStmt: CREATE ACCESS METHOD name TYPE_P am_type HANDLER handler_name  */
   37299             : #line 5988 "gram.y"
   37300             :                                 {
   37301             :                     CreateAmStmt *n = makeNode(CreateAmStmt);
   37302             : 
   37303             :                     n->amname = (yyvsp[-4].str);
   37304             :                     n->handler_name = (yyvsp[0].list);
   37305             :                     n->amtype = (yyvsp[-2].chr);
   37306             :                     (yyval.node) = (Node *) n;
   37307             :                 }
   37308             : #line 37309 "gram.c"
   37309          64 :     break;
   37310             : 
   37311          34 :   case 782: /* am_type: INDEX  */
   37312             : #line 5999 "gram.y"
   37313             :                                                 { (yyval.chr) = AMTYPE_INDEX; }
   37314             : #line 37315 "gram.c"
   37315          34 :     break;
   37316             : 
   37317          30 :   case 783: /* am_type: TABLE  */
   37318             : #line 6000 "gram.y"
   37319             :                                                 { (yyval.chr) = AMTYPE_TABLE; }
   37320             : #line 37321 "gram.c"
   37321          30 :     break;
   37322             : 
   37323        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 ')'  */
   37324             : #line 6014 "gram.y"
   37325             :                                 {
   37326             :                     CreateTrigStmt *n = makeNode(CreateTrigStmt);
   37327             : 
   37328             :                     n->replace = (yyvsp[-15].boolean);
   37329             :                     n->isconstraint = false;
   37330             :                     n->trigname = (yyvsp[-13].str);
   37331             :                     n->relation = (yyvsp[-9].range);
   37332             :                     n->funcname = (yyvsp[-3].list);
   37333             :                     n->args = (yyvsp[-1].list);
   37334             :                     n->row = (yyvsp[-7].boolean);
   37335             :                     n->timing = (yyvsp[-12].ival);
   37336             :                     n->events = intVal(linitial((yyvsp[-11].list)));
   37337             :                     n->columns = (List *) lsecond((yyvsp[-11].list));
   37338             :                     n->whenClause = (yyvsp[-6].node);
   37339             :                     n->transitionRels = (yyvsp[-8].list);
   37340             :                     n->deferrable = false;
   37341             :                     n->initdeferred = false;
   37342             :                     n->constrrel = NULL;
   37343             :                     (yyval.node) = (Node *) n;
   37344             :                 }
   37345             : #line 37346 "gram.c"
   37346        3260 :     break;
   37347             : 
   37348          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 ')'  */
   37349             : #line 6038 "gram.y"
   37350             :                                 {
   37351             :                     CreateTrigStmt *n = makeNode(CreateTrigStmt);
   37352             : 
   37353             :                     n->replace = (yyvsp[-19].boolean);
   37354             :                     if (n->replace) /* not supported, see CreateTrigger */
   37355             :                         ereport(ERROR,
   37356             :                                 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   37357             :                                  errmsg("CREATE OR REPLACE CONSTRAINT TRIGGER is not supported"),
   37358             :                                  parser_errposition((yylsp[-20]))));
   37359             :                     n->isconstraint = true;
   37360             :                     n->trigname = (yyvsp[-16].str);
   37361             :                     n->relation = (yyvsp[-12].range);
   37362             :                     n->funcname = (yyvsp[-3].list);
   37363             :                     n->args = (yyvsp[-1].list);
   37364             :                     n->row = true;
   37365             :                     n->timing = TRIGGER_TYPE_AFTER;
   37366             :                     n->events = intVal(linitial((yyvsp[-14].list)));
   37367             :                     n->columns = (List *) lsecond((yyvsp[-14].list));
   37368             :                     n->whenClause = (yyvsp[-6].node);
   37369             :                     n->transitionRels = NIL;
   37370             :                     processCASbits((yyvsp[-10].ival), (yylsp[-10]), "TRIGGER",
   37371             :                                    &n->deferrable, &n->initdeferred, NULL,
   37372             :                                    NULL, NULL, yyscanner);
   37373             :                     n->constrrel = (yyvsp[-11].range);
   37374             :                     (yyval.node) = (Node *) n;
   37375             :                 }
   37376             : #line 37377 "gram.c"
   37377          62 :     break;
   37378             : 
   37379        1478 :   case 786: /* TriggerActionTime: BEFORE  */
   37380             : #line 6067 "gram.y"
   37381             :                                                                                         { (yyval.ival) = TRIGGER_TYPE_BEFORE; }
   37382             : #line 37383 "gram.c"
   37383        1478 :     break;
   37384             : 
   37385        1650 :   case 787: /* TriggerActionTime: AFTER  */
   37386             : #line 6068 "gram.y"
   37387             :                                                                                         { (yyval.ival) = TRIGGER_TYPE_AFTER; }
   37388             : #line 37389 "gram.c"
   37389        1650 :     break;
   37390             : 
   37391         144 :   case 788: /* TriggerActionTime: INSTEAD OF  */
   37392             : #line 6069 "gram.y"
   37393             :                                                                                 { (yyval.ival) = TRIGGER_TYPE_INSTEAD; }
   37394             : #line 37395 "gram.c"
   37395         144 :     break;
   37396             : 
   37397        3334 :   case 789: /* TriggerEvents: TriggerOneEvent  */
   37398             : #line 6074 "gram.y"
   37399             :                                 { (yyval.list) = (yyvsp[0].list); }
   37400             : #line 37401 "gram.c"
   37401        3334 :     break;
   37402             : 
   37403        1212 :   case 790: /* TriggerEvents: TriggerEvents OR TriggerOneEvent  */
   37404             : #line 6076 "gram.y"
   37405             :                                 {
   37406             :                     int         events1 = intVal(linitial((yyvsp[-2].list)));
   37407             :                     int         events2 = intVal(linitial((yyvsp[0].list)));
   37408             :                     List       *columns1 = (List *) lsecond((yyvsp[-2].list));
   37409             :                     List       *columns2 = (List *) lsecond((yyvsp[0].list));
   37410             : 
   37411             :                     if (events1 & events2)
   37412             :                         parser_yyerror("duplicate trigger events specified");
   37413             :                     /*
   37414             :                      * concat'ing the columns lists loses information about
   37415             :                      * which columns went with which event, but so long as
   37416             :                      * only UPDATE carries columns and we disallow multiple
   37417             :                      * UPDATE items, it doesn't matter.  Command execution
   37418             :                      * should just ignore the columns for non-UPDATE events.
   37419             :                      */
   37420             :                     (yyval.list) = list_make2(makeInteger(events1 | events2),
   37421             :                                     list_concat(columns1, columns2));
   37422             :                 }
   37423             : #line 37424 "gram.c"
   37424        1206 :     break;
   37425             : 
   37426        1710 :   case 791: /* TriggerOneEvent: INSERT  */
   37427             : #line 6098 "gram.y"
   37428             :                                 { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_INSERT), NIL); }
   37429             : #line 37430 "gram.c"
   37430        1710 :     break;
   37431             : 
   37432         896 :   case 792: /* TriggerOneEvent: DELETE_P  */
   37433             : #line 6100 "gram.y"
   37434             :                                 { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_DELETE), NIL); }
   37435             : #line 37436 "gram.c"
   37436         896 :     break;
   37437             : 
   37438        1794 :   case 793: /* TriggerOneEvent: UPDATE  */
   37439             : #line 6102 "gram.y"
   37440             :                                 { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), NIL); }
   37441             : #line 37442 "gram.c"
   37442        1794 :     break;
   37443             : 
   37444         108 :   case 794: /* TriggerOneEvent: UPDATE OF columnList  */
   37445             : #line 6104 "gram.y"
   37446             :                                 { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), (yyvsp[0].list)); }
   37447             : #line 37448 "gram.c"
   37448         108 :     break;
   37449             : 
   37450          38 :   case 795: /* TriggerOneEvent: TRUNCATE  */
   37451             : #line 6106 "gram.y"
   37452             :                                 { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_TRUNCATE), NIL); }
   37453             : #line 37454 "gram.c"
   37454          38 :     break;
   37455             : 
   37456         470 :   case 796: /* TriggerReferencing: REFERENCING TriggerTransitions  */
   37457             : #line 6110 "gram.y"
   37458             :                                                                         { (yyval.list) = (yyvsp[0].list); }
   37459             : #line 37460 "gram.c"
   37460         470 :     break;
   37461             : 
   37462        2790 :   case 797: /* TriggerReferencing: %empty  */
   37463             : #line 6111 "gram.y"
   37464             :                                                                                                 { (yyval.list) = NIL; }
   37465             : #line 37466 "gram.c"
   37466        2790 :     break;
   37467             : 
   37468         470 :   case 798: /* TriggerTransitions: TriggerTransition  */
   37469             : #line 6115 "gram.y"
   37470             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   37471             : #line 37472 "gram.c"
   37472         470 :     break;
   37473             : 
   37474         144 :   case 799: /* TriggerTransitions: TriggerTransitions TriggerTransition  */
   37475             : #line 6116 "gram.y"
   37476             :                                                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
   37477             : #line 37478 "gram.c"
   37478         144 :     break;
   37479             : 
   37480         614 :   case 800: /* TriggerTransition: TransitionOldOrNew TransitionRowOrTable opt_as TransitionRelName  */
   37481             : #line 6121 "gram.y"
   37482             :                                 {
   37483             :                     TriggerTransition *n = makeNode(TriggerTransition);
   37484             : 
   37485             :                     n->name = (yyvsp[0].str);
   37486             :                     n->isNew = (yyvsp[-3].boolean);
   37487             :                     n->isTable = (yyvsp[-2].boolean);
   37488             :                     (yyval.node) = (Node *) n;
   37489             :                 }
   37490             : #line 37491 "gram.c"
   37491         614 :     break;
   37492             : 
   37493         336 :   case 801: /* TransitionOldOrNew: NEW  */
   37494             : #line 6132 "gram.y"
   37495             :                                                                                                         { (yyval.boolean) = true; }
   37496             : #line 37497 "gram.c"
   37497         336 :     break;
   37498             : 
   37499         278 :   case 802: /* TransitionOldOrNew: OLD  */
   37500             : #line 6133 "gram.y"
   37501             :                                                                                                 { (yyval.boolean) = false; }
   37502             : #line 37503 "gram.c"
   37503         278 :     break;
   37504             : 
   37505         614 :   case 803: /* TransitionRowOrTable: TABLE  */
   37506             : #line 6137 "gram.y"
   37507             :                                                                                                 { (yyval.boolean) = true; }
   37508             : #line 37509 "gram.c"
   37509         614 :     break;
   37510             : 
   37511           0 :   case 804: /* TransitionRowOrTable: ROW  */
   37512             : #line 6146 "gram.y"
   37513             :                                                                                                 { (yyval.boolean) = false; }
   37514             : #line 37515 "gram.c"
   37515           0 :     break;
   37516             : 
   37517         614 :   case 805: /* TransitionRelName: ColId  */
   37518             : #line 6150 "gram.y"
   37519             :                                                                                                 { (yyval.str) = (yyvsp[0].str); }
   37520             : #line 37521 "gram.c"
   37521         614 :     break;
   37522             : 
   37523        3032 :   case 806: /* TriggerForSpec: FOR TriggerForOptEach TriggerForType  */
   37524             : #line 6155 "gram.y"
   37525             :                                 {
   37526             :                     (yyval.boolean) = (yyvsp[0].boolean);
   37527             :                 }
   37528             : #line 37529 "gram.c"
   37529        3032 :     break;
   37530             : 
   37531         228 :   case 807: /* TriggerForSpec: %empty  */
   37532             : #line 6159 "gram.y"
   37533             :                                 {
   37534             :                     /*
   37535             :                      * If ROW/STATEMENT not specified, default to
   37536             :                      * STATEMENT, per SQL
   37537             :                      */
   37538             :                     (yyval.boolean) = false;
   37539             :                 }
   37540             : #line 37541 "gram.c"
   37541         228 :     break;
   37542             : 
   37543        2196 :   case 810: /* TriggerForType: ROW  */
   37544             : #line 6174 "gram.y"
   37545             :                                                                                                         { (yyval.boolean) = true; }
   37546             : #line 37547 "gram.c"
   37547        2196 :     break;
   37548             : 
   37549         836 :   case 811: /* TriggerForType: STATEMENT  */
   37550             : #line 6175 "gram.y"
   37551             :                                                                                                 { (yyval.boolean) = false; }
   37552             : #line 37553 "gram.c"
   37553         836 :     break;
   37554             : 
   37555         194 :   case 812: /* TriggerWhen: WHEN '(' a_expr ')'  */
   37556             : #line 6179 "gram.y"
   37557             :                                                                                         { (yyval.node) = (yyvsp[-1].node); }
   37558             : #line 37559 "gram.c"
   37559         194 :     break;
   37560             : 
   37561        3128 :   case 813: /* TriggerWhen: %empty  */
   37562             : #line 6180 "gram.y"
   37563             :                                                                                                 { (yyval.node) = NULL; }
   37564             : #line 37565 "gram.c"
   37565        3128 :     break;
   37566             : 
   37567         588 :   case 816: /* TriggerFuncArgs: TriggerFuncArg  */
   37568             : #line 6189 "gram.y"
   37569             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   37570             : #line 37571 "gram.c"
   37571         588 :     break;
   37572             : 
   37573         166 :   case 817: /* TriggerFuncArgs: TriggerFuncArgs ',' TriggerFuncArg  */
   37574             : #line 6190 "gram.y"
   37575             :                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   37576             : #line 37577 "gram.c"
   37577         166 :     break;
   37578             : 
   37579        2734 :   case 818: /* TriggerFuncArgs: %empty  */
   37580             : #line 6191 "gram.y"
   37581             :                                                                                                 { (yyval.list) = NIL; }
   37582             : #line 37583 "gram.c"
   37583        2734 :     break;
   37584             : 
   37585          94 :   case 819: /* TriggerFuncArg: Iconst  */
   37586             : #line 6196 "gram.y"
   37587             :                                 {
   37588             :                     (yyval.node) = (Node *) makeString(psprintf("%d", (yyvsp[0].ival)));
   37589             :                 }
   37590             : #line 37591 "gram.c"
   37591          94 :     break;
   37592             : 
   37593           0 :   case 820: /* TriggerFuncArg: FCONST  */
   37594             : #line 6199 "gram.y"
   37595             :                                                                                                 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
   37596             : #line 37597 "gram.c"
   37597           0 :     break;
   37598             : 
   37599         638 :   case 821: /* TriggerFuncArg: Sconst  */
   37600             : #line 6200 "gram.y"
   37601             :                                                                                                 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
   37602             : #line 37603 "gram.c"
   37603         638 :     break;
   37604             : 
   37605          22 :   case 822: /* TriggerFuncArg: ColLabel  */
   37606             : #line 6201 "gram.y"
   37607             :                                                                                                 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
   37608             : #line 37609 "gram.c"
   37609          22 :     break;
   37610             : 
   37611          12 :   case 823: /* OptConstrFromTable: FROM qualified_name  */
   37612             : #line 6205 "gram.y"
   37613             :                                                                                         { (yyval.range) = (yyvsp[0].range); }
   37614             : #line 37615 "gram.c"
   37615          12 :     break;
   37616             : 
   37617          50 :   case 824: /* OptConstrFromTable: %empty  */
   37618             : #line 6206 "gram.y"
   37619             :                                                                                                 { (yyval.range) = NULL; }
   37620             : #line 37621 "gram.c"
   37621          50 :     break;
   37622             : 
   37623       17928 :   case 825: /* ConstraintAttributeSpec: %empty  */
   37624             : #line 6211 "gram.y"
   37625             :                                 { (yyval.ival) = 0; }
   37626             : #line 37627 "gram.c"
   37627       17928 :     break;
   37628             : 
   37629        1644 :   case 826: /* ConstraintAttributeSpec: ConstraintAttributeSpec ConstraintAttributeElem  */
   37630             : #line 6213 "gram.y"
   37631             :                                 {
   37632             :                     /*
   37633             :                      * We must complain about conflicting options.
   37634             :                      * We could, but choose not to, complain about redundant
   37635             :                      * options (ie, where $2's bit is already set in $1).
   37636             :                      */
   37637             :                     int     newspec = (yyvsp[-1].ival) | (yyvsp[0].ival);
   37638             : 
   37639             :                     /* special message for this case */
   37640             :                     if ((newspec & (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED)) == (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED))
   37641             :                         ereport(ERROR,
   37642             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   37643             :                                  errmsg("constraint declared INITIALLY DEFERRED must be DEFERRABLE"),
   37644             :                                  parser_errposition((yylsp[0]))));
   37645             :                     /* generic message for other conflicts */
   37646             :                     if ((newspec & (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE)) == (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE) ||
   37647             :                         (newspec & (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED)) == (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED) ||
   37648             :                         (newspec & (CAS_NOT_ENFORCED | CAS_ENFORCED)) == (CAS_NOT_ENFORCED | CAS_ENFORCED))
   37649             :                         ereport(ERROR,
   37650             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   37651             :                                  errmsg("conflicting constraint properties"),
   37652             :                                  parser_errposition((yylsp[0]))));
   37653             :                     (yyval.ival) = newspec;
   37654             :                 }
   37655             : #line 37656 "gram.c"
   37656        1632 :     break;
   37657             : 
   37658          42 :   case 827: /* ConstraintAttributeElem: NOT DEFERRABLE  */
   37659             : #line 6240 "gram.y"
   37660             :                                                                         { (yyval.ival) = CAS_NOT_DEFERRABLE; }
   37661             : #line 37662 "gram.c"
   37662          42 :     break;
   37663             : 
   37664         212 :   case 828: /* ConstraintAttributeElem: DEFERRABLE  */
   37665             : #line 6241 "gram.y"
   37666             :                                                                         { (yyval.ival) = CAS_DEFERRABLE; }
   37667             : #line 37668 "gram.c"
   37668         212 :     break;
   37669             : 
   37670          30 :   case 829: /* ConstraintAttributeElem: INITIALLY IMMEDIATE  */
   37671             : #line 6242 "gram.y"
   37672             :                                                                 { (yyval.ival) = CAS_INITIALLY_IMMEDIATE; }
   37673             : #line 37674 "gram.c"
   37674          30 :     break;
   37675             : 
   37676         158 :   case 830: /* ConstraintAttributeElem: INITIALLY DEFERRED  */
   37677             : #line 6243 "gram.y"
   37678             :                                                                 { (yyval.ival) = CAS_INITIALLY_DEFERRED; }
   37679             : #line 37680 "gram.c"
   37680         158 :     break;
   37681             : 
   37682         702 :   case 831: /* ConstraintAttributeElem: NOT VALID  */
   37683             : #line 6244 "gram.y"
   37684             :                                                                                 { (yyval.ival) = CAS_NOT_VALID; }
   37685             : #line 37686 "gram.c"
   37686         702 :     break;
   37687             : 
   37688         242 :   case 832: /* ConstraintAttributeElem: NO INHERIT  */
   37689             : #line 6245 "gram.y"
   37690             :                                                                         { (yyval.ival) = CAS_NO_INHERIT; }
   37691             : #line 37692 "gram.c"
   37692         242 :     break;
   37693             : 
   37694         162 :   case 833: /* ConstraintAttributeElem: NOT ENFORCED  */
   37695             : #line 6246 "gram.y"
   37696             :                                                                         { (yyval.ival) = CAS_NOT_ENFORCED; }
   37697             : #line 37698 "gram.c"
   37698         162 :     break;
   37699             : 
   37700          96 :   case 834: /* ConstraintAttributeElem: ENFORCED  */
   37701             : #line 6247 "gram.y"
   37702             :                                                                                 { (yyval.ival) = CAS_ENFORCED; }
   37703             : #line 37704 "gram.c"
   37704          96 :     break;
   37705             : 
   37706          98 :   case 835: /* CreateEventTrigStmt: CREATE EVENT TRIGGER name ON ColLabel EXECUTE FUNCTION_or_PROCEDURE func_name '(' ')'  */
   37707             : #line 6262 "gram.y"
   37708             :                                 {
   37709             :                     CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
   37710             : 
   37711             :                     n->trigname = (yyvsp[-7].str);
   37712             :                     n->eventname = (yyvsp[-5].str);
   37713             :                     n->whenclause = NULL;
   37714             :                     n->funcname = (yyvsp[-2].list);
   37715             :                     (yyval.node) = (Node *) n;
   37716             :                 }
   37717             : #line 37718 "gram.c"
   37718          98 :     break;
   37719             : 
   37720         100 :   case 836: /* CreateEventTrigStmt: CREATE EVENT TRIGGER name ON ColLabel WHEN event_trigger_when_list EXECUTE FUNCTION_or_PROCEDURE func_name '(' ')'  */
   37721             : #line 6274 "gram.y"
   37722             :                                 {
   37723             :                     CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
   37724             : 
   37725             :                     n->trigname = (yyvsp[-9].str);
   37726             :                     n->eventname = (yyvsp[-7].str);
   37727             :                     n->whenclause = (yyvsp[-5].list);
   37728             :                     n->funcname = (yyvsp[-2].list);
   37729             :                     (yyval.node) = (Node *) n;
   37730             :                 }
   37731             : #line 37732 "gram.c"
   37732         100 :     break;
   37733             : 
   37734         100 :   case 837: /* event_trigger_when_list: event_trigger_when_item  */
   37735             : #line 6287 "gram.y"
   37736             :                         { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   37737             : #line 37738 "gram.c"
   37738         100 :     break;
   37739             : 
   37740           6 :   case 838: /* event_trigger_when_list: event_trigger_when_list AND event_trigger_when_item  */
   37741             : #line 6289 "gram.y"
   37742             :                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
   37743             : #line 37744 "gram.c"
   37744           6 :     break;
   37745             : 
   37746         106 :   case 839: /* event_trigger_when_item: ColId IN_P '(' event_trigger_value_list ')'  */
   37747             : #line 6294 "gram.y"
   37748             :                         { (yyval.defelt) = makeDefElem((yyvsp[-4].str), (Node *) (yyvsp[-1].list), (yylsp[-4])); }
   37749             : #line 37750 "gram.c"
   37750         106 :     break;
   37751             : 
   37752         106 :   case 840: /* event_trigger_value_list: SCONST  */
   37753             : #line 6299 "gram.y"
   37754             :                         { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   37755             : #line 37756 "gram.c"
   37756         106 :     break;
   37757             : 
   37758          66 :   case 841: /* event_trigger_value_list: event_trigger_value_list ',' SCONST  */
   37759             : #line 6301 "gram.y"
   37760             :                         { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
   37761             : #line 37762 "gram.c"
   37762          66 :     break;
   37763             : 
   37764          48 :   case 842: /* AlterEventTrigStmt: ALTER EVENT TRIGGER name enable_trigger  */
   37765             : #line 6306 "gram.y"
   37766             :                                 {
   37767             :                     AlterEventTrigStmt *n = makeNode(AlterEventTrigStmt);
   37768             : 
   37769             :                     n->trigname = (yyvsp[-1].str);
   37770             :                     n->tgenabled = (yyvsp[0].chr);
   37771             :                     (yyval.node) = (Node *) n;
   37772             :                 }
   37773             : #line 37774 "gram.c"
   37774          48 :     break;
   37775             : 
   37776           6 :   case 843: /* enable_trigger: ENABLE_P  */
   37777             : #line 6316 "gram.y"
   37778             :                                                                         { (yyval.chr) = TRIGGER_FIRES_ON_ORIGIN; }
   37779             : #line 37780 "gram.c"
   37780           6 :     break;
   37781             : 
   37782           6 :   case 844: /* enable_trigger: ENABLE_P REPLICA  */
   37783             : #line 6317 "gram.y"
   37784             :                                                                 { (yyval.chr) = TRIGGER_FIRES_ON_REPLICA; }
   37785             : #line 37786 "gram.c"
   37786           6 :     break;
   37787             : 
   37788          16 :   case 845: /* enable_trigger: ENABLE_P ALWAYS  */
   37789             : #line 6318 "gram.y"
   37790             :                                                                 { (yyval.chr) = TRIGGER_FIRES_ALWAYS; }
   37791             : #line 37792 "gram.c"
   37792          16 :     break;
   37793             : 
   37794          20 :   case 846: /* enable_trigger: DISABLE_P  */
   37795             : #line 6319 "gram.y"
   37796             :                                                                         { (yyval.chr) = TRIGGER_DISABLED; }
   37797             : #line 37798 "gram.c"
   37798          20 :     break;
   37799             : 
   37800           0 :   case 847: /* CreateAssertionStmt: CREATE ASSERTION any_name CHECK '(' a_expr ')' ConstraintAttributeSpec  */
   37801             : #line 6331 "gram.y"
   37802             :                                 {
   37803             :                     ereport(ERROR,
   37804             :                             (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   37805             :                              errmsg("CREATE ASSERTION is not yet implemented"),
   37806             :                              parser_errposition((yylsp[-7]))));
   37807             : 
   37808             :                     (yyval.node) = NULL;
   37809             :                 }
   37810             : #line 37811 "gram.c"
   37811             :     break;
   37812             : 
   37813         638 :   case 848: /* DefineStmt: CREATE opt_or_replace AGGREGATE func_name aggr_args definition  */
   37814             : #line 6351 "gram.y"
   37815             :                                 {
   37816             :                     DefineStmt *n = makeNode(DefineStmt);
   37817             : 
   37818             :                     n->kind = OBJECT_AGGREGATE;
   37819             :                     n->oldstyle = false;
   37820             :                     n->replace = (yyvsp[-4].boolean);
   37821             :                     n->defnames = (yyvsp[-2].list);
   37822             :                     n->args = (yyvsp[-1].list);
   37823             :                     n->definition = (yyvsp[0].list);
   37824             :                     (yyval.node) = (Node *) n;
   37825             :                 }
   37826             : #line 37827 "gram.c"
   37827         638 :     break;
   37828             : 
   37829         362 :   case 849: /* DefineStmt: CREATE opt_or_replace AGGREGATE func_name old_aggr_definition  */
   37830             : #line 6363 "gram.y"
   37831             :                                 {
   37832             :                     /* old-style (pre-8.2) syntax for CREATE AGGREGATE */
   37833             :                     DefineStmt *n = makeNode(DefineStmt);
   37834             : 
   37835             :                     n->kind = OBJECT_AGGREGATE;
   37836             :                     n->oldstyle = true;
   37837             :                     n->replace = (yyvsp[-3].boolean);
   37838             :                     n->defnames = (yyvsp[-1].list);
   37839             :                     n->args = NIL;
   37840             :                     n->definition = (yyvsp[0].list);
   37841             :                     (yyval.node) = (Node *) n;
   37842             :                 }
   37843             : #line 37844 "gram.c"
   37844         362 :     break;
   37845             : 
   37846        1610 :   case 850: /* DefineStmt: CREATE OPERATOR any_operator definition  */
   37847             : #line 6376 "gram.y"
   37848             :                                 {
   37849             :                     DefineStmt *n = makeNode(DefineStmt);
   37850             : 
   37851             :                     n->kind = OBJECT_OPERATOR;
   37852             :                     n->oldstyle = false;
   37853             :                     n->defnames = (yyvsp[-1].list);
   37854             :                     n->args = NIL;
   37855             :                     n->definition = (yyvsp[0].list);
   37856             :                     (yyval.node) = (Node *) n;
   37857             :                 }
   37858             : #line 37859 "gram.c"
   37859        1610 :     break;
   37860             : 
   37861         230 :   case 851: /* DefineStmt: CREATE TYPE_P any_name definition  */
   37862             : #line 6387 "gram.y"
   37863             :                                 {
   37864             :                     DefineStmt *n = makeNode(DefineStmt);
   37865             : 
   37866             :                     n->kind = OBJECT_TYPE;
   37867             :                     n->oldstyle = false;
   37868             :                     n->defnames = (yyvsp[-1].list);
   37869             :                     n->args = NIL;
   37870             :                     n->definition = (yyvsp[0].list);
   37871             :                     (yyval.node) = (Node *) n;
   37872             :                 }
   37873             : #line 37874 "gram.c"
   37874         230 :     break;
   37875             : 
   37876         172 :   case 852: /* DefineStmt: CREATE TYPE_P any_name  */
   37877             : #line 6398 "gram.y"
   37878             :                                 {
   37879             :                     /* Shell type (identified by lack of definition) */
   37880             :                     DefineStmt *n = makeNode(DefineStmt);
   37881             : 
   37882             :                     n->kind = OBJECT_TYPE;
   37883             :                     n->oldstyle = false;
   37884             :                     n->defnames = (yyvsp[0].list);
   37885             :                     n->args = NIL;
   37886             :                     n->definition = NIL;
   37887             :                     (yyval.node) = (Node *) n;
   37888             :                 }
   37889             : #line 37890 "gram.c"
   37890         172 :     break;
   37891             : 
   37892        4532 :   case 853: /* DefineStmt: CREATE TYPE_P any_name AS '(' OptTableFuncElementList ')'  */
   37893             : #line 6410 "gram.y"
   37894             :                                 {
   37895             :                     CompositeTypeStmt *n = makeNode(CompositeTypeStmt);
   37896             : 
   37897             :                     /* can't use qualified_name, sigh */
   37898             :                     n->typevar = makeRangeVarFromAnyName((yyvsp[-4].list), (yylsp[-4]), yyscanner);
   37899             :                     n->coldeflist = (yyvsp[-1].list);
   37900             :                     (yyval.node) = (Node *) n;
   37901             :                 }
   37902             : #line 37903 "gram.c"
   37903        4532 :     break;
   37904             : 
   37905         208 :   case 854: /* DefineStmt: CREATE TYPE_P any_name AS ENUM_P '(' opt_enum_val_list ')'  */
   37906             : #line 6419 "gram.y"
   37907             :                                 {
   37908             :                     CreateEnumStmt *n = makeNode(CreateEnumStmt);
   37909             : 
   37910             :                     n->typeName = (yyvsp[-5].list);
   37911             :                     n->vals = (yyvsp[-1].list);
   37912             :                     (yyval.node) = (Node *) n;
   37913             :                 }
   37914             : #line 37915 "gram.c"
   37915         208 :     break;
   37916             : 
   37917         196 :   case 855: /* DefineStmt: CREATE TYPE_P any_name AS RANGE definition  */
   37918             : #line 6427 "gram.y"
   37919             :                                 {
   37920             :                     CreateRangeStmt *n = makeNode(CreateRangeStmt);
   37921             : 
   37922             :                     n->typeName = (yyvsp[-3].list);
   37923             :                     n->params = (yyvsp[0].list);
   37924             :                     (yyval.node) = (Node *) n;
   37925             :                 }
   37926             : #line 37927 "gram.c"
   37927         196 :     break;
   37928             : 
   37929          40 :   case 856: /* DefineStmt: CREATE TEXT_P SEARCH PARSER any_name definition  */
   37930             : #line 6435 "gram.y"
   37931             :                                 {
   37932             :                     DefineStmt *n = makeNode(DefineStmt);
   37933             : 
   37934             :                     n->kind = OBJECT_TSPARSER;
   37935             :                     n->args = NIL;
   37936             :                     n->defnames = (yyvsp[-1].list);
   37937             :                     n->definition = (yyvsp[0].list);
   37938             :                     (yyval.node) = (Node *) n;
   37939             :                 }
   37940             : #line 37941 "gram.c"
   37941          40 :     break;
   37942             : 
   37943        2890 :   case 857: /* DefineStmt: CREATE TEXT_P SEARCH DICTIONARY any_name definition  */
   37944             : #line 6445 "gram.y"
   37945             :                                 {
   37946             :                     DefineStmt *n = makeNode(DefineStmt);
   37947             : 
   37948             :                     n->kind = OBJECT_TSDICTIONARY;
   37949             :                     n->args = NIL;
   37950             :                     n->defnames = (yyvsp[-1].list);
   37951             :                     n->definition = (yyvsp[0].list);
   37952             :                     (yyval.node) = (Node *) n;
   37953             :                 }
   37954             : #line 37955 "gram.c"
   37955        2890 :     break;
   37956             : 
   37957         138 :   case 858: /* DefineStmt: CREATE TEXT_P SEARCH TEMPLATE any_name definition  */
   37958             : #line 6455 "gram.y"
   37959             :                                 {
   37960             :                     DefineStmt *n = makeNode(DefineStmt);
   37961             : 
   37962             :                     n->kind = OBJECT_TSTEMPLATE;
   37963             :                     n->args = NIL;
   37964             :                     n->defnames = (yyvsp[-1].list);
   37965             :                     n->definition = (yyvsp[0].list);
   37966             :                     (yyval.node) = (Node *) n;
   37967             :                 }
   37968             : #line 37969 "gram.c"
   37969         138 :     break;
   37970             : 
   37971        2822 :   case 859: /* DefineStmt: CREATE TEXT_P SEARCH CONFIGURATION any_name definition  */
   37972             : #line 6465 "gram.y"
   37973             :                                 {
   37974             :                     DefineStmt *n = makeNode(DefineStmt);
   37975             : 
   37976             :                     n->kind = OBJECT_TSCONFIGURATION;
   37977             :                     n->args = NIL;
   37978             :                     n->defnames = (yyvsp[-1].list);
   37979             :                     n->definition = (yyvsp[0].list);
   37980             :                     (yyval.node) = (Node *) n;
   37981             :                 }
   37982             : #line 37983 "gram.c"
   37983        2822 :     break;
   37984             : 
   37985         298 :   case 860: /* DefineStmt: CREATE COLLATION any_name definition  */
   37986             : #line 6475 "gram.y"
   37987             :                                 {
   37988             :                     DefineStmt *n = makeNode(DefineStmt);
   37989             : 
   37990             :                     n->kind = OBJECT_COLLATION;
   37991             :                     n->args = NIL;
   37992             :                     n->defnames = (yyvsp[-1].list);
   37993             :                     n->definition = (yyvsp[0].list);
   37994             :                     (yyval.node) = (Node *) n;
   37995             :                 }
   37996             : #line 37997 "gram.c"
   37997         298 :     break;
   37998             : 
   37999          18 :   case 861: /* DefineStmt: CREATE COLLATION IF_P NOT EXISTS any_name definition  */
   38000             : #line 6485 "gram.y"
   38001             :                                 {
   38002             :                     DefineStmt *n = makeNode(DefineStmt);
   38003             : 
   38004             :                     n->kind = OBJECT_COLLATION;
   38005             :                     n->args = NIL;
   38006             :                     n->defnames = (yyvsp[-1].list);
   38007             :                     n->definition = (yyvsp[0].list);
   38008             :                     n->if_not_exists = true;
   38009             :                     (yyval.node) = (Node *) n;
   38010             :                 }
   38011             : #line 38012 "gram.c"
   38012          18 :     break;
   38013             : 
   38014          54 :   case 862: /* DefineStmt: CREATE COLLATION any_name FROM any_name  */
   38015             : #line 6496 "gram.y"
   38016             :                                 {
   38017             :                     DefineStmt *n = makeNode(DefineStmt);
   38018             : 
   38019             :                     n->kind = OBJECT_COLLATION;
   38020             :                     n->args = NIL;
   38021             :                     n->defnames = (yyvsp[-2].list);
   38022             :                     n->definition = list_make1(makeDefElem("from", (Node *) (yyvsp[0].list), (yylsp[0])));
   38023             :                     (yyval.node) = (Node *) n;
   38024             :                 }
   38025             : #line 38026 "gram.c"
   38026          54 :     break;
   38027             : 
   38028           0 :   case 863: /* DefineStmt: CREATE COLLATION IF_P NOT EXISTS any_name FROM any_name  */
   38029             : #line 6506 "gram.y"
   38030             :                                 {
   38031             :                     DefineStmt *n = makeNode(DefineStmt);
   38032             : 
   38033             :                     n->kind = OBJECT_COLLATION;
   38034             :                     n->args = NIL;
   38035             :                     n->defnames = (yyvsp[-2].list);
   38036             :                     n->definition = list_make1(makeDefElem("from", (Node *) (yyvsp[0].list), (yylsp[0])));
   38037             :                     n->if_not_exists = true;
   38038             :                     (yyval.node) = (Node *) n;
   38039             :                 }
   38040             : #line 38041 "gram.c"
   38041           0 :     break;
   38042             : 
   38043        9852 :   case 864: /* definition: '(' def_list ')'  */
   38044             : #line 6518 "gram.y"
   38045             :                                                                         { (yyval.list) = (yyvsp[-1].list); }
   38046             : #line 38047 "gram.c"
   38047        9852 :     break;
   38048             : 
   38049        9852 :   case 865: /* def_list: def_elem  */
   38050             : #line 6521 "gram.y"
   38051             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   38052             : #line 38053 "gram.c"
   38053        9852 :     break;
   38054             : 
   38055       14934 :   case 866: /* def_list: def_list ',' def_elem  */
   38056             : #line 6522 "gram.y"
   38057             :                                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
   38058             : #line 38059 "gram.c"
   38059       14934 :     break;
   38060             : 
   38061       24428 :   case 867: /* def_elem: ColLabel '=' def_arg  */
   38062             : #line 6526 "gram.y"
   38063             :                                 {
   38064             :                     (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
   38065             :                 }
   38066             : #line 38067 "gram.c"
   38067       24428 :     break;
   38068             : 
   38069         358 :   case 868: /* def_elem: ColLabel  */
   38070             : #line 6530 "gram.y"
   38071             :                                 {
   38072             :                     (yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0]));
   38073             :                 }
   38074             : #line 38075 "gram.c"
   38075         358 :     break;
   38076             : 
   38077       19826 :   case 869: /* def_arg: func_type  */
   38078             : #line 6536 "gram.y"
   38079             :                                                                         { (yyval.node) = (Node *) (yyvsp[0].typnam); }
   38080             : #line 38081 "gram.c"
   38081       19826 :     break;
   38082             : 
   38083        3988 :   case 870: /* def_arg: reserved_keyword  */
   38084             : #line 6537 "gram.y"
   38085             :                                                                         { (yyval.node) = (Node *) makeString(pstrdup((yyvsp[0].keyword))); }
   38086             : #line 38087 "gram.c"
   38087        3988 :     break;
   38088             : 
   38089        1186 :   case 871: /* def_arg: qual_all_Op  */
   38090             : #line 6538 "gram.y"
   38091             :                                                                         { (yyval.node) = (Node *) (yyvsp[0].list); }
   38092             : #line 38093 "gram.c"
   38093        1186 :     break;
   38094             : 
   38095        1304 :   case 872: /* def_arg: NumericOnly  */
   38096             : #line 6539 "gram.y"
   38097             :                                                                         { (yyval.node) = (Node *) (yyvsp[0].node); }
   38098             : #line 38099 "gram.c"
   38099        1304 :     break;
   38100             : 
   38101        2048 :   case 873: /* def_arg: Sconst  */
   38102             : #line 6540 "gram.y"
   38103             :                                                                                 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
   38104             : #line 38105 "gram.c"
   38105        2048 :     break;
   38106             : 
   38107         164 :   case 874: /* def_arg: NONE  */
   38108             : #line 6541 "gram.y"
   38109             :                                                                                 { (yyval.node) = (Node *) makeString(pstrdup((yyvsp[0].keyword))); }
   38110             : #line 38111 "gram.c"
   38111         164 :     break;
   38112             : 
   38113         362 :   case 875: /* old_aggr_definition: '(' old_aggr_list ')'  */
   38114             : #line 6544 "gram.y"
   38115             :                                                                 { (yyval.list) = (yyvsp[-1].list); }
   38116             : #line 38117 "gram.c"
   38117         362 :     break;
   38118             : 
   38119         362 :   case 876: /* old_aggr_list: old_aggr_elem  */
   38120             : #line 6547 "gram.y"
   38121             :                                                                         { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   38122             : #line 38123 "gram.c"
   38123         362 :     break;
   38124             : 
   38125        1292 :   case 877: /* old_aggr_list: old_aggr_list ',' old_aggr_elem  */
   38126             : #line 6548 "gram.y"
   38127             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
   38128             : #line 38129 "gram.c"
   38129        1292 :     break;
   38130             : 
   38131        1654 :   case 878: /* old_aggr_elem: IDENT '=' def_arg  */
   38132             : #line 6557 "gram.y"
   38133             :                                 {
   38134             :                     (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
   38135             :                 }
   38136             : #line 38137 "gram.c"
   38137        1654 :     break;
   38138             : 
   38139         200 :   case 879: /* opt_enum_val_list: enum_val_list  */
   38140             : #line 6563 "gram.y"
   38141             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   38142             : #line 38143 "gram.c"
   38143         200 :     break;
   38144             : 
   38145           8 :   case 880: /* opt_enum_val_list: %empty  */
   38146             : #line 6564 "gram.y"
   38147             :                                                                                         { (yyval.list) = NIL; }
   38148             : #line 38149 "gram.c"
   38149           8 :     break;
   38150             : 
   38151         200 :   case 881: /* enum_val_list: Sconst  */
   38152             : #line 6568 "gram.y"
   38153             :                                 { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   38154             : #line 38155 "gram.c"
   38155         200 :     break;
   38156             : 
   38157       10496 :   case 882: /* enum_val_list: enum_val_list ',' Sconst  */
   38158             : #line 6570 "gram.y"
   38159             :                                 { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
   38160             : #line 38161 "gram.c"
   38161       10496 :     break;
   38162             : 
   38163         154 :   case 883: /* AlterEnumStmt: ALTER TYPE_P any_name ADD_P VALUE_P opt_if_not_exists Sconst  */
   38164             : #line 6581 "gram.y"
   38165             :                         {
   38166             :                 AlterEnumStmt *n = makeNode(AlterEnumStmt);
   38167             : 
   38168             :                 n->typeName = (yyvsp[-4].list);
   38169             :                 n->oldVal = NULL;
   38170             :                 n->newVal = (yyvsp[0].str);
   38171             :                 n->newValNeighbor = NULL;
   38172             :                 n->newValIsAfter = true;
   38173             :                 n->skipIfNewValExists = (yyvsp[-1].boolean);
   38174             :                 (yyval.node) = (Node *) n;
   38175             :             }
   38176             : #line 38177 "gram.c"
   38177         154 :     break;
   38178             : 
   38179         196 :   case 884: /* AlterEnumStmt: ALTER TYPE_P any_name ADD_P VALUE_P opt_if_not_exists Sconst BEFORE Sconst  */
   38180             : #line 6593 "gram.y"
   38181             :                         {
   38182             :                 AlterEnumStmt *n = makeNode(AlterEnumStmt);
   38183             : 
   38184             :                 n->typeName = (yyvsp[-6].list);
   38185             :                 n->oldVal = NULL;
   38186             :                 n->newVal = (yyvsp[-2].str);
   38187             :                 n->newValNeighbor = (yyvsp[0].str);
   38188             :                 n->newValIsAfter = false;
   38189             :                 n->skipIfNewValExists = (yyvsp[-3].boolean);
   38190             :                 (yyval.node) = (Node *) n;
   38191             :             }
   38192             : #line 38193 "gram.c"
   38193         196 :     break;
   38194             : 
   38195          22 :   case 885: /* AlterEnumStmt: ALTER TYPE_P any_name ADD_P VALUE_P opt_if_not_exists Sconst AFTER Sconst  */
   38196             : #line 6605 "gram.y"
   38197             :                         {
   38198             :                 AlterEnumStmt *n = makeNode(AlterEnumStmt);
   38199             : 
   38200             :                 n->typeName = (yyvsp[-6].list);
   38201             :                 n->oldVal = NULL;
   38202             :                 n->newVal = (yyvsp[-2].str);
   38203             :                 n->newValNeighbor = (yyvsp[0].str);
   38204             :                 n->newValIsAfter = true;
   38205             :                 n->skipIfNewValExists = (yyvsp[-3].boolean);
   38206             :                 (yyval.node) = (Node *) n;
   38207             :             }
   38208             : #line 38209 "gram.c"
   38209          22 :     break;
   38210             : 
   38211          24 :   case 886: /* AlterEnumStmt: ALTER TYPE_P any_name RENAME VALUE_P Sconst TO Sconst  */
   38212             : #line 6617 "gram.y"
   38213             :                         {
   38214             :                 AlterEnumStmt *n = makeNode(AlterEnumStmt);
   38215             : 
   38216             :                 n->typeName = (yyvsp[-5].list);
   38217             :                 n->oldVal = (yyvsp[-2].str);
   38218             :                 n->newVal = (yyvsp[0].str);
   38219             :                 n->newValNeighbor = NULL;
   38220             :                 n->newValIsAfter = false;
   38221             :                 n->skipIfNewValExists = false;
   38222             :                 (yyval.node) = (Node *) n;
   38223             :             }
   38224             : #line 38225 "gram.c"
   38225          24 :     break;
   38226             : 
   38227           0 :   case 887: /* AlterEnumStmt: ALTER TYPE_P any_name DROP VALUE_P Sconst  */
   38228             : #line 6629 "gram.y"
   38229             :                         {
   38230             :                 /*
   38231             :                  * The following problems must be solved before this can be
   38232             :                  * implemented:
   38233             :                  *
   38234             :                  * - There must be no instance of the target value in
   38235             :                  *   any table.
   38236             :                  *
   38237             :                  * - The value must not appear in any catalog metadata,
   38238             :                  *   such as stored view expressions or column defaults.
   38239             :                  *
   38240             :                  * - The value must not appear in any non-leaf page of a
   38241             :                  *   btree (and similar issues with other index types).
   38242             :                  *   This is problematic because a value could persist
   38243             :                  *   there long after it's gone from user-visible data.
   38244             :                  *
   38245             :                  * - Concurrent sessions must not be able to insert the
   38246             :                  *   value while the preceding conditions are being checked.
   38247             :                  *
   38248             :                  * - Possibly more...
   38249             :                  */
   38250             :                 ereport(ERROR,
   38251             :                         (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   38252             :                          errmsg("dropping an enum value is not implemented"),
   38253             :                          parser_errposition((yylsp[-2]))));
   38254             :             }
   38255             : #line 38256 "gram.c"
   38256             :     break;
   38257             : 
   38258          12 :   case 888: /* opt_if_not_exists: IF_P NOT EXISTS  */
   38259             : #line 6657 "gram.y"
   38260             :                                                 { (yyval.boolean) = true; }
   38261             : #line 38262 "gram.c"
   38262          12 :     break;
   38263             : 
   38264         360 :   case 889: /* opt_if_not_exists: %empty  */
   38265             : #line 6658 "gram.y"
   38266             :                                                        { (yyval.boolean) = false; }
   38267             : #line 38268 "gram.c"
   38268         360 :     break;
   38269             : 
   38270         394 :   case 890: /* CreateOpClassStmt: CREATE OPERATOR CLASS any_name opt_default FOR TYPE_P Typename USING name opt_opfamily AS opclass_item_list  */
   38271             : #line 6676 "gram.y"
   38272             :                                 {
   38273             :                     CreateOpClassStmt *n = makeNode(CreateOpClassStmt);
   38274             : 
   38275             :                     n->opclassname = (yyvsp[-9].list);
   38276             :                     n->isDefault = (yyvsp[-8].boolean);
   38277             :                     n->datatype = (yyvsp[-5].typnam);
   38278             :                     n->amname = (yyvsp[-3].str);
   38279             :                     n->opfamilyname = (yyvsp[-2].list);
   38280             :                     n->items = (yyvsp[0].list);
   38281             :                     (yyval.node) = (Node *) n;
   38282             :                 }
   38283             : #line 38284 "gram.c"
   38284         394 :     break;
   38285             : 
   38286         908 :   case 891: /* opclass_item_list: opclass_item  */
   38287             : #line 6690 "gram.y"
   38288             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   38289             : #line 38290 "gram.c"
   38290         908 :     break;
   38291             : 
   38292        3088 :   case 892: /* opclass_item_list: opclass_item_list ',' opclass_item  */
   38293             : #line 6691 "gram.y"
   38294             :                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   38295             : #line 38296 "gram.c"
   38296        3088 :     break;
   38297             : 
   38298        1092 :   case 893: /* opclass_item: OPERATOR Iconst any_operator opclass_purpose  */
   38299             : #line 6696 "gram.y"
   38300             :                                 {
   38301             :                     CreateOpClassItem *n = makeNode(CreateOpClassItem);
   38302             :                     ObjectWithArgs *owa = makeNode(ObjectWithArgs);
   38303             : 
   38304             :                     owa->objname = (yyvsp[-1].list);
   38305             :                     owa->objargs = NIL;
   38306             :                     n->itemtype = OPCLASS_ITEM_OPERATOR;
   38307             :                     n->name = owa;
   38308             :                     n->number = (yyvsp[-2].ival);
   38309             :                     n->order_family = (yyvsp[0].list);
   38310             :                     (yyval.node) = (Node *) n;
   38311             :                 }
   38312             : #line 38313 "gram.c"
   38313        1092 :     break;
   38314             : 
   38315        1066 :   case 894: /* opclass_item: OPERATOR Iconst operator_with_argtypes opclass_purpose  */
   38316             : #line 6709 "gram.y"
   38317             :                                 {
   38318             :                     CreateOpClassItem *n = makeNode(CreateOpClassItem);
   38319             : 
   38320             :                     n->itemtype = OPCLASS_ITEM_OPERATOR;
   38321             :                     n->name = (yyvsp[-1].objwithargs);
   38322             :                     n->number = (yyvsp[-2].ival);
   38323             :                     n->order_family = (yyvsp[0].list);
   38324             :                     (yyval.node) = (Node *) n;
   38325             :                 }
   38326             : #line 38327 "gram.c"
   38327        1066 :     break;
   38328             : 
   38329        1386 :   case 895: /* opclass_item: FUNCTION Iconst function_with_argtypes  */
   38330             : #line 6719 "gram.y"
   38331             :                                 {
   38332             :                     CreateOpClassItem *n = makeNode(CreateOpClassItem);
   38333             : 
   38334             :                     n->itemtype = OPCLASS_ITEM_FUNCTION;
   38335             :                     n->name = (yyvsp[0].objwithargs);
   38336             :                     n->number = (yyvsp[-1].ival);
   38337             :                     (yyval.node) = (Node *) n;
   38338             :                 }
   38339             : #line 38340 "gram.c"
   38340        1386 :     break;
   38341             : 
   38342         252 :   case 896: /* opclass_item: FUNCTION Iconst '(' type_list ')' function_with_argtypes  */
   38343             : #line 6728 "gram.y"
   38344             :                                 {
   38345             :                     CreateOpClassItem *n = makeNode(CreateOpClassItem);
   38346             : 
   38347             :                     n->itemtype = OPCLASS_ITEM_FUNCTION;
   38348             :                     n->name = (yyvsp[0].objwithargs);
   38349             :                     n->number = (yyvsp[-4].ival);
   38350             :                     n->class_args = (yyvsp[-2].list);
   38351             :                     (yyval.node) = (Node *) n;
   38352             :                 }
   38353             : #line 38354 "gram.c"
   38354         252 :     break;
   38355             : 
   38356         200 :   case 897: /* opclass_item: STORAGE Typename  */
   38357             : #line 6738 "gram.y"
   38358             :                                 {
   38359             :                     CreateOpClassItem *n = makeNode(CreateOpClassItem);
   38360             : 
   38361             :                     n->itemtype = OPCLASS_ITEM_STORAGETYPE;
   38362             :                     n->storedtype = (yyvsp[0].typnam);
   38363             :                     (yyval.node) = (Node *) n;
   38364             :                 }
   38365             : #line 38366 "gram.c"
   38366         200 :     break;
   38367             : 
   38368         290 :   case 898: /* opt_default: DEFAULT  */
   38369             : #line 6747 "gram.y"
   38370             :                                                                 { (yyval.boolean) = true; }
   38371             : #line 38372 "gram.c"
   38372         290 :     break;
   38373             : 
   38374         168 :   case 899: /* opt_default: %empty  */
   38375             : #line 6748 "gram.y"
   38376             :                                                                                 { (yyval.boolean) = false; }
   38377             : #line 38378 "gram.c"
   38378         168 :     break;
   38379             : 
   38380          50 :   case 900: /* opt_opfamily: FAMILY any_name  */
   38381             : #line 6751 "gram.y"
   38382             :                                                         { (yyval.list) = (yyvsp[0].list); }
   38383             : #line 38384 "gram.c"
   38384          50 :     break;
   38385             : 
   38386         344 :   case 901: /* opt_opfamily: %empty  */
   38387             : #line 6752 "gram.y"
   38388             :                                                                                 { (yyval.list) = NIL; }
   38389             : #line 38390 "gram.c"
   38390         344 :     break;
   38391             : 
   38392           0 :   case 902: /* opclass_purpose: FOR SEARCH  */
   38393             : #line 6755 "gram.y"
   38394             :                                                                 { (yyval.list) = NIL; }
   38395             : #line 38396 "gram.c"
   38396           0 :     break;
   38397             : 
   38398          72 :   case 903: /* opclass_purpose: FOR ORDER BY any_name  */
   38399             : #line 6756 "gram.y"
   38400             :                                                                 { (yyval.list) = (yyvsp[0].list); }
   38401             : #line 38402 "gram.c"
   38402          72 :     break;
   38403             : 
   38404        2086 :   case 904: /* opclass_purpose: %empty  */
   38405             : #line 6757 "gram.y"
   38406             :                                                                                 { (yyval.list) = NIL; }
   38407             : #line 38408 "gram.c"
   38408        2086 :     break;
   38409             : 
   38410         162 :   case 905: /* CreateOpFamilyStmt: CREATE OPERATOR FAMILY any_name USING name  */
   38411             : #line 6763 "gram.y"
   38412             :                                 {
   38413             :                     CreateOpFamilyStmt *n = makeNode(CreateOpFamilyStmt);
   38414             : 
   38415             :                     n->opfamilyname = (yyvsp[-2].list);
   38416             :                     n->amname = (yyvsp[0].str);
   38417             :                     (yyval.node) = (Node *) n;
   38418             :                 }
   38419             : #line 38420 "gram.c"
   38420         162 :     break;
   38421             : 
   38422         514 :   case 906: /* AlterOpFamilyStmt: ALTER OPERATOR FAMILY any_name USING name ADD_P opclass_item_list  */
   38423             : #line 6774 "gram.y"
   38424             :                                 {
   38425             :                     AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
   38426             : 
   38427             :                     n->opfamilyname = (yyvsp[-4].list);
   38428             :                     n->amname = (yyvsp[-2].str);
   38429             :                     n->isDrop = false;
   38430             :                     n->items = (yyvsp[0].list);
   38431             :                     (yyval.node) = (Node *) n;
   38432             :                 }
   38433             : #line 38434 "gram.c"
   38434         514 :     break;
   38435             : 
   38436          64 :   case 907: /* AlterOpFamilyStmt: ALTER OPERATOR FAMILY any_name USING name DROP opclass_drop_list  */
   38437             : #line 6784 "gram.y"
   38438             :                                 {
   38439             :                     AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
   38440             : 
   38441             :                     n->opfamilyname = (yyvsp[-4].list);
   38442             :                     n->amname = (yyvsp[-2].str);
   38443             :                     n->isDrop = true;
   38444             :                     n->items = (yyvsp[0].list);
   38445             :                     (yyval.node) = (Node *) n;
   38446             :                 }
   38447             : #line 38448 "gram.c"
   38448          64 :     break;
   38449             : 
   38450          64 :   case 908: /* opclass_drop_list: opclass_drop  */
   38451             : #line 6796 "gram.y"
   38452             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   38453             : #line 38454 "gram.c"
   38454          64 :     break;
   38455             : 
   38456          30 :   case 909: /* opclass_drop_list: opclass_drop_list ',' opclass_drop  */
   38457             : #line 6797 "gram.y"
   38458             :                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   38459             : #line 38460 "gram.c"
   38460          30 :     break;
   38461             : 
   38462          56 :   case 910: /* opclass_drop: OPERATOR Iconst '(' type_list ')'  */
   38463             : #line 6802 "gram.y"
   38464             :                                 {
   38465             :                     CreateOpClassItem *n = makeNode(CreateOpClassItem);
   38466             : 
   38467             :                     n->itemtype = OPCLASS_ITEM_OPERATOR;
   38468             :                     n->number = (yyvsp[-3].ival);
   38469             :                     n->class_args = (yyvsp[-1].list);
   38470             :                     (yyval.node) = (Node *) n;
   38471             :                 }
   38472             : #line 38473 "gram.c"
   38473          56 :     break;
   38474             : 
   38475          38 :   case 911: /* opclass_drop: FUNCTION Iconst '(' type_list ')'  */
   38476             : #line 6811 "gram.y"
   38477             :                                 {
   38478             :                     CreateOpClassItem *n = makeNode(CreateOpClassItem);
   38479             : 
   38480             :                     n->itemtype = OPCLASS_ITEM_FUNCTION;
   38481             :                     n->number = (yyvsp[-3].ival);
   38482             :                     n->class_args = (yyvsp[-1].list);
   38483             :                     (yyval.node) = (Node *) n;
   38484             :                 }
   38485             : #line 38486 "gram.c"
   38486          38 :     break;
   38487             : 
   38488          38 :   case 912: /* DropOpClassStmt: DROP OPERATOR CLASS any_name USING name opt_drop_behavior  */
   38489             : #line 6824 "gram.y"
   38490             :                                 {
   38491             :                     DropStmt *n = makeNode(DropStmt);
   38492             : 
   38493             :                     n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
   38494             :                     n->removeType = OBJECT_OPCLASS;
   38495             :                     n->behavior = (yyvsp[0].dbehavior);
   38496             :                     n->missing_ok = false;
   38497             :                     n->concurrent = false;
   38498             :                     (yyval.node) = (Node *) n;
   38499             :                 }
   38500             : #line 38501 "gram.c"
   38501          38 :     break;
   38502             : 
   38503          18 :   case 913: /* DropOpClassStmt: DROP OPERATOR CLASS IF_P EXISTS any_name USING name opt_drop_behavior  */
   38504             : #line 6835 "gram.y"
   38505             :                                 {
   38506             :                     DropStmt *n = makeNode(DropStmt);
   38507             : 
   38508             :                     n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
   38509             :                     n->removeType = OBJECT_OPCLASS;
   38510             :                     n->behavior = (yyvsp[0].dbehavior);
   38511             :                     n->missing_ok = true;
   38512             :                     n->concurrent = false;
   38513             :                     (yyval.node) = (Node *) n;
   38514             :                 }
   38515             : #line 38516 "gram.c"
   38516          18 :     break;
   38517             : 
   38518         110 :   case 914: /* DropOpFamilyStmt: DROP OPERATOR FAMILY any_name USING name opt_drop_behavior  */
   38519             : #line 6849 "gram.y"
   38520             :                                 {
   38521             :                     DropStmt *n = makeNode(DropStmt);
   38522             : 
   38523             :                     n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
   38524             :                     n->removeType = OBJECT_OPFAMILY;
   38525             :                     n->behavior = (yyvsp[0].dbehavior);
   38526             :                     n->missing_ok = false;
   38527             :                     n->concurrent = false;
   38528             :                     (yyval.node) = (Node *) n;
   38529             :                 }
   38530             : #line 38531 "gram.c"
   38531         110 :     break;
   38532             : 
   38533          18 :   case 915: /* DropOpFamilyStmt: DROP OPERATOR FAMILY IF_P EXISTS any_name USING name opt_drop_behavior  */
   38534             : #line 6860 "gram.y"
   38535             :                                 {
   38536             :                     DropStmt *n = makeNode(DropStmt);
   38537             : 
   38538             :                     n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
   38539             :                     n->removeType = OBJECT_OPFAMILY;
   38540             :                     n->behavior = (yyvsp[0].dbehavior);
   38541             :                     n->missing_ok = true;
   38542             :                     n->concurrent = false;
   38543             :                     (yyval.node) = (Node *) n;
   38544             :                 }
   38545             : #line 38546 "gram.c"
   38546          18 :     break;
   38547             : 
   38548         154 :   case 916: /* DropOwnedStmt: DROP OWNED BY role_list opt_drop_behavior  */
   38549             : #line 6883 "gram.y"
   38550             :                                 {
   38551             :                     DropOwnedStmt *n = makeNode(DropOwnedStmt);
   38552             : 
   38553             :                     n->roles = (yyvsp[-1].list);
   38554             :                     n->behavior = (yyvsp[0].dbehavior);
   38555             :                     (yyval.node) = (Node *) n;
   38556             :                 }
   38557             : #line 38558 "gram.c"
   38558         154 :     break;
   38559             : 
   38560          52 :   case 917: /* ReassignOwnedStmt: REASSIGN OWNED BY role_list TO RoleSpec  */
   38561             : #line 6894 "gram.y"
   38562             :                                 {
   38563             :                     ReassignOwnedStmt *n = makeNode(ReassignOwnedStmt);
   38564             : 
   38565             :                     n->roles = (yyvsp[-2].list);
   38566             :                     n->newrole = (yyvsp[0].rolespec);
   38567             :                     (yyval.node) = (Node *) n;
   38568             :                 }
   38569             : #line 38570 "gram.c"
   38570          52 :     break;
   38571             : 
   38572        1312 :   case 918: /* DropStmt: DROP object_type_any_name IF_P EXISTS any_name_list opt_drop_behavior  */
   38573             : #line 6913 "gram.y"
   38574             :                                 {
   38575             :                     DropStmt *n = makeNode(DropStmt);
   38576             : 
   38577             :                     n->removeType = (yyvsp[-4].objtype);
   38578             :                     n->missing_ok = true;
   38579             :                     n->objects = (yyvsp[-1].list);
   38580             :                     n->behavior = (yyvsp[0].dbehavior);
   38581             :                     n->concurrent = false;
   38582             :                     (yyval.node) = (Node *) n;
   38583             :                 }
   38584             : #line 38585 "gram.c"
   38585        1312 :     break;
   38586             : 
   38587       15946 :   case 919: /* DropStmt: DROP object_type_any_name any_name_list opt_drop_behavior  */
   38588             : #line 6924 "gram.y"
   38589             :                                 {
   38590             :                     DropStmt *n = makeNode(DropStmt);
   38591             : 
   38592             :                     n->removeType = (yyvsp[-2].objtype);
   38593             :                     n->missing_ok = false;
   38594             :                     n->objects = (yyvsp[-1].list);
   38595             :                     n->behavior = (yyvsp[0].dbehavior);
   38596             :                     n->concurrent = false;
   38597             :                     (yyval.node) = (Node *) n;
   38598             :                 }
   38599             : #line 38600 "gram.c"
   38600       15946 :     break;
   38601             : 
   38602          78 :   case 920: /* DropStmt: DROP drop_type_name IF_P EXISTS name_list opt_drop_behavior  */
   38603             : #line 6935 "gram.y"
   38604             :                                 {
   38605             :                     DropStmt *n = makeNode(DropStmt);
   38606             : 
   38607             :                     n->removeType = (yyvsp[-4].objtype);
   38608             :                     n->missing_ok = true;
   38609             :                     n->objects = (yyvsp[-1].list);
   38610             :                     n->behavior = (yyvsp[0].dbehavior);
   38611             :                     n->concurrent = false;
   38612             :                     (yyval.node) = (Node *) n;
   38613             :                 }
   38614             : #line 38615 "gram.c"
   38615          78 :     break;
   38616             : 
   38617        1408 :   case 921: /* DropStmt: DROP drop_type_name name_list opt_drop_behavior  */
   38618             : #line 6946 "gram.y"
   38619             :                                 {
   38620             :                     DropStmt *n = makeNode(DropStmt);
   38621             : 
   38622             :                     n->removeType = (yyvsp[-2].objtype);
   38623             :                     n->missing_ok = false;
   38624             :                     n->objects = (yyvsp[-1].list);
   38625             :                     n->behavior = (yyvsp[0].dbehavior);
   38626             :                     n->concurrent = false;
   38627             :                     (yyval.node) = (Node *) n;
   38628             :                 }
   38629             : #line 38630 "gram.c"
   38630        1408 :     break;
   38631             : 
   38632        1124 :   case 922: /* DropStmt: DROP object_type_name_on_any_name name ON any_name opt_drop_behavior  */
   38633             : #line 6957 "gram.y"
   38634             :                                 {
   38635             :                     DropStmt *n = makeNode(DropStmt);
   38636             : 
   38637             :                     n->removeType = (yyvsp[-4].objtype);
   38638             :                     n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
   38639             :                     n->behavior = (yyvsp[0].dbehavior);
   38640             :                     n->missing_ok = false;
   38641             :                     n->concurrent = false;
   38642             :                     (yyval.node) = (Node *) n;
   38643             :                 }
   38644             : #line 38645 "gram.c"
   38645        1124 :     break;
   38646             : 
   38647          48 :   case 923: /* DropStmt: DROP object_type_name_on_any_name IF_P EXISTS name ON any_name opt_drop_behavior  */
   38648             : #line 6968 "gram.y"
   38649             :                                 {
   38650             :                     DropStmt *n = makeNode(DropStmt);
   38651             : 
   38652             :                     n->removeType = (yyvsp[-6].objtype);
   38653             :                     n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
   38654             :                     n->behavior = (yyvsp[0].dbehavior);
   38655             :                     n->missing_ok = true;
   38656             :                     n->concurrent = false;
   38657             :                     (yyval.node) = (Node *) n;
   38658             :                 }
   38659             : #line 38660 "gram.c"
   38660          48 :     break;
   38661             : 
   38662         560 :   case 924: /* DropStmt: DROP TYPE_P type_name_list opt_drop_behavior  */
   38663             : #line 6979 "gram.y"
   38664             :                                 {
   38665             :                     DropStmt *n = makeNode(DropStmt);
   38666             : 
   38667             :                     n->removeType = OBJECT_TYPE;
   38668             :                     n->missing_ok = false;
   38669             :                     n->objects = (yyvsp[-1].list);
   38670             :                     n->behavior = (yyvsp[0].dbehavior);
   38671             :                     n->concurrent = false;
   38672             :                     (yyval.node) = (Node *) n;
   38673             :                 }
   38674             : #line 38675 "gram.c"
   38675         560 :     break;
   38676             : 
   38677          22 :   case 925: /* DropStmt: DROP TYPE_P IF_P EXISTS type_name_list opt_drop_behavior  */
   38678             : #line 6990 "gram.y"
   38679             :                                 {
   38680             :                     DropStmt *n = makeNode(DropStmt);
   38681             : 
   38682             :                     n->removeType = OBJECT_TYPE;
   38683             :                     n->missing_ok = true;
   38684             :                     n->objects = (yyvsp[-1].list);
   38685             :                     n->behavior = (yyvsp[0].dbehavior);
   38686             :                     n->concurrent = false;
   38687             :                     (yyval.node) = (Node *) n;
   38688             :                 }
   38689             : #line 38690 "gram.c"
   38690          22 :     break;
   38691             : 
   38692         464 :   case 926: /* DropStmt: DROP DOMAIN_P type_name_list opt_drop_behavior  */
   38693             : #line 7001 "gram.y"
   38694             :                                 {
   38695             :                     DropStmt *n = makeNode(DropStmt);
   38696             : 
   38697             :                     n->removeType = OBJECT_DOMAIN;
   38698             :                     n->missing_ok = false;
   38699             :                     n->objects = (yyvsp[-1].list);
   38700             :                     n->behavior = (yyvsp[0].dbehavior);
   38701             :                     n->concurrent = false;
   38702             :                     (yyval.node) = (Node *) n;
   38703             :                 }
   38704             : #line 38705 "gram.c"
   38705         464 :     break;
   38706             : 
   38707          18 :   case 927: /* DropStmt: DROP DOMAIN_P IF_P EXISTS type_name_list opt_drop_behavior  */
   38708             : #line 7012 "gram.y"
   38709             :                                 {
   38710             :                     DropStmt *n = makeNode(DropStmt);
   38711             : 
   38712             :                     n->removeType = OBJECT_DOMAIN;
   38713             :                     n->missing_ok = true;
   38714             :                     n->objects = (yyvsp[-1].list);
   38715             :                     n->behavior = (yyvsp[0].dbehavior);
   38716             :                     n->concurrent = false;
   38717             :                     (yyval.node) = (Node *) n;
   38718             :                 }
   38719             : #line 38720 "gram.c"
   38720          18 :     break;
   38721             : 
   38722         172 :   case 928: /* DropStmt: DROP INDEX CONCURRENTLY any_name_list opt_drop_behavior  */
   38723             : #line 7023 "gram.y"
   38724             :                                 {
   38725             :                     DropStmt *n = makeNode(DropStmt);
   38726             : 
   38727             :                     n->removeType = OBJECT_INDEX;
   38728             :                     n->missing_ok = false;
   38729             :                     n->objects = (yyvsp[-1].list);
   38730             :                     n->behavior = (yyvsp[0].dbehavior);
   38731             :                     n->concurrent = true;
   38732             :                     (yyval.node) = (Node *) n;
   38733             :                 }
   38734             : #line 38735 "gram.c"
   38735         172 :     break;
   38736             : 
   38737          12 :   case 929: /* DropStmt: DROP INDEX CONCURRENTLY IF_P EXISTS any_name_list opt_drop_behavior  */
   38738             : #line 7034 "gram.y"
   38739             :                                 {
   38740             :                     DropStmt *n = makeNode(DropStmt);
   38741             : 
   38742             :                     n->removeType = OBJECT_INDEX;
   38743             :                     n->missing_ok = true;
   38744             :                     n->objects = (yyvsp[-1].list);
   38745             :                     n->behavior = (yyvsp[0].dbehavior);
   38746             :                     n->concurrent = true;
   38747             :                     (yyval.node) = (Node *) n;
   38748             :                 }
   38749             : #line 38750 "gram.c"
   38750          12 :     break;
   38751             : 
   38752       14892 :   case 930: /* object_type_any_name: TABLE  */
   38753             : #line 7048 "gram.y"
   38754             :                                                                                                 { (yyval.objtype) = OBJECT_TABLE; }
   38755             : #line 38756 "gram.c"
   38756       14892 :     break;
   38757             : 
   38758         192 :   case 931: /* object_type_any_name: SEQUENCE  */
   38759             : #line 7049 "gram.y"
   38760             :                                                                                                 { (yyval.objtype) = OBJECT_SEQUENCE; }
   38761             : #line 38762 "gram.c"
   38762         192 :     break;
   38763             : 
   38764        1010 :   case 932: /* object_type_any_name: VIEW  */
   38765             : #line 7050 "gram.y"
   38766             :                                                                                                 { (yyval.objtype) = OBJECT_VIEW; }
   38767             : #line 38768 "gram.c"
   38768        1010 :     break;
   38769             : 
   38770         130 :   case 933: /* object_type_any_name: MATERIALIZED VIEW  */
   38771             : #line 7051 "gram.y"
   38772             :                                                                                         { (yyval.objtype) = OBJECT_MATVIEW; }
   38773             : #line 38774 "gram.c"
   38774         130 :     break;
   38775             : 
   38776         784 :   case 934: /* object_type_any_name: INDEX  */
   38777             : #line 7052 "gram.y"
   38778             :                                                                                                 { (yyval.objtype) = OBJECT_INDEX; }
   38779             : #line 38780 "gram.c"
   38780         784 :     break;
   38781             : 
   38782         184 :   case 935: /* object_type_any_name: FOREIGN TABLE  */
   38783             : #line 7053 "gram.y"
   38784             :                                                                                         { (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
   38785             : #line 38786 "gram.c"
   38786         184 :     break;
   38787             : 
   38788          96 :   case 936: /* object_type_any_name: COLLATION  */
   38789             : #line 7054 "gram.y"
   38790             :                                                                                                 { (yyval.objtype) = OBJECT_COLLATION; }
   38791             : #line 38792 "gram.c"
   38792          96 :     break;
   38793             : 
   38794          56 :   case 937: /* object_type_any_name: CONVERSION_P  */
   38795             : #line 7055 "gram.y"
   38796             :                                                                                         { (yyval.objtype) = OBJECT_CONVERSION; }
   38797             : #line 38798 "gram.c"
   38798          56 :     break;
   38799             : 
   38800         192 :   case 938: /* object_type_any_name: STATISTICS  */
   38801             : #line 7056 "gram.y"
   38802             :                                                                                         { (yyval.objtype) = OBJECT_STATISTIC_EXT; }
   38803             : #line 38804 "gram.c"
   38804         192 :     break;
   38805             : 
   38806          20 :   case 939: /* object_type_any_name: TEXT_P SEARCH PARSER  */
   38807             : #line 7057 "gram.y"
   38808             :                                                                                 { (yyval.objtype) = OBJECT_TSPARSER; }
   38809             : #line 38810 "gram.c"
   38810          20 :     break;
   38811             : 
   38812        2756 :   case 940: /* object_type_any_name: TEXT_P SEARCH DICTIONARY  */
   38813             : #line 7058 "gram.y"
   38814             :                                                                                 { (yyval.objtype) = OBJECT_TSDICTIONARY; }
   38815             : #line 38816 "gram.c"
   38816        2756 :     break;
   38817             : 
   38818         114 :   case 941: /* object_type_any_name: TEXT_P SEARCH TEMPLATE  */
   38819             : #line 7059 "gram.y"
   38820             :                                                                                 { (yyval.objtype) = OBJECT_TSTEMPLATE; }
   38821             : #line 38822 "gram.c"
   38822         114 :     break;
   38823             : 
   38824        2760 :   case 942: /* object_type_any_name: TEXT_P SEARCH CONFIGURATION  */
   38825             : #line 7060 "gram.y"
   38826             :                                                                         { (yyval.objtype) = OBJECT_TSCONFIGURATION; }
   38827             : #line 38828 "gram.c"
   38828        2760 :     break;
   38829             : 
   38830         230 :   case 943: /* object_type_name: drop_type_name  */
   38831             : #line 7070 "gram.y"
   38832             :                                                                                         { (yyval.objtype) = (yyvsp[0].objtype); }
   38833             : #line 38834 "gram.c"
   38834         230 :     break;
   38835             : 
   38836         234 :   case 944: /* object_type_name: DATABASE  */
   38837             : #line 7071 "gram.y"
   38838             :                                                                                                 { (yyval.objtype) = OBJECT_DATABASE; }
   38839             : #line 38840 "gram.c"
   38840         234 :     break;
   38841             : 
   38842          52 :   case 945: /* object_type_name: ROLE  */
   38843             : #line 7072 "gram.y"
   38844             :                                                                                                 { (yyval.objtype) = OBJECT_ROLE; }
   38845             : #line 38846 "gram.c"
   38846          52 :     break;
   38847             : 
   38848          10 :   case 946: /* object_type_name: SUBSCRIPTION  */
   38849             : #line 7073 "gram.y"
   38850             :                                                                                         { (yyval.objtype) = OBJECT_SUBSCRIPTION; }
   38851             : #line 38852 "gram.c"
   38852          10 :     break;
   38853             : 
   38854           0 :   case 947: /* object_type_name: TABLESPACE  */
   38855             : #line 7074 "gram.y"
   38856             :                                                                                         { (yyval.objtype) = OBJECT_TABLESPACE; }
   38857             : #line 38858 "gram.c"
   38858           0 :     break;
   38859             : 
   38860          46 :   case 948: /* drop_type_name: ACCESS METHOD  */
   38861             : #line 7078 "gram.y"
   38862             :                                                                                         { (yyval.objtype) = OBJECT_ACCESS_METHOD; }
   38863             : #line 38864 "gram.c"
   38864          46 :     break;
   38865             : 
   38866         126 :   case 949: /* drop_type_name: EVENT TRIGGER  */
   38867             : #line 7079 "gram.y"
   38868             :                                                                                         { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
   38869             : #line 38870 "gram.c"
   38870         126 :     break;
   38871             : 
   38872         146 :   case 950: /* drop_type_name: EXTENSION  */
   38873             : #line 7080 "gram.y"
   38874             :                                                                                                 { (yyval.objtype) = OBJECT_EXTENSION; }
   38875             : #line 38876 "gram.c"
   38876         146 :     break;
   38877             : 
   38878         154 :   case 951: /* drop_type_name: FOREIGN DATA_P WRAPPER  */
   38879             : #line 7081 "gram.y"
   38880             :                                                                                 { (yyval.objtype) = OBJECT_FDW; }
   38881             : #line 38882 "gram.c"
   38882         154 :     break;
   38883             : 
   38884         152 :   case 952: /* drop_type_name: opt_procedural LANGUAGE  */
   38885             : #line 7082 "gram.y"
   38886             :                                                                                 { (yyval.objtype) = OBJECT_LANGUAGE; }
   38887             : #line 38888 "gram.c"
   38888         152 :     break;
   38889             : 
   38890         380 :   case 953: /* drop_type_name: PUBLICATION  */
   38891             : #line 7083 "gram.y"
   38892             :                                                                                         { (yyval.objtype) = OBJECT_PUBLICATION; }
   38893             : #line 38894 "gram.c"
   38894         380 :     break;
   38895             : 
   38896         582 :   case 954: /* drop_type_name: SCHEMA  */
   38897             : #line 7084 "gram.y"
   38898             :                                                                                                 { (yyval.objtype) = OBJECT_SCHEMA; }
   38899             : #line 38900 "gram.c"
   38900         582 :     break;
   38901             : 
   38902         130 :   case 955: /* drop_type_name: SERVER  */
   38903             : #line 7085 "gram.y"
   38904             :                                                                                                 { (yyval.objtype) = OBJECT_FOREIGN_SERVER; }
   38905             : #line 38906 "gram.c"
   38906         130 :     break;
   38907             : 
   38908         164 :   case 956: /* object_type_name_on_any_name: POLICY  */
   38909             : #line 7090 "gram.y"
   38910             :                                                                                                 { (yyval.objtype) = OBJECT_POLICY; }
   38911             : #line 38912 "gram.c"
   38912         164 :     break;
   38913             : 
   38914         268 :   case 957: /* object_type_name_on_any_name: RULE  */
   38915             : #line 7091 "gram.y"
   38916             :                                                                                                 { (yyval.objtype) = OBJECT_RULE; }
   38917             : #line 38918 "gram.c"
   38918         268 :     break;
   38919             : 
   38920         792 :   case 958: /* object_type_name_on_any_name: TRIGGER  */
   38921             : #line 7092 "gram.y"
   38922             :                                                                                                 { (yyval.objtype) = OBJECT_TRIGGER; }
   38923             : #line 38924 "gram.c"
   38924         792 :     break;
   38925             : 
   38926       26102 :   case 959: /* any_name_list: any_name  */
   38927             : #line 7096 "gram.y"
   38928             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].list)); }
   38929             : #line 38930 "gram.c"
   38930       26102 :     break;
   38931             : 
   38932        4238 :   case 960: /* any_name_list: any_name_list ',' any_name  */
   38933             : #line 7097 "gram.y"
   38934             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
   38935             : #line 38936 "gram.c"
   38936        4238 :     break;
   38937             : 
   38938       66050 :   case 961: /* any_name: ColId  */
   38939             : #line 7100 "gram.y"
   38940             :                                                                 { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   38941             : #line 38942 "gram.c"
   38942       66050 :     break;
   38943             : 
   38944        9548 :   case 962: /* any_name: ColId attrs  */
   38945             : #line 7101 "gram.y"
   38946             :                                                                 { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
   38947             : #line 38948 "gram.c"
   38948        9548 :     break;
   38949             : 
   38950      130630 :   case 963: /* attrs: '.' attr_name  */
   38951             : #line 7105 "gram.y"
   38952             :                                         { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   38953             : #line 38954 "gram.c"
   38954      130630 :     break;
   38955             : 
   38956          96 :   case 964: /* attrs: attrs '.' attr_name  */
   38957             : #line 7107 "gram.y"
   38958             :                                         { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
   38959             : #line 38960 "gram.c"
   38960          96 :     break;
   38961             : 
   38962        1064 :   case 965: /* type_name_list: Typename  */
   38963             : #line 7111 "gram.y"
   38964             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].typnam)); }
   38965             : #line 38966 "gram.c"
   38966        1064 :     break;
   38967             : 
   38968          96 :   case 966: /* type_name_list: type_name_list ',' Typename  */
   38969             : #line 7112 "gram.y"
   38970             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
   38971             : #line 38972 "gram.c"
   38972          96 :     break;
   38973             : 
   38974        2930 :   case 967: /* TruncateStmt: TRUNCATE opt_table relation_expr_list opt_restart_seqs opt_drop_behavior  */
   38975             : #line 7124 "gram.y"
   38976             :                                 {
   38977             :                     TruncateStmt *n = makeNode(TruncateStmt);
   38978             : 
   38979             :                     n->relations = (yyvsp[-2].list);
   38980             :                     n->restart_seqs = (yyvsp[-1].boolean);
   38981             :                     n->behavior = (yyvsp[0].dbehavior);
   38982             :                     (yyval.node) = (Node *) n;
   38983             :                 }
   38984             : #line 38985 "gram.c"
   38985        2930 :     break;
   38986             : 
   38987          24 :   case 968: /* opt_restart_seqs: CONTINUE_P IDENTITY_P  */
   38988             : #line 7135 "gram.y"
   38989             :                                                         { (yyval.boolean) = false; }
   38990             : #line 38991 "gram.c"
   38991          24 :     break;
   38992             : 
   38993          24 :   case 969: /* opt_restart_seqs: RESTART IDENTITY_P  */
   38994             : #line 7136 "gram.y"
   38995             :                                                         { (yyval.boolean) = true; }
   38996             : #line 38997 "gram.c"
   38997          24 :     break;
   38998             : 
   38999        2882 :   case 970: /* opt_restart_seqs: %empty  */
   39000             : #line 7137 "gram.y"
   39001             :                                                                 { (yyval.boolean) = false; }
   39002             : #line 39003 "gram.c"
   39003        2882 :     break;
   39004             : 
   39005        5786 :   case 971: /* CommentStmt: COMMENT ON object_type_any_name any_name IS comment_text  */
   39006             : #line 7148 "gram.y"
   39007             :                                 {
   39008             :                     CommentStmt *n = makeNode(CommentStmt);
   39009             : 
   39010             :                     n->objtype = (yyvsp[-3].objtype);
   39011             :                     n->object = (Node *) (yyvsp[-2].list);
   39012             :                     n->comment = (yyvsp[0].str);
   39013             :                     (yyval.node) = (Node *) n;
   39014             :                 }
   39015             : #line 39016 "gram.c"
   39016        5786 :     break;
   39017             : 
   39018         118 :   case 972: /* CommentStmt: COMMENT ON COLUMN any_name IS comment_text  */
   39019             : #line 7157 "gram.y"
   39020             :                                 {
   39021             :                     CommentStmt *n = makeNode(CommentStmt);
   39022             : 
   39023             :                     n->objtype = OBJECT_COLUMN;
   39024             :                     n->object = (Node *) (yyvsp[-2].list);
   39025             :                     n->comment = (yyvsp[0].str);
   39026             :                     (yyval.node) = (Node *) n;
   39027             :                 }
   39028             : #line 39029 "gram.c"
   39029         118 :     break;
   39030             : 
   39031         464 :   case 973: /* CommentStmt: COMMENT ON object_type_name name IS comment_text  */
   39032             : #line 7166 "gram.y"
   39033             :                                 {
   39034             :                     CommentStmt *n = makeNode(CommentStmt);
   39035             : 
   39036             :                     n->objtype = (yyvsp[-3].objtype);
   39037             :                     n->object = (Node *) makeString((yyvsp[-2].str));
   39038             :                     n->comment = (yyvsp[0].str);
   39039             :                     (yyval.node) = (Node *) n;
   39040             :                 }
   39041             : #line 39042 "gram.c"
   39042         464 :     break;
   39043             : 
   39044          56 :   case 974: /* CommentStmt: COMMENT ON TYPE_P Typename IS comment_text  */
   39045             : #line 7175 "gram.y"
   39046             :                                 {
   39047             :                     CommentStmt *n = makeNode(CommentStmt);
   39048             : 
   39049             :                     n->objtype = OBJECT_TYPE;
   39050             :                     n->object = (Node *) (yyvsp[-2].typnam);
   39051             :                     n->comment = (yyvsp[0].str);
   39052             :                     (yyval.node) = (Node *) n;
   39053             :                 }
   39054             : #line 39055 "gram.c"
   39055          56 :     break;
   39056             : 
   39057           8 :   case 975: /* CommentStmt: COMMENT ON DOMAIN_P Typename IS comment_text  */
   39058             : #line 7184 "gram.y"
   39059             :                                 {
   39060             :                     CommentStmt *n = makeNode(CommentStmt);
   39061             : 
   39062             :                     n->objtype = OBJECT_DOMAIN;
   39063             :                     n->object = (Node *) (yyvsp[-2].typnam);
   39064             :                     n->comment = (yyvsp[0].str);
   39065             :                     (yyval.node) = (Node *) n;
   39066             :                 }
   39067             : #line 39068 "gram.c"
   39068           8 :     break;
   39069             : 
   39070          44 :   case 976: /* CommentStmt: COMMENT ON AGGREGATE aggregate_with_argtypes IS comment_text  */
   39071             : #line 7193 "gram.y"
   39072             :                                 {
   39073             :                     CommentStmt *n = makeNode(CommentStmt);
   39074             : 
   39075             :                     n->objtype = OBJECT_AGGREGATE;
   39076             :                     n->object = (Node *) (yyvsp[-2].objwithargs);
   39077             :                     n->comment = (yyvsp[0].str);
   39078             :                     (yyval.node) = (Node *) n;
   39079             :                 }
   39080             : #line 39081 "gram.c"
   39081          44 :     break;
   39082             : 
   39083         170 :   case 977: /* CommentStmt: COMMENT ON FUNCTION function_with_argtypes IS comment_text  */
   39084             : #line 7202 "gram.y"
   39085             :                                 {
   39086             :                     CommentStmt *n = makeNode(CommentStmt);
   39087             : 
   39088             :                     n->objtype = OBJECT_FUNCTION;
   39089             :                     n->object = (Node *) (yyvsp[-2].objwithargs);
   39090             :                     n->comment = (yyvsp[0].str);
   39091             :                     (yyval.node) = (Node *) n;
   39092             :                 }
   39093             : #line 39094 "gram.c"
   39094         170 :     break;
   39095             : 
   39096          18 :   case 978: /* CommentStmt: COMMENT ON OPERATOR operator_with_argtypes IS comment_text  */
   39097             : #line 7211 "gram.y"
   39098             :                                 {
   39099             :                     CommentStmt *n = makeNode(CommentStmt);
   39100             : 
   39101             :                     n->objtype = OBJECT_OPERATOR;
   39102             :                     n->object = (Node *) (yyvsp[-2].objwithargs);
   39103             :                     n->comment = (yyvsp[0].str);
   39104             :                     (yyval.node) = (Node *) n;
   39105             :                 }
   39106             : #line 39107 "gram.c"
   39107          18 :     break;
   39108             : 
   39109         116 :   case 979: /* CommentStmt: COMMENT ON CONSTRAINT name ON any_name IS comment_text  */
   39110             : #line 7220 "gram.y"
   39111             :                                 {
   39112             :                     CommentStmt *n = makeNode(CommentStmt);
   39113             : 
   39114             :                     n->objtype = OBJECT_TABCONSTRAINT;
   39115             :                     n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
   39116             :                     n->comment = (yyvsp[0].str);
   39117             :                     (yyval.node) = (Node *) n;
   39118             :                 }
   39119             : #line 39120 "gram.c"
   39120         116 :     break;
   39121             : 
   39122          38 :   case 980: /* CommentStmt: COMMENT ON CONSTRAINT name ON DOMAIN_P any_name IS comment_text  */
   39123             : #line 7229 "gram.y"
   39124             :                                 {
   39125             :                     CommentStmt *n = makeNode(CommentStmt);
   39126             : 
   39127             :                     n->objtype = OBJECT_DOMCONSTRAINT;
   39128             :                     /*
   39129             :                      * should use Typename not any_name in the production, but
   39130             :                      * there's a shift/reduce conflict if we do that, so fix it
   39131             :                      * up here.
   39132             :                      */
   39133             :                     n->object = (Node *) list_make2(makeTypeNameFromNameList((yyvsp[-2].list)), makeString((yyvsp[-5].str)));
   39134             :                     n->comment = (yyvsp[0].str);
   39135             :                     (yyval.node) = (Node *) n;
   39136             :                 }
   39137             : #line 39138 "gram.c"
   39138          38 :     break;
   39139             : 
   39140          40 :   case 981: /* CommentStmt: COMMENT ON object_type_name_on_any_name name ON any_name IS comment_text  */
   39141             : #line 7243 "gram.y"
   39142             :                                 {
   39143             :                     CommentStmt *n = makeNode(CommentStmt);
   39144             : 
   39145             :                     n->objtype = (yyvsp[-5].objtype);
   39146             :                     n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
   39147             :                     n->comment = (yyvsp[0].str);
   39148             :                     (yyval.node) = (Node *) n;
   39149             :                 }
   39150             : #line 39151 "gram.c"
   39151          40 :     break;
   39152             : 
   39153           0 :   case 982: /* CommentStmt: COMMENT ON PROCEDURE function_with_argtypes IS comment_text  */
   39154             : #line 7252 "gram.y"
   39155             :                                 {
   39156             :                     CommentStmt *n = makeNode(CommentStmt);
   39157             : 
   39158             :                     n->objtype = OBJECT_PROCEDURE;
   39159             :                     n->object = (Node *) (yyvsp[-2].objwithargs);
   39160             :                     n->comment = (yyvsp[0].str);
   39161             :                     (yyval.node) = (Node *) n;
   39162             :                 }
   39163             : #line 39164 "gram.c"
   39164           0 :     break;
   39165             : 
   39166           0 :   case 983: /* CommentStmt: COMMENT ON ROUTINE function_with_argtypes IS comment_text  */
   39167             : #line 7261 "gram.y"
   39168             :                                 {
   39169             :                     CommentStmt *n = makeNode(CommentStmt);
   39170             : 
   39171             :                     n->objtype = OBJECT_ROUTINE;
   39172             :                     n->object = (Node *) (yyvsp[-2].objwithargs);
   39173             :                     n->comment = (yyvsp[0].str);
   39174             :                     (yyval.node) = (Node *) n;
   39175             :                 }
   39176             : #line 39177 "gram.c"
   39177           0 :     break;
   39178             : 
   39179          14 :   case 984: /* CommentStmt: COMMENT ON TRANSFORM FOR Typename LANGUAGE name IS comment_text  */
   39180             : #line 7270 "gram.y"
   39181             :                                 {
   39182             :                     CommentStmt *n = makeNode(CommentStmt);
   39183             : 
   39184             :                     n->objtype = OBJECT_TRANSFORM;
   39185             :                     n->object = (Node *) list_make2((yyvsp[-4].typnam), makeString((yyvsp[-2].str)));
   39186             :                     n->comment = (yyvsp[0].str);
   39187             :                     (yyval.node) = (Node *) n;
   39188             :                 }
   39189             : #line 39190 "gram.c"
   39190          14 :     break;
   39191             : 
   39192           0 :   case 985: /* CommentStmt: COMMENT ON OPERATOR CLASS any_name USING name IS comment_text  */
   39193             : #line 7279 "gram.y"
   39194             :                                 {
   39195             :                     CommentStmt *n = makeNode(CommentStmt);
   39196             : 
   39197             :                     n->objtype = OBJECT_OPCLASS;
   39198             :                     n->object = (Node *) lcons(makeString((yyvsp[-2].str)), (yyvsp[-4].list));
   39199             :                     n->comment = (yyvsp[0].str);
   39200             :                     (yyval.node) = (Node *) n;
   39201             :                 }
   39202             : #line 39203 "gram.c"
   39203           0 :     break;
   39204             : 
   39205           0 :   case 986: /* CommentStmt: COMMENT ON OPERATOR FAMILY any_name USING name IS comment_text  */
   39206             : #line 7288 "gram.y"
   39207             :                                 {
   39208             :                     CommentStmt *n = makeNode(CommentStmt);
   39209             : 
   39210             :                     n->objtype = OBJECT_OPFAMILY;
   39211             :                     n->object = (Node *) lcons(makeString((yyvsp[-2].str)), (yyvsp[-4].list));
   39212             :                     n->comment = (yyvsp[0].str);
   39213             :                     (yyval.node) = (Node *) n;
   39214             :                 }
   39215             : #line 39216 "gram.c"
   39216           0 :     break;
   39217             : 
   39218          28 :   case 987: /* CommentStmt: COMMENT ON LARGE_P OBJECT_P NumericOnly IS comment_text  */
   39219             : #line 7297 "gram.y"
   39220             :                                 {
   39221             :                     CommentStmt *n = makeNode(CommentStmt);
   39222             : 
   39223             :                     n->objtype = OBJECT_LARGEOBJECT;
   39224             :                     n->object = (Node *) (yyvsp[-2].node);
   39225             :                     n->comment = (yyvsp[0].str);
   39226             :                     (yyval.node) = (Node *) n;
   39227             :                 }
   39228             : #line 39229 "gram.c"
   39229          28 :     break;
   39230             : 
   39231           0 :   case 988: /* CommentStmt: COMMENT ON CAST '(' Typename AS Typename ')' IS comment_text  */
   39232             : #line 7306 "gram.y"
   39233             :                                 {
   39234             :                     CommentStmt *n = makeNode(CommentStmt);
   39235             : 
   39236             :                     n->objtype = OBJECT_CAST;
   39237             :                     n->object = (Node *) list_make2((yyvsp[-5].typnam), (yyvsp[-3].typnam));
   39238             :                     n->comment = (yyvsp[0].str);
   39239             :                     (yyval.node) = (Node *) n;
   39240             :                 }
   39241             : #line 39242 "gram.c"
   39242           0 :     break;
   39243             : 
   39244        6796 :   case 989: /* comment_text: Sconst  */
   39245             : #line 7317 "gram.y"
   39246             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   39247             : #line 39248 "gram.c"
   39248        6796 :     break;
   39249             : 
   39250         104 :   case 990: /* comment_text: NULL_P  */
   39251             : #line 7318 "gram.y"
   39252             :                                                                                         { (yyval.str) = NULL; }
   39253             : #line 39254 "gram.c"
   39254         104 :     break;
   39255             : 
   39256          48 :   case 991: /* SecLabelStmt: SECURITY LABEL opt_provider ON object_type_any_name any_name IS security_label  */
   39257             : #line 7334 "gram.y"
   39258             :                                 {
   39259             :                     SecLabelStmt *n = makeNode(SecLabelStmt);
   39260             : 
   39261             :                     n->provider = (yyvsp[-5].str);
   39262             :                     n->objtype = (yyvsp[-3].objtype);
   39263             :                     n->object = (Node *) (yyvsp[-2].list);
   39264             :                     n->label = (yyvsp[0].str);
   39265             :                     (yyval.node) = (Node *) n;
   39266             :                 }
   39267             : #line 39268 "gram.c"
   39268          48 :     break;
   39269             : 
   39270           4 :   case 992: /* SecLabelStmt: SECURITY LABEL opt_provider ON COLUMN any_name IS security_label  */
   39271             : #line 7345 "gram.y"
   39272             :                                 {
   39273             :                     SecLabelStmt *n = makeNode(SecLabelStmt);
   39274             : 
   39275             :                     n->provider = (yyvsp[-5].str);
   39276             :                     n->objtype = OBJECT_COLUMN;
   39277             :                     n->object = (Node *) (yyvsp[-2].list);
   39278             :                     n->label = (yyvsp[0].str);
   39279             :                     (yyval.node) = (Node *) n;
   39280             :                 }
   39281             : #line 39282 "gram.c"
   39282           4 :     break;
   39283             : 
   39284          44 :   case 993: /* SecLabelStmt: SECURITY LABEL opt_provider ON object_type_name name IS security_label  */
   39285             : #line 7356 "gram.y"
   39286             :                                 {
   39287             :                     SecLabelStmt *n = makeNode(SecLabelStmt);
   39288             : 
   39289             :                     n->provider = (yyvsp[-5].str);
   39290             :                     n->objtype = (yyvsp[-3].objtype);
   39291             :                     n->object = (Node *) makeString((yyvsp[-2].str));
   39292             :                     n->label = (yyvsp[0].str);
   39293             :                     (yyval.node) = (Node *) n;
   39294             :                 }
   39295             : #line 39296 "gram.c"
   39296          44 :     break;
   39297             : 
   39298           0 :   case 994: /* SecLabelStmt: SECURITY LABEL opt_provider ON TYPE_P Typename IS security_label  */
   39299             : #line 7367 "gram.y"
   39300             :                                 {
   39301             :                     SecLabelStmt *n = makeNode(SecLabelStmt);
   39302             : 
   39303             :                     n->provider = (yyvsp[-5].str);
   39304             :                     n->objtype = OBJECT_TYPE;
   39305             :                     n->object = (Node *) (yyvsp[-2].typnam);
   39306             :                     n->label = (yyvsp[0].str);
   39307             :                     (yyval.node) = (Node *) n;
   39308             :                 }
   39309             : #line 39310 "gram.c"
   39310           0 :     break;
   39311             : 
   39312           2 :   case 995: /* SecLabelStmt: SECURITY LABEL opt_provider ON DOMAIN_P Typename IS security_label  */
   39313             : #line 7378 "gram.y"
   39314             :                                 {
   39315             :                     SecLabelStmt *n = makeNode(SecLabelStmt);
   39316             : 
   39317             :                     n->provider = (yyvsp[-5].str);
   39318             :                     n->objtype = OBJECT_DOMAIN;
   39319             :                     n->object = (Node *) (yyvsp[-2].typnam);
   39320             :                     n->label = (yyvsp[0].str);
   39321             :                     (yyval.node) = (Node *) n;
   39322             :                 }
   39323             : #line 39324 "gram.c"
   39324           2 :     break;
   39325             : 
   39326           0 :   case 996: /* SecLabelStmt: SECURITY LABEL opt_provider ON AGGREGATE aggregate_with_argtypes IS security_label  */
   39327             : #line 7389 "gram.y"
   39328             :                                 {
   39329             :                     SecLabelStmt *n = makeNode(SecLabelStmt);
   39330             : 
   39331             :                     n->provider = (yyvsp[-5].str);
   39332             :                     n->objtype = OBJECT_AGGREGATE;
   39333             :                     n->object = (Node *) (yyvsp[-2].objwithargs);
   39334             :                     n->label = (yyvsp[0].str);
   39335             :                     (yyval.node) = (Node *) n;
   39336             :                 }
   39337             : #line 39338 "gram.c"
   39338           0 :     break;
   39339             : 
   39340           2 :   case 997: /* SecLabelStmt: SECURITY LABEL opt_provider ON FUNCTION function_with_argtypes IS security_label  */
   39341             : #line 7400 "gram.y"
   39342             :                                 {
   39343             :                     SecLabelStmt *n = makeNode(SecLabelStmt);
   39344             : 
   39345             :                     n->provider = (yyvsp[-5].str);
   39346             :                     n->objtype = OBJECT_FUNCTION;
   39347             :                     n->object = (Node *) (yyvsp[-2].objwithargs);
   39348             :                     n->label = (yyvsp[0].str);
   39349             :                     (yyval.node) = (Node *) n;
   39350             :                 }
   39351             : #line 39352 "gram.c"
   39352           2 :     break;
   39353             : 
   39354           0 :   case 998: /* SecLabelStmt: SECURITY LABEL opt_provider ON LARGE_P OBJECT_P NumericOnly IS security_label  */
   39355             : #line 7411 "gram.y"
   39356             :                                 {
   39357             :                     SecLabelStmt *n = makeNode(SecLabelStmt);
   39358             : 
   39359             :                     n->provider = (yyvsp[-6].str);
   39360             :                     n->objtype = OBJECT_LARGEOBJECT;
   39361             :                     n->object = (Node *) (yyvsp[-2].node);
   39362             :                     n->label = (yyvsp[0].str);
   39363             :                     (yyval.node) = (Node *) n;
   39364             :                 }
   39365             : #line 39366 "gram.c"
   39366           0 :     break;
   39367             : 
   39368           0 :   case 999: /* SecLabelStmt: SECURITY LABEL opt_provider ON PROCEDURE function_with_argtypes IS security_label  */
   39369             : #line 7422 "gram.y"
   39370             :                                 {
   39371             :                     SecLabelStmt *n = makeNode(SecLabelStmt);
   39372             : 
   39373             :                     n->provider = (yyvsp[-5].str);
   39374             :                     n->objtype = OBJECT_PROCEDURE;
   39375             :                     n->object = (Node *) (yyvsp[-2].objwithargs);
   39376             :                     n->label = (yyvsp[0].str);
   39377             :                     (yyval.node) = (Node *) n;
   39378             :                 }
   39379             : #line 39380 "gram.c"
   39380           0 :     break;
   39381             : 
   39382           0 :   case 1000: /* SecLabelStmt: SECURITY LABEL opt_provider ON ROUTINE function_with_argtypes IS security_label  */
   39383             : #line 7433 "gram.y"
   39384             :                                 {
   39385             :                     SecLabelStmt *n = makeNode(SecLabelStmt);
   39386             : 
   39387             :                     n->provider = (yyvsp[-5].str);
   39388             :                     n->objtype = OBJECT_ROUTINE;
   39389             :                     n->object = (Node *) (yyvsp[-2].objwithargs);
   39390             :                     n->label = (yyvsp[0].str);
   39391             :                     (yyval.node) = (Node *) n;
   39392             :                 }
   39393             : #line 39394 "gram.c"
   39394           0 :     break;
   39395             : 
   39396          20 :   case 1001: /* opt_provider: FOR NonReservedWord_or_Sconst  */
   39397             : #line 7444 "gram.y"
   39398             :                                                 { (yyval.str) = (yyvsp[0].str); }
   39399             : #line 39400 "gram.c"
   39400          20 :     break;
   39401             : 
   39402          80 :   case 1002: /* opt_provider: %empty  */
   39403             : #line 7445 "gram.y"
   39404             :                                                                                 { (yyval.str) = NULL; }
   39405             : #line 39406 "gram.c"
   39406          80 :     break;
   39407             : 
   39408         100 :   case 1003: /* security_label: Sconst  */
   39409             : #line 7448 "gram.y"
   39410             :                                                 { (yyval.str) = (yyvsp[0].str); }
   39411             : #line 39412 "gram.c"
   39412         100 :     break;
   39413             : 
   39414           0 :   case 1004: /* security_label: NULL_P  */
   39415             : #line 7449 "gram.y"
   39416             :                                                                 { (yyval.str) = NULL; }
   39417             : #line 39418 "gram.c"
   39418           0 :     break;
   39419             : 
   39420        7446 :   case 1005: /* FetchStmt: FETCH fetch_args  */
   39421             : #line 7460 "gram.y"
   39422             :                                 {
   39423             :                     FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
   39424             : 
   39425             :                     n->ismove = false;
   39426             :                     (yyval.node) = (Node *) n;
   39427             :                 }
   39428             : #line 39429 "gram.c"
   39429        7446 :     break;
   39430             : 
   39431          68 :   case 1006: /* FetchStmt: MOVE fetch_args  */
   39432             : #line 7467 "gram.y"
   39433             :                                 {
   39434             :                     FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
   39435             : 
   39436             :                     n->ismove = true;
   39437             :                     (yyval.node) = (Node *) n;
   39438             :                 }
   39439             : #line 39440 "gram.c"
   39440          68 :     break;
   39441             : 
   39442         266 :   case 1007: /* fetch_args: cursor_name  */
   39443             : #line 7476 "gram.y"
   39444             :                                 {
   39445             :                     FetchStmt *n = makeNode(FetchStmt);
   39446             : 
   39447             :                     n->portalname = (yyvsp[0].str);
   39448             :                     n->direction = FETCH_FORWARD;
   39449             :                     n->howMany = 1;
   39450             :                     (yyval.node) = (Node *) n;
   39451             :                 }
   39452             : #line 39453 "gram.c"
   39453         266 :     break;
   39454             : 
   39455         218 :   case 1008: /* fetch_args: from_in cursor_name  */
   39456             : #line 7485 "gram.y"
   39457             :                                 {
   39458             :                     FetchStmt *n = makeNode(FetchStmt);
   39459             : 
   39460             :                     n->portalname = (yyvsp[0].str);
   39461             :                     n->direction = FETCH_FORWARD;
   39462             :                     n->howMany = 1;
   39463             :                     (yyval.node) = (Node *) n;
   39464             :                 }
   39465             : #line 39466 "gram.c"
   39466         218 :     break;
   39467             : 
   39468        2008 :   case 1009: /* fetch_args: NEXT opt_from_in cursor_name  */
   39469             : #line 7494 "gram.y"
   39470             :                                 {
   39471             :                     FetchStmt *n = makeNode(FetchStmt);
   39472             : 
   39473             :                     n->portalname = (yyvsp[0].str);
   39474             :                     n->direction = FETCH_FORWARD;
   39475             :                     n->howMany = 1;
   39476             :                     (yyval.node) = (Node *) n;
   39477             :                 }
   39478             : #line 39479 "gram.c"
   39479        2008 :     break;
   39480             : 
   39481          30 :   case 1010: /* fetch_args: PRIOR opt_from_in cursor_name  */
   39482             : #line 7503 "gram.y"
   39483             :                                 {
   39484             :                     FetchStmt *n = makeNode(FetchStmt);
   39485             : 
   39486             :                     n->portalname = (yyvsp[0].str);
   39487             :                     n->direction = FETCH_BACKWARD;
   39488             :                     n->howMany = 1;
   39489             :                     (yyval.node) = (Node *) n;
   39490             :                 }
   39491             : #line 39492 "gram.c"
   39492          30 :     break;
   39493             : 
   39494          24 :   case 1011: /* fetch_args: FIRST_P opt_from_in cursor_name  */
   39495             : #line 7512 "gram.y"
   39496             :                                 {
   39497             :                     FetchStmt *n = makeNode(FetchStmt);
   39498             : 
   39499             :                     n->portalname = (yyvsp[0].str);
   39500             :                     n->direction = FETCH_ABSOLUTE;
   39501             :                     n->howMany = 1;
   39502             :                     (yyval.node) = (Node *) n;
   39503             :                 }
   39504             : #line 39505 "gram.c"
   39505          24 :     break;
   39506             : 
   39507          18 :   case 1012: /* fetch_args: LAST_P opt_from_in cursor_name  */
   39508             : #line 7521 "gram.y"
   39509             :                                 {
   39510             :                     FetchStmt *n = makeNode(FetchStmt);
   39511             : 
   39512             :                     n->portalname = (yyvsp[0].str);
   39513             :                     n->direction = FETCH_ABSOLUTE;
   39514             :                     n->howMany = -1;
   39515             :                     (yyval.node) = (Node *) n;
   39516             :                 }
   39517             : #line 39518 "gram.c"
   39518          18 :     break;
   39519             : 
   39520          88 :   case 1013: /* fetch_args: ABSOLUTE_P SignedIconst opt_from_in cursor_name  */
   39521             : #line 7530 "gram.y"
   39522             :                                 {
   39523             :                     FetchStmt *n = makeNode(FetchStmt);
   39524             : 
   39525             :                     n->portalname = (yyvsp[0].str);
   39526             :                     n->direction = FETCH_ABSOLUTE;
   39527             :                     n->howMany = (yyvsp[-2].ival);
   39528             :                     (yyval.node) = (Node *) n;
   39529             :                 }
   39530             : #line 39531 "gram.c"
   39531          88 :     break;
   39532             : 
   39533          30 :   case 1014: /* fetch_args: RELATIVE_P SignedIconst opt_from_in cursor_name  */
   39534             : #line 7539 "gram.y"
   39535             :                                 {
   39536             :                     FetchStmt *n = makeNode(FetchStmt);
   39537             : 
   39538             :                     n->portalname = (yyvsp[0].str);
   39539             :                     n->direction = FETCH_RELATIVE;
   39540             :                     n->howMany = (yyvsp[-2].ival);
   39541             :                     (yyval.node) = (Node *) n;
   39542             :                 }
   39543             : #line 39544 "gram.c"
   39544          30 :     break;
   39545             : 
   39546        4128 :   case 1015: /* fetch_args: SignedIconst opt_from_in cursor_name  */
   39547             : #line 7548 "gram.y"
   39548             :                                 {
   39549             :                     FetchStmt *n = makeNode(FetchStmt);
   39550             : 
   39551             :                     n->portalname = (yyvsp[0].str);
   39552             :                     n->direction = FETCH_FORWARD;
   39553             :                     n->howMany = (yyvsp[-2].ival);
   39554             :                     (yyval.node) = (Node *) n;
   39555             :                 }
   39556             : #line 39557 "gram.c"
   39557        4128 :     break;
   39558             : 
   39559         268 :   case 1016: /* fetch_args: ALL opt_from_in cursor_name  */
   39560             : #line 7557 "gram.y"
   39561             :                                 {
   39562             :                     FetchStmt *n = makeNode(FetchStmt);
   39563             : 
   39564             :                     n->portalname = (yyvsp[0].str);
   39565             :                     n->direction = FETCH_FORWARD;
   39566             :                     n->howMany = FETCH_ALL;
   39567             :                     (yyval.node) = (Node *) n;
   39568             :                 }
   39569             : #line 39570 "gram.c"
   39570         268 :     break;
   39571             : 
   39572          28 :   case 1017: /* fetch_args: FORWARD opt_from_in cursor_name  */
   39573             : #line 7566 "gram.y"
   39574             :                                 {
   39575             :                     FetchStmt *n = makeNode(FetchStmt);
   39576             : 
   39577             :                     n->portalname = (yyvsp[0].str);
   39578             :                     n->direction = FETCH_FORWARD;
   39579             :                     n->howMany = 1;
   39580             :                     (yyval.node) = (Node *) n;
   39581             :                 }
   39582             : #line 39583 "gram.c"
   39583          28 :     break;
   39584             : 
   39585           6 :   case 1018: /* fetch_args: FORWARD SignedIconst opt_from_in cursor_name  */
   39586             : #line 7575 "gram.y"
   39587             :                                 {
   39588             :                     FetchStmt *n = makeNode(FetchStmt);
   39589             : 
   39590             :                     n->portalname = (yyvsp[0].str);
   39591             :                     n->direction = FETCH_FORWARD;
   39592             :                     n->howMany = (yyvsp[-2].ival);
   39593             :                     (yyval.node) = (Node *) n;
   39594             :                 }
   39595             : #line 39596 "gram.c"
   39596           6 :     break;
   39597             : 
   39598          14 :   case 1019: /* fetch_args: FORWARD ALL opt_from_in cursor_name  */
   39599             : #line 7584 "gram.y"
   39600             :                                 {
   39601             :                     FetchStmt *n = makeNode(FetchStmt);
   39602             : 
   39603             :                     n->portalname = (yyvsp[0].str);
   39604             :                     n->direction = FETCH_FORWARD;
   39605             :                     n->howMany = FETCH_ALL;
   39606             :                     (yyval.node) = (Node *) n;
   39607             :                 }
   39608             : #line 39609 "gram.c"
   39609          14 :     break;
   39610             : 
   39611          78 :   case 1020: /* fetch_args: BACKWARD opt_from_in cursor_name  */
   39612             : #line 7593 "gram.y"
   39613             :                                 {
   39614             :                     FetchStmt *n = makeNode(FetchStmt);
   39615             : 
   39616             :                     n->portalname = (yyvsp[0].str);
   39617             :                     n->direction = FETCH_BACKWARD;
   39618             :                     n->howMany = 1;
   39619             :                     (yyval.node) = (Node *) n;
   39620             :                 }
   39621             : #line 39622 "gram.c"
   39622          78 :     break;
   39623             : 
   39624         220 :   case 1021: /* fetch_args: BACKWARD SignedIconst opt_from_in cursor_name  */
   39625             : #line 7602 "gram.y"
   39626             :                                 {
   39627             :                     FetchStmt *n = makeNode(FetchStmt);
   39628             : 
   39629             :                     n->portalname = (yyvsp[0].str);
   39630             :                     n->direction = FETCH_BACKWARD;
   39631             :                     n->howMany = (yyvsp[-2].ival);
   39632             :                     (yyval.node) = (Node *) n;
   39633             :                 }
   39634             : #line 39635 "gram.c"
   39635         220 :     break;
   39636             : 
   39637          90 :   case 1022: /* fetch_args: BACKWARD ALL opt_from_in cursor_name  */
   39638             : #line 7611 "gram.y"
   39639             :                                 {
   39640             :                     FetchStmt *n = makeNode(FetchStmt);
   39641             : 
   39642             :                     n->portalname = (yyvsp[0].str);
   39643             :                     n->direction = FETCH_BACKWARD;
   39644             :                     n->howMany = FETCH_ALL;
   39645             :                     (yyval.node) = (Node *) n;
   39646             :                 }
   39647             : #line 39648 "gram.c"
   39648          90 :     break;
   39649             : 
   39650       11494 :   case 1027: /* GrantStmt: GRANT privileges ON privilege_target TO grantee_list opt_grant_grant_option opt_granted_by  */
   39651             : #line 7638 "gram.y"
   39652             :                                 {
   39653             :                     GrantStmt *n = makeNode(GrantStmt);
   39654             : 
   39655             :                     n->is_grant = true;
   39656             :                     n->privileges = (yyvsp[-6].list);
   39657             :                     n->targtype = ((yyvsp[-4].privtarget))->targtype;
   39658             :                     n->objtype = ((yyvsp[-4].privtarget))->objtype;
   39659             :                     n->objects = ((yyvsp[-4].privtarget))->objs;
   39660             :                     n->grantees = (yyvsp[-2].list);
   39661             :                     n->grant_option = (yyvsp[-1].boolean);
   39662             :                     n->grantor = (yyvsp[0].rolespec);
   39663             :                     (yyval.node) = (Node *) n;
   39664             :                 }
   39665             : #line 39666 "gram.c"
   39666       11494 :     break;
   39667             : 
   39668       10134 :   case 1028: /* RevokeStmt: REVOKE privileges ON privilege_target FROM grantee_list opt_granted_by opt_drop_behavior  */
   39669             : #line 7656 "gram.y"
   39670             :                                 {
   39671             :                     GrantStmt *n = makeNode(GrantStmt);
   39672             : 
   39673             :                     n->is_grant = false;
   39674             :                     n->grant_option = false;
   39675             :                     n->privileges = (yyvsp[-6].list);
   39676             :                     n->targtype = ((yyvsp[-4].privtarget))->targtype;
   39677             :                     n->objtype = ((yyvsp[-4].privtarget))->objtype;
   39678             :                     n->objects = ((yyvsp[-4].privtarget))->objs;
   39679             :                     n->grantees = (yyvsp[-2].list);
   39680             :                     n->grantor = (yyvsp[-1].rolespec);
   39681             :                     n->behavior = (yyvsp[0].dbehavior);
   39682             :                     (yyval.node) = (Node *) n;
   39683             :                 }
   39684             : #line 39685 "gram.c"
   39685       10134 :     break;
   39686             : 
   39687          16 :   case 1029: /* RevokeStmt: REVOKE GRANT OPTION FOR privileges ON privilege_target FROM grantee_list opt_granted_by opt_drop_behavior  */
   39688             : #line 7672 "gram.y"
   39689             :                                 {
   39690             :                     GrantStmt *n = makeNode(GrantStmt);
   39691             : 
   39692             :                     n->is_grant = false;
   39693             :                     n->grant_option = true;
   39694             :                     n->privileges = (yyvsp[-6].list);
   39695             :                     n->targtype = ((yyvsp[-4].privtarget))->targtype;
   39696             :                     n->objtype = ((yyvsp[-4].privtarget))->objtype;
   39697             :                     n->objects = ((yyvsp[-4].privtarget))->objs;
   39698             :                     n->grantees = (yyvsp[-2].list);
   39699             :                     n->grantor = (yyvsp[-1].rolespec);
   39700             :                     n->behavior = (yyvsp[0].dbehavior);
   39701             :                     (yyval.node) = (Node *) n;
   39702             :                 }
   39703             : #line 39704 "gram.c"
   39704          16 :     break;
   39705             : 
   39706       19158 :   case 1030: /* privileges: privilege_list  */
   39707             : #line 7699 "gram.y"
   39708             :                                 { (yyval.list) = (yyvsp[0].list); }
   39709             : #line 39710 "gram.c"
   39710       19158 :     break;
   39711             : 
   39712        2548 :   case 1031: /* privileges: ALL  */
   39713             : #line 7701 "gram.y"
   39714             :                                 { (yyval.list) = NIL; }
   39715             : #line 39716 "gram.c"
   39716        2548 :     break;
   39717             : 
   39718         122 :   case 1032: /* privileges: ALL PRIVILEGES  */
   39719             : #line 7703 "gram.y"
   39720             :                                 { (yyval.list) = NIL; }
   39721             : #line 39722 "gram.c"
   39722         122 :     break;
   39723             : 
   39724          18 :   case 1033: /* privileges: ALL '(' columnList ')'  */
   39725             : #line 7705 "gram.y"
   39726             :                                 {
   39727             :                     AccessPriv *n = makeNode(AccessPriv);
   39728             : 
   39729             :                     n->priv_name = NULL;
   39730             :                     n->cols = (yyvsp[-1].list);
   39731             :                     (yyval.list) = list_make1(n);
   39732             :                 }
   39733             : #line 39734 "gram.c"
   39734          18 :     break;
   39735             : 
   39736           0 :   case 1034: /* privileges: ALL PRIVILEGES '(' columnList ')'  */
   39737             : #line 7713 "gram.y"
   39738             :                                 {
   39739             :                     AccessPriv *n = makeNode(AccessPriv);
   39740             : 
   39741             :                     n->priv_name = NULL;
   39742             :                     n->cols = (yyvsp[-1].list);
   39743             :                     (yyval.list) = list_make1(n);
   39744             :                 }
   39745             : #line 39746 "gram.c"
   39746           0 :     break;
   39747             : 
   39748       20078 :   case 1035: /* privilege_list: privilege  */
   39749             : #line 7722 "gram.y"
   39750             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].accesspriv)); }
   39751             : #line 39752 "gram.c"
   39752       20078 :     break;
   39753             : 
   39754         564 :   case 1036: /* privilege_list: privilege_list ',' privilege  */
   39755             : #line 7723 "gram.y"
   39756             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].accesspriv)); }
   39757             : #line 39758 "gram.c"
   39758         564 :     break;
   39759             : 
   39760        9272 :   case 1037: /* privilege: SELECT opt_column_list  */
   39761             : #line 7727 "gram.y"
   39762             :                         {
   39763             :                 AccessPriv *n = makeNode(AccessPriv);
   39764             : 
   39765             :                 n->priv_name = pstrdup((yyvsp[-1].keyword));
   39766             :                 n->cols = (yyvsp[0].list);
   39767             :                 (yyval.accesspriv) = n;
   39768             :             }
   39769             : #line 39770 "gram.c"
   39770        9272 :     break;
   39771             : 
   39772          16 :   case 1038: /* privilege: REFERENCES opt_column_list  */
   39773             : #line 7735 "gram.y"
   39774             :                         {
   39775             :                 AccessPriv *n = makeNode(AccessPriv);
   39776             : 
   39777             :                 n->priv_name = pstrdup((yyvsp[-1].keyword));
   39778             :                 n->cols = (yyvsp[0].list);
   39779             :                 (yyval.accesspriv) = n;
   39780             :             }
   39781             : #line 39782 "gram.c"
   39782          16 :     break;
   39783             : 
   39784         290 :   case 1039: /* privilege: CREATE opt_column_list  */
   39785             : #line 7743 "gram.y"
   39786             :                         {
   39787             :                 AccessPriv *n = makeNode(AccessPriv);
   39788             : 
   39789             :                 n->priv_name = pstrdup((yyvsp[-1].keyword));
   39790             :                 n->cols = (yyvsp[0].list);
   39791             :                 (yyval.accesspriv) = n;
   39792             :             }
   39793             : #line 39794 "gram.c"
   39794         290 :     break;
   39795             : 
   39796          24 :   case 1040: /* privilege: ALTER SYSTEM_P  */
   39797             : #line 7751 "gram.y"
   39798             :                         {
   39799             :                 AccessPriv *n = makeNode(AccessPriv);
   39800             :                 n->priv_name = pstrdup("alter system");
   39801             :                 n->cols = NIL;
   39802             :                 (yyval.accesspriv) = n;
   39803             :             }
   39804             : #line 39805 "gram.c"
   39805          24 :     break;
   39806             : 
   39807       11040 :   case 1041: /* privilege: ColId opt_column_list  */
   39808             : #line 7758 "gram.y"
   39809             :                         {
   39810             :                 AccessPriv *n = makeNode(AccessPriv);
   39811             : 
   39812             :                 n->priv_name = (yyvsp[-1].str);
   39813             :                 n->cols = (yyvsp[0].list);
   39814             :                 (yyval.accesspriv) = n;
   39815             :             }
   39816             : #line 39817 "gram.c"
   39817       11040 :     break;
   39818             : 
   39819          76 :   case 1042: /* parameter_name_list: parameter_name  */
   39820             : #line 7769 "gram.y"
   39821             :                         {
   39822             :                 (yyval.list) = list_make1(makeString((yyvsp[0].str)));
   39823             :             }
   39824             : #line 39825 "gram.c"
   39825          76 :     break;
   39826             : 
   39827          50 :   case 1043: /* parameter_name_list: parameter_name_list ',' parameter_name  */
   39828             : #line 7773 "gram.y"
   39829             :                         {
   39830             :                 (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str)));
   39831             :             }
   39832             : #line 39833 "gram.c"
   39833          50 :     break;
   39834             : 
   39835         126 :   case 1044: /* parameter_name: ColId  */
   39836             : #line 7780 "gram.y"
   39837             :                         {
   39838             :                 (yyval.str) = (yyvsp[0].str);
   39839             :             }
   39840             : #line 39841 "gram.c"
   39841         126 :     break;
   39842             : 
   39843          32 :   case 1045: /* parameter_name: parameter_name '.' ColId  */
   39844             : #line 7784 "gram.y"
   39845             :                         {
   39846             :                 (yyval.str) = psprintf("%s.%s", (yyvsp[-2].str), (yyvsp[0].str));
   39847             :             }
   39848             : #line 39849 "gram.c"
   39849          32 :     break;
   39850             : 
   39851       11164 :   case 1046: /* privilege_target: qualified_name_list  */
   39852             : #line 7795 "gram.y"
   39853             :                                 {
   39854             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   39855             : 
   39856             :                     n->targtype = ACL_TARGET_OBJECT;
   39857             :                     n->objtype = OBJECT_TABLE;
   39858             :                     n->objs = (yyvsp[0].list);
   39859             :                     (yyval.privtarget) = n;
   39860             :                 }
   39861             : #line 39862 "gram.c"
   39862       11164 :     break;
   39863             : 
   39864         412 :   case 1047: /* privilege_target: TABLE qualified_name_list  */
   39865             : #line 7804 "gram.y"
   39866             :                                 {
   39867             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   39868             : 
   39869             :                     n->targtype = ACL_TARGET_OBJECT;
   39870             :                     n->objtype = OBJECT_TABLE;
   39871             :                     n->objs = (yyvsp[0].list);
   39872             :                     (yyval.privtarget) = n;
   39873             :                 }
   39874             : #line 39875 "gram.c"
   39875         412 :     break;
   39876             : 
   39877          24 :   case 1048: /* privilege_target: SEQUENCE qualified_name_list  */
   39878             : #line 7813 "gram.y"
   39879             :                                 {
   39880             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   39881             : 
   39882             :                     n->targtype = ACL_TARGET_OBJECT;
   39883             :                     n->objtype = OBJECT_SEQUENCE;
   39884             :                     n->objs = (yyvsp[0].list);
   39885             :                     (yyval.privtarget) = n;
   39886             :                 }
   39887             : #line 39888 "gram.c"
   39888          24 :     break;
   39889             : 
   39890          92 :   case 1049: /* privilege_target: FOREIGN DATA_P WRAPPER name_list  */
   39891             : #line 7822 "gram.y"
   39892             :                                 {
   39893             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   39894             : 
   39895             :                     n->targtype = ACL_TARGET_OBJECT;
   39896             :                     n->objtype = OBJECT_FDW;
   39897             :                     n->objs = (yyvsp[0].list);
   39898             :                     (yyval.privtarget) = n;
   39899             :                 }
   39900             : #line 39901 "gram.c"
   39901          92 :     break;
   39902             : 
   39903          88 :   case 1050: /* privilege_target: FOREIGN SERVER name_list  */
   39904             : #line 7831 "gram.y"
   39905             :                                 {
   39906             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   39907             : 
   39908             :                     n->targtype = ACL_TARGET_OBJECT;
   39909             :                     n->objtype = OBJECT_FOREIGN_SERVER;
   39910             :                     n->objs = (yyvsp[0].list);
   39911             :                     (yyval.privtarget) = n;
   39912             :                 }
   39913             : #line 39914 "gram.c"
   39914          88 :     break;
   39915             : 
   39916        8750 :   case 1051: /* privilege_target: FUNCTION function_with_argtypes_list  */
   39917             : #line 7840 "gram.y"
   39918             :                                 {
   39919             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   39920             : 
   39921             :                     n->targtype = ACL_TARGET_OBJECT;
   39922             :                     n->objtype = OBJECT_FUNCTION;
   39923             :                     n->objs = (yyvsp[0].list);
   39924             :                     (yyval.privtarget) = n;
   39925             :                 }
   39926             : #line 39927 "gram.c"
   39927        8750 :     break;
   39928             : 
   39929          42 :   case 1052: /* privilege_target: PROCEDURE function_with_argtypes_list  */
   39930             : #line 7849 "gram.y"
   39931             :                                 {
   39932             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   39933             : 
   39934             :                     n->targtype = ACL_TARGET_OBJECT;
   39935             :                     n->objtype = OBJECT_PROCEDURE;
   39936             :                     n->objs = (yyvsp[0].list);
   39937             :                     (yyval.privtarget) = n;
   39938             :                 }
   39939             : #line 39940 "gram.c"
   39940          42 :     break;
   39941             : 
   39942           0 :   case 1053: /* privilege_target: ROUTINE function_with_argtypes_list  */
   39943             : #line 7858 "gram.y"
   39944             :                                 {
   39945             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   39946             : 
   39947             :                     n->targtype = ACL_TARGET_OBJECT;
   39948             :                     n->objtype = OBJECT_ROUTINE;
   39949             :                     n->objs = (yyvsp[0].list);
   39950             :                     (yyval.privtarget) = n;
   39951             :                 }
   39952             : #line 39953 "gram.c"
   39953           0 :     break;
   39954             : 
   39955         344 :   case 1054: /* privilege_target: DATABASE name_list  */
   39956             : #line 7867 "gram.y"
   39957             :                                 {
   39958             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   39959             : 
   39960             :                     n->targtype = ACL_TARGET_OBJECT;
   39961             :                     n->objtype = OBJECT_DATABASE;
   39962             :                     n->objs = (yyvsp[0].list);
   39963             :                     (yyval.privtarget) = n;
   39964             :                 }
   39965             : #line 39966 "gram.c"
   39966         344 :     break;
   39967             : 
   39968          26 :   case 1055: /* privilege_target: DOMAIN_P any_name_list  */
   39969             : #line 7876 "gram.y"
   39970             :                                 {
   39971             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   39972             : 
   39973             :                     n->targtype = ACL_TARGET_OBJECT;
   39974             :                     n->objtype = OBJECT_DOMAIN;
   39975             :                     n->objs = (yyvsp[0].list);
   39976             :                     (yyval.privtarget) = n;
   39977             :                 }
   39978             : #line 39979 "gram.c"
   39979          26 :     break;
   39980             : 
   39981          42 :   case 1056: /* privilege_target: LANGUAGE name_list  */
   39982             : #line 7885 "gram.y"
   39983             :                                 {
   39984             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   39985             : 
   39986             :                     n->targtype = ACL_TARGET_OBJECT;
   39987             :                     n->objtype = OBJECT_LANGUAGE;
   39988             :                     n->objs = (yyvsp[0].list);
   39989             :                     (yyval.privtarget) = n;
   39990             :                 }
   39991             : #line 39992 "gram.c"
   39992          42 :     break;
   39993             : 
   39994          80 :   case 1057: /* privilege_target: LARGE_P OBJECT_P NumericOnly_list  */
   39995             : #line 7894 "gram.y"
   39996             :                                 {
   39997             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   39998             : 
   39999             :                     n->targtype = ACL_TARGET_OBJECT;
   40000             :                     n->objtype = OBJECT_LARGEOBJECT;
   40001             :                     n->objs = (yyvsp[0].list);
   40002             :                     (yyval.privtarget) = n;
   40003             :                 }
   40004             : #line 40005 "gram.c"
   40005          80 :     break;
   40006             : 
   40007          76 :   case 1058: /* privilege_target: PARAMETER parameter_name_list  */
   40008             : #line 7903 "gram.y"
   40009             :                                 {
   40010             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40011             :                     n->targtype = ACL_TARGET_OBJECT;
   40012             :                     n->objtype = OBJECT_PARAMETER_ACL;
   40013             :                     n->objs = (yyvsp[0].list);
   40014             :                     (yyval.privtarget) = n;
   40015             :                 }
   40016             : #line 40017 "gram.c"
   40017          76 :     break;
   40018             : 
   40019         368 :   case 1059: /* privilege_target: SCHEMA name_list  */
   40020             : #line 7911 "gram.y"
   40021             :                                 {
   40022             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40023             : 
   40024             :                     n->targtype = ACL_TARGET_OBJECT;
   40025             :                     n->objtype = OBJECT_SCHEMA;
   40026             :                     n->objs = (yyvsp[0].list);
   40027             :                     (yyval.privtarget) = n;
   40028             :                 }
   40029             : #line 40030 "gram.c"
   40030         368 :     break;
   40031             : 
   40032           6 :   case 1060: /* privilege_target: TABLESPACE name_list  */
   40033             : #line 7920 "gram.y"
   40034             :                                 {
   40035             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40036             : 
   40037             :                     n->targtype = ACL_TARGET_OBJECT;
   40038             :                     n->objtype = OBJECT_TABLESPACE;
   40039             :                     n->objs = (yyvsp[0].list);
   40040             :                     (yyval.privtarget) = n;
   40041             :                 }
   40042             : #line 40043 "gram.c"
   40043           6 :     break;
   40044             : 
   40045         112 :   case 1061: /* privilege_target: TYPE_P any_name_list  */
   40046             : #line 7929 "gram.y"
   40047             :                                 {
   40048             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40049             : 
   40050             :                     n->targtype = ACL_TARGET_OBJECT;
   40051             :                     n->objtype = OBJECT_TYPE;
   40052             :                     n->objs = (yyvsp[0].list);
   40053             :                     (yyval.privtarget) = n;
   40054             :                 }
   40055             : #line 40056 "gram.c"
   40056         112 :     break;
   40057             : 
   40058          12 :   case 1062: /* privilege_target: ALL TABLES IN_P SCHEMA name_list  */
   40059             : #line 7938 "gram.y"
   40060             :                                 {
   40061             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40062             : 
   40063             :                     n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
   40064             :                     n->objtype = OBJECT_TABLE;
   40065             :                     n->objs = (yyvsp[0].list);
   40066             :                     (yyval.privtarget) = n;
   40067             :                 }
   40068             : #line 40069 "gram.c"
   40069          12 :     break;
   40070             : 
   40071           0 :   case 1063: /* privilege_target: ALL SEQUENCES IN_P SCHEMA name_list  */
   40072             : #line 7947 "gram.y"
   40073             :                                 {
   40074             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40075             : 
   40076             :                     n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
   40077             :                     n->objtype = OBJECT_SEQUENCE;
   40078             :                     n->objs = (yyvsp[0].list);
   40079             :                     (yyval.privtarget) = n;
   40080             :                 }
   40081             : #line 40082 "gram.c"
   40082           0 :     break;
   40083             : 
   40084           6 :   case 1064: /* privilege_target: ALL FUNCTIONS IN_P SCHEMA name_list  */
   40085             : #line 7956 "gram.y"
   40086             :                                 {
   40087             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40088             : 
   40089             :                     n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
   40090             :                     n->objtype = OBJECT_FUNCTION;
   40091             :                     n->objs = (yyvsp[0].list);
   40092             :                     (yyval.privtarget) = n;
   40093             :                 }
   40094             : #line 40095 "gram.c"
   40095           6 :     break;
   40096             : 
   40097           6 :   case 1065: /* privilege_target: ALL PROCEDURES IN_P SCHEMA name_list  */
   40098             : #line 7965 "gram.y"
   40099             :                                 {
   40100             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40101             : 
   40102             :                     n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
   40103             :                     n->objtype = OBJECT_PROCEDURE;
   40104             :                     n->objs = (yyvsp[0].list);
   40105             :                     (yyval.privtarget) = n;
   40106             :                 }
   40107             : #line 40108 "gram.c"
   40108           6 :     break;
   40109             : 
   40110           6 :   case 1066: /* privilege_target: ALL ROUTINES IN_P SCHEMA name_list  */
   40111             : #line 7974 "gram.y"
   40112             :                                 {
   40113             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40114             : 
   40115             :                     n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
   40116             :                     n->objtype = OBJECT_ROUTINE;
   40117             :                     n->objs = (yyvsp[0].list);
   40118             :                     (yyval.privtarget) = n;
   40119             :                 }
   40120             : #line 40121 "gram.c"
   40121           6 :     break;
   40122             : 
   40123       21834 :   case 1067: /* grantee_list: grantee  */
   40124             : #line 7986 "gram.y"
   40125             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].rolespec)); }
   40126             : #line 40127 "gram.c"
   40127       21834 :     break;
   40128             : 
   40129         108 :   case 1068: /* grantee_list: grantee_list ',' grantee  */
   40130             : #line 7987 "gram.y"
   40131             :                                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].rolespec)); }
   40132             : #line 40133 "gram.c"
   40133         108 :     break;
   40134             : 
   40135       21918 :   case 1069: /* grantee: RoleSpec  */
   40136             : #line 7991 "gram.y"
   40137             :                                                                                                 { (yyval.rolespec) = (yyvsp[0].rolespec); }
   40138             : #line 40139 "gram.c"
   40139       21918 :     break;
   40140             : 
   40141          24 :   case 1070: /* grantee: GROUP_P RoleSpec  */
   40142             : #line 7992 "gram.y"
   40143             :                                                                                         { (yyval.rolespec) = (yyvsp[0].rolespec); }
   40144             : #line 40145 "gram.c"
   40145          24 :     break;
   40146             : 
   40147         102 :   case 1071: /* opt_grant_grant_option: WITH GRANT OPTION  */
   40148             : #line 7997 "gram.y"
   40149             :                                           { (yyval.boolean) = true; }
   40150             : #line 40151 "gram.c"
   40151         102 :     break;
   40152             : 
   40153       11516 :   case 1072: /* opt_grant_grant_option: %empty  */
   40154             : #line 7998 "gram.y"
   40155             :                                     { (yyval.boolean) = false; }
   40156             : #line 40157 "gram.c"
   40157       11516 :     break;
   40158             : 
   40159         586 :   case 1073: /* GrantRoleStmt: GRANT privilege_list TO role_list opt_granted_by  */
   40160             : #line 8009 "gram.y"
   40161             :                                 {
   40162             :                     GrantRoleStmt *n = makeNode(GrantRoleStmt);
   40163             : 
   40164             :                     n->is_grant = true;
   40165             :                     n->granted_roles = (yyvsp[-3].list);
   40166             :                     n->grantee_roles = (yyvsp[-1].list);
   40167             :                     n->opt = NIL;
   40168             :                     n->grantor = (yyvsp[0].rolespec);
   40169             :                     (yyval.node) = (Node *) n;
   40170             :                 }
   40171             : #line 40172 "gram.c"
   40172         586 :     break;
   40173             : 
   40174         178 :   case 1074: /* GrantRoleStmt: GRANT privilege_list TO role_list WITH grant_role_opt_list opt_granted_by  */
   40175             : #line 8020 "gram.y"
   40176             :                                 {
   40177             :                     GrantRoleStmt *n = makeNode(GrantRoleStmt);
   40178             : 
   40179             :                     n->is_grant = true;
   40180             :                     n->granted_roles = (yyvsp[-5].list);
   40181             :                     n->grantee_roles = (yyvsp[-3].list);
   40182             :                     n->opt = (yyvsp[-1].list);
   40183             :                     n->grantor = (yyvsp[0].rolespec);
   40184             :                     (yyval.node) = (Node *) n;
   40185             :                 }
   40186             : #line 40187 "gram.c"
   40187         178 :     break;
   40188             : 
   40189          90 :   case 1075: /* RevokeRoleStmt: REVOKE privilege_list FROM role_list opt_granted_by opt_drop_behavior  */
   40190             : #line 8034 "gram.y"
   40191             :                                 {
   40192             :                     GrantRoleStmt *n = makeNode(GrantRoleStmt);
   40193             : 
   40194             :                     n->is_grant = false;
   40195             :                     n->opt = NIL;
   40196             :                     n->granted_roles = (yyvsp[-4].list);
   40197             :                     n->grantee_roles = (yyvsp[-2].list);
   40198             :                     n->grantor = (yyvsp[-1].rolespec);
   40199             :                     n->behavior = (yyvsp[0].dbehavior);
   40200             :                     (yyval.node) = (Node *) n;
   40201             :                 }
   40202             : #line 40203 "gram.c"
   40203          90 :     break;
   40204             : 
   40205          66 :   case 1076: /* RevokeRoleStmt: REVOKE ColId OPTION FOR privilege_list FROM role_list opt_granted_by opt_drop_behavior  */
   40206             : #line 8046 "gram.y"
   40207             :                                 {
   40208             :                     GrantRoleStmt *n = makeNode(GrantRoleStmt);
   40209             :                     DefElem *opt;
   40210             : 
   40211             :                     opt = makeDefElem(pstrdup((yyvsp[-7].str)),
   40212             :                                       (Node *) makeBoolean(false), (yylsp[-7]));
   40213             :                     n->is_grant = false;
   40214             :                     n->opt = list_make1(opt);
   40215             :                     n->granted_roles = (yyvsp[-4].list);
   40216             :                     n->grantee_roles = (yyvsp[-2].list);
   40217             :                     n->grantor = (yyvsp[-1].rolespec);
   40218             :                     n->behavior = (yyvsp[0].dbehavior);
   40219             :                     (yyval.node) = (Node *) n;
   40220             :                 }
   40221             : #line 40222 "gram.c"
   40222          66 :     break;
   40223             : 
   40224         120 :   case 1077: /* grant_role_opt_list: grant_role_opt_list ',' grant_role_opt  */
   40225             : #line 8063 "gram.y"
   40226             :                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
   40227             : #line 40228 "gram.c"
   40228         120 :     break;
   40229             : 
   40230         178 :   case 1078: /* grant_role_opt_list: grant_role_opt  */
   40231             : #line 8064 "gram.y"
   40232             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   40233             : #line 40234 "gram.c"
   40234         178 :     break;
   40235             : 
   40236         298 :   case 1079: /* grant_role_opt: ColLabel grant_role_opt_value  */
   40237             : #line 8069 "gram.y"
   40238             :                         {
   40239             :                 (yyval.defelt) = makeDefElem(pstrdup((yyvsp[-1].str)), (yyvsp[0].node), (yylsp[-1]));
   40240             :             }
   40241             : #line 40242 "gram.c"
   40242         298 :     break;
   40243             : 
   40244          72 :   case 1080: /* grant_role_opt_value: OPTION  */
   40245             : #line 8075 "gram.y"
   40246             :                                         { (yyval.node) = (Node *) makeBoolean(true); }
   40247             : #line 40248 "gram.c"
   40248          72 :     break;
   40249             : 
   40250         112 :   case 1081: /* grant_role_opt_value: TRUE_P  */
   40251             : #line 8076 "gram.y"
   40252             :                                         { (yyval.node) = (Node *) makeBoolean(true); }
   40253             : #line 40254 "gram.c"
   40254         112 :     break;
   40255             : 
   40256         114 :   case 1082: /* grant_role_opt_value: FALSE_P  */
   40257             : #line 8077 "gram.y"
   40258             :                                         { (yyval.node) = (Node *) makeBoolean(false); }
   40259             : #line 40260 "gram.c"
   40260         114 :     break;
   40261             : 
   40262         138 :   case 1083: /* opt_granted_by: GRANTED BY RoleSpec  */
   40263             : #line 8080 "gram.y"
   40264             :                                                                                 { (yyval.rolespec) = (yyvsp[0].rolespec); }
   40265             : #line 40266 "gram.c"
   40266         138 :     break;
   40267             : 
   40268       22426 :   case 1084: /* opt_granted_by: %empty  */
   40269             : #line 8081 "gram.y"
   40270             :                                                                                                         { (yyval.rolespec) = NULL; }
   40271             : #line 40272 "gram.c"
   40272       22426 :     break;
   40273             : 
   40274         190 :   case 1085: /* AlterDefaultPrivilegesStmt: ALTER DEFAULT PRIVILEGES DefACLOptionList DefACLAction  */
   40275             : #line 8092 "gram.y"
   40276             :                                 {
   40277             :                     AlterDefaultPrivilegesStmt *n = makeNode(AlterDefaultPrivilegesStmt);
   40278             : 
   40279             :                     n->options = (yyvsp[-1].list);
   40280             :                     n->action = (GrantStmt *) (yyvsp[0].node);
   40281             :                     (yyval.node) = (Node *) n;
   40282             :                 }
   40283             : #line 40284 "gram.c"
   40284         190 :     break;
   40285             : 
   40286         128 :   case 1086: /* DefACLOptionList: DefACLOptionList DefACLOption  */
   40287             : #line 8102 "gram.y"
   40288             :                                                                         { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   40289             : #line 40290 "gram.c"
   40290         128 :     break;
   40291             : 
   40292         190 :   case 1087: /* DefACLOptionList: %empty  */
   40293             : #line 8103 "gram.y"
   40294             :                                                                                         { (yyval.list) = NIL; }
   40295             : #line 40296 "gram.c"
   40296         190 :     break;
   40297             : 
   40298          60 :   case 1088: /* DefACLOption: IN_P SCHEMA name_list  */
   40299             : #line 8108 "gram.y"
   40300             :                                 {
   40301             :                     (yyval.defelt) = makeDefElem("schemas", (Node *) (yyvsp[0].list), (yylsp[-2]));
   40302             :                 }
   40303             : #line 40304 "gram.c"
   40304          60 :     break;
   40305             : 
   40306          68 :   case 1089: /* DefACLOption: FOR ROLE role_list  */
   40307             : #line 8112 "gram.y"
   40308             :                                 {
   40309             :                     (yyval.defelt) = makeDefElem("roles", (Node *) (yyvsp[0].list), (yylsp[-2]));
   40310             :                 }
   40311             : #line 40312 "gram.c"
   40312          68 :     break;
   40313             : 
   40314           0 :   case 1090: /* DefACLOption: FOR USER role_list  */
   40315             : #line 8116 "gram.y"
   40316             :                                 {
   40317             :                     (yyval.defelt) = makeDefElem("roles", (Node *) (yyvsp[0].list), (yylsp[-2]));
   40318             :                 }
   40319             : #line 40320 "gram.c"
   40320           0 :     break;
   40321             : 
   40322         124 :   case 1091: /* DefACLAction: GRANT privileges ON defacl_privilege_target TO grantee_list opt_grant_grant_option  */
   40323             : #line 8128 "gram.y"
   40324             :                                 {
   40325             :                     GrantStmt *n = makeNode(GrantStmt);
   40326             : 
   40327             :                     n->is_grant = true;
   40328             :                     n->privileges = (yyvsp[-5].list);
   40329             :                     n->targtype = ACL_TARGET_DEFAULTS;
   40330             :                     n->objtype = (yyvsp[-3].ival);
   40331             :                     n->objects = NIL;
   40332             :                     n->grantees = (yyvsp[-1].list);
   40333             :                     n->grant_option = (yyvsp[0].boolean);
   40334             :                     (yyval.node) = (Node *) n;
   40335             :                 }
   40336             : #line 40337 "gram.c"
   40337         124 :     break;
   40338             : 
   40339          66 :   case 1092: /* DefACLAction: REVOKE privileges ON defacl_privilege_target FROM grantee_list opt_drop_behavior  */
   40340             : #line 8142 "gram.y"
   40341             :                                 {
   40342             :                     GrantStmt *n = makeNode(GrantStmt);
   40343             : 
   40344             :                     n->is_grant = false;
   40345             :                     n->grant_option = false;
   40346             :                     n->privileges = (yyvsp[-5].list);
   40347             :                     n->targtype = ACL_TARGET_DEFAULTS;
   40348             :                     n->objtype = (yyvsp[-3].ival);
   40349             :                     n->objects = NIL;
   40350             :                     n->grantees = (yyvsp[-1].list);
   40351             :                     n->behavior = (yyvsp[0].dbehavior);
   40352             :                     (yyval.node) = (Node *) n;
   40353             :                 }
   40354             : #line 40355 "gram.c"
   40355          66 :     break;
   40356             : 
   40357           0 :   case 1093: /* DefACLAction: REVOKE GRANT OPTION FOR privileges ON defacl_privilege_target FROM grantee_list opt_drop_behavior  */
   40358             : #line 8157 "gram.y"
   40359             :                                 {
   40360             :                     GrantStmt *n = makeNode(GrantStmt);
   40361             : 
   40362             :                     n->is_grant = false;
   40363             :                     n->grant_option = true;
   40364             :                     n->privileges = (yyvsp[-5].list);
   40365             :                     n->targtype = ACL_TARGET_DEFAULTS;
   40366             :                     n->objtype = (yyvsp[-3].ival);
   40367             :                     n->objects = NIL;
   40368             :                     n->grantees = (yyvsp[-1].list);
   40369             :                     n->behavior = (yyvsp[0].dbehavior);
   40370             :                     (yyval.node) = (Node *) n;
   40371             :                 }
   40372             : #line 40373 "gram.c"
   40373           0 :     break;
   40374             : 
   40375          78 :   case 1094: /* defacl_privilege_target: TABLES  */
   40376             : #line 8173 "gram.y"
   40377             :                                                 { (yyval.ival) = OBJECT_TABLE; }
   40378             : #line 40379 "gram.c"
   40379          78 :     break;
   40380             : 
   40381          16 :   case 1095: /* defacl_privilege_target: FUNCTIONS  */
   40382             : #line 8174 "gram.y"
   40383             :                                                 { (yyval.ival) = OBJECT_FUNCTION; }
   40384             : #line 40385 "gram.c"
   40385          16 :     break;
   40386             : 
   40387           6 :   case 1096: /* defacl_privilege_target: ROUTINES  */
   40388             : #line 8175 "gram.y"
   40389             :                                                 { (yyval.ival) = OBJECT_FUNCTION; }
   40390             : #line 40391 "gram.c"
   40391           6 :     break;
   40392             : 
   40393           6 :   case 1097: /* defacl_privilege_target: SEQUENCES  */
   40394             : #line 8176 "gram.y"
   40395             :                                                 { (yyval.ival) = OBJECT_SEQUENCE; }
   40396             : #line 40397 "gram.c"
   40397           6 :     break;
   40398             : 
   40399          18 :   case 1098: /* defacl_privilege_target: TYPES_P  */
   40400             : #line 8177 "gram.y"
   40401             :                                                 { (yyval.ival) = OBJECT_TYPE; }
   40402             : #line 40403 "gram.c"
   40403          18 :     break;
   40404             : 
   40405          36 :   case 1099: /* defacl_privilege_target: SCHEMAS  */
   40406             : #line 8178 "gram.y"
   40407             :                                                 { (yyval.ival) = OBJECT_SCHEMA; }
   40408             : #line 40409 "gram.c"
   40409          36 :     break;
   40410             : 
   40411          30 :   case 1100: /* defacl_privilege_target: LARGE_P OBJECTS_P  */
   40412             : #line 8179 "gram.y"
   40413             :                                                 { (yyval.ival) = OBJECT_LARGEOBJECT; }
   40414             : #line 40415 "gram.c"
   40415          30 :     break;
   40416             : 
   40417        6872 :   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  */
   40418             : #line 8194 "gram.y"
   40419             :                                 {
   40420             :                     IndexStmt *n = makeNode(IndexStmt);
   40421             : 
   40422             :                     n->unique = (yyvsp[-14].boolean);
   40423             :                     n->concurrent = (yyvsp[-12].boolean);
   40424             :                     n->idxname = (yyvsp[-11].str);
   40425             :                     n->relation = (yyvsp[-9].range);
   40426             :                     n->accessMethod = (yyvsp[-8].str);
   40427             :                     n->indexParams = (yyvsp[-6].list);
   40428             :                     n->indexIncludingParams = (yyvsp[-4].list);
   40429             :                     n->nulls_not_distinct = !(yyvsp[-3].boolean);
   40430             :                     n->options = (yyvsp[-2].list);
   40431             :                     n->tableSpace = (yyvsp[-1].str);
   40432             :                     n->whereClause = (yyvsp[0].node);
   40433             :                     n->excludeOpNames = NIL;
   40434             :                     n->idxcomment = NULL;
   40435             :                     n->indexOid = InvalidOid;
   40436             :                     n->oldNumber = InvalidRelFileNumber;
   40437             :                     n->oldCreateSubid = InvalidSubTransactionId;
   40438             :                     n->oldFirstRelfilelocatorSubid = InvalidSubTransactionId;
   40439             :                     n->primary = false;
   40440             :                     n->isconstraint = false;
   40441             :                     n->deferrable = false;
   40442             :                     n->initdeferred = false;
   40443             :                     n->transformed = false;
   40444             :                     n->if_not_exists = false;
   40445             :                     n->reset_default_tblspc = false;
   40446             :                     (yyval.node) = (Node *) n;
   40447             :                 }
   40448             : #line 40449 "gram.c"
   40449        6872 :     break;
   40450             : 
   40451          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  */
   40452             : #line 8226 "gram.y"
   40453             :                                 {
   40454             :                     IndexStmt *n = makeNode(IndexStmt);
   40455             : 
   40456             :                     n->unique = (yyvsp[-17].boolean);
   40457             :                     n->concurrent = (yyvsp[-15].boolean);
   40458             :                     n->idxname = (yyvsp[-11].str);
   40459             :                     n->relation = (yyvsp[-9].range);
   40460             :                     n->accessMethod = (yyvsp[-8].str);
   40461             :                     n->indexParams = (yyvsp[-6].list);
   40462             :                     n->indexIncludingParams = (yyvsp[-4].list);
   40463             :                     n->nulls_not_distinct = !(yyvsp[-3].boolean);
   40464             :                     n->options = (yyvsp[-2].list);
   40465             :                     n->tableSpace = (yyvsp[-1].str);
   40466             :                     n->whereClause = (yyvsp[0].node);
   40467             :                     n->excludeOpNames = NIL;
   40468             :                     n->idxcomment = NULL;
   40469             :                     n->indexOid = InvalidOid;
   40470             :                     n->oldNumber = InvalidRelFileNumber;
   40471             :                     n->oldCreateSubid = InvalidSubTransactionId;
   40472             :                     n->oldFirstRelfilelocatorSubid = InvalidSubTransactionId;
   40473             :                     n->primary = false;
   40474             :                     n->isconstraint = false;
   40475             :                     n->deferrable = false;
   40476             :                     n->initdeferred = false;
   40477             :                     n->transformed = false;
   40478             :                     n->if_not_exists = true;
   40479             :                     n->reset_default_tblspc = false;
   40480             :                     (yyval.node) = (Node *) n;
   40481             :                 }
   40482             : #line 40483 "gram.c"
   40483          18 :     break;
   40484             : 
   40485        1378 :   case 1103: /* opt_unique: UNIQUE  */
   40486             : #line 8258 "gram.y"
   40487             :                                                                                                 { (yyval.boolean) = true; }
   40488             : #line 40489 "gram.c"
   40489        1378 :     break;
   40490             : 
   40491        5518 :   case 1104: /* opt_unique: %empty  */
   40492             : #line 8259 "gram.y"
   40493             :                                                                                                 { (yyval.boolean) = false; }
   40494             : #line 40495 "gram.c"
   40495        5518 :     break;
   40496             : 
   40497        3292 :   case 1105: /* access_method_clause: USING name  */
   40498             : #line 8263 "gram.y"
   40499             :                                                                                                 { (yyval.str) = (yyvsp[0].str); }
   40500             : #line 40501 "gram.c"
   40501        3292 :     break;
   40502             : 
   40503        3836 :   case 1106: /* access_method_clause: %empty  */
   40504             : #line 8264 "gram.y"
   40505             :                                                                                                 { (yyval.str) = DEFAULT_INDEX_TYPE; }
   40506             : #line 40507 "gram.c"
   40507        3836 :     break;
   40508             : 
   40509        8320 :   case 1107: /* index_params: index_elem  */
   40510             : #line 8267 "gram.y"
   40511             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].ielem)); }
   40512             : #line 40513 "gram.c"
   40513        8320 :     break;
   40514             : 
   40515        2322 :   case 1108: /* index_params: index_params ',' index_elem  */
   40516             : #line 8268 "gram.y"
   40517             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); }
   40518             : #line 40519 "gram.c"
   40519        2322 :     break;
   40520             : 
   40521       11250 :   case 1109: /* index_elem_options: opt_collate opt_qualified_name opt_asc_desc opt_nulls_order  */
   40522             : #line 8274 "gram.y"
   40523             :                 {
   40524             :             (yyval.ielem) = makeNode(IndexElem);
   40525             :             (yyval.ielem)->name = NULL;
   40526             :             (yyval.ielem)->expr = NULL;
   40527             :             (yyval.ielem)->indexcolname = NULL;
   40528             :             (yyval.ielem)->collation = (yyvsp[-3].list);
   40529             :             (yyval.ielem)->opclass = (yyvsp[-2].list);
   40530             :             (yyval.ielem)->opclassopts = NIL;
   40531             :             (yyval.ielem)->ordering = (yyvsp[-1].ival);
   40532             :             (yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
   40533             :         }
   40534             : #line 40535 "gram.c"
   40535       11250 :     break;
   40536             : 
   40537         142 :   case 1110: /* index_elem_options: opt_collate any_name reloptions opt_asc_desc opt_nulls_order  */
   40538             : #line 8286 "gram.y"
   40539             :                 {
   40540             :             (yyval.ielem) = makeNode(IndexElem);
   40541             :             (yyval.ielem)->name = NULL;
   40542             :             (yyval.ielem)->expr = NULL;
   40543             :             (yyval.ielem)->indexcolname = NULL;
   40544             :             (yyval.ielem)->collation = (yyvsp[-4].list);
   40545             :             (yyval.ielem)->opclass = (yyvsp[-3].list);
   40546             :             (yyval.ielem)->opclassopts = (yyvsp[-2].list);
   40547             :             (yyval.ielem)->ordering = (yyvsp[-1].ival);
   40548             :             (yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
   40549             :         }
   40550             : #line 40551 "gram.c"
   40551         142 :     break;
   40552             : 
   40553       10268 :   case 1111: /* index_elem: ColId index_elem_options  */
   40554             : #line 8305 "gram.y"
   40555             :                                 {
   40556             :                     (yyval.ielem) = (yyvsp[0].ielem);
   40557             :                     (yyval.ielem)->name = (yyvsp[-1].str);
   40558             :                 }
   40559             : #line 40560 "gram.c"
   40560       10268 :     break;
   40561             : 
   40562         612 :   case 1112: /* index_elem: func_expr_windowless index_elem_options  */
   40563             : #line 8310 "gram.y"
   40564             :                                 {
   40565             :                     (yyval.ielem) = (yyvsp[0].ielem);
   40566             :                     (yyval.ielem)->expr = (yyvsp[-1].node);
   40567             :                 }
   40568             : #line 40569 "gram.c"
   40569         612 :     break;
   40570             : 
   40571         512 :   case 1113: /* index_elem: '(' a_expr ')' index_elem_options  */
   40572             : #line 8315 "gram.y"
   40573             :                                 {
   40574             :                     (yyval.ielem) = (yyvsp[0].ielem);
   40575             :                     (yyval.ielem)->expr = (yyvsp[-2].node);
   40576             :                 }
   40577             : #line 40578 "gram.c"
   40578         512 :     break;
   40579             : 
   40580         232 :   case 1114: /* opt_include: INCLUDE '(' index_including_params ')'  */
   40581             : #line 8321 "gram.y"
   40582             :                                                                                 { (yyval.list) = (yyvsp[-1].list); }
   40583             : #line 40584 "gram.c"
   40584         232 :     break;
   40585             : 
   40586        6658 :   case 1115: /* opt_include: %empty  */
   40587             : #line 8322 "gram.y"
   40588             :                                                                                                 { (yyval.list) = NIL; }
   40589             : #line 40590 "gram.c"
   40590        6658 :     break;
   40591             : 
   40592         232 :   case 1116: /* index_including_params: index_elem  */
   40593             : #line 8325 "gram.y"
   40594             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].ielem)); }
   40595             : #line 40596 "gram.c"
   40596         232 :     break;
   40597             : 
   40598         170 :   case 1117: /* index_including_params: index_including_params ',' index_elem  */
   40599             : #line 8326 "gram.y"
   40600             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); }
   40601             : #line 40602 "gram.c"
   40602         170 :     break;
   40603             : 
   40604         192 :   case 1118: /* opt_collate: COLLATE any_name  */
   40605             : #line 8329 "gram.y"
   40606             :                                                                         { (yyval.list) = (yyvsp[0].list); }
   40607             : #line 40608 "gram.c"
   40608         192 :     break;
   40609             : 
   40610       16810 :   case 1119: /* opt_collate: %empty  */
   40611             : #line 8330 "gram.y"
   40612             :                                                                                                 { (yyval.list) = NIL; }
   40613             : #line 40614 "gram.c"
   40614       16810 :     break;
   40615             : 
   40616        1818 :   case 1120: /* opt_asc_desc: ASC  */
   40617             : #line 8334 "gram.y"
   40618             :                                                                         { (yyval.ival) = SORTBY_ASC; }
   40619             : #line 40620 "gram.c"
   40620        1818 :     break;
   40621             : 
   40622        3518 :   case 1121: /* opt_asc_desc: DESC  */
   40623             : #line 8335 "gram.y"
   40624             :                                                                                 { (yyval.ival) = SORTBY_DESC; }
   40625             : #line 40626 "gram.c"
   40626        3518 :     break;
   40627             : 
   40628      117262 :   case 1122: /* opt_asc_desc: %empty  */
   40629             : #line 8336 "gram.y"
   40630             :                                                                                 { (yyval.ival) = SORTBY_DEFAULT; }
   40631             : #line 40632 "gram.c"
   40632      117262 :     break;
   40633             : 
   40634         346 :   case 1123: /* opt_nulls_order: NULLS_LA FIRST_P  */
   40635             : #line 8339 "gram.y"
   40636             :                                                         { (yyval.ival) = SORTBY_NULLS_FIRST; }
   40637             : #line 40638 "gram.c"
   40638         346 :     break;
   40639             : 
   40640        1732 :   case 1124: /* opt_nulls_order: NULLS_LA LAST_P  */
   40641             : #line 8340 "gram.y"
   40642             :                                                                         { (yyval.ival) = SORTBY_NULLS_LAST; }
   40643             : #line 40644 "gram.c"
   40644        1732 :     break;
   40645             : 
   40646      120740 :   case 1125: /* opt_nulls_order: %empty  */
   40647             : #line 8341 "gram.y"
   40648             :                                                                                 { (yyval.ival) = SORTBY_NULLS_DEFAULT; }
   40649             : #line 40650 "gram.c"
   40650      120740 :     break;
   40651             : 
   40652       23426 :   case 1126: /* CreateFunctionStmt: CREATE opt_or_replace FUNCTION func_name func_args_with_defaults RETURNS func_return opt_createfunc_opt_list opt_routine_body  */
   40653             : #line 8359 "gram.y"
   40654             :                                 {
   40655             :                     CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
   40656             : 
   40657             :                     n->is_procedure = false;
   40658             :                     n->replace = (yyvsp[-7].boolean);
   40659             :                     n->funcname = (yyvsp[-5].list);
   40660             :                     n->parameters = (yyvsp[-4].list);
   40661             :                     n->returnType = (yyvsp[-2].typnam);
   40662             :                     n->options = (yyvsp[-1].list);
   40663             :                     n->sql_body = (yyvsp[0].node);
   40664             :                     (yyval.node) = (Node *) n;
   40665             :                 }
   40666             : #line 40667 "gram.c"
   40667       23426 :     break;
   40668             : 
   40669         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  */
   40670             : #line 8373 "gram.y"
   40671             :                                 {
   40672             :                     CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
   40673             : 
   40674             :                     n->is_procedure = false;
   40675             :                     n->replace = (yyvsp[-10].boolean);
   40676             :                     n->funcname = (yyvsp[-8].list);
   40677             :                     n->parameters = mergeTableFuncParameters((yyvsp[-7].list), (yyvsp[-3].list), yyscanner);
   40678             :                     n->returnType = TableFuncTypeName((yyvsp[-3].list));
   40679             :                     n->returnType->location = (yylsp[-5]);
   40680             :                     n->options = (yyvsp[-1].list);
   40681             :                     n->sql_body = (yyvsp[0].node);
   40682             :                     (yyval.node) = (Node *) n;
   40683             :                 }
   40684             : #line 40685 "gram.c"
   40685         202 :     break;
   40686             : 
   40687         488 :   case 1128: /* CreateFunctionStmt: CREATE opt_or_replace FUNCTION func_name func_args_with_defaults opt_createfunc_opt_list opt_routine_body  */
   40688             : #line 8388 "gram.y"
   40689             :                                 {
   40690             :                     CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
   40691             : 
   40692             :                     n->is_procedure = false;
   40693             :                     n->replace = (yyvsp[-5].boolean);
   40694             :                     n->funcname = (yyvsp[-3].list);
   40695             :                     n->parameters = (yyvsp[-2].list);
   40696             :                     n->returnType = NULL;
   40697             :                     n->options = (yyvsp[-1].list);
   40698             :                     n->sql_body = (yyvsp[0].node);
   40699             :                     (yyval.node) = (Node *) n;
   40700             :                 }
   40701             : #line 40702 "gram.c"
   40702         488 :     break;
   40703             : 
   40704         392 :   case 1129: /* CreateFunctionStmt: CREATE opt_or_replace PROCEDURE func_name func_args_with_defaults opt_createfunc_opt_list opt_routine_body  */
   40705             : #line 8402 "gram.y"
   40706             :                                 {
   40707             :                     CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
   40708             : 
   40709             :                     n->is_procedure = true;
   40710             :                     n->replace = (yyvsp[-5].boolean);
   40711             :                     n->funcname = (yyvsp[-3].list);
   40712             :                     n->parameters = (yyvsp[-2].list);
   40713             :                     n->returnType = NULL;
   40714             :                     n->options = (yyvsp[-1].list);
   40715             :                     n->sql_body = (yyvsp[0].node);
   40716             :                     (yyval.node) = (Node *) n;
   40717             :                 }
   40718             : #line 40719 "gram.c"
   40719         392 :     break;
   40720             : 
   40721        9814 :   case 1130: /* opt_or_replace: OR REPLACE  */
   40722             : #line 8417 "gram.y"
   40723             :                                                                                                 { (yyval.boolean) = true; }
   40724             : #line 40725 "gram.c"
   40725        9814 :     break;
   40726             : 
   40727       20394 :   case 1131: /* opt_or_replace: %empty  */
   40728             : #line 8418 "gram.y"
   40729             :                                                                                                 { (yyval.boolean) = false; }
   40730             : #line 40731 "gram.c"
   40731       20394 :     break;
   40732             : 
   40733       10424 :   case 1132: /* func_args: '(' func_args_list ')'  */
   40734             : #line 8421 "gram.y"
   40735             :                                                                         { (yyval.list) = (yyvsp[-1].list); }
   40736             : #line 40737 "gram.c"
   40737       10424 :     break;
   40738             : 
   40739        5814 :   case 1133: /* func_args: '(' ')'  */
   40740             : #line 8422 "gram.y"
   40741             :                                                                                                 { (yyval.list) = NIL; }
   40742             : #line 40743 "gram.c"
   40743        5814 :     break;
   40744             : 
   40745       10424 :   case 1134: /* func_args_list: func_arg  */
   40746             : #line 8426 "gram.y"
   40747             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
   40748             : #line 40749 "gram.c"
   40749       10424 :     break;
   40750             : 
   40751        8638 :   case 1135: /* func_args_list: func_args_list ',' func_arg  */
   40752             : #line 8427 "gram.y"
   40753             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
   40754             : #line 40755 "gram.c"
   40755        8638 :     break;
   40756             : 
   40757       12476 :   case 1136: /* function_with_argtypes_list: function_with_argtypes  */
   40758             : #line 8431 "gram.y"
   40759             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
   40760             : #line 40761 "gram.c"
   40761       12476 :     break;
   40762             : 
   40763          84 :   case 1137: /* function_with_argtypes_list: function_with_argtypes_list ',' function_with_argtypes  */
   40764             : #line 8433 "gram.y"
   40765             :                                                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
   40766             : #line 40767 "gram.c"
   40767          84 :     break;
   40768             : 
   40769       16238 :   case 1138: /* function_with_argtypes: func_name func_args  */
   40770             : #line 8438 "gram.y"
   40771             :                                 {
   40772             :                     ObjectWithArgs *n = makeNode(ObjectWithArgs);
   40773             : 
   40774             :                     n->objname = (yyvsp[-1].list);
   40775             :                     n->objargs = extractArgTypes((yyvsp[0].list));
   40776             :                     n->objfuncargs = (yyvsp[0].list);
   40777             :                     (yyval.objwithargs) = n;
   40778             :                 }
   40779             : #line 40780 "gram.c"
   40780       16238 :     break;
   40781             : 
   40782           0 :   case 1139: /* function_with_argtypes: type_func_name_keyword  */
   40783             : #line 8452 "gram.y"
   40784             :                                 {
   40785             :                     ObjectWithArgs *n = makeNode(ObjectWithArgs);
   40786             : 
   40787             :                     n->objname = list_make1(makeString(pstrdup((yyvsp[0].keyword))));
   40788             :                     n->args_unspecified = true;
   40789             :                     (yyval.objwithargs) = n;
   40790             :                 }
   40791             : #line 40792 "gram.c"
   40792           0 :     break;
   40793             : 
   40794         346 :   case 1140: /* function_with_argtypes: ColId  */
   40795             : #line 8460 "gram.y"
   40796             :                                 {
   40797             :                     ObjectWithArgs *n = makeNode(ObjectWithArgs);
   40798             : 
   40799             :                     n->objname = list_make1(makeString((yyvsp[0].str)));
   40800             :                     n->args_unspecified = true;
   40801             :                     (yyval.objwithargs) = n;
   40802             :                 }
   40803             : #line 40804 "gram.c"
   40804         346 :     break;
   40805             : 
   40806          28 :   case 1141: /* function_with_argtypes: ColId indirection  */
   40807             : #line 8468 "gram.y"
   40808             :                                 {
   40809             :                     ObjectWithArgs *n = makeNode(ObjectWithArgs);
   40810             : 
   40811             :                     n->objname = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)),
   40812             :                                                   yyscanner);
   40813             :                     n->args_unspecified = true;
   40814             :                     (yyval.objwithargs) = n;
   40815             :                 }
   40816             : #line 40817 "gram.c"
   40817          28 :     break;
   40818             : 
   40819       19824 :   case 1142: /* func_args_with_defaults: '(' func_args_with_defaults_list ')'  */
   40820             : #line 8483 "gram.y"
   40821             :                                                                 { (yyval.list) = (yyvsp[-1].list); }
   40822             : #line 40823 "gram.c"
   40823       19824 :     break;
   40824             : 
   40825        4684 :   case 1143: /* func_args_with_defaults: '(' ')'  */
   40826             : #line 8484 "gram.y"
   40827             :                                                                                                 { (yyval.list) = NIL; }
   40828             : #line 40829 "gram.c"
   40829        4684 :     break;
   40830             : 
   40831       19824 :   case 1144: /* func_args_with_defaults_list: func_arg_with_default  */
   40832             : #line 8488 "gram.y"
   40833             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
   40834             : #line 40835 "gram.c"
   40835       19824 :     break;
   40836             : 
   40837       33032 :   case 1145: /* func_args_with_defaults_list: func_args_with_defaults_list ',' func_arg_with_default  */
   40838             : #line 8490 "gram.y"
   40839             :                                                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
   40840             : #line 40841 "gram.c"
   40841       33032 :     break;
   40842             : 
   40843       15984 :   case 1146: /* func_arg: arg_class param_name func_type  */
   40844             : #line 8505 "gram.y"
   40845             :                                 {
   40846             :                     FunctionParameter *n = makeNode(FunctionParameter);
   40847             : 
   40848             :                     n->name = (yyvsp[-1].str);
   40849             :                     n->argType = (yyvsp[0].typnam);
   40850             :                     n->mode = (yyvsp[-2].fun_param_mode);
   40851             :                     n->defexpr = NULL;
   40852             :                     n->location = (yylsp[-2]);
   40853             :                     (yyval.fun_param) = n;
   40854             :                 }
   40855             : #line 40856 "gram.c"
   40856       15984 :     break;
   40857             : 
   40858         412 :   case 1147: /* func_arg: param_name arg_class func_type  */
   40859             : #line 8516 "gram.y"
   40860             :                                 {
   40861             :                     FunctionParameter *n = makeNode(FunctionParameter);
   40862             : 
   40863             :                     n->name = (yyvsp[-2].str);
   40864             :                     n->argType = (yyvsp[0].typnam);
   40865             :                     n->mode = (yyvsp[-1].fun_param_mode);
   40866             :                     n->defexpr = NULL;
   40867             :                     n->location = (yylsp[-2]);
   40868             :                     (yyval.fun_param) = n;
   40869             :                 }
   40870             : #line 40871 "gram.c"
   40871         412 :     break;
   40872             : 
   40873       15622 :   case 1148: /* func_arg: param_name func_type  */
   40874             : #line 8527 "gram.y"
   40875             :                                 {
   40876             :                     FunctionParameter *n = makeNode(FunctionParameter);
   40877             : 
   40878             :                     n->name = (yyvsp[-1].str);
   40879             :                     n->argType = (yyvsp[0].typnam);
   40880             :                     n->mode = FUNC_PARAM_DEFAULT;
   40881             :                     n->defexpr = NULL;
   40882             :                     n->location = (yylsp[-1]);
   40883             :                     (yyval.fun_param) = n;
   40884             :                 }
   40885             : #line 40886 "gram.c"
   40886       15622 :     break;
   40887             : 
   40888         354 :   case 1149: /* func_arg: arg_class func_type  */
   40889             : #line 8538 "gram.y"
   40890             :                                 {
   40891             :                     FunctionParameter *n = makeNode(FunctionParameter);
   40892             : 
   40893             :                     n->name = NULL;
   40894             :                     n->argType = (yyvsp[0].typnam);
   40895             :                     n->mode = (yyvsp[-1].fun_param_mode);
   40896             :                     n->defexpr = NULL;
   40897             :                     n->location = (yylsp[-1]);
   40898             :                     (yyval.fun_param) = n;
   40899             :                 }
   40900             : #line 40901 "gram.c"
   40901         354 :     break;
   40902             : 
   40903       40644 :   case 1150: /* func_arg: func_type  */
   40904             : #line 8549 "gram.y"
   40905             :                                 {
   40906             :                     FunctionParameter *n = makeNode(FunctionParameter);
   40907             : 
   40908             :                     n->name = NULL;
   40909             :                     n->argType = (yyvsp[0].typnam);
   40910             :                     n->mode = FUNC_PARAM_DEFAULT;
   40911             :                     n->defexpr = NULL;
   40912             :                     n->location = (yylsp[0]);
   40913             :                     (yyval.fun_param) = n;
   40914             :                 }
   40915             : #line 40916 "gram.c"
   40916       40644 :     break;
   40917             : 
   40918        3852 :   case 1151: /* arg_class: IN_P  */
   40919             : #line 8562 "gram.y"
   40920             :                                                                                 { (yyval.fun_param_mode) = FUNC_PARAM_IN; }
   40921             : #line 40922 "gram.c"
   40922        3852 :     break;
   40923             : 
   40924       12090 :   case 1152: /* arg_class: OUT_P  */
   40925             : #line 8563 "gram.y"
   40926             :                                                                                         { (yyval.fun_param_mode) = FUNC_PARAM_OUT; }
   40927             : #line 40928 "gram.c"
   40928       12090 :     break;
   40929             : 
   40930         218 :   case 1153: /* arg_class: INOUT  */
   40931             : #line 8564 "gram.y"
   40932             :                                                                                         { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
   40933             : #line 40934 "gram.c"
   40934         218 :     break;
   40935             : 
   40936           0 :   case 1154: /* arg_class: IN_P OUT_P  */
   40937             : #line 8565 "gram.y"
   40938             :                                                                                 { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
   40939             : #line 40940 "gram.c"
   40940           0 :     break;
   40941             : 
   40942         590 :   case 1155: /* arg_class: VARIADIC  */
   40943             : #line 8566 "gram.y"
   40944             :                                                                                         { (yyval.fun_param_mode) = FUNC_PARAM_VARIADIC; }
   40945             : #line 40946 "gram.c"
   40946         590 :     break;
   40947             : 
   40948       23426 :   case 1157: /* func_return: func_type  */
   40949             : #line 8577 "gram.y"
   40950             :                                 {
   40951             :                     /* We can catch over-specified results here if we want to,
   40952             :                      * but for now better to silently swallow typmod, etc.
   40953             :                      * - thomas 2000-03-22
   40954             :                      */
   40955             :                     (yyval.typnam) = (yyvsp[0].typnam);
   40956             :                 }
   40957             : #line 40958 "gram.c"
   40958       23426 :     break;
   40959             : 
   40960      117738 :   case 1158: /* func_type: Typename  */
   40961             : #line 8591 "gram.y"
   40962             :                                                                                         { (yyval.typnam) = (yyvsp[0].typnam); }
   40963             : #line 40964 "gram.c"
   40964      117738 :     break;
   40965             : 
   40966          18 :   case 1159: /* func_type: type_function_name attrs '%' TYPE_P  */
   40967             : #line 8593 "gram.y"
   40968             :                                 {
   40969             :                     (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
   40970             :                     (yyval.typnam)->pct_type = true;
   40971             :                     (yyval.typnam)->location = (yylsp[-3]);
   40972             :                 }
   40973             : #line 40974 "gram.c"
   40974          18 :     break;
   40975             : 
   40976           6 :   case 1160: /* func_type: SETOF type_function_name attrs '%' TYPE_P  */
   40977             : #line 8599 "gram.y"
   40978             :                                 {
   40979             :                     (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
   40980             :                     (yyval.typnam)->pct_type = true;
   40981             :                     (yyval.typnam)->setof = true;
   40982             :                     (yyval.typnam)->location = (yylsp[-3]);
   40983             :                 }
   40984             : #line 40985 "gram.c"
   40985           6 :     break;
   40986             : 
   40987       46676 :   case 1161: /* func_arg_with_default: func_arg  */
   40988             : #line 8609 "gram.y"
   40989             :                                 {
   40990             :                     (yyval.fun_param) = (yyvsp[0].fun_param);
   40991             :                 }
   40992             : #line 40993 "gram.c"
   40993       46676 :     break;
   40994             : 
   40995        5984 :   case 1162: /* func_arg_with_default: func_arg DEFAULT a_expr  */
   40996             : #line 8613 "gram.y"
   40997             :                                 {
   40998             :                     (yyval.fun_param) = (yyvsp[-2].fun_param);
   40999             :                     (yyval.fun_param)->defexpr = (yyvsp[0].node);
   41000             :                 }
   41001             : #line 41002 "gram.c"
   41002        5984 :     break;
   41003             : 
   41004         196 :   case 1163: /* func_arg_with_default: func_arg '=' a_expr  */
   41005             : #line 8618 "gram.y"
   41006             :                                 {
   41007             :                     (yyval.fun_param) = (yyvsp[-2].fun_param);
   41008             :                     (yyval.fun_param)->defexpr = (yyvsp[0].node);
   41009             :                 }
   41010             : #line 41011 "gram.c"
   41011         196 :     break;
   41012             : 
   41013        1098 :   case 1164: /* aggr_arg: func_arg  */
   41014             : #line 8626 "gram.y"
   41015             :                                 {
   41016             :                     if (!((yyvsp[0].fun_param)->mode == FUNC_PARAM_DEFAULT ||
   41017             :                           (yyvsp[0].fun_param)->mode == FUNC_PARAM_IN ||
   41018             :                           (yyvsp[0].fun_param)->mode == FUNC_PARAM_VARIADIC))
   41019             :                         ereport(ERROR,
   41020             :                                 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   41021             :                                  errmsg("aggregates cannot have output arguments"),
   41022             :                                  parser_errposition((yylsp[0]))));
   41023             :                     (yyval.fun_param) = (yyvsp[0].fun_param);
   41024             :                 }
   41025             : #line 41026 "gram.c"
   41026        1098 :     break;
   41027             : 
   41028         170 :   case 1165: /* aggr_args: '(' '*' ')'  */
   41029             : #line 8668 "gram.y"
   41030             :                                 {
   41031             :                     (yyval.list) = list_make2(NIL, makeInteger(-1));
   41032             :                 }
   41033             : #line 41034 "gram.c"
   41034         170 :     break;
   41035             : 
   41036         882 :   case 1166: /* aggr_args: '(' aggr_args_list ')'  */
   41037             : #line 8672 "gram.y"
   41038             :                                 {
   41039             :                     (yyval.list) = list_make2((yyvsp[-1].list), makeInteger(-1));
   41040             :                 }
   41041             : #line 41042 "gram.c"
   41042         882 :     break;
   41043             : 
   41044           6 :   case 1167: /* aggr_args: '(' ORDER BY aggr_args_list ')'  */
   41045             : #line 8676 "gram.y"
   41046             :                                 {
   41047             :                     (yyval.list) = list_make2((yyvsp[-1].list), makeInteger(0));
   41048             :                 }
   41049             : #line 41050 "gram.c"
   41050           6 :     break;
   41051             : 
   41052          40 :   case 1168: /* aggr_args: '(' aggr_args_list ORDER BY aggr_args_list ')'  */
   41053             : #line 8680 "gram.y"
   41054             :                                 {
   41055             :                     /* this is the only case requiring consistency checking */
   41056             :                     (yyval.list) = makeOrderedSetArgs((yyvsp[-4].list), (yyvsp[-1].list), yyscanner);
   41057             :                 }
   41058             : #line 41059 "gram.c"
   41059          40 :     break;
   41060             : 
   41061         968 :   case 1169: /* aggr_args_list: aggr_arg  */
   41062             : #line 8687 "gram.y"
   41063             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
   41064             : #line 41065 "gram.c"
   41065         968 :     break;
   41066             : 
   41067         130 :   case 1170: /* aggr_args_list: aggr_args_list ',' aggr_arg  */
   41068             : #line 8688 "gram.y"
   41069             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
   41070             : #line 41071 "gram.c"
   41071         130 :     break;
   41072             : 
   41073         460 :   case 1171: /* aggregate_with_argtypes: func_name aggr_args  */
   41074             : #line 8693 "gram.y"
   41075             :                                 {
   41076             :                     ObjectWithArgs *n = makeNode(ObjectWithArgs);
   41077             : 
   41078             :                     n->objname = (yyvsp[-1].list);
   41079             :                     n->objargs = extractAggrArgTypes((yyvsp[0].list));
   41080             :                     n->objfuncargs = (List *) linitial((yyvsp[0].list));
   41081             :                     (yyval.objwithargs) = n;
   41082             :                 }
   41083             : #line 41084 "gram.c"
   41084         460 :     break;
   41085             : 
   41086         104 :   case 1172: /* aggregate_with_argtypes_list: aggregate_with_argtypes  */
   41087             : #line 8704 "gram.y"
   41088             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
   41089             : #line 41090 "gram.c"
   41090         104 :     break;
   41091             : 
   41092           0 :   case 1173: /* aggregate_with_argtypes_list: aggregate_with_argtypes_list ',' aggregate_with_argtypes  */
   41093             : #line 8706 "gram.y"
   41094             :                                                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
   41095             : #line 41096 "gram.c"
   41096           0 :     break;
   41097             : 
   41098          54 :   case 1175: /* opt_createfunc_opt_list: %empty  */
   41099             : #line 8711 "gram.y"
   41100             :                                     { (yyval.list) = NIL; }
   41101             : #line 41102 "gram.c"
   41102          54 :     break;
   41103             : 
   41104       24454 :   case 1176: /* createfunc_opt_list: createfunc_opt_item  */
   41105             : #line 8716 "gram.y"
   41106             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   41107             : #line 41108 "gram.c"
   41108       24454 :     break;
   41109             : 
   41110       63868 :   case 1177: /* createfunc_opt_list: createfunc_opt_list createfunc_opt_item  */
   41111             : #line 8717 "gram.y"
   41112             :                                                                   { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   41113             : #line 41114 "gram.c"
   41114       63868 :     break;
   41115             : 
   41116         368 :   case 1178: /* common_func_opt_item: CALLED ON NULL_P INPUT_P  */
   41117             : #line 8725 "gram.y"
   41118             :                                 {
   41119             :                     (yyval.defelt) = makeDefElem("strict", (Node *) makeBoolean(false), (yylsp[-3]));
   41120             :                 }
   41121             : #line 41122 "gram.c"
   41122         368 :     break;
   41123             : 
   41124         864 :   case 1179: /* common_func_opt_item: RETURNS NULL_P ON NULL_P INPUT_P  */
   41125             : #line 8729 "gram.y"
   41126             :                                 {
   41127             :                     (yyval.defelt) = makeDefElem("strict", (Node *) makeBoolean(true), (yylsp[-4]));
   41128             :                 }
   41129             : #line 41130 "gram.c"
   41130         864 :     break;
   41131             : 
   41132       12668 :   case 1180: /* common_func_opt_item: STRICT_P  */
   41133             : #line 8733 "gram.y"
   41134             :                                 {
   41135             :                     (yyval.defelt) = makeDefElem("strict", (Node *) makeBoolean(true), (yylsp[0]));
   41136             :                 }
   41137             : #line 41138 "gram.c"
   41138       12668 :     break;
   41139             : 
   41140        9166 :   case 1181: /* common_func_opt_item: IMMUTABLE  */
   41141             : #line 8737 "gram.y"
   41142             :                                 {
   41143             :                     (yyval.defelt) = makeDefElem("volatility", (Node *) makeString("immutable"), (yylsp[0]));
   41144             :                 }
   41145             : #line 41146 "gram.c"
   41146        9166 :     break;
   41147             : 
   41148        2486 :   case 1182: /* common_func_opt_item: STABLE  */
   41149             : #line 8741 "gram.y"
   41150             :                                 {
   41151             :                     (yyval.defelt) = makeDefElem("volatility", (Node *) makeString("stable"), (yylsp[0]));
   41152             :                 }
   41153             : #line 41154 "gram.c"
   41154        2486 :     break;
   41155             : 
   41156        1644 :   case 1183: /* common_func_opt_item: VOLATILE  */
   41157             : #line 8745 "gram.y"
   41158             :                                 {
   41159             :                     (yyval.defelt) = makeDefElem("volatility", (Node *) makeString("volatile"), (yylsp[0]));
   41160             :                 }
   41161             : #line 41162 "gram.c"
   41162        1644 :     break;
   41163             : 
   41164           0 :   case 1184: /* common_func_opt_item: EXTERNAL SECURITY DEFINER  */
   41165             : #line 8749 "gram.y"
   41166             :                                 {
   41167             :                     (yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(true), (yylsp[-2]));
   41168             :                 }
   41169             : #line 41170 "gram.c"
   41170           0 :     break;
   41171             : 
   41172           0 :   case 1185: /* common_func_opt_item: EXTERNAL SECURITY INVOKER  */
   41173             : #line 8753 "gram.y"
   41174             :                                 {
   41175             :                     (yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(false), (yylsp[-2]));
   41176             :                 }
   41177             : #line 41178 "gram.c"
   41178           0 :     break;
   41179             : 
   41180          58 :   case 1186: /* common_func_opt_item: SECURITY DEFINER  */
   41181             : #line 8757 "gram.y"
   41182             :                                 {
   41183             :                     (yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(true), (yylsp[-1]));
   41184             :                 }
   41185             : #line 41186 "gram.c"
   41186          58 :     break;
   41187             : 
   41188          18 :   case 1187: /* common_func_opt_item: SECURITY INVOKER  */
   41189             : #line 8761 "gram.y"
   41190             :                                 {
   41191             :                     (yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(false), (yylsp[-1]));
   41192             :                 }
   41193             : #line 41194 "gram.c"
   41194          18 :     break;
   41195             : 
   41196          50 :   case 1188: /* common_func_opt_item: LEAKPROOF  */
   41197             : #line 8765 "gram.y"
   41198             :                                 {
   41199             :                     (yyval.defelt) = makeDefElem("leakproof", (Node *) makeBoolean(true), (yylsp[0]));
   41200             :                 }
   41201             : #line 41202 "gram.c"
   41202          50 :     break;
   41203             : 
   41204          12 :   case 1189: /* common_func_opt_item: NOT LEAKPROOF  */
   41205             : #line 8769 "gram.y"
   41206             :                                 {
   41207             :                     (yyval.defelt) = makeDefElem("leakproof", (Node *) makeBoolean(false), (yylsp[-1]));
   41208             :                 }
   41209             : #line 41210 "gram.c"
   41210          12 :     break;
   41211             : 
   41212        4270 :   case 1190: /* common_func_opt_item: COST NumericOnly  */
   41213             : #line 8773 "gram.y"
   41214             :                                 {
   41215             :                     (yyval.defelt) = makeDefElem("cost", (Node *) (yyvsp[0].node), (yylsp[-1]));
   41216             :                 }
   41217             : #line 41218 "gram.c"
   41218        4270 :     break;
   41219             : 
   41220         588 :   case 1191: /* common_func_opt_item: ROWS NumericOnly  */
   41221             : #line 8777 "gram.y"
   41222             :                                 {
   41223             :                     (yyval.defelt) = makeDefElem("rows", (Node *) (yyvsp[0].node), (yylsp[-1]));
   41224             :                 }
   41225             : #line 41226 "gram.c"
   41226         588 :     break;
   41227             : 
   41228         116 :   case 1192: /* common_func_opt_item: SUPPORT any_name  */
   41229             : #line 8781 "gram.y"
   41230             :                                 {
   41231             :                     (yyval.defelt) = makeDefElem("support", (Node *) (yyvsp[0].list), (yylsp[-1]));
   41232             :                 }
   41233             : #line 41234 "gram.c"
   41234         116 :     break;
   41235             : 
   41236         160 :   case 1193: /* common_func_opt_item: FunctionSetResetClause  */
   41237             : #line 8785 "gram.y"
   41238             :                                 {
   41239             :                     /* we abuse the normal content of a DefElem here */
   41240             :                     (yyval.defelt) = makeDefElem("set", (Node *) (yyvsp[0].vsetstmt), (yylsp[0]));
   41241             :                 }
   41242             : #line 41243 "gram.c"
   41243         160 :     break;
   41244             : 
   41245       13016 :   case 1194: /* common_func_opt_item: PARALLEL ColId  */
   41246             : #line 8790 "gram.y"
   41247             :                                 {
   41248             :                     (yyval.defelt) = makeDefElem("parallel", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
   41249             :                 }
   41250             : #line 41251 "gram.c"
   41251       13016 :     break;
   41252             : 
   41253       18940 :   case 1195: /* createfunc_opt_item: AS func_as  */
   41254             : #line 8797 "gram.y"
   41255             :                                 {
   41256             :                     (yyval.defelt) = makeDefElem("as", (Node *) (yyvsp[0].list), (yylsp[-1]));
   41257             :                 }
   41258             : #line 41259 "gram.c"
   41259       18940 :     break;
   41260             : 
   41261       24434 :   case 1196: /* createfunc_opt_item: LANGUAGE NonReservedWord_or_Sconst  */
   41262             : #line 8801 "gram.y"
   41263             :                                 {
   41264             :                     (yyval.defelt) = makeDefElem("language", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
   41265             :                 }
   41266             : #line 41267 "gram.c"
   41267       24434 :     break;
   41268             : 
   41269         118 :   case 1197: /* createfunc_opt_item: TRANSFORM transform_type_list  */
   41270             : #line 8805 "gram.y"
   41271             :                                 {
   41272             :                     (yyval.defelt) = makeDefElem("transform", (Node *) (yyvsp[0].list), (yylsp[-1]));
   41273             :                 }
   41274             : #line 41275 "gram.c"
   41275         118 :     break;
   41276             : 
   41277          22 :   case 1198: /* createfunc_opt_item: WINDOW  */
   41278             : #line 8809 "gram.y"
   41279             :                                 {
   41280             :                     (yyval.defelt) = makeDefElem("window", (Node *) makeBoolean(true), (yylsp[0]));
   41281             :                 }
   41282             : #line 41283 "gram.c"
   41283          22 :     break;
   41284             : 
   41285       44808 :   case 1199: /* createfunc_opt_item: common_func_opt_item  */
   41286             : #line 8813 "gram.y"
   41287             :                                 {
   41288             :                     (yyval.defelt) = (yyvsp[0].defelt);
   41289             :                 }
   41290             : #line 41291 "gram.c"
   41291       44808 :     break;
   41292             : 
   41293       15820 :   case 1200: /* func_as: Sconst  */
   41294             : #line 8818 "gram.y"
   41295             :                                                                 { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   41296             : #line 41297 "gram.c"
   41297       15820 :     break;
   41298             : 
   41299        3120 :   case 1201: /* func_as: Sconst ',' Sconst  */
   41300             : #line 8820 "gram.y"
   41301             :                                 {
   41302             :                     (yyval.list) = list_make2(makeString((yyvsp[-2].str)), makeString((yyvsp[0].str)));
   41303             :                 }
   41304             : #line 41305 "gram.c"
   41305        3120 :     break;
   41306             : 
   41307        4784 :   case 1202: /* ReturnStmt: RETURN a_expr  */
   41308             : #line 8826 "gram.y"
   41309             :                                 {
   41310             :                     ReturnStmt *r = makeNode(ReturnStmt);
   41311             : 
   41312             :                     r->returnval = (Node *) (yyvsp[0].node);
   41313             :                     (yyval.node) = (Node *) r;
   41314             :                 }
   41315             : #line 41316 "gram.c"
   41316        4784 :     break;
   41317             : 
   41318        4778 :   case 1203: /* opt_routine_body: ReturnStmt  */
   41319             : #line 8836 "gram.y"
   41320             :                                 {
   41321             :                     (yyval.node) = (yyvsp[0].node);
   41322             :                 }
   41323             : #line 41324 "gram.c"
   41324        4778 :     break;
   41325             : 
   41326         796 :   case 1204: /* opt_routine_body: BEGIN_P ATOMIC routine_body_stmt_list END_P  */
   41327             : #line 8840 "gram.y"
   41328             :                                 {
   41329             :                     /*
   41330             :                      * A compound statement is stored as a single-item list
   41331             :                      * containing the list of statements as its member.  That
   41332             :                      * way, the parse analysis code can tell apart an empty
   41333             :                      * body from no body at all.
   41334             :                      */
   41335             :                     (yyval.node) = (Node *) list_make1((yyvsp[-1].list));
   41336             :                 }
   41337             : #line 41338 "gram.c"
   41338         796 :     break;
   41339             : 
   41340       18934 :   case 1205: /* opt_routine_body: %empty  */
   41341             : #line 8850 "gram.y"
   41342             :                                 {
   41343             :                     (yyval.node) = NULL;
   41344             :                 }
   41345             : #line 41346 "gram.c"
   41346       18934 :     break;
   41347             : 
   41348         810 :   case 1206: /* routine_body_stmt_list: routine_body_stmt_list routine_body_stmt ';'  */
   41349             : #line 8857 "gram.y"
   41350             :                                 {
   41351             :                     /* As in stmtmulti, discard empty statements */
   41352             :                     if ((yyvsp[-1].node) != NULL)
   41353             :                         (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[-1].node));
   41354             :                     else
   41355             :                         (yyval.list) = (yyvsp[-2].list);
   41356             :                 }
   41357             : #line 41358 "gram.c"
   41358         810 :     break;
   41359             : 
   41360         796 :   case 1207: /* routine_body_stmt_list: %empty  */
   41361             : #line 8865 "gram.y"
   41362             :                                 {
   41363             :                     (yyval.list) = NIL;
   41364             :                 }
   41365             : #line 41366 "gram.c"
   41366         796 :     break;
   41367             : 
   41368         118 :   case 1210: /* transform_type_list: FOR TYPE_P Typename  */
   41369             : #line 8876 "gram.y"
   41370             :                                             { (yyval.list) = list_make1((yyvsp[0].typnam)); }
   41371             : #line 41372 "gram.c"
   41372         118 :     break;
   41373             : 
   41374           4 :   case 1211: /* transform_type_list: transform_type_list ',' FOR TYPE_P Typename  */
   41375             : #line 8877 "gram.y"
   41376             :                                                                       { (yyval.list) = lappend((yyvsp[-4].list), (yyvsp[0].typnam)); }
   41377             : #line 41378 "gram.c"
   41378           4 :     break;
   41379             : 
   41380         606 :   case 1212: /* opt_definition: WITH definition  */
   41381             : #line 8881 "gram.y"
   41382             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   41383             : #line 41384 "gram.c"
   41384         606 :     break;
   41385             : 
   41386       10282 :   case 1213: /* opt_definition: %empty  */
   41387             : #line 8882 "gram.y"
   41388             :                                                                                                 { (yyval.list) = NIL; }
   41389             : #line 41390 "gram.c"
   41390       10282 :     break;
   41391             : 
   41392         462 :   case 1214: /* table_func_column: param_name func_type  */
   41393             : #line 8886 "gram.y"
   41394             :                                 {
   41395             :                     FunctionParameter *n = makeNode(FunctionParameter);
   41396             : 
   41397             :                     n->name = (yyvsp[-1].str);
   41398             :                     n->argType = (yyvsp[0].typnam);
   41399             :                     n->mode = FUNC_PARAM_TABLE;
   41400             :                     n->defexpr = NULL;
   41401             :                     n->location = (yylsp[-1]);
   41402             :                     (yyval.fun_param) = n;
   41403             :                 }
   41404             : #line 41405 "gram.c"
   41405         462 :     break;
   41406             : 
   41407         202 :   case 1215: /* table_func_column_list: table_func_column  */
   41408             : #line 8900 "gram.y"
   41409             :                                 {
   41410             :                     (yyval.list) = list_make1((yyvsp[0].fun_param));
   41411             :                 }
   41412             : #line 41413 "gram.c"
   41413         202 :     break;
   41414             : 
   41415         260 :   case 1216: /* table_func_column_list: table_func_column_list ',' table_func_column  */
   41416             : #line 8904 "gram.y"
   41417             :                                 {
   41418             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param));
   41419             :                 }
   41420             : #line 41421 "gram.c"
   41421         260 :     break;
   41422             : 
   41423         654 :   case 1217: /* AlterFunctionStmt: ALTER FUNCTION function_with_argtypes alterfunc_opt_list opt_restrict  */
   41424             : #line 8919 "gram.y"
   41425             :                                 {
   41426             :                     AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
   41427             : 
   41428             :                     n->objtype = OBJECT_FUNCTION;
   41429             :                     n->func = (yyvsp[-2].objwithargs);
   41430             :                     n->actions = (yyvsp[-1].list);
   41431             :                     (yyval.node) = (Node *) n;
   41432             :                 }
   41433             : #line 41434 "gram.c"
   41434         654 :     break;
   41435             : 
   41436          18 :   case 1218: /* AlterFunctionStmt: ALTER PROCEDURE function_with_argtypes alterfunc_opt_list opt_restrict  */
   41437             : #line 8928 "gram.y"
   41438             :                                 {
   41439             :                     AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
   41440             : 
   41441             :                     n->objtype = OBJECT_PROCEDURE;
   41442             :                     n->func = (yyvsp[-2].objwithargs);
   41443             :                     n->actions = (yyvsp[-1].list);
   41444             :                     (yyval.node) = (Node *) n;
   41445             :                 }
   41446             : #line 41447 "gram.c"
   41447          18 :     break;
   41448             : 
   41449           0 :   case 1219: /* AlterFunctionStmt: ALTER ROUTINE function_with_argtypes alterfunc_opt_list opt_restrict  */
   41450             : #line 8937 "gram.y"
   41451             :                                 {
   41452             :                     AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
   41453             : 
   41454             :                     n->objtype = OBJECT_ROUTINE;
   41455             :                     n->func = (yyvsp[-2].objwithargs);
   41456             :                     n->actions = (yyvsp[-1].list);
   41457             :                     (yyval.node) = (Node *) n;
   41458             :                 }
   41459             : #line 41460 "gram.c"
   41460           0 :     break;
   41461             : 
   41462         672 :   case 1220: /* alterfunc_opt_list: common_func_opt_item  */
   41463             : #line 8949 "gram.y"
   41464             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   41465             : #line 41466 "gram.c"
   41466         672 :     break;
   41467             : 
   41468           4 :   case 1221: /* alterfunc_opt_list: alterfunc_opt_list common_func_opt_item  */
   41469             : #line 8950 "gram.y"
   41470             :                                                                   { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   41471             : #line 41472 "gram.c"
   41472           4 :     break;
   41473             : 
   41474        3262 :   case 1224: /* RemoveFuncStmt: DROP FUNCTION function_with_argtypes_list opt_drop_behavior  */
   41475             : #line 8974 "gram.y"
   41476             :                                 {
   41477             :                     DropStmt *n = makeNode(DropStmt);
   41478             : 
   41479             :                     n->removeType = OBJECT_FUNCTION;
   41480             :                     n->objects = (yyvsp[-1].list);
   41481             :                     n->behavior = (yyvsp[0].dbehavior);
   41482             :                     n->missing_ok = false;
   41483             :                     n->concurrent = false;
   41484             :                     (yyval.node) = (Node *) n;
   41485             :                 }
   41486             : #line 41487 "gram.c"
   41487        3262 :     break;
   41488             : 
   41489         260 :   case 1225: /* RemoveFuncStmt: DROP FUNCTION IF_P EXISTS function_with_argtypes_list opt_drop_behavior  */
   41490             : #line 8985 "gram.y"
   41491             :                                 {
   41492             :                     DropStmt *n = makeNode(DropStmt);
   41493             : 
   41494             :                     n->removeType = OBJECT_FUNCTION;
   41495             :                     n->objects = (yyvsp[-1].list);
   41496             :                     n->behavior = (yyvsp[0].dbehavior);
   41497             :                     n->missing_ok = true;
   41498             :                     n->concurrent = false;
   41499             :                     (yyval.node) = (Node *) n;
   41500             :                 }
   41501             : #line 41502 "gram.c"
   41502         260 :     break;
   41503             : 
   41504         138 :   case 1226: /* RemoveFuncStmt: DROP PROCEDURE function_with_argtypes_list opt_drop_behavior  */
   41505             : #line 8996 "gram.y"
   41506             :                                 {
   41507             :                     DropStmt *n = makeNode(DropStmt);
   41508             : 
   41509             :                     n->removeType = OBJECT_PROCEDURE;
   41510             :                     n->objects = (yyvsp[-1].list);
   41511             :                     n->behavior = (yyvsp[0].dbehavior);
   41512             :                     n->missing_ok = false;
   41513             :                     n->concurrent = false;
   41514             :                     (yyval.node) = (Node *) n;
   41515             :                 }
   41516             : #line 41517 "gram.c"
   41517         138 :     break;
   41518             : 
   41519           6 :   case 1227: /* RemoveFuncStmt: DROP PROCEDURE IF_P EXISTS function_with_argtypes_list opt_drop_behavior  */
   41520             : #line 9007 "gram.y"
   41521             :                                 {
   41522             :                     DropStmt *n = makeNode(DropStmt);
   41523             : 
   41524             :                     n->removeType = OBJECT_PROCEDURE;
   41525             :                     n->objects = (yyvsp[-1].list);
   41526             :                     n->behavior = (yyvsp[0].dbehavior);
   41527             :                     n->missing_ok = true;
   41528             :                     n->concurrent = false;
   41529             :                     (yyval.node) = (Node *) n;
   41530             :                 }
   41531             : #line 41532 "gram.c"
   41532           6 :     break;
   41533             : 
   41534          12 :   case 1228: /* RemoveFuncStmt: DROP ROUTINE function_with_argtypes_list opt_drop_behavior  */
   41535             : #line 9018 "gram.y"
   41536             :                                 {
   41537             :                     DropStmt *n = makeNode(DropStmt);
   41538             : 
   41539             :                     n->removeType = OBJECT_ROUTINE;
   41540             :                     n->objects = (yyvsp[-1].list);
   41541             :                     n->behavior = (yyvsp[0].dbehavior);
   41542             :                     n->missing_ok = false;
   41543             :                     n->concurrent = false;
   41544             :                     (yyval.node) = (Node *) n;
   41545             :                 }
   41546             : #line 41547 "gram.c"
   41547          12 :     break;
   41548             : 
   41549           6 :   case 1229: /* RemoveFuncStmt: DROP ROUTINE IF_P EXISTS function_with_argtypes_list opt_drop_behavior  */
   41550             : #line 9029 "gram.y"
   41551             :                                 {
   41552             :                     DropStmt *n = makeNode(DropStmt);
   41553             : 
   41554             :                     n->removeType = OBJECT_ROUTINE;
   41555             :                     n->objects = (yyvsp[-1].list);
   41556             :                     n->behavior = (yyvsp[0].dbehavior);
   41557             :                     n->missing_ok = true;
   41558             :                     n->concurrent = false;
   41559             :                     (yyval.node) = (Node *) n;
   41560             :                 }
   41561             : #line 41562 "gram.c"
   41562           6 :     break;
   41563             : 
   41564          74 :   case 1230: /* RemoveAggrStmt: DROP AGGREGATE aggregate_with_argtypes_list opt_drop_behavior  */
   41565             : #line 9043 "gram.y"
   41566             :                                 {
   41567             :                     DropStmt *n = makeNode(DropStmt);
   41568             : 
   41569             :                     n->removeType = OBJECT_AGGREGATE;
   41570             :                     n->objects = (yyvsp[-1].list);
   41571             :                     n->behavior = (yyvsp[0].dbehavior);
   41572             :                     n->missing_ok = false;
   41573             :                     n->concurrent = false;
   41574             :                     (yyval.node) = (Node *) n;
   41575             :                 }
   41576             : #line 41577 "gram.c"
   41577          74 :     break;
   41578             : 
   41579          30 :   case 1231: /* RemoveAggrStmt: DROP AGGREGATE IF_P EXISTS aggregate_with_argtypes_list opt_drop_behavior  */
   41580             : #line 9054 "gram.y"
   41581             :                                 {
   41582             :                     DropStmt *n = makeNode(DropStmt);
   41583             : 
   41584             :                     n->removeType = OBJECT_AGGREGATE;
   41585             :                     n->objects = (yyvsp[-1].list);
   41586             :                     n->behavior = (yyvsp[0].dbehavior);
   41587             :                     n->missing_ok = true;
   41588             :                     n->concurrent = false;
   41589             :                     (yyval.node) = (Node *) n;
   41590             :                 }
   41591             : #line 41592 "gram.c"
   41592          30 :     break;
   41593             : 
   41594         194 :   case 1232: /* RemoveOperStmt: DROP OPERATOR operator_with_argtypes_list opt_drop_behavior  */
   41595             : #line 9068 "gram.y"
   41596             :                                 {
   41597             :                     DropStmt *n = makeNode(DropStmt);
   41598             : 
   41599             :                     n->removeType = OBJECT_OPERATOR;
   41600             :                     n->objects = (yyvsp[-1].list);
   41601             :                     n->behavior = (yyvsp[0].dbehavior);
   41602             :                     n->missing_ok = false;
   41603             :                     n->concurrent = false;
   41604             :                     (yyval.node) = (Node *) n;
   41605             :                 }
   41606             : #line 41607 "gram.c"
   41607         194 :     break;
   41608             : 
   41609          30 :   case 1233: /* RemoveOperStmt: DROP OPERATOR IF_P EXISTS operator_with_argtypes_list opt_drop_behavior  */
   41610             : #line 9079 "gram.y"
   41611             :                                 {
   41612             :                     DropStmt *n = makeNode(DropStmt);
   41613             : 
   41614             :                     n->removeType = OBJECT_OPERATOR;
   41615             :                     n->objects = (yyvsp[-1].list);
   41616             :                     n->behavior = (yyvsp[0].dbehavior);
   41617             :                     n->missing_ok = true;
   41618             :                     n->concurrent = false;
   41619             :                     (yyval.node) = (Node *) n;
   41620             :                 }
   41621             : #line 41622 "gram.c"
   41622          30 :     break;
   41623             : 
   41624          12 :   case 1234: /* oper_argtypes: '(' Typename ')'  */
   41625             : #line 9093 "gram.y"
   41626             :                                 {
   41627             :                    ereport(ERROR,
   41628             :                            (errcode(ERRCODE_SYNTAX_ERROR),
   41629             :                             errmsg("missing argument"),
   41630             :                             errhint("Use NONE to denote the missing argument of a unary operator."),
   41631             :                             parser_errposition((yylsp[0]))));
   41632             :                 }
   41633             : #line 41634 "gram.c"
   41634             :     break;
   41635             : 
   41636        1968 :   case 1235: /* oper_argtypes: '(' Typename ',' Typename ')'  */
   41637             : #line 9101 "gram.y"
   41638             :                                         { (yyval.list) = list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam)); }
   41639             : #line 41640 "gram.c"
   41640        1968 :     break;
   41641             : 
   41642          40 :   case 1236: /* oper_argtypes: '(' NONE ',' Typename ')'  */
   41643             : #line 9103 "gram.y"
   41644             :                                         { (yyval.list) = list_make2(NULL, (yyvsp[-1].typnam)); }
   41645             : #line 41646 "gram.c"
   41646          40 :     break;
   41647             : 
   41648          12 :   case 1237: /* oper_argtypes: '(' Typename ',' NONE ')'  */
   41649             : #line 9105 "gram.y"
   41650             :                                         { (yyval.list) = list_make2((yyvsp[-3].typnam), NULL); }
   41651             : #line 41652 "gram.c"
   41652          12 :     break;
   41653             : 
   41654       20860 :   case 1238: /* any_operator: all_Op  */
   41655             : #line 9110 "gram.y"
   41656             :                                         { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   41657             : #line 41658 "gram.c"
   41658       20860 :     break;
   41659             : 
   41660       15940 :   case 1239: /* any_operator: ColId '.' any_operator  */
   41661             : #line 9112 "gram.y"
   41662             :                                         { (yyval.list) = lcons(makeString((yyvsp[-2].str)), (yyvsp[0].list)); }
   41663             : #line 41664 "gram.c"
   41664       15940 :     break;
   41665             : 
   41666         224 :   case 1240: /* operator_with_argtypes_list: operator_with_argtypes  */
   41667             : #line 9116 "gram.y"
   41668             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
   41669             : #line 41670 "gram.c"
   41670         224 :     break;
   41671             : 
   41672           0 :   case 1241: /* operator_with_argtypes_list: operator_with_argtypes_list ',' operator_with_argtypes  */
   41673             : #line 9118 "gram.y"
   41674             :                                                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
   41675             : #line 41676 "gram.c"
   41676           0 :     break;
   41677             : 
   41678        2020 :   case 1242: /* operator_with_argtypes: any_operator oper_argtypes  */
   41679             : #line 9123 "gram.y"
   41680             :                                 {
   41681             :                     ObjectWithArgs *n = makeNode(ObjectWithArgs);
   41682             : 
   41683             :                     n->objname = (yyvsp[-1].list);
   41684             :                     n->objargs = (yyvsp[0].list);
   41685             :                     (yyval.objwithargs) = n;
   41686             :                 }
   41687             : #line 41688 "gram.c"
   41688        2020 :     break;
   41689             : 
   41690        1140 :   case 1243: /* DoStmt: DO dostmt_opt_list  */
   41691             : #line 9142 "gram.y"
   41692             :                                 {
   41693             :                     DoStmt *n = makeNode(DoStmt);
   41694             : 
   41695             :                     n->args = (yyvsp[0].list);
   41696             :                     (yyval.node) = (Node *) n;
   41697             :                 }
   41698             : #line 41699 "gram.c"
   41699        1140 :     break;
   41700             : 
   41701        1140 :   case 1244: /* dostmt_opt_list: dostmt_opt_item  */
   41702             : #line 9151 "gram.y"
   41703             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   41704             : #line 41705 "gram.c"
   41705        1140 :     break;
   41706             : 
   41707         198 :   case 1245: /* dostmt_opt_list: dostmt_opt_list dostmt_opt_item  */
   41708             : #line 9152 "gram.y"
   41709             :                                                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   41710             : #line 41711 "gram.c"
   41711         198 :     break;
   41712             : 
   41713        1140 :   case 1246: /* dostmt_opt_item: Sconst  */
   41714             : #line 9157 "gram.y"
   41715             :                                 {
   41716             :                     (yyval.defelt) = makeDefElem("as", (Node *) makeString((yyvsp[0].str)), (yylsp[0]));
   41717             :                 }
   41718             : #line 41719 "gram.c"
   41719        1140 :     break;
   41720             : 
   41721         198 :   case 1247: /* dostmt_opt_item: LANGUAGE NonReservedWord_or_Sconst  */
   41722             : #line 9161 "gram.y"
   41723             :                                 {
   41724             :                     (yyval.defelt) = makeDefElem("language", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
   41725             :                 }
   41726             : #line 41727 "gram.c"
   41727         198 :     break;
   41728             : 
   41729         110 :   case 1248: /* CreateCastStmt: CREATE CAST '(' Typename AS Typename ')' WITH FUNCTION function_with_argtypes cast_context  */
   41730             : #line 9174 "gram.y"
   41731             :                                 {
   41732             :                     CreateCastStmt *n = makeNode(CreateCastStmt);
   41733             : 
   41734             :                     n->sourcetype = (yyvsp[-7].typnam);
   41735             :                     n->targettype = (yyvsp[-5].typnam);
   41736             :                     n->func = (yyvsp[-1].objwithargs);
   41737             :                     n->context = (CoercionContext) (yyvsp[0].ival);
   41738             :                     n->inout = false;
   41739             :                     (yyval.node) = (Node *) n;
   41740             :                 }
   41741             : #line 41742 "gram.c"
   41742         110 :     break;
   41743             : 
   41744         172 :   case 1249: /* CreateCastStmt: CREATE CAST '(' Typename AS Typename ')' WITHOUT FUNCTION cast_context  */
   41745             : #line 9186 "gram.y"
   41746             :                                 {
   41747             :                     CreateCastStmt *n = makeNode(CreateCastStmt);
   41748             : 
   41749             :                     n->sourcetype = (yyvsp[-6].typnam);
   41750             :                     n->targettype = (yyvsp[-4].typnam);
   41751             :                     n->func = NULL;
   41752             :                     n->context = (CoercionContext) (yyvsp[0].ival);
   41753             :                     n->inout = false;
   41754             :                     (yyval.node) = (Node *) n;
   41755             :                 }
   41756             : #line 41757 "gram.c"
   41757         172 :     break;
   41758             : 
   41759           8 :   case 1250: /* CreateCastStmt: CREATE CAST '(' Typename AS Typename ')' WITH INOUT cast_context  */
   41760             : #line 9198 "gram.y"
   41761             :                                 {
   41762             :                     CreateCastStmt *n = makeNode(CreateCastStmt);
   41763             : 
   41764             :                     n->sourcetype = (yyvsp[-6].typnam);
   41765             :                     n->targettype = (yyvsp[-4].typnam);
   41766             :                     n->func = NULL;
   41767             :                     n->context = (CoercionContext) (yyvsp[0].ival);
   41768             :                     n->inout = true;
   41769             :                     (yyval.node) = (Node *) n;
   41770             :                 }
   41771             : #line 41772 "gram.c"
   41772           8 :     break;
   41773             : 
   41774          40 :   case 1251: /* cast_context: AS IMPLICIT_P  */
   41775             : #line 9210 "gram.y"
   41776             :                                                                 { (yyval.ival) = COERCION_IMPLICIT; }
   41777             : #line 41778 "gram.c"
   41778          40 :     break;
   41779             : 
   41780          58 :   case 1252: /* cast_context: AS ASSIGNMENT  */
   41781             : #line 9211 "gram.y"
   41782             :                                                                                 { (yyval.ival) = COERCION_ASSIGNMENT; }
   41783             : #line 41784 "gram.c"
   41784          58 :     break;
   41785             : 
   41786         192 :   case 1253: /* cast_context: %empty  */
   41787             : #line 9212 "gram.y"
   41788             :                                                                                         { (yyval.ival) = COERCION_EXPLICIT; }
   41789             : #line 41790 "gram.c"
   41790         192 :     break;
   41791             : 
   41792          60 :   case 1254: /* DropCastStmt: DROP CAST opt_if_exists '(' Typename AS Typename ')' opt_drop_behavior  */
   41793             : #line 9217 "gram.y"
   41794             :                                 {
   41795             :                     DropStmt *n = makeNode(DropStmt);
   41796             : 
   41797             :                     n->removeType = OBJECT_CAST;
   41798             :                     n->objects = list_make1(list_make2((yyvsp[-4].typnam), (yyvsp[-2].typnam)));
   41799             :                     n->behavior = (yyvsp[0].dbehavior);
   41800             :                     n->missing_ok = (yyvsp[-6].boolean);
   41801             :                     n->concurrent = false;
   41802             :                     (yyval.node) = (Node *) n;
   41803             :                 }
   41804             : #line 41805 "gram.c"
   41805          60 :     break;
   41806             : 
   41807          36 :   case 1255: /* opt_if_exists: IF_P EXISTS  */
   41808             : #line 9229 "gram.y"
   41809             :                                                                         { (yyval.boolean) = true; }
   41810             : #line 41811 "gram.c"
   41811          36 :     break;
   41812             : 
   41813          38 :   case 1256: /* opt_if_exists: %empty  */
   41814             : #line 9230 "gram.y"
   41815             :                                                                                         { (yyval.boolean) = false; }
   41816             : #line 41817 "gram.c"
   41817          38 :     break;
   41818             : 
   41819          52 :   case 1257: /* CreateTransformStmt: CREATE opt_or_replace TRANSFORM FOR Typename LANGUAGE name '(' transform_element_list ')'  */
   41820             : #line 9241 "gram.y"
   41821             :                                 {
   41822             :                     CreateTransformStmt *n = makeNode(CreateTransformStmt);
   41823             : 
   41824             :                     n->replace = (yyvsp[-8].boolean);
   41825             :                     n->type_name = (yyvsp[-5].typnam);
   41826             :                     n->lang = (yyvsp[-3].str);
   41827             :                     n->fromsql = linitial((yyvsp[-1].list));
   41828             :                     n->tosql = lsecond((yyvsp[-1].list));
   41829             :                     (yyval.node) = (Node *) n;
   41830             :                 }
   41831             : #line 41832 "gram.c"
   41832          52 :     break;
   41833             : 
   41834          46 :   case 1258: /* transform_element_list: FROM SQL_P WITH FUNCTION function_with_argtypes ',' TO SQL_P WITH FUNCTION function_with_argtypes  */
   41835             : #line 9254 "gram.y"
   41836             :                                 {
   41837             :                     (yyval.list) = list_make2((yyvsp[-6].objwithargs), (yyvsp[0].objwithargs));
   41838             :                 }
   41839             : #line 41840 "gram.c"
   41840          46 :     break;
   41841             : 
   41842           0 :   case 1259: /* transform_element_list: TO SQL_P WITH FUNCTION function_with_argtypes ',' FROM SQL_P WITH FUNCTION function_with_argtypes  */
   41843             : #line 9258 "gram.y"
   41844             :                                 {
   41845             :                     (yyval.list) = list_make2((yyvsp[0].objwithargs), (yyvsp[-6].objwithargs));
   41846             :                 }
   41847             : #line 41848 "gram.c"
   41848           0 :     break;
   41849             : 
   41850           4 :   case 1260: /* transform_element_list: FROM SQL_P WITH FUNCTION function_with_argtypes  */
   41851             : #line 9262 "gram.y"
   41852             :                                 {
   41853             :                     (yyval.list) = list_make2((yyvsp[0].objwithargs), NULL);
   41854             :                 }
   41855             : #line 41856 "gram.c"
   41856           4 :     break;
   41857             : 
   41858           2 :   case 1261: /* transform_element_list: TO SQL_P WITH FUNCTION function_with_argtypes  */
   41859             : #line 9266 "gram.y"
   41860             :                                 {
   41861             :                     (yyval.list) = list_make2(NULL, (yyvsp[0].objwithargs));
   41862             :                 }
   41863             : #line 41864 "gram.c"
   41864           2 :     break;
   41865             : 
   41866          14 :   case 1262: /* DropTransformStmt: DROP TRANSFORM opt_if_exists FOR Typename LANGUAGE name opt_drop_behavior  */
   41867             : #line 9273 "gram.y"
   41868             :                                 {
   41869             :                     DropStmt *n = makeNode(DropStmt);
   41870             : 
   41871             :                     n->removeType = OBJECT_TRANSFORM;
   41872             :                     n->objects = list_make1(list_make2((yyvsp[-3].typnam), makeString((yyvsp[-1].str))));
   41873             :                     n->behavior = (yyvsp[0].dbehavior);
   41874             :                     n->missing_ok = (yyvsp[-5].boolean);
   41875             :                     (yyval.node) = (Node *) n;
   41876             :                 }
   41877             : #line 41878 "gram.c"
   41878          14 :     break;
   41879             : 
   41880         926 :   case 1263: /* ReindexStmt: REINDEX opt_reindex_option_list reindex_target_relation opt_concurrently qualified_name  */
   41881             : #line 9295 "gram.y"
   41882             :                                 {
   41883             :                     ReindexStmt *n = makeNode(ReindexStmt);
   41884             : 
   41885             :                     n->kind = (yyvsp[-2].ival);
   41886             :                     n->relation = (yyvsp[0].range);
   41887             :                     n->name = NULL;
   41888             :                     n->params = (yyvsp[-3].list);
   41889             :                     if ((yyvsp[-1].boolean))
   41890             :                         n->params = lappend(n->params,
   41891             :                                             makeDefElem("concurrently", NULL, (yylsp[-1])));
   41892             :                     (yyval.node) = (Node *) n;
   41893             :                 }
   41894             : #line 41895 "gram.c"
   41895         926 :     break;
   41896             : 
   41897         114 :   case 1264: /* ReindexStmt: REINDEX opt_reindex_option_list SCHEMA opt_concurrently name  */
   41898             : #line 9308 "gram.y"
   41899             :                                 {
   41900             :                     ReindexStmt *n = makeNode(ReindexStmt);
   41901             : 
   41902             :                     n->kind = REINDEX_OBJECT_SCHEMA;
   41903             :                     n->relation = NULL;
   41904             :                     n->name = (yyvsp[0].str);
   41905             :                     n->params = (yyvsp[-3].list);
   41906             :                     if ((yyvsp[-1].boolean))
   41907             :                         n->params = lappend(n->params,
   41908             :                                             makeDefElem("concurrently", NULL, (yylsp[-1])));
   41909             :                     (yyval.node) = (Node *) n;
   41910             :                 }
   41911             : #line 41912 "gram.c"
   41912         114 :     break;
   41913             : 
   41914          68 :   case 1265: /* ReindexStmt: REINDEX opt_reindex_option_list reindex_target_all opt_concurrently opt_single_name  */
   41915             : #line 9321 "gram.y"
   41916             :                                 {
   41917             :                     ReindexStmt *n = makeNode(ReindexStmt);
   41918             : 
   41919             :                     n->kind = (yyvsp[-2].ival);
   41920             :                     n->relation = NULL;
   41921             :                     n->name = (yyvsp[0].str);
   41922             :                     n->params = (yyvsp[-3].list);
   41923             :                     if ((yyvsp[-1].boolean))
   41924             :                         n->params = lappend(n->params,
   41925             :                                             makeDefElem("concurrently", NULL, (yylsp[-1])));
   41926             :                     (yyval.node) = (Node *) n;
   41927             :                 }
   41928             : #line 41929 "gram.c"
   41929          68 :     break;
   41930             : 
   41931         398 :   case 1266: /* reindex_target_relation: INDEX  */
   41932             : #line 9335 "gram.y"
   41933             :                                                                 { (yyval.ival) = REINDEX_OBJECT_INDEX; }
   41934             : #line 41935 "gram.c"
   41935         398 :     break;
   41936             : 
   41937         528 :   case 1267: /* reindex_target_relation: TABLE  */
   41938             : #line 9336 "gram.y"
   41939             :                                                                 { (yyval.ival) = REINDEX_OBJECT_TABLE; }
   41940             : #line 41941 "gram.c"
   41941         528 :     break;
   41942             : 
   41943          34 :   case 1268: /* reindex_target_all: SYSTEM_P  */
   41944             : #line 9339 "gram.y"
   41945             :                                                                 { (yyval.ival) = REINDEX_OBJECT_SYSTEM; }
   41946             : #line 41947 "gram.c"
   41947          34 :     break;
   41948             : 
   41949          34 :   case 1269: /* reindex_target_all: DATABASE  */
   41950             : #line 9340 "gram.y"
   41951             :                                                                 { (yyval.ival) = REINDEX_OBJECT_DATABASE; }
   41952             : #line 41953 "gram.c"
   41953          34 :     break;
   41954             : 
   41955         156 :   case 1270: /* opt_reindex_option_list: '(' utility_option_list ')'  */
   41956             : #line 9343 "gram.y"
   41957             :                                                                                 { (yyval.list) = (yyvsp[-1].list); }
   41958             : #line 41959 "gram.c"
   41959         156 :     break;
   41960             : 
   41961         952 :   case 1271: /* opt_reindex_option_list: %empty  */
   41962             : #line 9344 "gram.y"
   41963             :                                                                                         { (yyval.list) = NULL; }
   41964             : #line 41965 "gram.c"
   41965         952 :     break;
   41966             : 
   41967          12 :   case 1272: /* AlterTblSpcStmt: ALTER TABLESPACE name SET reloptions  */
   41968             : #line 9355 "gram.y"
   41969             :                                 {
   41970             :                     AlterTableSpaceOptionsStmt *n =
   41971             :                         makeNode(AlterTableSpaceOptionsStmt);
   41972             : 
   41973             :                     n->tablespacename = (yyvsp[-2].str);
   41974             :                     n->options = (yyvsp[0].list);
   41975             :                     n->isReset = false;
   41976             :                     (yyval.node) = (Node *) n;
   41977             :                 }
   41978             : #line 41979 "gram.c"
   41979          12 :     break;
   41980             : 
   41981          12 :   case 1273: /* AlterTblSpcStmt: ALTER TABLESPACE name RESET reloptions  */
   41982             : #line 9365 "gram.y"
   41983             :                                 {
   41984             :                     AlterTableSpaceOptionsStmt *n =
   41985             :                         makeNode(AlterTableSpaceOptionsStmt);
   41986             : 
   41987             :                     n->tablespacename = (yyvsp[-2].str);
   41988             :                     n->options = (yyvsp[0].list);
   41989             :                     n->isReset = true;
   41990             :                     (yyval.node) = (Node *) n;
   41991             :                 }
   41992             : #line 41993 "gram.c"
   41993          12 :     break;
   41994             : 
   41995          42 :   case 1274: /* RenameStmt: ALTER AGGREGATE aggregate_with_argtypes RENAME TO name  */
   41996             : #line 9383 "gram.y"
   41997             :                                 {
   41998             :                     RenameStmt *n = makeNode(RenameStmt);
   41999             : 
   42000             :                     n->renameType = OBJECT_AGGREGATE;
   42001             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   42002             :                     n->newname = (yyvsp[0].str);
   42003             :                     n->missing_ok = false;
   42004             :                     (yyval.node) = (Node *) n;
   42005             :                 }
   42006             : #line 42007 "gram.c"
   42007          42 :     break;
   42008             : 
   42009          18 :   case 1275: /* RenameStmt: ALTER COLLATION any_name RENAME TO name  */
   42010             : #line 9393 "gram.y"
   42011             :                                 {
   42012             :                     RenameStmt *n = makeNode(RenameStmt);
   42013             : 
   42014             :                     n->renameType = OBJECT_COLLATION;
   42015             :                     n->object = (Node *) (yyvsp[-3].list);
   42016             :                     n->newname = (yyvsp[0].str);
   42017             :                     n->missing_ok = false;
   42018             :                     (yyval.node) = (Node *) n;
   42019             :                 }
   42020             : #line 42021 "gram.c"
   42021          18 :     break;
   42022             : 
   42023          24 :   case 1276: /* RenameStmt: ALTER CONVERSION_P any_name RENAME TO name  */
   42024             : #line 9403 "gram.y"
   42025             :                                 {
   42026             :                     RenameStmt *n = makeNode(RenameStmt);
   42027             : 
   42028             :                     n->renameType = OBJECT_CONVERSION;
   42029             :                     n->object = (Node *) (yyvsp[-3].list);
   42030             :                     n->newname = (yyvsp[0].str);
   42031             :                     n->missing_ok = false;
   42032             :                     (yyval.node) = (Node *) n;
   42033             :                 }
   42034             : #line 42035 "gram.c"
   42035          24 :     break;
   42036             : 
   42037           6 :   case 1277: /* RenameStmt: ALTER DATABASE name RENAME TO name  */
   42038             : #line 9413 "gram.y"
   42039             :                                 {
   42040             :                     RenameStmt *n = makeNode(RenameStmt);
   42041             : 
   42042             :                     n->renameType = OBJECT_DATABASE;
   42043             :                     n->subname = (yyvsp[-3].str);
   42044             :                     n->newname = (yyvsp[0].str);
   42045             :                     n->missing_ok = false;
   42046             :                     (yyval.node) = (Node *) n;
   42047             :                 }
   42048             : #line 42049 "gram.c"
   42049           6 :     break;
   42050             : 
   42051           6 :   case 1278: /* RenameStmt: ALTER DOMAIN_P any_name RENAME TO name  */
   42052             : #line 9423 "gram.y"
   42053             :                                 {
   42054             :                     RenameStmt *n = makeNode(RenameStmt);
   42055             : 
   42056             :                     n->renameType = OBJECT_DOMAIN;
   42057             :                     n->object = (Node *) (yyvsp[-3].list);
   42058             :                     n->newname = (yyvsp[0].str);
   42059             :                     n->missing_ok = false;
   42060             :                     (yyval.node) = (Node *) n;
   42061             :                 }
   42062             : #line 42063 "gram.c"
   42063           6 :     break;
   42064             : 
   42065           6 :   case 1279: /* RenameStmt: ALTER DOMAIN_P any_name RENAME CONSTRAINT name TO name  */
   42066             : #line 9433 "gram.y"
   42067             :                                 {
   42068             :                     RenameStmt *n = makeNode(RenameStmt);
   42069             : 
   42070             :                     n->renameType = OBJECT_DOMCONSTRAINT;
   42071             :                     n->object = (Node *) (yyvsp[-5].list);
   42072             :                     n->subname = (yyvsp[-2].str);
   42073             :                     n->newname = (yyvsp[0].str);
   42074             :                     (yyval.node) = (Node *) n;
   42075             :                 }
   42076             : #line 42077 "gram.c"
   42077           6 :     break;
   42078             : 
   42079          24 :   case 1280: /* RenameStmt: ALTER FOREIGN DATA_P WRAPPER name RENAME TO name  */
   42080             : #line 9443 "gram.y"
   42081             :                                 {
   42082             :                     RenameStmt *n = makeNode(RenameStmt);
   42083             : 
   42084             :                     n->renameType = OBJECT_FDW;
   42085             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   42086             :                     n->newname = (yyvsp[0].str);
   42087             :                     n->missing_ok = false;
   42088             :                     (yyval.node) = (Node *) n;
   42089             :                 }
   42090             : #line 42091 "gram.c"
   42091          24 :     break;
   42092             : 
   42093          24 :   case 1281: /* RenameStmt: ALTER FUNCTION function_with_argtypes RENAME TO name  */
   42094             : #line 9453 "gram.y"
   42095             :                                 {
   42096             :                     RenameStmt *n = makeNode(RenameStmt);
   42097             : 
   42098             :                     n->renameType = OBJECT_FUNCTION;
   42099             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   42100             :                     n->newname = (yyvsp[0].str);
   42101             :                     n->missing_ok = false;
   42102             :                     (yyval.node) = (Node *) n;
   42103             :                 }
   42104             : #line 42105 "gram.c"
   42105          24 :     break;
   42106             : 
   42107           0 :   case 1282: /* RenameStmt: ALTER GROUP_P RoleId RENAME TO RoleId  */
   42108             : #line 9463 "gram.y"
   42109             :                                 {
   42110             :                     RenameStmt *n = makeNode(RenameStmt);
   42111             : 
   42112             :                     n->renameType = OBJECT_ROLE;
   42113             :                     n->subname = (yyvsp[-3].str);
   42114             :                     n->newname = (yyvsp[0].str);
   42115             :                     n->missing_ok = false;
   42116             :                     (yyval.node) = (Node *) n;
   42117             :                 }
   42118             : #line 42119 "gram.c"
   42119           0 :     break;
   42120             : 
   42121          18 :   case 1283: /* RenameStmt: ALTER opt_procedural LANGUAGE name RENAME TO name  */
   42122             : #line 9473 "gram.y"
   42123             :                                 {
   42124             :                     RenameStmt *n = makeNode(RenameStmt);
   42125             : 
   42126             :                     n->renameType = OBJECT_LANGUAGE;
   42127             :                     n->object = (Node *) makeString((yyvsp[-3].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          24 :   case 1284: /* RenameStmt: ALTER OPERATOR CLASS any_name USING name RENAME TO name  */
   42136             : #line 9483 "gram.y"
   42137             :                                 {
   42138             :                     RenameStmt *n = makeNode(RenameStmt);
   42139             : 
   42140             :                     n->renameType = OBJECT_OPCLASS;
   42141             :                     n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
   42142             :                     n->newname = (yyvsp[0].str);
   42143             :                     n->missing_ok = false;
   42144             :                     (yyval.node) = (Node *) n;
   42145             :                 }
   42146             : #line 42147 "gram.c"
   42147          24 :     break;
   42148             : 
   42149          24 :   case 1285: /* RenameStmt: ALTER OPERATOR FAMILY any_name USING name RENAME TO name  */
   42150             : #line 9493 "gram.y"
   42151             :                                 {
   42152             :                     RenameStmt *n = makeNode(RenameStmt);
   42153             : 
   42154             :                     n->renameType = OBJECT_OPFAMILY;
   42155             :                     n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
   42156             :                     n->newname = (yyvsp[0].str);
   42157             :                     n->missing_ok = false;
   42158             :                     (yyval.node) = (Node *) n;
   42159             :                 }
   42160             : #line 42161 "gram.c"
   42161          24 :     break;
   42162             : 
   42163          18 :   case 1286: /* RenameStmt: ALTER POLICY name ON qualified_name RENAME TO name  */
   42164             : #line 9503 "gram.y"
   42165             :                                 {
   42166             :                     RenameStmt *n = makeNode(RenameStmt);
   42167             : 
   42168             :                     n->renameType = OBJECT_POLICY;
   42169             :                     n->relation = (yyvsp[-3].range);
   42170             :                     n->subname = (yyvsp[-5].str);
   42171             :                     n->newname = (yyvsp[0].str);
   42172             :                     n->missing_ok = false;
   42173             :                     (yyval.node) = (Node *) n;
   42174             :                 }
   42175             : #line 42176 "gram.c"
   42176          18 :     break;
   42177             : 
   42178           0 :   case 1287: /* RenameStmt: ALTER POLICY IF_P EXISTS name ON qualified_name RENAME TO name  */
   42179             : #line 9514 "gram.y"
   42180             :                                 {
   42181             :                     RenameStmt *n = makeNode(RenameStmt);
   42182             : 
   42183             :                     n->renameType = OBJECT_POLICY;
   42184             :                     n->relation = (yyvsp[-3].range);
   42185             :                     n->subname = (yyvsp[-5].str);
   42186             :                     n->newname = (yyvsp[0].str);
   42187             :                     n->missing_ok = true;
   42188             :                     (yyval.node) = (Node *) n;
   42189             :                 }
   42190             : #line 42191 "gram.c"
   42191           0 :     break;
   42192             : 
   42193           0 :   case 1288: /* RenameStmt: ALTER PROCEDURE function_with_argtypes RENAME TO name  */
   42194             : #line 9525 "gram.y"
   42195             :                                 {
   42196             :                     RenameStmt *n = makeNode(RenameStmt);
   42197             : 
   42198             :                     n->renameType = OBJECT_PROCEDURE;
   42199             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   42200             :                     n->newname = (yyvsp[0].str);
   42201             :                     n->missing_ok = false;
   42202             :                     (yyval.node) = (Node *) n;
   42203             :                 }
   42204             : #line 42205 "gram.c"
   42205           0 :     break;
   42206             : 
   42207          42 :   case 1289: /* RenameStmt: ALTER PUBLICATION name RENAME TO name  */
   42208             : #line 9535 "gram.y"
   42209             :                                 {
   42210             :                     RenameStmt *n = makeNode(RenameStmt);
   42211             : 
   42212             :                     n->renameType = OBJECT_PUBLICATION;
   42213             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   42214             :                     n->newname = (yyvsp[0].str);
   42215             :                     n->missing_ok = false;
   42216             :                     (yyval.node) = (Node *) n;
   42217             :                 }
   42218             : #line 42219 "gram.c"
   42219          42 :     break;
   42220             : 
   42221          24 :   case 1290: /* RenameStmt: ALTER ROUTINE function_with_argtypes RENAME TO name  */
   42222             : #line 9545 "gram.y"
   42223             :                                 {
   42224             :                     RenameStmt *n = makeNode(RenameStmt);
   42225             : 
   42226             :                     n->renameType = OBJECT_ROUTINE;
   42227             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   42228             :                     n->newname = (yyvsp[0].str);
   42229             :                     n->missing_ok = false;
   42230             :                     (yyval.node) = (Node *) n;
   42231             :                 }
   42232             : #line 42233 "gram.c"
   42233          24 :     break;
   42234             : 
   42235          20 :   case 1291: /* RenameStmt: ALTER SCHEMA name RENAME TO name  */
   42236             : #line 9555 "gram.y"
   42237             :                                 {
   42238             :                     RenameStmt *n = makeNode(RenameStmt);
   42239             : 
   42240             :                     n->renameType = OBJECT_SCHEMA;
   42241             :                     n->subname = (yyvsp[-3].str);
   42242             :                     n->newname = (yyvsp[0].str);
   42243             :                     n->missing_ok = false;
   42244             :                     (yyval.node) = (Node *) n;
   42245             :                 }
   42246             : #line 42247 "gram.c"
   42247          20 :     break;
   42248             : 
   42249          24 :   case 1292: /* RenameStmt: ALTER SERVER name RENAME TO name  */
   42250             : #line 9565 "gram.y"
   42251             :                                 {
   42252             :                     RenameStmt *n = makeNode(RenameStmt);
   42253             : 
   42254             :                     n->renameType = OBJECT_FOREIGN_SERVER;
   42255             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   42256             :                     n->newname = (yyvsp[0].str);
   42257             :                     n->missing_ok = false;
   42258             :                     (yyval.node) = (Node *) n;
   42259             :                 }
   42260             : #line 42261 "gram.c"
   42261          24 :     break;
   42262             : 
   42263          38 :   case 1293: /* RenameStmt: ALTER SUBSCRIPTION name RENAME TO name  */
   42264             : #line 9575 "gram.y"
   42265             :                                 {
   42266             :                     RenameStmt *n = makeNode(RenameStmt);
   42267             : 
   42268             :                     n->renameType = OBJECT_SUBSCRIPTION;
   42269             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   42270             :                     n->newname = (yyvsp[0].str);
   42271             :                     n->missing_ok = false;
   42272             :                     (yyval.node) = (Node *) n;
   42273             :                 }
   42274             : #line 42275 "gram.c"
   42275          38 :     break;
   42276             : 
   42277         286 :   case 1294: /* RenameStmt: ALTER TABLE relation_expr RENAME TO name  */
   42278             : #line 9585 "gram.y"
   42279             :                                 {
   42280             :                     RenameStmt *n = makeNode(RenameStmt);
   42281             : 
   42282             :                     n->renameType = OBJECT_TABLE;
   42283             :                     n->relation = (yyvsp[-3].range);
   42284             :                     n->subname = NULL;
   42285             :                     n->newname = (yyvsp[0].str);
   42286             :                     n->missing_ok = false;
   42287             :                     (yyval.node) = (Node *) n;
   42288             :                 }
   42289             : #line 42290 "gram.c"
   42290         286 :     break;
   42291             : 
   42292           0 :   case 1295: /* RenameStmt: ALTER TABLE IF_P EXISTS relation_expr RENAME TO name  */
   42293             : #line 9596 "gram.y"
   42294             :                                 {
   42295             :                     RenameStmt *n = makeNode(RenameStmt);
   42296             : 
   42297             :                     n->renameType = OBJECT_TABLE;
   42298             :                     n->relation = (yyvsp[-3].range);
   42299             :                     n->subname = NULL;
   42300             :                     n->newname = (yyvsp[0].str);
   42301             :                     n->missing_ok = true;
   42302             :                     (yyval.node) = (Node *) n;
   42303             :                 }
   42304             : #line 42305 "gram.c"
   42305           0 :     break;
   42306             : 
   42307           2 :   case 1296: /* RenameStmt: ALTER SEQUENCE qualified_name RENAME TO name  */
   42308             : #line 9607 "gram.y"
   42309             :                                 {
   42310             :                     RenameStmt *n = makeNode(RenameStmt);
   42311             : 
   42312             :                     n->renameType = OBJECT_SEQUENCE;
   42313             :                     n->relation = (yyvsp[-3].range);
   42314             :                     n->subname = NULL;
   42315             :                     n->newname = (yyvsp[0].str);
   42316             :                     n->missing_ok = false;
   42317             :                     (yyval.node) = (Node *) n;
   42318             :                 }
   42319             : #line 42320 "gram.c"
   42320           2 :     break;
   42321             : 
   42322           0 :   case 1297: /* RenameStmt: ALTER SEQUENCE IF_P EXISTS qualified_name RENAME TO name  */
   42323             : #line 9618 "gram.y"
   42324             :                                 {
   42325             :                     RenameStmt *n = makeNode(RenameStmt);
   42326             : 
   42327             :                     n->renameType = OBJECT_SEQUENCE;
   42328             :                     n->relation = (yyvsp[-3].range);
   42329             :                     n->subname = NULL;
   42330             :                     n->newname = (yyvsp[0].str);
   42331             :                     n->missing_ok = true;
   42332             :                     (yyval.node) = (Node *) n;
   42333             :                 }
   42334             : #line 42335 "gram.c"
   42335           0 :     break;
   42336             : 
   42337           6 :   case 1298: /* RenameStmt: ALTER VIEW qualified_name RENAME TO name  */
   42338             : #line 9629 "gram.y"
   42339             :                                 {
   42340             :                     RenameStmt *n = makeNode(RenameStmt);
   42341             : 
   42342             :                     n->renameType = OBJECT_VIEW;
   42343             :                     n->relation = (yyvsp[-3].range);
   42344             :                     n->subname = NULL;
   42345             :                     n->newname = (yyvsp[0].str);
   42346             :                     n->missing_ok = false;
   42347             :                     (yyval.node) = (Node *) n;
   42348             :                 }
   42349             : #line 42350 "gram.c"
   42350           6 :     break;
   42351             : 
   42352           0 :   case 1299: /* RenameStmt: ALTER VIEW IF_P EXISTS qualified_name RENAME TO name  */
   42353             : #line 9640 "gram.y"
   42354             :                                 {
   42355             :                     RenameStmt *n = makeNode(RenameStmt);
   42356             : 
   42357             :                     n->renameType = OBJECT_VIEW;
   42358             :                     n->relation = (yyvsp[-3].range);
   42359             :                     n->subname = NULL;
   42360             :                     n->newname = (yyvsp[0].str);
   42361             :                     n->missing_ok = true;
   42362             :                     (yyval.node) = (Node *) n;
   42363             :                 }
   42364             : #line 42365 "gram.c"
   42365           0 :     break;
   42366             : 
   42367           0 :   case 1300: /* RenameStmt: ALTER MATERIALIZED VIEW qualified_name RENAME TO name  */
   42368             : #line 9651 "gram.y"
   42369             :                                 {
   42370             :                     RenameStmt *n = makeNode(RenameStmt);
   42371             : 
   42372             :                     n->renameType = OBJECT_MATVIEW;
   42373             :                     n->relation = (yyvsp[-3].range);
   42374             :                     n->subname = NULL;
   42375             :                     n->newname = (yyvsp[0].str);
   42376             :                     n->missing_ok = false;
   42377             :                     (yyval.node) = (Node *) n;
   42378             :                 }
   42379             : #line 42380 "gram.c"
   42380           0 :     break;
   42381             : 
   42382           0 :   case 1301: /* RenameStmt: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name RENAME TO name  */
   42383             : #line 9662 "gram.y"
   42384             :                                 {
   42385             :                     RenameStmt *n = makeNode(RenameStmt);
   42386             : 
   42387             :                     n->renameType = OBJECT_MATVIEW;
   42388             :                     n->relation = (yyvsp[-3].range);
   42389             :                     n->subname = NULL;
   42390             :                     n->newname = (yyvsp[0].str);
   42391             :                     n->missing_ok = true;
   42392             :                     (yyval.node) = (Node *) n;
   42393             :                 }
   42394             : #line 42395 "gram.c"
   42395           0 :     break;
   42396             : 
   42397         192 :   case 1302: /* RenameStmt: ALTER INDEX qualified_name RENAME TO name  */
   42398             : #line 9673 "gram.y"
   42399             :                                 {
   42400             :                     RenameStmt *n = makeNode(RenameStmt);
   42401             : 
   42402             :                     n->renameType = OBJECT_INDEX;
   42403             :                     n->relation = (yyvsp[-3].range);
   42404             :                     n->subname = NULL;
   42405             :                     n->newname = (yyvsp[0].str);
   42406             :                     n->missing_ok = false;
   42407             :                     (yyval.node) = (Node *) n;
   42408             :                 }
   42409             : #line 42410 "gram.c"
   42410         192 :     break;
   42411             : 
   42412          12 :   case 1303: /* RenameStmt: ALTER INDEX IF_P EXISTS qualified_name RENAME TO name  */
   42413             : #line 9684 "gram.y"
   42414             :                                 {
   42415             :                     RenameStmt *n = makeNode(RenameStmt);
   42416             : 
   42417             :                     n->renameType = OBJECT_INDEX;
   42418             :                     n->relation = (yyvsp[-3].range);
   42419             :                     n->subname = NULL;
   42420             :                     n->newname = (yyvsp[0].str);
   42421             :                     n->missing_ok = true;
   42422             :                     (yyval.node) = (Node *) n;
   42423             :                 }
   42424             : #line 42425 "gram.c"
   42425          12 :     break;
   42426             : 
   42427           6 :   case 1304: /* RenameStmt: ALTER FOREIGN TABLE relation_expr RENAME TO name  */
   42428             : #line 9695 "gram.y"
   42429             :                                 {
   42430             :                     RenameStmt *n = makeNode(RenameStmt);
   42431             : 
   42432             :                     n->renameType = OBJECT_FOREIGN_TABLE;
   42433             :                     n->relation = (yyvsp[-3].range);
   42434             :                     n->subname = NULL;
   42435             :                     n->newname = (yyvsp[0].str);
   42436             :                     n->missing_ok = false;
   42437             :                     (yyval.node) = (Node *) n;
   42438             :                 }
   42439             : #line 42440 "gram.c"
   42440           6 :     break;
   42441             : 
   42442           6 :   case 1305: /* RenameStmt: ALTER FOREIGN TABLE IF_P EXISTS relation_expr RENAME TO name  */
   42443             : #line 9706 "gram.y"
   42444             :                                 {
   42445             :                     RenameStmt *n = makeNode(RenameStmt);
   42446             : 
   42447             :                     n->renameType = OBJECT_FOREIGN_TABLE;
   42448             :                     n->relation = (yyvsp[-3].range);
   42449             :                     n->subname = NULL;
   42450             :                     n->newname = (yyvsp[0].str);
   42451             :                     n->missing_ok = true;
   42452             :                     (yyval.node) = (Node *) n;
   42453             :                 }
   42454             : #line 42455 "gram.c"
   42455           6 :     break;
   42456             : 
   42457         238 :   case 1306: /* RenameStmt: ALTER TABLE relation_expr RENAME opt_column name TO name  */
   42458             : #line 9717 "gram.y"
   42459             :                                 {
   42460             :                     RenameStmt *n = makeNode(RenameStmt);
   42461             : 
   42462             :                     n->renameType = OBJECT_COLUMN;
   42463             :                     n->relationType = OBJECT_TABLE;
   42464             :                     n->relation = (yyvsp[-5].range);
   42465             :                     n->subname = (yyvsp[-2].str);
   42466             :                     n->newname = (yyvsp[0].str);
   42467             :                     n->missing_ok = false;
   42468             :                     (yyval.node) = (Node *) n;
   42469             :                 }
   42470             : #line 42471 "gram.c"
   42471         238 :     break;
   42472             : 
   42473          24 :   case 1307: /* RenameStmt: ALTER TABLE IF_P EXISTS relation_expr RENAME opt_column name TO name  */
   42474             : #line 9729 "gram.y"
   42475             :                                 {
   42476             :                     RenameStmt *n = makeNode(RenameStmt);
   42477             : 
   42478             :                     n->renameType = OBJECT_COLUMN;
   42479             :                     n->relationType = OBJECT_TABLE;
   42480             :                     n->relation = (yyvsp[-5].range);
   42481             :                     n->subname = (yyvsp[-2].str);
   42482             :                     n->newname = (yyvsp[0].str);
   42483             :                     n->missing_ok = true;
   42484             :                     (yyval.node) = (Node *) n;
   42485             :                 }
   42486             : #line 42487 "gram.c"
   42487          24 :     break;
   42488             : 
   42489          18 :   case 1308: /* RenameStmt: ALTER VIEW qualified_name RENAME opt_column name TO name  */
   42490             : #line 9741 "gram.y"
   42491             :                                 {
   42492             :                     RenameStmt *n = makeNode(RenameStmt);
   42493             : 
   42494             :                     n->renameType = OBJECT_COLUMN;
   42495             :                     n->relationType = OBJECT_VIEW;
   42496             :                     n->relation = (yyvsp[-5].range);
   42497             :                     n->subname = (yyvsp[-2].str);
   42498             :                     n->newname = (yyvsp[0].str);
   42499             :                     n->missing_ok = false;
   42500             :                     (yyval.node) = (Node *) n;
   42501             :                 }
   42502             : #line 42503 "gram.c"
   42503          18 :     break;
   42504             : 
   42505           0 :   case 1309: /* RenameStmt: ALTER VIEW IF_P EXISTS qualified_name RENAME opt_column name TO name  */
   42506             : #line 9753 "gram.y"
   42507             :                                 {
   42508             :                     RenameStmt *n = makeNode(RenameStmt);
   42509             : 
   42510             :                     n->renameType = OBJECT_COLUMN;
   42511             :                     n->relationType = OBJECT_VIEW;
   42512             :                     n->relation = (yyvsp[-5].range);
   42513             :                     n->subname = (yyvsp[-2].str);
   42514             :                     n->newname = (yyvsp[0].str);
   42515             :                     n->missing_ok = true;
   42516             :                     (yyval.node) = (Node *) n;
   42517             :                 }
   42518             : #line 42519 "gram.c"
   42519           0 :     break;
   42520             : 
   42521           0 :   case 1310: /* RenameStmt: ALTER MATERIALIZED VIEW qualified_name RENAME opt_column name TO name  */
   42522             : #line 9765 "gram.y"
   42523             :                                 {
   42524             :                     RenameStmt *n = makeNode(RenameStmt);
   42525             : 
   42526             :                     n->renameType = OBJECT_COLUMN;
   42527             :                     n->relationType = OBJECT_MATVIEW;
   42528             :                     n->relation = (yyvsp[-5].range);
   42529             :                     n->subname = (yyvsp[-2].str);
   42530             :                     n->newname = (yyvsp[0].str);
   42531             :                     n->missing_ok = false;
   42532             :                     (yyval.node) = (Node *) n;
   42533             :                 }
   42534             : #line 42535 "gram.c"
   42535           0 :     break;
   42536             : 
   42537           0 :   case 1311: /* RenameStmt: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name RENAME opt_column name TO name  */
   42538             : #line 9777 "gram.y"
   42539             :                                 {
   42540             :                     RenameStmt *n = makeNode(RenameStmt);
   42541             : 
   42542             :                     n->renameType = OBJECT_COLUMN;
   42543             :                     n->relationType = OBJECT_MATVIEW;
   42544             :                     n->relation = (yyvsp[-5].range);
   42545             :                     n->subname = (yyvsp[-2].str);
   42546             :                     n->newname = (yyvsp[0].str);
   42547             :                     n->missing_ok = true;
   42548             :                     (yyval.node) = (Node *) n;
   42549             :                 }
   42550             : #line 42551 "gram.c"
   42551           0 :     break;
   42552             : 
   42553          72 :   case 1312: /* RenameStmt: ALTER TABLE relation_expr RENAME CONSTRAINT name TO name  */
   42554             : #line 9789 "gram.y"
   42555             :                                 {
   42556             :                     RenameStmt *n = makeNode(RenameStmt);
   42557             : 
   42558             :                     n->renameType = OBJECT_TABCONSTRAINT;
   42559             :                     n->relation = (yyvsp[-5].range);
   42560             :                     n->subname = (yyvsp[-2].str);
   42561             :                     n->newname = (yyvsp[0].str);
   42562             :                     n->missing_ok = false;
   42563             :                     (yyval.node) = (Node *) n;
   42564             :                 }
   42565             : #line 42566 "gram.c"
   42566          72 :     break;
   42567             : 
   42568           6 :   case 1313: /* RenameStmt: ALTER TABLE IF_P EXISTS relation_expr RENAME CONSTRAINT name TO name  */
   42569             : #line 9800 "gram.y"
   42570             :                                 {
   42571             :                     RenameStmt *n = makeNode(RenameStmt);
   42572             : 
   42573             :                     n->renameType = OBJECT_TABCONSTRAINT;
   42574             :                     n->relation = (yyvsp[-5].range);
   42575             :                     n->subname = (yyvsp[-2].str);
   42576             :                     n->newname = (yyvsp[0].str);
   42577             :                     n->missing_ok = true;
   42578             :                     (yyval.node) = (Node *) n;
   42579             :                 }
   42580             : #line 42581 "gram.c"
   42581           6 :     break;
   42582             : 
   42583           6 :   case 1314: /* RenameStmt: ALTER FOREIGN TABLE relation_expr RENAME opt_column name TO name  */
   42584             : #line 9811 "gram.y"
   42585             :                                 {
   42586             :                     RenameStmt *n = makeNode(RenameStmt);
   42587             : 
   42588             :                     n->renameType = OBJECT_COLUMN;
   42589             :                     n->relationType = OBJECT_FOREIGN_TABLE;
   42590             :                     n->relation = (yyvsp[-5].range);
   42591             :                     n->subname = (yyvsp[-2].str);
   42592             :                     n->newname = (yyvsp[0].str);
   42593             :                     n->missing_ok = false;
   42594             :                     (yyval.node) = (Node *) n;
   42595             :                 }
   42596             : #line 42597 "gram.c"
   42597           6 :     break;
   42598             : 
   42599           6 :   case 1315: /* RenameStmt: ALTER FOREIGN TABLE IF_P EXISTS relation_expr RENAME opt_column name TO name  */
   42600             : #line 9823 "gram.y"
   42601             :                                 {
   42602             :                     RenameStmt *n = makeNode(RenameStmt);
   42603             : 
   42604             :                     n->renameType = OBJECT_COLUMN;
   42605             :                     n->relationType = OBJECT_FOREIGN_TABLE;
   42606             :                     n->relation = (yyvsp[-5].range);
   42607             :                     n->subname = (yyvsp[-2].str);
   42608             :                     n->newname = (yyvsp[0].str);
   42609             :                     n->missing_ok = true;
   42610             :                     (yyval.node) = (Node *) n;
   42611             :                 }
   42612             : #line 42613 "gram.c"
   42613           6 :     break;
   42614             : 
   42615          34 :   case 1316: /* RenameStmt: ALTER RULE name ON qualified_name RENAME TO name  */
   42616             : #line 9835 "gram.y"
   42617             :                                 {
   42618             :                     RenameStmt *n = makeNode(RenameStmt);
   42619             : 
   42620             :                     n->renameType = OBJECT_RULE;
   42621             :                     n->relation = (yyvsp[-3].range);
   42622             :                     n->subname = (yyvsp[-5].str);
   42623             :                     n->newname = (yyvsp[0].str);
   42624             :                     n->missing_ok = false;
   42625             :                     (yyval.node) = (Node *) n;
   42626             :                 }
   42627             : #line 42628 "gram.c"
   42628          34 :     break;
   42629             : 
   42630          40 :   case 1317: /* RenameStmt: ALTER TRIGGER name ON qualified_name RENAME TO name  */
   42631             : #line 9846 "gram.y"
   42632             :                                 {
   42633             :                     RenameStmt *n = makeNode(RenameStmt);
   42634             : 
   42635             :                     n->renameType = OBJECT_TRIGGER;
   42636             :                     n->relation = (yyvsp[-3].range);
   42637             :                     n->subname = (yyvsp[-5].str);
   42638             :                     n->newname = (yyvsp[0].str);
   42639             :                     n->missing_ok = false;
   42640             :                     (yyval.node) = (Node *) n;
   42641             :                 }
   42642             : #line 42643 "gram.c"
   42643          40 :     break;
   42644             : 
   42645          12 :   case 1318: /* RenameStmt: ALTER EVENT TRIGGER name RENAME TO name  */
   42646             : #line 9857 "gram.y"
   42647             :                                 {
   42648             :                     RenameStmt *n = makeNode(RenameStmt);
   42649             : 
   42650             :                     n->renameType = OBJECT_EVENT_TRIGGER;
   42651             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   42652             :                     n->newname = (yyvsp[0].str);
   42653             :                     (yyval.node) = (Node *) n;
   42654             :                 }
   42655             : #line 42656 "gram.c"
   42656          12 :     break;
   42657             : 
   42658          30 :   case 1319: /* RenameStmt: ALTER ROLE RoleId RENAME TO RoleId  */
   42659             : #line 9866 "gram.y"
   42660             :                                 {
   42661             :                     RenameStmt *n = makeNode(RenameStmt);
   42662             : 
   42663             :                     n->renameType = OBJECT_ROLE;
   42664             :                     n->subname = (yyvsp[-3].str);
   42665             :                     n->newname = (yyvsp[0].str);
   42666             :                     n->missing_ok = false;
   42667             :                     (yyval.node) = (Node *) n;
   42668             :                 }
   42669             : #line 42670 "gram.c"
   42670          30 :     break;
   42671             : 
   42672           0 :   case 1320: /* RenameStmt: ALTER USER RoleId RENAME TO RoleId  */
   42673             : #line 9876 "gram.y"
   42674             :                                 {
   42675             :                     RenameStmt *n = makeNode(RenameStmt);
   42676             : 
   42677             :                     n->renameType = OBJECT_ROLE;
   42678             :                     n->subname = (yyvsp[-3].str);
   42679             :                     n->newname = (yyvsp[0].str);
   42680             :                     n->missing_ok = false;
   42681             :                     (yyval.node) = (Node *) n;
   42682             :                 }
   42683             : #line 42684 "gram.c"
   42684           0 :     break;
   42685             : 
   42686           6 :   case 1321: /* RenameStmt: ALTER TABLESPACE name RENAME TO name  */
   42687             : #line 9886 "gram.y"
   42688             :                                 {
   42689             :                     RenameStmt *n = makeNode(RenameStmt);
   42690             : 
   42691             :                     n->renameType = OBJECT_TABLESPACE;
   42692             :                     n->subname = (yyvsp[-3].str);
   42693             :                     n->newname = (yyvsp[0].str);
   42694             :                     n->missing_ok = false;
   42695             :                     (yyval.node) = (Node *) n;
   42696             :                 }
   42697             : #line 42698 "gram.c"
   42698           6 :     break;
   42699             : 
   42700          30 :   case 1322: /* RenameStmt: ALTER STATISTICS any_name RENAME TO name  */
   42701             : #line 9896 "gram.y"
   42702             :                                 {
   42703             :                     RenameStmt *n = makeNode(RenameStmt);
   42704             : 
   42705             :                     n->renameType = OBJECT_STATISTIC_EXT;
   42706             :                     n->object = (Node *) (yyvsp[-3].list);
   42707             :                     n->newname = (yyvsp[0].str);
   42708             :                     n->missing_ok = false;
   42709             :                     (yyval.node) = (Node *) n;
   42710             :                 }
   42711             : #line 42712 "gram.c"
   42712          30 :     break;
   42713             : 
   42714          12 :   case 1323: /* RenameStmt: ALTER TEXT_P SEARCH PARSER any_name RENAME TO name  */
   42715             : #line 9906 "gram.y"
   42716             :                                 {
   42717             :                     RenameStmt *n = makeNode(RenameStmt);
   42718             : 
   42719             :                     n->renameType = OBJECT_TSPARSER;
   42720             :                     n->object = (Node *) (yyvsp[-3].list);
   42721             :                     n->newname = (yyvsp[0].str);
   42722             :                     n->missing_ok = false;
   42723             :                     (yyval.node) = (Node *) n;
   42724             :                 }
   42725             : #line 42726 "gram.c"
   42726          12 :     break;
   42727             : 
   42728          24 :   case 1324: /* RenameStmt: ALTER TEXT_P SEARCH DICTIONARY any_name RENAME TO name  */
   42729             : #line 9916 "gram.y"
   42730             :                                 {
   42731             :                     RenameStmt *n = makeNode(RenameStmt);
   42732             : 
   42733             :                     n->renameType = OBJECT_TSDICTIONARY;
   42734             :                     n->object = (Node *) (yyvsp[-3].list);
   42735             :                     n->newname = (yyvsp[0].str);
   42736             :                     n->missing_ok = false;
   42737             :                     (yyval.node) = (Node *) n;
   42738             :                 }
   42739             : #line 42740 "gram.c"
   42740          24 :     break;
   42741             : 
   42742          12 :   case 1325: /* RenameStmt: ALTER TEXT_P SEARCH TEMPLATE any_name RENAME TO name  */
   42743             : #line 9926 "gram.y"
   42744             :                                 {
   42745             :                     RenameStmt *n = makeNode(RenameStmt);
   42746             : 
   42747             :                     n->renameType = OBJECT_TSTEMPLATE;
   42748             :                     n->object = (Node *) (yyvsp[-3].list);
   42749             :                     n->newname = (yyvsp[0].str);
   42750             :                     n->missing_ok = false;
   42751             :                     (yyval.node) = (Node *) n;
   42752             :                 }
   42753             : #line 42754 "gram.c"
   42754          12 :     break;
   42755             : 
   42756          24 :   case 1326: /* RenameStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name RENAME TO name  */
   42757             : #line 9936 "gram.y"
   42758             :                                 {
   42759             :                     RenameStmt *n = makeNode(RenameStmt);
   42760             : 
   42761             :                     n->renameType = OBJECT_TSCONFIGURATION;
   42762             :                     n->object = (Node *) (yyvsp[-3].list);
   42763             :                     n->newname = (yyvsp[0].str);
   42764             :                     n->missing_ok = false;
   42765             :                     (yyval.node) = (Node *) n;
   42766             :                 }
   42767             : #line 42768 "gram.c"
   42768          24 :     break;
   42769             : 
   42770          26 :   case 1327: /* RenameStmt: ALTER TYPE_P any_name RENAME TO name  */
   42771             : #line 9946 "gram.y"
   42772             :                                 {
   42773             :                     RenameStmt *n = makeNode(RenameStmt);
   42774             : 
   42775             :                     n->renameType = OBJECT_TYPE;
   42776             :                     n->object = (Node *) (yyvsp[-3].list);
   42777             :                     n->newname = (yyvsp[0].str);
   42778             :                     n->missing_ok = false;
   42779             :                     (yyval.node) = (Node *) n;
   42780             :                 }
   42781             : #line 42782 "gram.c"
   42782          26 :     break;
   42783             : 
   42784          24 :   case 1328: /* RenameStmt: ALTER TYPE_P any_name RENAME ATTRIBUTE name TO name opt_drop_behavior  */
   42785             : #line 9956 "gram.y"
   42786             :                                 {
   42787             :                     RenameStmt *n = makeNode(RenameStmt);
   42788             : 
   42789             :                     n->renameType = OBJECT_ATTRIBUTE;
   42790             :                     n->relationType = OBJECT_TYPE;
   42791             :                     n->relation = makeRangeVarFromAnyName((yyvsp[-6].list), (yylsp[-6]), yyscanner);
   42792             :                     n->subname = (yyvsp[-3].str);
   42793             :                     n->newname = (yyvsp[-1].str);
   42794             :                     n->behavior = (yyvsp[0].dbehavior);
   42795             :                     n->missing_ok = false;
   42796             :                     (yyval.node) = (Node *) n;
   42797             :                 }
   42798             : #line 42799 "gram.c"
   42799          24 :     break;
   42800             : 
   42801         184 :   case 1331: /* opt_set_data: SET DATA_P  */
   42802             : #line 9974 "gram.y"
   42803             :                                                                                 { (yyval.ival) = 1; }
   42804             : #line 42805 "gram.c"
   42805         184 :     break;
   42806             : 
   42807         884 :   case 1332: /* opt_set_data: %empty  */
   42808             : #line 9975 "gram.y"
   42809             :                                                                                                 { (yyval.ival) = 0; }
   42810             : #line 42811 "gram.c"
   42811         884 :     break;
   42812             : 
   42813          12 :   case 1333: /* AlterObjectDependsStmt: ALTER FUNCTION function_with_argtypes opt_no DEPENDS ON EXTENSION name  */
   42814             : #line 9986 "gram.y"
   42815             :                                 {
   42816             :                     AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
   42817             : 
   42818             :                     n->objectType = OBJECT_FUNCTION;
   42819             :                     n->object = (Node *) (yyvsp[-5].objwithargs);
   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          12 :     break;
   42826             : 
   42827           0 :   case 1334: /* AlterObjectDependsStmt: ALTER PROCEDURE function_with_argtypes opt_no DEPENDS ON EXTENSION name  */
   42828             : #line 9996 "gram.y"
   42829             :                                 {
   42830             :                     AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
   42831             : 
   42832             :                     n->objectType = OBJECT_PROCEDURE;
   42833             :                     n->object = (Node *) (yyvsp[-5].objwithargs);
   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           0 :     break;
   42840             : 
   42841           0 :   case 1335: /* AlterObjectDependsStmt: ALTER ROUTINE function_with_argtypes opt_no DEPENDS ON EXTENSION name  */
   42842             : #line 10006 "gram.y"
   42843             :                                 {
   42844             :                     AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
   42845             : 
   42846             :                     n->objectType = OBJECT_ROUTINE;
   42847             :                     n->object = (Node *) (yyvsp[-5].objwithargs);
   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           0 :     break;
   42854             : 
   42855          10 :   case 1336: /* AlterObjectDependsStmt: ALTER TRIGGER name ON qualified_name opt_no DEPENDS ON EXTENSION name  */
   42856             : #line 10016 "gram.y"
   42857             :                                 {
   42858             :                     AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
   42859             : 
   42860             :                     n->objectType = OBJECT_TRIGGER;
   42861             :                     n->relation = (yyvsp[-5].range);
   42862             :                     n->object = (Node *) list_make1(makeString((yyvsp[-7].str)));
   42863             :                     n->extname = makeString((yyvsp[0].str));
   42864             :                     n->remove = (yyvsp[-4].boolean);
   42865             :                     (yyval.node) = (Node *) n;
   42866             :                 }
   42867             : #line 42868 "gram.c"
   42868          10 :     break;
   42869             : 
   42870          10 :   case 1337: /* AlterObjectDependsStmt: ALTER MATERIALIZED VIEW qualified_name opt_no DEPENDS ON EXTENSION name  */
   42871             : #line 10027 "gram.y"
   42872             :                                 {
   42873             :                     AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
   42874             : 
   42875             :                     n->objectType = OBJECT_MATVIEW;
   42876             :                     n->relation = (yyvsp[-5].range);
   42877             :                     n->extname = makeString((yyvsp[0].str));
   42878             :                     n->remove = (yyvsp[-4].boolean);
   42879             :                     (yyval.node) = (Node *) n;
   42880             :                 }
   42881             : #line 42882 "gram.c"
   42882          10 :     break;
   42883             : 
   42884          14 :   case 1338: /* AlterObjectDependsStmt: ALTER INDEX qualified_name opt_no DEPENDS ON EXTENSION name  */
   42885             : #line 10037 "gram.y"
   42886             :                                 {
   42887             :                     AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
   42888             : 
   42889             :                     n->objectType = OBJECT_INDEX;
   42890             :                     n->relation = (yyvsp[-5].range);
   42891             :                     n->extname = makeString((yyvsp[0].str));
   42892             :                     n->remove = (yyvsp[-4].boolean);
   42893             :                     (yyval.node) = (Node *) n;
   42894             :                 }
   42895             : #line 42896 "gram.c"
   42896          14 :     break;
   42897             : 
   42898           8 :   case 1339: /* opt_no: NO  */
   42899             : #line 10048 "gram.y"
   42900             :                                                 { (yyval.boolean) = true; }
   42901             : #line 42902 "gram.c"
   42902           8 :     break;
   42903             : 
   42904          38 :   case 1340: /* opt_no: %empty  */
   42905             : #line 10049 "gram.y"
   42906             :                                         { (yyval.boolean) = false;  }
   42907             : #line 42908 "gram.c"
   42908          38 :     break;
   42909             : 
   42910          24 :   case 1341: /* AlterObjectSchemaStmt: ALTER AGGREGATE aggregate_with_argtypes SET SCHEMA name  */
   42911             : #line 10060 "gram.y"
   42912             :                                 {
   42913             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   42914             : 
   42915             :                     n->objectType = OBJECT_AGGREGATE;
   42916             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   42917             :                     n->newschema = (yyvsp[0].str);
   42918             :                     n->missing_ok = false;
   42919             :                     (yyval.node) = (Node *) n;
   42920             :                 }
   42921             : #line 42922 "gram.c"
   42922          24 :     break;
   42923             : 
   42924           6 :   case 1342: /* AlterObjectSchemaStmt: ALTER COLLATION any_name SET SCHEMA name  */
   42925             : #line 10070 "gram.y"
   42926             :                                 {
   42927             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   42928             : 
   42929             :                     n->objectType = OBJECT_COLLATION;
   42930             :                     n->object = (Node *) (yyvsp[-3].list);
   42931             :                     n->newschema = (yyvsp[0].str);
   42932             :                     n->missing_ok = false;
   42933             :                     (yyval.node) = (Node *) n;
   42934             :                 }
   42935             : #line 42936 "gram.c"
   42936           6 :     break;
   42937             : 
   42938          24 :   case 1343: /* AlterObjectSchemaStmt: ALTER CONVERSION_P any_name SET SCHEMA name  */
   42939             : #line 10080 "gram.y"
   42940             :                                 {
   42941             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   42942             : 
   42943             :                     n->objectType = OBJECT_CONVERSION;
   42944             :                     n->object = (Node *) (yyvsp[-3].list);
   42945             :                     n->newschema = (yyvsp[0].str);
   42946             :                     n->missing_ok = false;
   42947             :                     (yyval.node) = (Node *) n;
   42948             :                 }
   42949             : #line 42950 "gram.c"
   42950          24 :     break;
   42951             : 
   42952           6 :   case 1344: /* AlterObjectSchemaStmt: ALTER DOMAIN_P any_name SET SCHEMA name  */
   42953             : #line 10090 "gram.y"
   42954             :                                 {
   42955             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   42956             : 
   42957             :                     n->objectType = OBJECT_DOMAIN;
   42958             :                     n->object = (Node *) (yyvsp[-3].list);
   42959             :                     n->newschema = (yyvsp[0].str);
   42960             :                     n->missing_ok = false;
   42961             :                     (yyval.node) = (Node *) n;
   42962             :                 }
   42963             : #line 42964 "gram.c"
   42964           6 :     break;
   42965             : 
   42966          12 :   case 1345: /* AlterObjectSchemaStmt: ALTER EXTENSION name SET SCHEMA name  */
   42967             : #line 10100 "gram.y"
   42968             :                                 {
   42969             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   42970             : 
   42971             :                     n->objectType = OBJECT_EXTENSION;
   42972             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   42973             :                     n->newschema = (yyvsp[0].str);
   42974             :                     n->missing_ok = false;
   42975             :                     (yyval.node) = (Node *) n;
   42976             :                 }
   42977             : #line 42978 "gram.c"
   42978          12 :     break;
   42979             : 
   42980          42 :   case 1346: /* AlterObjectSchemaStmt: ALTER FUNCTION function_with_argtypes SET SCHEMA name  */
   42981             : #line 10110 "gram.y"
   42982             :                                 {
   42983             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   42984             : 
   42985             :                     n->objectType = OBJECT_FUNCTION;
   42986             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   42987             :                     n->newschema = (yyvsp[0].str);
   42988             :                     n->missing_ok = false;
   42989             :                     (yyval.node) = (Node *) n;
   42990             :                 }
   42991             : #line 42992 "gram.c"
   42992          42 :     break;
   42993             : 
   42994          18 :   case 1347: /* AlterObjectSchemaStmt: ALTER OPERATOR operator_with_argtypes SET SCHEMA name  */
   42995             : #line 10120 "gram.y"
   42996             :                                 {
   42997             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   42998             : 
   42999             :                     n->objectType = OBJECT_OPERATOR;
   43000             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   43001             :                     n->newschema = (yyvsp[0].str);
   43002             :                     n->missing_ok = false;
   43003             :                     (yyval.node) = (Node *) n;
   43004             :                 }
   43005             : #line 43006 "gram.c"
   43006          18 :     break;
   43007             : 
   43008          24 :   case 1348: /* AlterObjectSchemaStmt: ALTER OPERATOR CLASS any_name USING name SET SCHEMA name  */
   43009             : #line 10130 "gram.y"
   43010             :                                 {
   43011             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43012             : 
   43013             :                     n->objectType = OBJECT_OPCLASS;
   43014             :                     n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
   43015             :                     n->newschema = (yyvsp[0].str);
   43016             :                     n->missing_ok = false;
   43017             :                     (yyval.node) = (Node *) n;
   43018             :                 }
   43019             : #line 43020 "gram.c"
   43020          24 :     break;
   43021             : 
   43022          24 :   case 1349: /* AlterObjectSchemaStmt: ALTER OPERATOR FAMILY any_name USING name SET SCHEMA name  */
   43023             : #line 10140 "gram.y"
   43024             :                                 {
   43025             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43026             : 
   43027             :                     n->objectType = OBJECT_OPFAMILY;
   43028             :                     n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
   43029             :                     n->newschema = (yyvsp[0].str);
   43030             :                     n->missing_ok = false;
   43031             :                     (yyval.node) = (Node *) n;
   43032             :                 }
   43033             : #line 43034 "gram.c"
   43034          24 :     break;
   43035             : 
   43036           0 :   case 1350: /* AlterObjectSchemaStmt: ALTER PROCEDURE function_with_argtypes SET SCHEMA name  */
   43037             : #line 10150 "gram.y"
   43038             :                                 {
   43039             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43040             : 
   43041             :                     n->objectType = OBJECT_PROCEDURE;
   43042             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   43043             :                     n->newschema = (yyvsp[0].str);
   43044             :                     n->missing_ok = false;
   43045             :                     (yyval.node) = (Node *) n;
   43046             :                 }
   43047             : #line 43048 "gram.c"
   43048           0 :     break;
   43049             : 
   43050           0 :   case 1351: /* AlterObjectSchemaStmt: ALTER ROUTINE function_with_argtypes SET SCHEMA name  */
   43051             : #line 10160 "gram.y"
   43052             :                                 {
   43053             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43054             : 
   43055             :                     n->objectType = OBJECT_ROUTINE;
   43056             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   43057             :                     n->newschema = (yyvsp[0].str);
   43058             :                     n->missing_ok = false;
   43059             :                     (yyval.node) = (Node *) n;
   43060             :                 }
   43061             : #line 43062 "gram.c"
   43062           0 :     break;
   43063             : 
   43064          66 :   case 1352: /* AlterObjectSchemaStmt: ALTER TABLE relation_expr SET SCHEMA name  */
   43065             : #line 10170 "gram.y"
   43066             :                                 {
   43067             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43068             : 
   43069             :                     n->objectType = OBJECT_TABLE;
   43070             :                     n->relation = (yyvsp[-3].range);
   43071             :                     n->newschema = (yyvsp[0].str);
   43072             :                     n->missing_ok = false;
   43073             :                     (yyval.node) = (Node *) n;
   43074             :                 }
   43075             : #line 43076 "gram.c"
   43076          66 :     break;
   43077             : 
   43078          12 :   case 1353: /* AlterObjectSchemaStmt: ALTER TABLE IF_P EXISTS relation_expr SET SCHEMA name  */
   43079             : #line 10180 "gram.y"
   43080             :                                 {
   43081             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43082             : 
   43083             :                     n->objectType = OBJECT_TABLE;
   43084             :                     n->relation = (yyvsp[-3].range);
   43085             :                     n->newschema = (yyvsp[0].str);
   43086             :                     n->missing_ok = true;
   43087             :                     (yyval.node) = (Node *) n;
   43088             :                 }
   43089             : #line 43090 "gram.c"
   43090          12 :     break;
   43091             : 
   43092          18 :   case 1354: /* AlterObjectSchemaStmt: ALTER STATISTICS any_name SET SCHEMA name  */
   43093             : #line 10190 "gram.y"
   43094             :                                 {
   43095             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43096             : 
   43097             :                     n->objectType = OBJECT_STATISTIC_EXT;
   43098             :                     n->object = (Node *) (yyvsp[-3].list);
   43099             :                     n->newschema = (yyvsp[0].str);
   43100             :                     n->missing_ok = false;
   43101             :                     (yyval.node) = (Node *) n;
   43102             :                 }
   43103             : #line 43104 "gram.c"
   43104          18 :     break;
   43105             : 
   43106          18 :   case 1355: /* AlterObjectSchemaStmt: ALTER TEXT_P SEARCH PARSER any_name SET SCHEMA name  */
   43107             : #line 10200 "gram.y"
   43108             :                                 {
   43109             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43110             : 
   43111             :                     n->objectType = OBJECT_TSPARSER;
   43112             :                     n->object = (Node *) (yyvsp[-3].list);
   43113             :                     n->newschema = (yyvsp[0].str);
   43114             :                     n->missing_ok = false;
   43115             :                     (yyval.node) = (Node *) n;
   43116             :                 }
   43117             : #line 43118 "gram.c"
   43118          18 :     break;
   43119             : 
   43120          24 :   case 1356: /* AlterObjectSchemaStmt: ALTER TEXT_P SEARCH DICTIONARY any_name SET SCHEMA name  */
   43121             : #line 10210 "gram.y"
   43122             :                                 {
   43123             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43124             : 
   43125             :                     n->objectType = OBJECT_TSDICTIONARY;
   43126             :                     n->object = (Node *) (yyvsp[-3].list);
   43127             :                     n->newschema = (yyvsp[0].str);
   43128             :                     n->missing_ok = false;
   43129             :                     (yyval.node) = (Node *) n;
   43130             :                 }
   43131             : #line 43132 "gram.c"
   43132          24 :     break;
   43133             : 
   43134          18 :   case 1357: /* AlterObjectSchemaStmt: ALTER TEXT_P SEARCH TEMPLATE any_name SET SCHEMA name  */
   43135             : #line 10220 "gram.y"
   43136             :                                 {
   43137             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43138             : 
   43139             :                     n->objectType = OBJECT_TSTEMPLATE;
   43140             :                     n->object = (Node *) (yyvsp[-3].list);
   43141             :                     n->newschema = (yyvsp[0].str);
   43142             :                     n->missing_ok = false;
   43143             :                     (yyval.node) = (Node *) n;
   43144             :                 }
   43145             : #line 43146 "gram.c"
   43146          18 :     break;
   43147             : 
   43148          24 :   case 1358: /* AlterObjectSchemaStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name SET SCHEMA name  */
   43149             : #line 10230 "gram.y"
   43150             :                                 {
   43151             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43152             : 
   43153             :                     n->objectType = OBJECT_TSCONFIGURATION;
   43154             :                     n->object = (Node *) (yyvsp[-3].list);
   43155             :                     n->newschema = (yyvsp[0].str);
   43156             :                     n->missing_ok = false;
   43157             :                     (yyval.node) = (Node *) n;
   43158             :                 }
   43159             : #line 43160 "gram.c"
   43160          24 :     break;
   43161             : 
   43162           8 :   case 1359: /* AlterObjectSchemaStmt: ALTER SEQUENCE qualified_name SET SCHEMA name  */
   43163             : #line 10240 "gram.y"
   43164             :                                 {
   43165             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43166             : 
   43167             :                     n->objectType = OBJECT_SEQUENCE;
   43168             :                     n->relation = (yyvsp[-3].range);
   43169             :                     n->newschema = (yyvsp[0].str);
   43170             :                     n->missing_ok = false;
   43171             :                     (yyval.node) = (Node *) n;
   43172             :                 }
   43173             : #line 43174 "gram.c"
   43174           8 :     break;
   43175             : 
   43176           0 :   case 1360: /* AlterObjectSchemaStmt: ALTER SEQUENCE IF_P EXISTS qualified_name SET SCHEMA name  */
   43177             : #line 10250 "gram.y"
   43178             :                                 {
   43179             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43180             : 
   43181             :                     n->objectType = OBJECT_SEQUENCE;
   43182             :                     n->relation = (yyvsp[-3].range);
   43183             :                     n->newschema = (yyvsp[0].str);
   43184             :                     n->missing_ok = true;
   43185             :                     (yyval.node) = (Node *) n;
   43186             :                 }
   43187             : #line 43188 "gram.c"
   43188           0 :     break;
   43189             : 
   43190           0 :   case 1361: /* AlterObjectSchemaStmt: ALTER VIEW qualified_name SET SCHEMA name  */
   43191             : #line 10260 "gram.y"
   43192             :                                 {
   43193             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43194             : 
   43195             :                     n->objectType = OBJECT_VIEW;
   43196             :                     n->relation = (yyvsp[-3].range);
   43197             :                     n->newschema = (yyvsp[0].str);
   43198             :                     n->missing_ok = false;
   43199             :                     (yyval.node) = (Node *) n;
   43200             :                 }
   43201             : #line 43202 "gram.c"
   43202           0 :     break;
   43203             : 
   43204           0 :   case 1362: /* AlterObjectSchemaStmt: ALTER VIEW IF_P EXISTS qualified_name SET SCHEMA name  */
   43205             : #line 10270 "gram.y"
   43206             :                                 {
   43207             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43208             : 
   43209             :                     n->objectType = OBJECT_VIEW;
   43210             :                     n->relation = (yyvsp[-3].range);
   43211             :                     n->newschema = (yyvsp[0].str);
   43212             :                     n->missing_ok = true;
   43213             :                     (yyval.node) = (Node *) n;
   43214             :                 }
   43215             : #line 43216 "gram.c"
   43216           0 :     break;
   43217             : 
   43218           6 :   case 1363: /* AlterObjectSchemaStmt: ALTER MATERIALIZED VIEW qualified_name SET SCHEMA name  */
   43219             : #line 10280 "gram.y"
   43220             :                                 {
   43221             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43222             : 
   43223             :                     n->objectType = OBJECT_MATVIEW;
   43224             :                     n->relation = (yyvsp[-3].range);
   43225             :                     n->newschema = (yyvsp[0].str);
   43226             :                     n->missing_ok = false;
   43227             :                     (yyval.node) = (Node *) n;
   43228             :                 }
   43229             : #line 43230 "gram.c"
   43230           6 :     break;
   43231             : 
   43232           0 :   case 1364: /* AlterObjectSchemaStmt: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name SET SCHEMA name  */
   43233             : #line 10290 "gram.y"
   43234             :                                 {
   43235             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43236             : 
   43237             :                     n->objectType = OBJECT_MATVIEW;
   43238             :                     n->relation = (yyvsp[-3].range);
   43239             :                     n->newschema = (yyvsp[0].str);
   43240             :                     n->missing_ok = true;
   43241             :                     (yyval.node) = (Node *) n;
   43242             :                 }
   43243             : #line 43244 "gram.c"
   43244           0 :     break;
   43245             : 
   43246           6 :   case 1365: /* AlterObjectSchemaStmt: ALTER FOREIGN TABLE relation_expr SET SCHEMA name  */
   43247             : #line 10300 "gram.y"
   43248             :                                 {
   43249             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43250             : 
   43251             :                     n->objectType = OBJECT_FOREIGN_TABLE;
   43252             :                     n->relation = (yyvsp[-3].range);
   43253             :                     n->newschema = (yyvsp[0].str);
   43254             :                     n->missing_ok = false;
   43255             :                     (yyval.node) = (Node *) n;
   43256             :                 }
   43257             : #line 43258 "gram.c"
   43258           6 :     break;
   43259             : 
   43260           6 :   case 1366: /* AlterObjectSchemaStmt: ALTER FOREIGN TABLE IF_P EXISTS relation_expr SET SCHEMA name  */
   43261             : #line 10310 "gram.y"
   43262             :                                 {
   43263             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43264             : 
   43265             :                     n->objectType = OBJECT_FOREIGN_TABLE;
   43266             :                     n->relation = (yyvsp[-3].range);
   43267             :                     n->newschema = (yyvsp[0].str);
   43268             :                     n->missing_ok = true;
   43269             :                     (yyval.node) = (Node *) n;
   43270             :                 }
   43271             : #line 43272 "gram.c"
   43272           6 :     break;
   43273             : 
   43274          12 :   case 1367: /* AlterObjectSchemaStmt: ALTER TYPE_P any_name SET SCHEMA name  */
   43275             : #line 10320 "gram.y"
   43276             :                                 {
   43277             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43278             : 
   43279             :                     n->objectType = OBJECT_TYPE;
   43280             :                     n->object = (Node *) (yyvsp[-3].list);
   43281             :                     n->newschema = (yyvsp[0].str);
   43282             :                     n->missing_ok = false;
   43283             :                     (yyval.node) = (Node *) n;
   43284             :                 }
   43285             : #line 43286 "gram.c"
   43286          12 :     break;
   43287             : 
   43288         608 :   case 1368: /* AlterOperatorStmt: ALTER OPERATOR operator_with_argtypes SET '(' operator_def_list ')'  */
   43289             : #line 10339 "gram.y"
   43290             :                                 {
   43291             :                     AlterOperatorStmt *n = makeNode(AlterOperatorStmt);
   43292             : 
   43293             :                     n->opername = (yyvsp[-4].objwithargs);
   43294             :                     n->options = (yyvsp[-1].list);
   43295             :                     (yyval.node) = (Node *) n;
   43296             :                 }
   43297             : #line 43298 "gram.c"
   43298         608 :     break;
   43299             : 
   43300         668 :   case 1369: /* operator_def_list: operator_def_elem  */
   43301             : #line 10348 "gram.y"
   43302             :                                                                                                         { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   43303             : #line 43304 "gram.c"
   43304         668 :     break;
   43305             : 
   43306         506 :   case 1370: /* operator_def_list: operator_def_list ',' operator_def_elem  */
   43307             : #line 10349 "gram.y"
   43308             :                                                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
   43309             : #line 43310 "gram.c"
   43310         506 :     break;
   43311             : 
   43312          30 :   case 1371: /* operator_def_elem: ColLabel '=' NONE  */
   43313             : #line 10353 "gram.y"
   43314             :                                                 { (yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL, (yylsp[-2])); }
   43315             : #line 43316 "gram.c"
   43316          30 :     break;
   43317             : 
   43318        1110 :   case 1372: /* operator_def_elem: ColLabel '=' operator_def_arg  */
   43319             : #line 10355 "gram.y"
   43320             :                                                 { (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2])); }
   43321             : #line 43322 "gram.c"
   43322        1110 :     break;
   43323             : 
   43324          34 :   case 1373: /* operator_def_elem: ColLabel  */
   43325             : #line 10357 "gram.y"
   43326             :                                                 { (yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0])); }
   43327             : #line 43328 "gram.c"
   43328          34 :     break;
   43329             : 
   43330        1032 :   case 1374: /* operator_def_arg: func_type  */
   43331             : #line 10362 "gram.y"
   43332             :                                                                                 { (yyval.node) = (Node *) (yyvsp[0].typnam); }
   43333             : #line 43334 "gram.c"
   43334        1032 :     break;
   43335             : 
   43336          24 :   case 1375: /* operator_def_arg: reserved_keyword  */
   43337             : #line 10363 "gram.y"
   43338             :                                                                         { (yyval.node) = (Node *) makeString(pstrdup((yyvsp[0].keyword))); }
   43339             : #line 43340 "gram.c"
   43340          24 :     break;
   43341             : 
   43342          54 :   case 1376: /* operator_def_arg: qual_all_Op  */
   43343             : #line 10364 "gram.y"
   43344             :                                                                         { (yyval.node) = (Node *) (yyvsp[0].list); }
   43345             : #line 43346 "gram.c"
   43346          54 :     break;
   43347             : 
   43348           0 :   case 1377: /* operator_def_arg: NumericOnly  */
   43349             : #line 10365 "gram.y"
   43350             :                                                                         { (yyval.node) = (Node *) (yyvsp[0].node); }
   43351             : #line 43352 "gram.c"
   43352           0 :     break;
   43353             : 
   43354           0 :   case 1378: /* operator_def_arg: Sconst  */
   43355             : #line 10366 "gram.y"
   43356             :                                                                                 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
   43357             : #line 43358 "gram.c"
   43358           0 :     break;
   43359             : 
   43360          60 :   case 1379: /* AlterTypeStmt: ALTER TYPE_P any_name SET '(' operator_def_list ')'  */
   43361             : #line 10379 "gram.y"
   43362             :                                 {
   43363             :                     AlterTypeStmt *n = makeNode(AlterTypeStmt);
   43364             : 
   43365             :                     n->typeName = (yyvsp[-4].list);
   43366             :                     n->options = (yyvsp[-1].list);
   43367             :                     (yyval.node) = (Node *) n;
   43368             :                 }
   43369             : #line 43370 "gram.c"
   43370          60 :     break;
   43371             : 
   43372         236 :   case 1380: /* AlterOwnerStmt: ALTER AGGREGATE aggregate_with_argtypes OWNER TO RoleSpec  */
   43373             : #line 10395 "gram.y"
   43374             :                                 {
   43375             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43376             : 
   43377             :                     n->objectType = OBJECT_AGGREGATE;
   43378             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   43379             :                     n->newowner = (yyvsp[0].rolespec);
   43380             :                     (yyval.node) = (Node *) n;
   43381             :                 }
   43382             : #line 43383 "gram.c"
   43383         236 :     break;
   43384             : 
   43385          24 :   case 1381: /* AlterOwnerStmt: ALTER COLLATION any_name OWNER TO RoleSpec  */
   43386             : #line 10404 "gram.y"
   43387             :                                 {
   43388             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43389             : 
   43390             :                     n->objectType = OBJECT_COLLATION;
   43391             :                     n->object = (Node *) (yyvsp[-3].list);
   43392             :                     n->newowner = (yyvsp[0].rolespec);
   43393             :                     (yyval.node) = (Node *) n;
   43394             :                 }
   43395             : #line 43396 "gram.c"
   43396          24 :     break;
   43397             : 
   43398          24 :   case 1382: /* AlterOwnerStmt: ALTER CONVERSION_P any_name OWNER TO RoleSpec  */
   43399             : #line 10413 "gram.y"
   43400             :                                 {
   43401             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43402             : 
   43403             :                     n->objectType = OBJECT_CONVERSION;
   43404             :                     n->object = (Node *) (yyvsp[-3].list);
   43405             :                     n->newowner = (yyvsp[0].rolespec);
   43406             :                     (yyval.node) = (Node *) n;
   43407             :                 }
   43408             : #line 43409 "gram.c"
   43409          24 :     break;
   43410             : 
   43411          80 :   case 1383: /* AlterOwnerStmt: ALTER DATABASE name OWNER TO RoleSpec  */
   43412             : #line 10422 "gram.y"
   43413             :                                 {
   43414             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43415             : 
   43416             :                     n->objectType = OBJECT_DATABASE;
   43417             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   43418             :                     n->newowner = (yyvsp[0].rolespec);
   43419             :                     (yyval.node) = (Node *) n;
   43420             :                 }
   43421             : #line 43422 "gram.c"
   43422          80 :     break;
   43423             : 
   43424          92 :   case 1384: /* AlterOwnerStmt: ALTER DOMAIN_P any_name OWNER TO RoleSpec  */
   43425             : #line 10431 "gram.y"
   43426             :                                 {
   43427             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43428             : 
   43429             :                     n->objectType = OBJECT_DOMAIN;
   43430             :                     n->object = (Node *) (yyvsp[-3].list);
   43431             :                     n->newowner = (yyvsp[0].rolespec);
   43432             :                     (yyval.node) = (Node *) n;
   43433             :                 }
   43434             : #line 43435 "gram.c"
   43435          92 :     break;
   43436             : 
   43437        1114 :   case 1385: /* AlterOwnerStmt: ALTER FUNCTION function_with_argtypes OWNER TO RoleSpec  */
   43438             : #line 10440 "gram.y"
   43439             :                                 {
   43440             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43441             : 
   43442             :                     n->objectType = OBJECT_FUNCTION;
   43443             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   43444             :                     n->newowner = (yyvsp[0].rolespec);
   43445             :                     (yyval.node) = (Node *) n;
   43446             :                 }
   43447             : #line 43448 "gram.c"
   43448        1114 :     break;
   43449             : 
   43450         140 :   case 1386: /* AlterOwnerStmt: ALTER opt_procedural LANGUAGE name OWNER TO RoleSpec  */
   43451             : #line 10449 "gram.y"
   43452             :                                 {
   43453             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43454             : 
   43455             :                     n->objectType = OBJECT_LANGUAGE;
   43456             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   43457             :                     n->newowner = (yyvsp[0].rolespec);
   43458             :                     (yyval.node) = (Node *) n;
   43459             :                 }
   43460             : #line 43461 "gram.c"
   43461         140 :     break;
   43462             : 
   43463          18 :   case 1387: /* AlterOwnerStmt: ALTER LARGE_P OBJECT_P NumericOnly OWNER TO RoleSpec  */
   43464             : #line 10458 "gram.y"
   43465             :                                 {
   43466             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43467             : 
   43468             :                     n->objectType = OBJECT_LARGEOBJECT;
   43469             :                     n->object = (Node *) (yyvsp[-3].node);
   43470             :                     n->newowner = (yyvsp[0].rolespec);
   43471             :                     (yyval.node) = (Node *) n;
   43472             :                 }
   43473             : #line 43474 "gram.c"
   43474          18 :     break;
   43475             : 
   43476          68 :   case 1388: /* AlterOwnerStmt: ALTER OPERATOR operator_with_argtypes OWNER TO RoleSpec  */
   43477             : #line 10467 "gram.y"
   43478             :                                 {
   43479             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43480             : 
   43481             :                     n->objectType = OBJECT_OPERATOR;
   43482             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   43483             :                     n->newowner = (yyvsp[0].rolespec);
   43484             :                     (yyval.node) = (Node *) n;
   43485             :                 }
   43486             : #line 43487 "gram.c"
   43487          68 :     break;
   43488             : 
   43489          60 :   case 1389: /* AlterOwnerStmt: ALTER OPERATOR CLASS any_name USING name OWNER TO RoleSpec  */
   43490             : #line 10476 "gram.y"
   43491             :                                 {
   43492             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43493             : 
   43494             :                     n->objectType = OBJECT_OPCLASS;
   43495             :                     n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
   43496             :                     n->newowner = (yyvsp[0].rolespec);
   43497             :                     (yyval.node) = (Node *) n;
   43498             :                 }
   43499             : #line 43500 "gram.c"
   43500          60 :     break;
   43501             : 
   43502          76 :   case 1390: /* AlterOwnerStmt: ALTER OPERATOR FAMILY any_name USING name OWNER TO RoleSpec  */
   43503             : #line 10485 "gram.y"
   43504             :                                 {
   43505             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43506             : 
   43507             :                     n->objectType = OBJECT_OPFAMILY;
   43508             :                     n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
   43509             :                     n->newowner = (yyvsp[0].rolespec);
   43510             :                     (yyval.node) = (Node *) n;
   43511             :                 }
   43512             : #line 43513 "gram.c"
   43513          76 :     break;
   43514             : 
   43515          48 :   case 1391: /* AlterOwnerStmt: ALTER PROCEDURE function_with_argtypes OWNER TO RoleSpec  */
   43516             : #line 10494 "gram.y"
   43517             :                                 {
   43518             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43519             : 
   43520             :                     n->objectType = OBJECT_PROCEDURE;
   43521             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   43522             :                     n->newowner = (yyvsp[0].rolespec);
   43523             :                     (yyval.node) = (Node *) n;
   43524             :                 }
   43525             : #line 43526 "gram.c"
   43526          48 :     break;
   43527             : 
   43528           0 :   case 1392: /* AlterOwnerStmt: ALTER ROUTINE function_with_argtypes OWNER TO RoleSpec  */
   43529             : #line 10503 "gram.y"
   43530             :                                 {
   43531             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43532             : 
   43533             :                     n->objectType = OBJECT_ROUTINE;
   43534             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   43535             :                     n->newowner = (yyvsp[0].rolespec);
   43536             :                     (yyval.node) = (Node *) n;
   43537             :                 }
   43538             : #line 43539 "gram.c"
   43539           0 :     break;
   43540             : 
   43541          78 :   case 1393: /* AlterOwnerStmt: ALTER SCHEMA name OWNER TO RoleSpec  */
   43542             : #line 10512 "gram.y"
   43543             :                                 {
   43544             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43545             : 
   43546             :                     n->objectType = OBJECT_SCHEMA;
   43547             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   43548             :                     n->newowner = (yyvsp[0].rolespec);
   43549             :                     (yyval.node) = (Node *) n;
   43550             :                 }
   43551             : #line 43552 "gram.c"
   43552          78 :     break;
   43553             : 
   43554         152 :   case 1394: /* AlterOwnerStmt: ALTER TYPE_P any_name OWNER TO RoleSpec  */
   43555             : #line 10521 "gram.y"
   43556             :                                 {
   43557             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43558             : 
   43559             :                     n->objectType = OBJECT_TYPE;
   43560             :                     n->object = (Node *) (yyvsp[-3].list);
   43561             :                     n->newowner = (yyvsp[0].rolespec);
   43562             :                     (yyval.node) = (Node *) n;
   43563             :                 }
   43564             : #line 43565 "gram.c"
   43565         152 :     break;
   43566             : 
   43567           6 :   case 1395: /* AlterOwnerStmt: ALTER TABLESPACE name OWNER TO RoleSpec  */
   43568             : #line 10530 "gram.y"
   43569             :                                 {
   43570             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43571             : 
   43572             :                     n->objectType = OBJECT_TABLESPACE;
   43573             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   43574             :                     n->newowner = (yyvsp[0].rolespec);
   43575             :                     (yyval.node) = (Node *) n;
   43576             :                 }
   43577             : #line 43578 "gram.c"
   43578           6 :     break;
   43579             : 
   43580          40 :   case 1396: /* AlterOwnerStmt: ALTER STATISTICS any_name OWNER TO RoleSpec  */
   43581             : #line 10539 "gram.y"
   43582             :                                 {
   43583             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43584             : 
   43585             :                     n->objectType = OBJECT_STATISTIC_EXT;
   43586             :                     n->object = (Node *) (yyvsp[-3].list);
   43587             :                     n->newowner = (yyvsp[0].rolespec);
   43588             :                     (yyval.node) = (Node *) n;
   43589             :                 }
   43590             : #line 43591 "gram.c"
   43591          40 :     break;
   43592             : 
   43593          60 :   case 1397: /* AlterOwnerStmt: ALTER TEXT_P SEARCH DICTIONARY any_name OWNER TO RoleSpec  */
   43594             : #line 10548 "gram.y"
   43595             :                                 {
   43596             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43597             : 
   43598             :                     n->objectType = OBJECT_TSDICTIONARY;
   43599             :                     n->object = (Node *) (yyvsp[-3].list);
   43600             :                     n->newowner = (yyvsp[0].rolespec);
   43601             :                     (yyval.node) = (Node *) n;
   43602             :                 }
   43603             : #line 43604 "gram.c"
   43604          60 :     break;
   43605             : 
   43606          40 :   case 1398: /* AlterOwnerStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name OWNER TO RoleSpec  */
   43607             : #line 10557 "gram.y"
   43608             :                                 {
   43609             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43610             : 
   43611             :                     n->objectType = OBJECT_TSCONFIGURATION;
   43612             :                     n->object = (Node *) (yyvsp[-3].list);
   43613             :                     n->newowner = (yyvsp[0].rolespec);
   43614             :                     (yyval.node) = (Node *) n;
   43615             :                 }
   43616             : #line 43617 "gram.c"
   43617          40 :     break;
   43618             : 
   43619          22 :   case 1399: /* AlterOwnerStmt: ALTER FOREIGN DATA_P WRAPPER name OWNER TO RoleSpec  */
   43620             : #line 10566 "gram.y"
   43621             :                                 {
   43622             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43623             : 
   43624             :                     n->objectType = OBJECT_FDW;
   43625             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   43626             :                     n->newowner = (yyvsp[0].rolespec);
   43627             :                     (yyval.node) = (Node *) n;
   43628             :                 }
   43629             : #line 43630 "gram.c"
   43630          22 :     break;
   43631             : 
   43632          70 :   case 1400: /* AlterOwnerStmt: ALTER SERVER name OWNER TO RoleSpec  */
   43633             : #line 10575 "gram.y"
   43634             :                                 {
   43635             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43636             : 
   43637             :                     n->objectType = OBJECT_FOREIGN_SERVER;
   43638             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   43639             :                     n->newowner = (yyvsp[0].rolespec);
   43640             :                     (yyval.node) = (Node *) n;
   43641             :                 }
   43642             : #line 43643 "gram.c"
   43643          70 :     break;
   43644             : 
   43645          16 :   case 1401: /* AlterOwnerStmt: ALTER EVENT TRIGGER name OWNER TO RoleSpec  */
   43646             : #line 10584 "gram.y"
   43647             :                                 {
   43648             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43649             : 
   43650             :                     n->objectType = OBJECT_EVENT_TRIGGER;
   43651             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   43652             :                     n->newowner = (yyvsp[0].rolespec);
   43653             :                     (yyval.node) = (Node *) n;
   43654             :                 }
   43655             : #line 43656 "gram.c"
   43656          16 :     break;
   43657             : 
   43658          26 :   case 1402: /* AlterOwnerStmt: ALTER PUBLICATION name OWNER TO RoleSpec  */
   43659             : #line 10593 "gram.y"
   43660             :                                 {
   43661             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43662             : 
   43663             :                     n->objectType = OBJECT_PUBLICATION;
   43664             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   43665             :                     n->newowner = (yyvsp[0].rolespec);
   43666             :                     (yyval.node) = (Node *) n;
   43667             :                 }
   43668             : #line 43669 "gram.c"
   43669          26 :     break;
   43670             : 
   43671          18 :   case 1403: /* AlterOwnerStmt: ALTER SUBSCRIPTION name OWNER TO RoleSpec  */
   43672             : #line 10602 "gram.y"
   43673             :                                 {
   43674             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43675             : 
   43676             :                     n->objectType = OBJECT_SUBSCRIPTION;
   43677             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   43678             :                     n->newowner = (yyvsp[0].rolespec);
   43679             :                     (yyval.node) = (Node *) n;
   43680             :                 }
   43681             : #line 43682 "gram.c"
   43682          18 :     break;
   43683             : 
   43684         126 :   case 1404: /* CreatePublicationStmt: CREATE PUBLICATION name opt_definition  */
   43685             : #line 10630 "gram.y"
   43686             :                                 {
   43687             :                     CreatePublicationStmt *n = makeNode(CreatePublicationStmt);
   43688             : 
   43689             :                     n->pubname = (yyvsp[-1].str);
   43690             :                     n->options = (yyvsp[0].list);
   43691             :                     (yyval.node) = (Node *) n;
   43692             :                 }
   43693             : #line 43694 "gram.c"
   43694         126 :     break;
   43695             : 
   43696          94 :   case 1405: /* CreatePublicationStmt: CREATE PUBLICATION name FOR ALL TABLES opt_definition  */
   43697             : #line 10638 "gram.y"
   43698             :                                 {
   43699             :                     CreatePublicationStmt *n = makeNode(CreatePublicationStmt);
   43700             : 
   43701             :                     n->pubname = (yyvsp[-4].str);
   43702             :                     n->options = (yyvsp[0].list);
   43703             :                     n->for_all_tables = true;
   43704             :                     (yyval.node) = (Node *) n;
   43705             :                 }
   43706             : #line 43707 "gram.c"
   43707          94 :     break;
   43708             : 
   43709         624 :   case 1406: /* CreatePublicationStmt: CREATE PUBLICATION name FOR pub_obj_list opt_definition  */
   43710             : #line 10647 "gram.y"
   43711             :                                 {
   43712             :                     CreatePublicationStmt *n = makeNode(CreatePublicationStmt);
   43713             : 
   43714             :                     n->pubname = (yyvsp[-3].str);
   43715             :                     n->options = (yyvsp[0].list);
   43716             :                     n->pubobjects = (List *) (yyvsp[-1].list);
   43717             :                     preprocess_pubobj_list(n->pubobjects, yyscanner);
   43718             :                     (yyval.node) = (Node *) n;
   43719             :                 }
   43720             : #line 43721 "gram.c"
   43721         594 :     break;
   43722             : 
   43723        1276 :   case 1407: /* PublicationObjSpec: TABLE relation_expr opt_column_list OptWhereClause  */
   43724             : #line 10673 "gram.y"
   43725             :                                 {
   43726             :                     (yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
   43727             :                     (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_TABLE;
   43728             :                     (yyval.publicationobjectspec)->pubtable = makeNode(PublicationTable);
   43729             :                     (yyval.publicationobjectspec)->pubtable->relation = (yyvsp[-2].range);
   43730             :                     (yyval.publicationobjectspec)->pubtable->columns = (yyvsp[-1].list);
   43731             :                     (yyval.publicationobjectspec)->pubtable->whereClause = (yyvsp[0].node);
   43732             :                 }
   43733             : #line 43734 "gram.c"
   43734        1276 :     break;
   43735             : 
   43736         332 :   case 1408: /* PublicationObjSpec: TABLES IN_P SCHEMA ColId  */
   43737             : #line 10682 "gram.y"
   43738             :                                 {
   43739             :                     (yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
   43740             :                     (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_TABLES_IN_SCHEMA;
   43741             :                     (yyval.publicationobjectspec)->name = (yyvsp[0].str);
   43742             :                     (yyval.publicationobjectspec)->location = (yylsp[0]);
   43743             :                 }
   43744             : #line 43745 "gram.c"
   43745         332 :     break;
   43746             : 
   43747          18 :   case 1409: /* PublicationObjSpec: TABLES IN_P SCHEMA CURRENT_SCHEMA  */
   43748             : #line 10689 "gram.y"
   43749             :                                 {
   43750             :                     (yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
   43751             :                     (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA;
   43752             :                     (yyval.publicationobjectspec)->location = (yylsp[0]);
   43753             :                 }
   43754             : #line 43755 "gram.c"
   43755          18 :     break;
   43756             : 
   43757         130 :   case 1410: /* PublicationObjSpec: ColId opt_column_list OptWhereClause  */
   43758             : #line 10695 "gram.y"
   43759             :                                 {
   43760             :                     (yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
   43761             :                     (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_CONTINUATION;
   43762             :                     /*
   43763             :                      * If either a row filter or column list is specified, create
   43764             :                      * a PublicationTable object.
   43765             :                      */
   43766             :                     if ((yyvsp[-1].list) || (yyvsp[0].node))
   43767             :                     {
   43768             :                         /*
   43769             :                          * The OptWhereClause must be stored here but it is
   43770             :                          * valid only for tables. For non-table objects, an
   43771             :                          * error will be thrown later via
   43772             :                          * preprocess_pubobj_list().
   43773             :                          */
   43774             :                         (yyval.publicationobjectspec)->pubtable = makeNode(PublicationTable);
   43775             :                         (yyval.publicationobjectspec)->pubtable->relation = makeRangeVar(NULL, (yyvsp[-2].str), (yylsp[-2]));
   43776             :                         (yyval.publicationobjectspec)->pubtable->columns = (yyvsp[-1].list);
   43777             :                         (yyval.publicationobjectspec)->pubtable->whereClause = (yyvsp[0].node);
   43778             :                     }
   43779             :                     else
   43780             :                     {
   43781             :                         (yyval.publicationobjectspec)->name = (yyvsp[-2].str);
   43782             :                     }
   43783             :                     (yyval.publicationobjectspec)->location = (yylsp[-2]);
   43784             :                 }
   43785             : #line 43786 "gram.c"
   43786         130 :     break;
   43787             : 
   43788          32 :   case 1411: /* PublicationObjSpec: ColId indirection opt_column_list OptWhereClause  */
   43789             : #line 10722 "gram.y"
   43790             :                                 {
   43791             :                     (yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
   43792             :                     (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_CONTINUATION;
   43793             :                     (yyval.publicationobjectspec)->pubtable = makeNode(PublicationTable);
   43794             :                     (yyval.publicationobjectspec)->pubtable->relation = makeRangeVarFromQualifiedName((yyvsp[-3].str), (yyvsp[-2].list), (yylsp[-3]), yyscanner);
   43795             :                     (yyval.publicationobjectspec)->pubtable->columns = (yyvsp[-1].list);
   43796             :                     (yyval.publicationobjectspec)->pubtable->whereClause = (yyvsp[0].node);
   43797             :                     (yyval.publicationobjectspec)->location = (yylsp[-3]);
   43798             :                 }
   43799             : #line 43800 "gram.c"
   43800          32 :     break;
   43801             : 
   43802           6 :   case 1412: /* PublicationObjSpec: extended_relation_expr opt_column_list OptWhereClause  */
   43803             : #line 10733 "gram.y"
   43804             :                                 {
   43805             :                     (yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
   43806             :                     (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_CONTINUATION;
   43807             :                     (yyval.publicationobjectspec)->pubtable = makeNode(PublicationTable);
   43808             :                     (yyval.publicationobjectspec)->pubtable->relation = (yyvsp[-2].range);
   43809             :                     (yyval.publicationobjectspec)->pubtable->columns = (yyvsp[-1].list);
   43810             :                     (yyval.publicationobjectspec)->pubtable->whereClause = (yyvsp[0].node);
   43811             :                 }
   43812             : #line 43813 "gram.c"
   43813           6 :     break;
   43814             : 
   43815          18 :   case 1413: /* PublicationObjSpec: CURRENT_SCHEMA  */
   43816             : #line 10742 "gram.y"
   43817             :                                 {
   43818             :                     (yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
   43819             :                     (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_CONTINUATION;
   43820             :                     (yyval.publicationobjectspec)->location = (yylsp[0]);
   43821             :                 }
   43822             : #line 43823 "gram.c"
   43823          18 :     break;
   43824             : 
   43825        1588 :   case 1414: /* pub_obj_list: PublicationObjSpec  */
   43826             : #line 10750 "gram.y"
   43827             :                                         { (yyval.list) = list_make1((yyvsp[0].publicationobjectspec)); }
   43828             : #line 43829 "gram.c"
   43829        1588 :     break;
   43830             : 
   43831         224 :   case 1415: /* pub_obj_list: pub_obj_list ',' PublicationObjSpec  */
   43832             : #line 10752 "gram.y"
   43833             :                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].publicationobjectspec)); }
   43834             : #line 43835 "gram.c"
   43835         224 :     break;
   43836             : 
   43837         116 :   case 1416: /* AlterPublicationStmt: ALTER PUBLICATION name SET definition  */
   43838             : #line 10774 "gram.y"
   43839             :                                 {
   43840             :                     AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
   43841             : 
   43842             :                     n->pubname = (yyvsp[-2].str);
   43843             :                     n->options = (yyvsp[0].list);
   43844             :                     (yyval.node) = (Node *) n;
   43845             :                 }
   43846             : #line 43847 "gram.c"
   43847         116 :     break;
   43848             : 
   43849         346 :   case 1417: /* AlterPublicationStmt: ALTER PUBLICATION name ADD_P pub_obj_list  */
   43850             : #line 10782 "gram.y"
   43851             :                                 {
   43852             :                     AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
   43853             : 
   43854             :                     n->pubname = (yyvsp[-2].str);
   43855             :                     n->pubobjects = (yyvsp[0].list);
   43856             :                     preprocess_pubobj_list(n->pubobjects, yyscanner);
   43857             :                     n->action = AP_AddObjects;
   43858             :                     (yyval.node) = (Node *) n;
   43859             :                 }
   43860             : #line 43861 "gram.c"
   43861         340 :     break;
   43862             : 
   43863         464 :   case 1418: /* AlterPublicationStmt: ALTER PUBLICATION name SET pub_obj_list  */
   43864             : #line 10792 "gram.y"
   43865             :                                 {
   43866             :                     AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
   43867             : 
   43868             :                     n->pubname = (yyvsp[-2].str);
   43869             :                     n->pubobjects = (yyvsp[0].list);
   43870             :                     preprocess_pubobj_list(n->pubobjects, yyscanner);
   43871             :                     n->action = AP_SetObjects;
   43872             :                     (yyval.node) = (Node *) n;
   43873             :                 }
   43874             : #line 43875 "gram.c"
   43875         464 :     break;
   43876             : 
   43877         154 :   case 1419: /* AlterPublicationStmt: ALTER PUBLICATION name DROP pub_obj_list  */
   43878             : #line 10802 "gram.y"
   43879             :                                 {
   43880             :                     AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
   43881             : 
   43882             :                     n->pubname = (yyvsp[-2].str);
   43883             :                     n->pubobjects = (yyvsp[0].list);
   43884             :                     preprocess_pubobj_list(n->pubobjects, yyscanner);
   43885             :                     n->action = AP_DropObjects;
   43886             :                     (yyval.node) = (Node *) n;
   43887             :                 }
   43888             : #line 43889 "gram.c"
   43889         154 :     break;
   43890             : 
   43891         448 :   case 1420: /* CreateSubscriptionStmt: CREATE SUBSCRIPTION name CONNECTION Sconst PUBLICATION name_list opt_definition  */
   43892             : #line 10821 "gram.y"
   43893             :                                 {
   43894             :                     CreateSubscriptionStmt *n =
   43895             :                         makeNode(CreateSubscriptionStmt);
   43896             :                     n->subname = (yyvsp[-5].str);
   43897             :                     n->conninfo = (yyvsp[-3].str);
   43898             :                     n->publication = (yyvsp[-1].list);
   43899             :                     n->options = (yyvsp[0].list);
   43900             :                     (yyval.node) = (Node *) n;
   43901             :                 }
   43902             : #line 43903 "gram.c"
   43903         448 :     break;
   43904             : 
   43905         186 :   case 1421: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name SET definition  */
   43906             : #line 10840 "gram.y"
   43907             :                                 {
   43908             :                     AlterSubscriptionStmt *n =
   43909             :                         makeNode(AlterSubscriptionStmt);
   43910             : 
   43911             :                     n->kind = ALTER_SUBSCRIPTION_OPTIONS;
   43912             :                     n->subname = (yyvsp[-2].str);
   43913             :                     n->options = (yyvsp[0].list);
   43914             :                     (yyval.node) = (Node *) n;
   43915             :                 }
   43916             : #line 43917 "gram.c"
   43917         186 :     break;
   43918             : 
   43919          26 :   case 1422: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name CONNECTION Sconst  */
   43920             : #line 10850 "gram.y"
   43921             :                                 {
   43922             :                     AlterSubscriptionStmt *n =
   43923             :                         makeNode(AlterSubscriptionStmt);
   43924             : 
   43925             :                     n->kind = ALTER_SUBSCRIPTION_CONNECTION;
   43926             :                     n->subname = (yyvsp[-2].str);
   43927             :                     n->conninfo = (yyvsp[0].str);
   43928             :                     (yyval.node) = (Node *) n;
   43929             :                 }
   43930             : #line 43931 "gram.c"
   43931          26 :     break;
   43932             : 
   43933          58 :   case 1423: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name REFRESH PUBLICATION opt_definition  */
   43934             : #line 10860 "gram.y"
   43935             :                                 {
   43936             :                     AlterSubscriptionStmt *n =
   43937             :                         makeNode(AlterSubscriptionStmt);
   43938             : 
   43939             :                     n->kind = ALTER_SUBSCRIPTION_REFRESH;
   43940             :                     n->subname = (yyvsp[-3].str);
   43941             :                     n->options = (yyvsp[0].list);
   43942             :                     (yyval.node) = (Node *) n;
   43943             :                 }
   43944             : #line 43945 "gram.c"
   43945          58 :     break;
   43946             : 
   43947          28 :   case 1424: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name ADD_P PUBLICATION name_list opt_definition  */
   43948             : #line 10870 "gram.y"
   43949             :                                 {
   43950             :                     AlterSubscriptionStmt *n =
   43951             :                         makeNode(AlterSubscriptionStmt);
   43952             : 
   43953             :                     n->kind = ALTER_SUBSCRIPTION_ADD_PUBLICATION;
   43954             :                     n->subname = (yyvsp[-4].str);
   43955             :                     n->publication = (yyvsp[-1].list);
   43956             :                     n->options = (yyvsp[0].list);
   43957             :                     (yyval.node) = (Node *) n;
   43958             :                 }
   43959             : #line 43960 "gram.c"
   43960          28 :     break;
   43961             : 
   43962          26 :   case 1425: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name DROP PUBLICATION name_list opt_definition  */
   43963             : #line 10881 "gram.y"
   43964             :                                 {
   43965             :                     AlterSubscriptionStmt *n =
   43966             :                         makeNode(AlterSubscriptionStmt);
   43967             : 
   43968             :                     n->kind = ALTER_SUBSCRIPTION_DROP_PUBLICATION;
   43969             :                     n->subname = (yyvsp[-4].str);
   43970             :                     n->publication = (yyvsp[-1].list);
   43971             :                     n->options = (yyvsp[0].list);
   43972             :                     (yyval.node) = (Node *) n;
   43973             :                 }
   43974             : #line 43975 "gram.c"
   43975          26 :     break;
   43976             : 
   43977          44 :   case 1426: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name SET PUBLICATION name_list opt_definition  */
   43978             : #line 10892 "gram.y"
   43979             :                                 {
   43980             :                     AlterSubscriptionStmt *n =
   43981             :                         makeNode(AlterSubscriptionStmt);
   43982             : 
   43983             :                     n->kind = ALTER_SUBSCRIPTION_SET_PUBLICATION;
   43984             :                     n->subname = (yyvsp[-4].str);
   43985             :                     n->publication = (yyvsp[-1].list);
   43986             :                     n->options = (yyvsp[0].list);
   43987             :                     (yyval.node) = (Node *) n;
   43988             :                 }
   43989             : #line 43990 "gram.c"
   43990          44 :     break;
   43991             : 
   43992          50 :   case 1427: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name ENABLE_P  */
   43993             : #line 10903 "gram.y"
   43994             :                                 {
   43995             :                     AlterSubscriptionStmt *n =
   43996             :                         makeNode(AlterSubscriptionStmt);
   43997             : 
   43998             :                     n->kind = ALTER_SUBSCRIPTION_ENABLED;
   43999             :                     n->subname = (yyvsp[-1].str);
   44000             :                     n->options = list_make1(makeDefElem("enabled",
   44001             :                                             (Node *) makeBoolean(true), (yylsp[-3])));
   44002             :                     (yyval.node) = (Node *) n;
   44003             :                 }
   44004             : #line 44005 "gram.c"
   44005          50 :     break;
   44006             : 
   44007          34 :   case 1428: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name DISABLE_P  */
   44008             : #line 10914 "gram.y"
   44009             :                                 {
   44010             :                     AlterSubscriptionStmt *n =
   44011             :                         makeNode(AlterSubscriptionStmt);
   44012             : 
   44013             :                     n->kind = ALTER_SUBSCRIPTION_ENABLED;
   44014             :                     n->subname = (yyvsp[-1].str);
   44015             :                     n->options = list_make1(makeDefElem("enabled",
   44016             :                                             (Node *) makeBoolean(false), (yylsp[-3])));
   44017             :                     (yyval.node) = (Node *) n;
   44018             :                 }
   44019             : #line 44020 "gram.c"
   44020          34 :     break;
   44021             : 
   44022          24 :   case 1429: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name SKIP definition  */
   44023             : #line 10925 "gram.y"
   44024             :                                 {
   44025             :                     AlterSubscriptionStmt *n =
   44026             :                         makeNode(AlterSubscriptionStmt);
   44027             : 
   44028             :                     n->kind = ALTER_SUBSCRIPTION_SKIP;
   44029             :                     n->subname = (yyvsp[-2].str);
   44030             :                     n->options = (yyvsp[0].list);
   44031             :                     (yyval.node) = (Node *) n;
   44032             :                 }
   44033             : #line 44034 "gram.c"
   44034          24 :     break;
   44035             : 
   44036         222 :   case 1430: /* DropSubscriptionStmt: DROP SUBSCRIPTION name opt_drop_behavior  */
   44037             : #line 10943 "gram.y"
   44038             :                                 {
   44039             :                     DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt);
   44040             : 
   44041             :                     n->subname = (yyvsp[-1].str);
   44042             :                     n->missing_ok = false;
   44043             :                     n->behavior = (yyvsp[0].dbehavior);
   44044             :                     (yyval.node) = (Node *) n;
   44045             :                 }
   44046             : #line 44047 "gram.c"
   44047         222 :     break;
   44048             : 
   44049           6 :   case 1431: /* DropSubscriptionStmt: DROP SUBSCRIPTION IF_P EXISTS name opt_drop_behavior  */
   44050             : #line 10952 "gram.y"
   44051             :                                 {
   44052             :                     DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt);
   44053             : 
   44054             :                     n->subname = (yyvsp[-1].str);
   44055             :                     n->missing_ok = true;
   44056             :                     n->behavior = (yyvsp[0].dbehavior);
   44057             :                     (yyval.node) = (Node *) n;
   44058             :                 }
   44059             : #line 44060 "gram.c"
   44060           6 :     break;
   44061             : 
   44062        1166 :   case 1432: /* RuleStmt: CREATE opt_or_replace RULE name AS ON event TO qualified_name where_clause DO opt_instead RuleActionList  */
   44063             : #line 10971 "gram.y"
   44064             :                                 {
   44065             :                     RuleStmt   *n = makeNode(RuleStmt);
   44066             : 
   44067             :                     n->replace = (yyvsp[-11].boolean);
   44068             :                     n->relation = (yyvsp[-4].range);
   44069             :                     n->rulename = (yyvsp[-9].str);
   44070             :                     n->whereClause = (yyvsp[-3].node);
   44071             :                     n->event = (yyvsp[-6].ival);
   44072             :                     n->instead = (yyvsp[-1].boolean);
   44073             :                     n->actions = (yyvsp[0].list);
   44074             :                     (yyval.node) = (Node *) n;
   44075             :                 }
   44076             : #line 44077 "gram.c"
   44077        1166 :     break;
   44078             : 
   44079         166 :   case 1433: /* RuleActionList: NOTHING  */
   44080             : #line 10986 "gram.y"
   44081             :                                                                                                 { (yyval.list) = NIL; }
   44082             : #line 44083 "gram.c"
   44083         166 :     break;
   44084             : 
   44085         950 :   case 1434: /* RuleActionList: RuleActionStmt  */
   44086             : #line 10987 "gram.y"
   44087             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   44088             : #line 44089 "gram.c"
   44089         950 :     break;
   44090             : 
   44091          50 :   case 1435: /* RuleActionList: '(' RuleActionMulti ')'  */
   44092             : #line 10988 "gram.y"
   44093             :                                                                                 { (yyval.list) = (yyvsp[-1].list); }
   44094             : #line 44095 "gram.c"
   44095          50 :     break;
   44096             : 
   44097          70 :   case 1436: /* RuleActionMulti: RuleActionMulti ';' RuleActionStmtOrEmpty  */
   44098             : #line 10994 "gram.y"
   44099             :                                 { if ((yyvsp[0].node) != NULL)
   44100             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
   44101             :                   else
   44102             :                     (yyval.list) = (yyvsp[-2].list);
   44103             :                 }
   44104             : #line 44105 "gram.c"
   44105          70 :     break;
   44106             : 
   44107          50 :   case 1437: /* RuleActionMulti: RuleActionStmtOrEmpty  */
   44108             : #line 11000 "gram.y"
   44109             :                                 { if ((yyvsp[0].node) != NULL)
   44110             :                     (yyval.list) = list_make1((yyvsp[0].node));
   44111             :                   else
   44112             :                     (yyval.list) = NIL;
   44113             :                 }
   44114             : #line 44115 "gram.c"
   44115          50 :     break;
   44116             : 
   44117         100 :   case 1443: /* RuleActionStmtOrEmpty: RuleActionStmt  */
   44118             : #line 11016 "gram.y"
   44119             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   44120             : #line 44121 "gram.c"
   44121         100 :     break;
   44122             : 
   44123          20 :   case 1444: /* RuleActionStmtOrEmpty: %empty  */
   44124             : #line 11017 "gram.y"
   44125             :                                                                                                 { (yyval.node) = NULL; }
   44126             : #line 44127 "gram.c"
   44127          20 :     break;
   44128             : 
   44129          18 :   case 1445: /* event: SELECT  */
   44130             : #line 11020 "gram.y"
   44131             :                                                                                         { (yyval.ival) = CMD_SELECT; }
   44132             : #line 44133 "gram.c"
   44133          18 :     break;
   44134             : 
   44135         448 :   case 1446: /* event: UPDATE  */
   44136             : #line 11021 "gram.y"
   44137             :                                                                                                 { (yyval.ival) = CMD_UPDATE; }
   44138             : #line 44139 "gram.c"
   44139         448 :     break;
   44140             : 
   44141         180 :   case 1447: /* event: DELETE_P  */
   44142             : #line 11022 "gram.y"
   44143             :                                                                                                 { (yyval.ival) = CMD_DELETE; }
   44144             : #line 44145 "gram.c"
   44145         180 :     break;
   44146             : 
   44147         520 :   case 1448: /* event: INSERT  */
   44148             : #line 11023 "gram.y"
   44149             :                                                                                                 { (yyval.ival) = CMD_INSERT; }
   44150             : #line 44151 "gram.c"
   44151         520 :     break;
   44152             : 
   44153         798 :   case 1449: /* opt_instead: INSTEAD  */
   44154             : #line 11027 "gram.y"
   44155             :                                                                                                 { (yyval.boolean) = true; }
   44156             : #line 44157 "gram.c"
   44157         798 :     break;
   44158             : 
   44159         156 :   case 1450: /* opt_instead: ALSO  */
   44160             : #line 11028 "gram.y"
   44161             :                                                                                                 { (yyval.boolean) = false; }
   44162             : #line 44163 "gram.c"
   44163         156 :     break;
   44164             : 
   44165         212 :   case 1451: /* opt_instead: %empty  */
   44166             : #line 11029 "gram.y"
   44167             :                                                                                                 { (yyval.boolean) = false; }
   44168             : #line 44169 "gram.c"
   44169         212 :     break;
   44170             : 
   44171         130 :   case 1452: /* NotifyStmt: NOTIFY ColId notify_payload  */
   44172             : #line 11042 "gram.y"
   44173             :                                 {
   44174             :                     NotifyStmt *n = makeNode(NotifyStmt);
   44175             : 
   44176             :                     n->conditionname = (yyvsp[-1].str);
   44177             :                     n->payload = (yyvsp[0].str);
   44178             :                     (yyval.node) = (Node *) n;
   44179             :                 }
   44180             : #line 44181 "gram.c"
   44181         130 :     break;
   44182             : 
   44183          62 :   case 1453: /* notify_payload: ',' Sconst  */
   44184             : #line 11052 "gram.y"
   44185             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   44186             : #line 44187 "gram.c"
   44187          62 :     break;
   44188             : 
   44189          68 :   case 1454: /* notify_payload: %empty  */
   44190             : #line 11053 "gram.y"
   44191             :                                                                                         { (yyval.str) = NULL; }
   44192             : #line 44193 "gram.c"
   44193          68 :     break;
   44194             : 
   44195          74 :   case 1455: /* ListenStmt: LISTEN ColId  */
   44196             : #line 11057 "gram.y"
   44197             :                                 {
   44198             :                     ListenStmt *n = makeNode(ListenStmt);
   44199             : 
   44200             :                     n->conditionname = (yyvsp[0].str);
   44201             :                     (yyval.node) = (Node *) n;
   44202             :                 }
   44203             : #line 44204 "gram.c"
   44204          74 :     break;
   44205             : 
   44206           6 :   case 1456: /* UnlistenStmt: UNLISTEN ColId  */
   44207             : #line 11067 "gram.y"
   44208             :                                 {
   44209             :                     UnlistenStmt *n = makeNode(UnlistenStmt);
   44210             : 
   44211             :                     n->conditionname = (yyvsp[0].str);
   44212             :                     (yyval.node) = (Node *) n;
   44213             :                 }
   44214             : #line 44215 "gram.c"
   44215           6 :     break;
   44216             : 
   44217          32 :   case 1457: /* UnlistenStmt: UNLISTEN '*'  */
   44218             : #line 11074 "gram.y"
   44219             :                                 {
   44220             :                     UnlistenStmt *n = makeNode(UnlistenStmt);
   44221             : 
   44222             :                     n->conditionname = NULL;
   44223             :                     (yyval.node) = (Node *) n;
   44224             :                 }
   44225             : #line 44226 "gram.c"
   44226          32 :     break;
   44227             : 
   44228         216 :   case 1458: /* TransactionStmt: ABORT_P opt_transaction opt_transaction_chain  */
   44229             : #line 11094 "gram.y"
   44230             :                                 {
   44231             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44232             : 
   44233             :                     n->kind = TRANS_STMT_ROLLBACK;
   44234             :                     n->options = NIL;
   44235             :                     n->chain = (yyvsp[0].boolean);
   44236             :                     n->location = -1;
   44237             :                     (yyval.node) = (Node *) n;
   44238             :                 }
   44239             : #line 44240 "gram.c"
   44240         216 :     break;
   44241             : 
   44242        1604 :   case 1459: /* TransactionStmt: START TRANSACTION transaction_mode_list_or_empty  */
   44243             : #line 11104 "gram.y"
   44244             :                                 {
   44245             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44246             : 
   44247             :                     n->kind = TRANS_STMT_START;
   44248             :                     n->options = (yyvsp[0].list);
   44249             :                     n->location = -1;
   44250             :                     (yyval.node) = (Node *) n;
   44251             :                 }
   44252             : #line 44253 "gram.c"
   44253        1604 :     break;
   44254             : 
   44255       13050 :   case 1460: /* TransactionStmt: COMMIT opt_transaction opt_transaction_chain  */
   44256             : #line 11113 "gram.y"
   44257             :                                 {
   44258             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44259             : 
   44260             :                     n->kind = TRANS_STMT_COMMIT;
   44261             :                     n->options = NIL;
   44262             :                     n->chain = (yyvsp[0].boolean);
   44263             :                     n->location = -1;
   44264             :                     (yyval.node) = (Node *) n;
   44265             :                 }
   44266             : #line 44267 "gram.c"
   44267       13050 :     break;
   44268             : 
   44269        2630 :   case 1461: /* TransactionStmt: ROLLBACK opt_transaction opt_transaction_chain  */
   44270             : #line 11123 "gram.y"
   44271             :                                 {
   44272             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44273             : 
   44274             :                     n->kind = TRANS_STMT_ROLLBACK;
   44275             :                     n->options = NIL;
   44276             :                     n->chain = (yyvsp[0].boolean);
   44277             :                     n->location = -1;
   44278             :                     (yyval.node) = (Node *) n;
   44279             :                 }
   44280             : #line 44281 "gram.c"
   44281        2630 :     break;
   44282             : 
   44283        1972 :   case 1462: /* TransactionStmt: SAVEPOINT ColId  */
   44284             : #line 11133 "gram.y"
   44285             :                                 {
   44286             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44287             : 
   44288             :                     n->kind = TRANS_STMT_SAVEPOINT;
   44289             :                     n->savepoint_name = (yyvsp[0].str);
   44290             :                     n->location = (yylsp[0]);
   44291             :                     (yyval.node) = (Node *) n;
   44292             :                 }
   44293             : #line 44294 "gram.c"
   44294        1972 :     break;
   44295             : 
   44296         208 :   case 1463: /* TransactionStmt: RELEASE SAVEPOINT ColId  */
   44297             : #line 11142 "gram.y"
   44298             :                                 {
   44299             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44300             : 
   44301             :                     n->kind = TRANS_STMT_RELEASE;
   44302             :                     n->savepoint_name = (yyvsp[0].str);
   44303             :                     n->location = (yylsp[0]);
   44304             :                     (yyval.node) = (Node *) n;
   44305             :                 }
   44306             : #line 44307 "gram.c"
   44307         208 :     break;
   44308             : 
   44309          86 :   case 1464: /* TransactionStmt: RELEASE ColId  */
   44310             : #line 11151 "gram.y"
   44311             :                                 {
   44312             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44313             : 
   44314             :                     n->kind = TRANS_STMT_RELEASE;
   44315             :                     n->savepoint_name = (yyvsp[0].str);
   44316             :                     n->location = (yylsp[0]);
   44317             :                     (yyval.node) = (Node *) n;
   44318             :                 }
   44319             : #line 44320 "gram.c"
   44320          86 :     break;
   44321             : 
   44322         228 :   case 1465: /* TransactionStmt: ROLLBACK opt_transaction TO SAVEPOINT ColId  */
   44323             : #line 11160 "gram.y"
   44324             :                                 {
   44325             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44326             : 
   44327             :                     n->kind = TRANS_STMT_ROLLBACK_TO;
   44328             :                     n->savepoint_name = (yyvsp[0].str);
   44329             :                     n->location = (yylsp[0]);
   44330             :                     (yyval.node) = (Node *) n;
   44331             :                 }
   44332             : #line 44333 "gram.c"
   44333         228 :     break;
   44334             : 
   44335         496 :   case 1466: /* TransactionStmt: ROLLBACK opt_transaction TO ColId  */
   44336             : #line 11169 "gram.y"
   44337             :                                 {
   44338             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44339             : 
   44340             :                     n->kind = TRANS_STMT_ROLLBACK_TO;
   44341             :                     n->savepoint_name = (yyvsp[0].str);
   44342             :                     n->location = (yylsp[0]);
   44343             :                     (yyval.node) = (Node *) n;
   44344             :                 }
   44345             : #line 44346 "gram.c"
   44346         496 :     break;
   44347             : 
   44348         634 :   case 1467: /* TransactionStmt: PREPARE TRANSACTION Sconst  */
   44349             : #line 11178 "gram.y"
   44350             :                                 {
   44351             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44352             : 
   44353             :                     n->kind = TRANS_STMT_PREPARE;
   44354             :                     n->gid = (yyvsp[0].str);
   44355             :                     n->location = (yylsp[0]);
   44356             :                     (yyval.node) = (Node *) n;
   44357             :                 }
   44358             : #line 44359 "gram.c"
   44359         634 :     break;
   44360             : 
   44361         476 :   case 1468: /* TransactionStmt: COMMIT PREPARED Sconst  */
   44362             : #line 11187 "gram.y"
   44363             :                                 {
   44364             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44365             : 
   44366             :                     n->kind = TRANS_STMT_COMMIT_PREPARED;
   44367             :                     n->gid = (yyvsp[0].str);
   44368             :                     n->location = (yylsp[0]);
   44369             :                     (yyval.node) = (Node *) n;
   44370             :                 }
   44371             : #line 44372 "gram.c"
   44372         476 :     break;
   44373             : 
   44374          76 :   case 1469: /* TransactionStmt: ROLLBACK PREPARED Sconst  */
   44375             : #line 11196 "gram.y"
   44376             :                                 {
   44377             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44378             : 
   44379             :                     n->kind = TRANS_STMT_ROLLBACK_PREPARED;
   44380             :                     n->gid = (yyvsp[0].str);
   44381             :                     n->location = (yylsp[0]);
   44382             :                     (yyval.node) = (Node *) n;
   44383             :                 }
   44384             : #line 44385 "gram.c"
   44385          76 :     break;
   44386             : 
   44387       15744 :   case 1470: /* TransactionStmtLegacy: BEGIN_P opt_transaction transaction_mode_list_or_empty  */
   44388             : #line 11208 "gram.y"
   44389             :                                 {
   44390             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44391             : 
   44392             :                     n->kind = TRANS_STMT_BEGIN;
   44393             :                     n->options = (yyvsp[0].list);
   44394             :                     n->location = -1;
   44395             :                     (yyval.node) = (Node *) n;
   44396             :                 }
   44397             : #line 44398 "gram.c"
   44398       15744 :     break;
   44399             : 
   44400         360 :   case 1471: /* TransactionStmtLegacy: END_P opt_transaction opt_transaction_chain  */
   44401             : #line 11217 "gram.y"
   44402             :                                 {
   44403             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44404             : 
   44405             :                     n->kind = TRANS_STMT_COMMIT;
   44406             :                     n->options = NIL;
   44407             :                     n->chain = (yyvsp[0].boolean);
   44408             :                     n->location = -1;
   44409             :                     (yyval.node) = (Node *) n;
   44410             :                 }
   44411             : #line 44412 "gram.c"
   44412         360 :     break;
   44413             : 
   44414        6776 :   case 1475: /* transaction_mode_item: ISOLATION LEVEL iso_level  */
   44415             : #line 11235 "gram.y"
   44416             :                                         { (yyval.defelt) = makeDefElem("transaction_isolation",
   44417             :                                        makeStringConst((yyvsp[0].str), (yylsp[0])), (yylsp[-2])); }
   44418             : #line 44419 "gram.c"
   44419        6776 :     break;
   44420             : 
   44421        1508 :   case 1476: /* transaction_mode_item: READ ONLY  */
   44422             : #line 11238 "gram.y"
   44423             :                                         { (yyval.defelt) = makeDefElem("transaction_read_only",
   44424             :                                        makeIntConst(true, (yylsp[-1])), (yylsp[-1])); }
   44425             : #line 44426 "gram.c"
   44426        1508 :     break;
   44427             : 
   44428          90 :   case 1477: /* transaction_mode_item: READ WRITE  */
   44429             : #line 11241 "gram.y"
   44430             :                                         { (yyval.defelt) = makeDefElem("transaction_read_only",
   44431             :                                        makeIntConst(false, (yylsp[-1])), (yylsp[-1])); }
   44432             : #line 44433 "gram.c"
   44433          90 :     break;
   44434             : 
   44435          44 :   case 1478: /* transaction_mode_item: DEFERRABLE  */
   44436             : #line 11244 "gram.y"
   44437             :                                         { (yyval.defelt) = makeDefElem("transaction_deferrable",
   44438             :                                        makeIntConst(true, (yylsp[0])), (yylsp[0])); }
   44439             : #line 44440 "gram.c"
   44440          44 :     break;
   44441             : 
   44442          10 :   case 1479: /* transaction_mode_item: NOT DEFERRABLE  */
   44443             : #line 11247 "gram.y"
   44444             :                                         { (yyval.defelt) = makeDefElem("transaction_deferrable",
   44445             :                                        makeIntConst(false, (yylsp[-1])), (yylsp[-1])); }
   44446             : #line 44447 "gram.c"
   44447          10 :     break;
   44448             : 
   44449        6992 :   case 1480: /* transaction_mode_list: transaction_mode_item  */
   44450             : #line 11254 "gram.y"
   44451             :                                         { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   44452             : #line 44453 "gram.c"
   44453        6992 :     break;
   44454             : 
   44455        1042 :   case 1481: /* transaction_mode_list: transaction_mode_list ',' transaction_mode_item  */
   44456             : #line 11256 "gram.y"
   44457             :                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
   44458             : #line 44459 "gram.c"
   44459        1042 :     break;
   44460             : 
   44461         394 :   case 1482: /* transaction_mode_list: transaction_mode_list transaction_mode_item  */
   44462             : #line 11258 "gram.y"
   44463             :                                         { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   44464             : #line 44465 "gram.c"
   44465         394 :     break;
   44466             : 
   44467       11058 :   case 1484: /* transaction_mode_list_or_empty: %empty  */
   44468             : #line 11264 "gram.y"
   44469             :                                         { (yyval.list) = NIL; }
   44470             : #line 44471 "gram.c"
   44471       11058 :     break;
   44472             : 
   44473         120 :   case 1485: /* opt_transaction_chain: AND CHAIN  */
   44474             : #line 11268 "gram.y"
   44475             :                                                 { (yyval.boolean) = true; }
   44476             : #line 44477 "gram.c"
   44477         120 :     break;
   44478             : 
   44479           2 :   case 1486: /* opt_transaction_chain: AND NO CHAIN  */
   44480             : #line 11269 "gram.y"
   44481             :                                         { (yyval.boolean) = false; }
   44482             : #line 44483 "gram.c"
   44483           2 :     break;
   44484             : 
   44485       16134 :   case 1487: /* opt_transaction_chain: %empty  */
   44486             : #line 11270 "gram.y"
   44487             :                                         { (yyval.boolean) = false; }
   44488             : #line 44489 "gram.c"
   44489       16134 :     break;
   44490             : 
   44491       16388 :   case 1488: /* ViewStmt: CREATE OptTemp VIEW qualified_name opt_column_list opt_reloptions AS SelectStmt opt_check_option  */
   44492             : #line 11284 "gram.y"
   44493             :                                 {
   44494             :                     ViewStmt   *n = makeNode(ViewStmt);
   44495             : 
   44496             :                     n->view = (yyvsp[-5].range);
   44497             :                     n->view->relpersistence = (yyvsp[-7].ival);
   44498             :                     n->aliases = (yyvsp[-4].list);
   44499             :                     n->query = (yyvsp[-1].node);
   44500             :                     n->replace = false;
   44501             :                     n->options = (yyvsp[-3].list);
   44502             :                     n->withCheckOption = (yyvsp[0].ival);
   44503             :                     (yyval.node) = (Node *) n;
   44504             :                 }
   44505             : #line 44506 "gram.c"
   44506       16388 :     break;
   44507             : 
   44508         248 :   case 1489: /* ViewStmt: CREATE OR REPLACE OptTemp VIEW qualified_name opt_column_list opt_reloptions AS SelectStmt opt_check_option  */
   44509             : #line 11298 "gram.y"
   44510             :                                 {
   44511             :                     ViewStmt   *n = makeNode(ViewStmt);
   44512             : 
   44513             :                     n->view = (yyvsp[-5].range);
   44514             :                     n->view->relpersistence = (yyvsp[-7].ival);
   44515             :                     n->aliases = (yyvsp[-4].list);
   44516             :                     n->query = (yyvsp[-1].node);
   44517             :                     n->replace = true;
   44518             :                     n->options = (yyvsp[-3].list);
   44519             :                     n->withCheckOption = (yyvsp[0].ival);
   44520             :                     (yyval.node) = (Node *) n;
   44521             :                 }
   44522             : #line 44523 "gram.c"
   44523         248 :     break;
   44524             : 
   44525           8 :   case 1490: /* ViewStmt: CREATE OptTemp RECURSIVE VIEW qualified_name '(' columnList ')' opt_reloptions AS SelectStmt opt_check_option  */
   44526             : #line 11312 "gram.y"
   44527             :                                 {
   44528             :                     ViewStmt   *n = makeNode(ViewStmt);
   44529             : 
   44530             :                     n->view = (yyvsp[-7].range);
   44531             :                     n->view->relpersistence = (yyvsp[-10].ival);
   44532             :                     n->aliases = (yyvsp[-5].list);
   44533             :                     n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[-1].node));
   44534             :                     n->replace = false;
   44535             :                     n->options = (yyvsp[-3].list);
   44536             :                     n->withCheckOption = (yyvsp[0].ival);
   44537             :                     if (n->withCheckOption != NO_CHECK_OPTION)
   44538             :                         ereport(ERROR,
   44539             :                                 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   44540             :                                  errmsg("WITH CHECK OPTION not supported on recursive views"),
   44541             :                                  parser_errposition((yylsp[0]))));
   44542             :                     (yyval.node) = (Node *) n;
   44543             :                 }
   44544             : #line 44545 "gram.c"
   44545           8 :     break;
   44546             : 
   44547           6 :   case 1491: /* ViewStmt: CREATE OR REPLACE OptTemp RECURSIVE VIEW qualified_name '(' columnList ')' opt_reloptions AS SelectStmt opt_check_option  */
   44548             : #line 11331 "gram.y"
   44549             :                                 {
   44550             :                     ViewStmt   *n = makeNode(ViewStmt);
   44551             : 
   44552             :                     n->view = (yyvsp[-7].range);
   44553             :                     n->view->relpersistence = (yyvsp[-10].ival);
   44554             :                     n->aliases = (yyvsp[-5].list);
   44555             :                     n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[-1].node));
   44556             :                     n->replace = true;
   44557             :                     n->options = (yyvsp[-3].list);
   44558             :                     n->withCheckOption = (yyvsp[0].ival);
   44559             :                     if (n->withCheckOption != NO_CHECK_OPTION)
   44560             :                         ereport(ERROR,
   44561             :                                 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   44562             :                                  errmsg("WITH CHECK OPTION not supported on recursive views"),
   44563             :                                  parser_errposition((yylsp[0]))));
   44564             :                     (yyval.node) = (Node *) n;
   44565             :                 }
   44566             : #line 44567 "gram.c"
   44567           6 :     break;
   44568             : 
   44569          96 :   case 1492: /* opt_check_option: WITH CHECK OPTION  */
   44570             : #line 11351 "gram.y"
   44571             :                                                                 { (yyval.ival) = CASCADED_CHECK_OPTION; }
   44572             : #line 44573 "gram.c"
   44573          96 :     break;
   44574             : 
   44575           6 :   case 1493: /* opt_check_option: WITH CASCADED CHECK OPTION  */
   44576             : #line 11352 "gram.y"
   44577             :                                                 { (yyval.ival) = CASCADED_CHECK_OPTION; }
   44578             : #line 44579 "gram.c"
   44579           6 :     break;
   44580             : 
   44581          24 :   case 1494: /* opt_check_option: WITH LOCAL CHECK OPTION  */
   44582             : #line 11353 "gram.y"
   44583             :                                                         { (yyval.ival) = LOCAL_CHECK_OPTION; }
   44584             : #line 44585 "gram.c"
   44585          24 :     break;
   44586             : 
   44587       16524 :   case 1495: /* opt_check_option: %empty  */
   44588             : #line 11354 "gram.y"
   44589             :                                                                 { (yyval.ival) = NO_CHECK_OPTION; }
   44590             : #line 44591 "gram.c"
   44591       16524 :     break;
   44592             : 
   44593          52 :   case 1496: /* LoadStmt: LOAD file_name  */
   44594             : #line 11365 "gram.y"
   44595             :                                 {
   44596             :                     LoadStmt   *n = makeNode(LoadStmt);
   44597             : 
   44598             :                     n->filename = (yyvsp[0].str);
   44599             :                     (yyval.node) = (Node *) n;
   44600             :                 }
   44601             : #line 44602 "gram.c"
   44602          52 :     break;
   44603             : 
   44604         780 :   case 1497: /* CreatedbStmt: CREATE DATABASE name opt_with createdb_opt_list  */
   44605             : #line 11382 "gram.y"
   44606             :                                 {
   44607             :                     CreatedbStmt *n = makeNode(CreatedbStmt);
   44608             : 
   44609             :                     n->dbname = (yyvsp[-2].str);
   44610             :                     n->options = (yyvsp[0].list);
   44611             :                     (yyval.node) = (Node *) n;
   44612             :                 }
   44613             : #line 44614 "gram.c"
   44614         780 :     break;
   44615             : 
   44616         624 :   case 1498: /* createdb_opt_list: createdb_opt_items  */
   44617             : #line 11392 "gram.y"
   44618             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   44619             : #line 44620 "gram.c"
   44620         624 :     break;
   44621             : 
   44622         216 :   case 1499: /* createdb_opt_list: %empty  */
   44623             : #line 11393 "gram.y"
   44624             :                                                                                         { (yyval.list) = NIL; }
   44625             : #line 44626 "gram.c"
   44626         216 :     break;
   44627             : 
   44628         624 :   case 1500: /* createdb_opt_items: createdb_opt_item  */
   44629             : #line 11397 "gram.y"
   44630             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   44631             : #line 44632 "gram.c"
   44632         624 :     break;
   44633             : 
   44634         934 :   case 1501: /* createdb_opt_items: createdb_opt_items createdb_opt_item  */
   44635             : #line 11398 "gram.y"
   44636             :                                                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   44637             : #line 44638 "gram.c"
   44638         934 :     break;
   44639             : 
   44640         254 :   case 1502: /* createdb_opt_item: createdb_opt_name opt_equal NumericOnly  */
   44641             : #line 11403 "gram.y"
   44642             :                                 {
   44643             :                     (yyval.defelt) = makeDefElem((yyvsp[-2].str), (yyvsp[0].node), (yylsp[-2]));
   44644             :                 }
   44645             : #line 44646 "gram.c"
   44646         254 :     break;
   44647             : 
   44648        1304 :   case 1503: /* createdb_opt_item: createdb_opt_name opt_equal opt_boolean_or_string  */
   44649             : #line 11407 "gram.y"
   44650             :                                 {
   44651             :                     (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) makeString((yyvsp[0].str)), (yylsp[-2]));
   44652             :                 }
   44653             : #line 44654 "gram.c"
   44654        1304 :     break;
   44655             : 
   44656           0 :   case 1504: /* createdb_opt_item: createdb_opt_name opt_equal DEFAULT  */
   44657             : #line 11411 "gram.y"
   44658             :                                 {
   44659             :                     (yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL, (yylsp[-2]));
   44660             :                 }
   44661             : #line 44662 "gram.c"
   44662           0 :     break;
   44663             : 
   44664        1098 :   case 1505: /* createdb_opt_name: IDENT  */
   44665             : #line 11428 "gram.y"
   44666             :                                                                                 { (yyval.str) = (yyvsp[0].str); }
   44667             : #line 44668 "gram.c"
   44668        1098 :     break;
   44669             : 
   44670           2 :   case 1506: /* createdb_opt_name: CONNECTION LIMIT  */
   44671             : #line 11429 "gram.y"
   44672             :                                                                         { (yyval.str) = pstrdup("connection_limit"); }
   44673             : #line 44674 "gram.c"
   44674           2 :     break;
   44675             : 
   44676          98 :   case 1507: /* createdb_opt_name: ENCODING  */
   44677             : #line 11430 "gram.y"
   44678             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   44679             : #line 44680 "gram.c"
   44680          98 :     break;
   44681             : 
   44682           0 :   case 1508: /* createdb_opt_name: LOCATION  */
   44683             : #line 11431 "gram.y"
   44684             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   44685             : #line 44686 "gram.c"
   44686           0 :     break;
   44687             : 
   44688           2 :   case 1509: /* createdb_opt_name: OWNER  */
   44689             : #line 11432 "gram.y"
   44690             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   44691             : #line 44692 "gram.c"
   44692           2 :     break;
   44693             : 
   44694          16 :   case 1510: /* createdb_opt_name: TABLESPACE  */
   44695             : #line 11433 "gram.y"
   44696             :                                                                         { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   44697             : #line 44698 "gram.c"
   44698          16 :     break;
   44699             : 
   44700         342 :   case 1511: /* createdb_opt_name: TEMPLATE  */
   44701             : #line 11434 "gram.y"
   44702             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   44703             : #line 44704 "gram.c"
   44704         342 :     break;
   44705             : 
   44706           0 :   case 1514: /* AlterDatabaseStmt: ALTER DATABASE name WITH createdb_opt_list  */
   44707             : #line 11454 "gram.y"
   44708             :                                  {
   44709             :                     AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
   44710             : 
   44711             :                     n->dbname = (yyvsp[-2].str);
   44712             :                     n->options = (yyvsp[0].list);
   44713             :                     (yyval.node) = (Node *) n;
   44714             :                  }
   44715             : #line 44716 "gram.c"
   44716           0 :     break;
   44717             : 
   44718          60 :   case 1515: /* AlterDatabaseStmt: ALTER DATABASE name createdb_opt_list  */
   44719             : #line 11462 "gram.y"
   44720             :                                  {
   44721             :                     AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
   44722             : 
   44723             :                     n->dbname = (yyvsp[-1].str);
   44724             :                     n->options = (yyvsp[0].list);
   44725             :                     (yyval.node) = (Node *) n;
   44726             :                  }
   44727             : #line 44728 "gram.c"
   44728          60 :     break;
   44729             : 
   44730          16 :   case 1516: /* AlterDatabaseStmt: ALTER DATABASE name SET TABLESPACE name  */
   44731             : #line 11470 "gram.y"
   44732             :                                  {
   44733             :                     AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
   44734             : 
   44735             :                     n->dbname = (yyvsp[-3].str);
   44736             :                     n->options = list_make1(makeDefElem("tablespace",
   44737             :                                                         (Node *) makeString((yyvsp[0].str)), (yylsp[0])));
   44738             :                     (yyval.node) = (Node *) n;
   44739             :                  }
   44740             : #line 44741 "gram.c"
   44741          16 :     break;
   44742             : 
   44743           6 :   case 1517: /* AlterDatabaseStmt: ALTER DATABASE name REFRESH COLLATION VERSION_P  */
   44744             : #line 11479 "gram.y"
   44745             :                                  {
   44746             :                     AlterDatabaseRefreshCollStmt *n = makeNode(AlterDatabaseRefreshCollStmt);
   44747             : 
   44748             :                     n->dbname = (yyvsp[-3].str);
   44749             :                     (yyval.node) = (Node *) n;
   44750             :                  }
   44751             : #line 44752 "gram.c"
   44752           6 :     break;
   44753             : 
   44754        1186 :   case 1518: /* AlterDatabaseSetStmt: ALTER DATABASE name SetResetClause  */
   44755             : #line 11489 "gram.y"
   44756             :                                 {
   44757             :                     AlterDatabaseSetStmt *n = makeNode(AlterDatabaseSetStmt);
   44758             : 
   44759             :                     n->dbname = (yyvsp[-1].str);
   44760             :                     n->setstmt = (yyvsp[0].vsetstmt);
   44761             :                     (yyval.node) = (Node *) n;
   44762             :                 }
   44763             : #line 44764 "gram.c"
   44764        1186 :     break;
   44765             : 
   44766          92 :   case 1519: /* DropdbStmt: DROP DATABASE name  */
   44767             : #line 11507 "gram.y"
   44768             :                                 {
   44769             :                     DropdbStmt *n = makeNode(DropdbStmt);
   44770             : 
   44771             :                     n->dbname = (yyvsp[0].str);
   44772             :                     n->missing_ok = false;
   44773             :                     n->options = NULL;
   44774             :                     (yyval.node) = (Node *) n;
   44775             :                 }
   44776             : #line 44777 "gram.c"
   44777          92 :     break;
   44778             : 
   44779           4 :   case 1520: /* DropdbStmt: DROP DATABASE IF_P EXISTS name  */
   44780             : #line 11516 "gram.y"
   44781             :                                 {
   44782             :                     DropdbStmt *n = makeNode(DropdbStmt);
   44783             : 
   44784             :                     n->dbname = (yyvsp[0].str);
   44785             :                     n->missing_ok = true;
   44786             :                     n->options = NULL;
   44787             :                     (yyval.node) = (Node *) n;
   44788             :                 }
   44789             : #line 44790 "gram.c"
   44790           4 :     break;
   44791             : 
   44792          14 :   case 1521: /* DropdbStmt: DROP DATABASE name opt_with '(' drop_option_list ')'  */
   44793             : #line 11525 "gram.y"
   44794             :                                 {
   44795             :                     DropdbStmt *n = makeNode(DropdbStmt);
   44796             : 
   44797             :                     n->dbname = (yyvsp[-4].str);
   44798             :                     n->missing_ok = false;
   44799             :                     n->options = (yyvsp[-1].list);
   44800             :                     (yyval.node) = (Node *) n;
   44801             :                 }
   44802             : #line 44803 "gram.c"
   44803          14 :     break;
   44804             : 
   44805          12 :   case 1522: /* DropdbStmt: DROP DATABASE IF_P EXISTS name opt_with '(' drop_option_list ')'  */
   44806             : #line 11534 "gram.y"
   44807             :                                 {
   44808             :                     DropdbStmt *n = makeNode(DropdbStmt);
   44809             : 
   44810             :                     n->dbname = (yyvsp[-4].str);
   44811             :                     n->missing_ok = true;
   44812             :                     n->options = (yyvsp[-1].list);
   44813             :                     (yyval.node) = (Node *) n;
   44814             :                 }
   44815             : #line 44816 "gram.c"
   44816          12 :     break;
   44817             : 
   44818          26 :   case 1523: /* drop_option_list: drop_option  */
   44819             : #line 11546 "gram.y"
   44820             :                                 {
   44821             :                     (yyval.list) = list_make1((Node *) (yyvsp[0].defelt));
   44822             :                 }
   44823             : #line 44824 "gram.c"
   44824          26 :     break;
   44825             : 
   44826           0 :   case 1524: /* drop_option_list: drop_option_list ',' drop_option  */
   44827             : #line 11550 "gram.y"
   44828             :                                 {
   44829             :                     (yyval.list) = lappend((yyvsp[-2].list), (Node *) (yyvsp[0].defelt));
   44830             :                 }
   44831             : #line 44832 "gram.c"
   44832           0 :     break;
   44833             : 
   44834          26 :   case 1525: /* drop_option: FORCE  */
   44835             : #line 11561 "gram.y"
   44836             :                                 {
   44837             :                     (yyval.defelt) = makeDefElem("force", NULL, (yylsp[0]));
   44838             :                 }
   44839             : #line 44840 "gram.c"
   44840          26 :     break;
   44841             : 
   44842           6 :   case 1526: /* AlterCollationStmt: ALTER COLLATION any_name REFRESH VERSION_P  */
   44843             : #line 11573 "gram.y"
   44844             :                                 {
   44845             :                     AlterCollationStmt *n = makeNode(AlterCollationStmt);
   44846             : 
   44847             :                     n->collname = (yyvsp[-2].list);
   44848             :                     (yyval.node) = (Node *) n;
   44849             :                 }
   44850             : #line 44851 "gram.c"
   44851           6 :     break;
   44852             : 
   44853         128 :   case 1527: /* AlterSystemStmt: ALTER SYSTEM_P SET generic_set  */
   44854             : #line 11591 "gram.y"
   44855             :                                 {
   44856             :                     AlterSystemStmt *n = makeNode(AlterSystemStmt);
   44857             : 
   44858             :                     n->setstmt = (yyvsp[0].vsetstmt);
   44859             :                     (yyval.node) = (Node *) n;
   44860             :                 }
   44861             : #line 44862 "gram.c"
   44862         128 :     break;
   44863             : 
   44864          54 :   case 1528: /* AlterSystemStmt: ALTER SYSTEM_P RESET generic_reset  */
   44865             : #line 11598 "gram.y"
   44866             :                                 {
   44867             :                     AlterSystemStmt *n = makeNode(AlterSystemStmt);
   44868             : 
   44869             :                     n->setstmt = (yyvsp[0].vsetstmt);
   44870             :                     (yyval.node) = (Node *) n;
   44871             :                 }
   44872             : #line 44873 "gram.c"
   44873          54 :     break;
   44874             : 
   44875        1474 :   case 1529: /* CreateDomainStmt: CREATE DOMAIN_P any_name opt_as Typename ColQualList  */
   44876             : #line 11615 "gram.y"
   44877             :                                 {
   44878             :                     CreateDomainStmt *n = makeNode(CreateDomainStmt);
   44879             : 
   44880             :                     n->domainname = (yyvsp[-3].list);
   44881             :                     n->typeName = (yyvsp[-1].typnam);
   44882             :                     SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
   44883             :                                      yyscanner);
   44884             :                     (yyval.node) = (Node *) n;
   44885             :                 }
   44886             : #line 44887 "gram.c"
   44887        1474 :     break;
   44888             : 
   44889          14 :   case 1530: /* AlterDomainStmt: ALTER DOMAIN_P any_name alter_column_default  */
   44890             : #line 11629 "gram.y"
   44891             :                                 {
   44892             :                     AlterDomainStmt *n = makeNode(AlterDomainStmt);
   44893             : 
   44894             :                     n->subtype = 'T';
   44895             :                     n->typeName = (yyvsp[-1].list);
   44896             :                     n->def = (yyvsp[0].node);
   44897             :                     (yyval.node) = (Node *) n;
   44898             :                 }
   44899             : #line 44900 "gram.c"
   44900          14 :     break;
   44901             : 
   44902          12 :   case 1531: /* AlterDomainStmt: ALTER DOMAIN_P any_name DROP NOT NULL_P  */
   44903             : #line 11639 "gram.y"
   44904             :                                 {
   44905             :                     AlterDomainStmt *n = makeNode(AlterDomainStmt);
   44906             : 
   44907             :                     n->subtype = 'N';
   44908             :                     n->typeName = (yyvsp[-3].list);
   44909             :                     (yyval.node) = (Node *) n;
   44910             :                 }
   44911             : #line 44912 "gram.c"
   44912          12 :     break;
   44913             : 
   44914          24 :   case 1532: /* AlterDomainStmt: ALTER DOMAIN_P any_name SET NOT NULL_P  */
   44915             : #line 11648 "gram.y"
   44916             :                                 {
   44917             :                     AlterDomainStmt *n = makeNode(AlterDomainStmt);
   44918             : 
   44919             :                     n->subtype = 'O';
   44920             :                     n->typeName = (yyvsp[-3].list);
   44921             :                     (yyval.node) = (Node *) n;
   44922             :                 }
   44923             : #line 44924 "gram.c"
   44924          24 :     break;
   44925             : 
   44926         174 :   case 1533: /* AlterDomainStmt: ALTER DOMAIN_P any_name ADD_P DomainConstraint  */
   44927             : #line 11657 "gram.y"
   44928             :                                 {
   44929             :                     AlterDomainStmt *n = makeNode(AlterDomainStmt);
   44930             : 
   44931             :                     n->subtype = 'C';
   44932             :                     n->typeName = (yyvsp[-2].list);
   44933             :                     n->def = (yyvsp[0].node);
   44934             :                     (yyval.node) = (Node *) n;
   44935             :                 }
   44936             : #line 44937 "gram.c"
   44937         174 :     break;
   44938             : 
   44939          54 :   case 1534: /* AlterDomainStmt: ALTER DOMAIN_P any_name DROP CONSTRAINT name opt_drop_behavior  */
   44940             : #line 11667 "gram.y"
   44941             :                                 {
   44942             :                     AlterDomainStmt *n = makeNode(AlterDomainStmt);
   44943             : 
   44944             :                     n->subtype = 'X';
   44945             :                     n->typeName = (yyvsp[-4].list);
   44946             :                     n->name = (yyvsp[-1].str);
   44947             :                     n->behavior = (yyvsp[0].dbehavior);
   44948             :                     n->missing_ok = false;
   44949             :                     (yyval.node) = (Node *) n;
   44950             :                 }
   44951             : #line 44952 "gram.c"
   44952          54 :     break;
   44953             : 
   44954           6 :   case 1535: /* AlterDomainStmt: ALTER DOMAIN_P any_name DROP CONSTRAINT IF_P EXISTS name opt_drop_behavior  */
   44955             : #line 11679 "gram.y"
   44956             :                                 {
   44957             :                     AlterDomainStmt *n = makeNode(AlterDomainStmt);
   44958             : 
   44959             :                     n->subtype = 'X';
   44960             :                     n->typeName = (yyvsp[-6].list);
   44961             :                     n->name = (yyvsp[-1].str);
   44962             :                     n->behavior = (yyvsp[0].dbehavior);
   44963             :                     n->missing_ok = true;
   44964             :                     (yyval.node) = (Node *) n;
   44965             :                 }
   44966             : #line 44967 "gram.c"
   44967           6 :     break;
   44968             : 
   44969          12 :   case 1536: /* AlterDomainStmt: ALTER DOMAIN_P any_name VALIDATE CONSTRAINT name  */
   44970             : #line 11691 "gram.y"
   44971             :                                 {
   44972             :                     AlterDomainStmt *n = makeNode(AlterDomainStmt);
   44973             : 
   44974             :                     n->subtype = 'V';
   44975             :                     n->typeName = (yyvsp[-3].list);
   44976             :                     n->name = (yyvsp[0].str);
   44977             :                     (yyval.node) = (Node *) n;
   44978             :                 }
   44979             : #line 44980 "gram.c"
   44980          12 :     break;
   44981             : 
   44982          40 :   case 1539: /* AlterTSDictionaryStmt: ALTER TEXT_P SEARCH DICTIONARY any_name definition  */
   44983             : #line 11714 "gram.y"
   44984             :                                 {
   44985             :                     AlterTSDictionaryStmt *n = makeNode(AlterTSDictionaryStmt);
   44986             : 
   44987             :                     n->dictname = (yyvsp[-1].list);
   44988             :                     n->options = (yyvsp[0].list);
   44989             :                     (yyval.node) = (Node *) n;
   44990             :                 }
   44991             : #line 44992 "gram.c"
   44992          40 :     break;
   44993             : 
   44994        8496 :   case 1540: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name ADD_P MAPPING FOR name_list any_with any_name_list  */
   44995             : #line 11725 "gram.y"
   44996             :                                 {
   44997             :                     AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
   44998             : 
   44999             :                     n->kind = ALTER_TSCONFIG_ADD_MAPPING;
   45000             :                     n->cfgname = (yyvsp[-6].list);
   45001             :                     n->tokentype = (yyvsp[-2].list);
   45002             :                     n->dicts = (yyvsp[0].list);
   45003             :                     n->override = false;
   45004             :                     n->replace = false;
   45005             :                     (yyval.node) = (Node *) n;
   45006             :                 }
   45007             : #line 45008 "gram.c"
   45008        8496 :     break;
   45009             : 
   45010          26 :   case 1541: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING FOR name_list any_with any_name_list  */
   45011             : #line 11737 "gram.y"
   45012             :                                 {
   45013             :                     AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
   45014             : 
   45015             :                     n->kind = ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN;
   45016             :                     n->cfgname = (yyvsp[-6].list);
   45017             :                     n->tokentype = (yyvsp[-2].list);
   45018             :                     n->dicts = (yyvsp[0].list);
   45019             :                     n->override = true;
   45020             :                     n->replace = false;
   45021             :                     (yyval.node) = (Node *) n;
   45022             :                 }
   45023             : #line 45024 "gram.c"
   45024          26 :     break;
   45025             : 
   45026          18 :   case 1542: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING REPLACE any_name any_with any_name  */
   45027             : #line 11749 "gram.y"
   45028             :                                 {
   45029             :                     AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
   45030             : 
   45031             :                     n->kind = ALTER_TSCONFIG_REPLACE_DICT;
   45032             :                     n->cfgname = (yyvsp[-6].list);
   45033             :                     n->tokentype = NIL;
   45034             :                     n->dicts = list_make2((yyvsp[-2].list),(yyvsp[0].list));
   45035             :                     n->override = false;
   45036             :                     n->replace = true;
   45037             :                     (yyval.node) = (Node *) n;
   45038             :                 }
   45039             : #line 45040 "gram.c"
   45040          18 :     break;
   45041             : 
   45042           0 :   case 1543: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING FOR name_list REPLACE any_name any_with any_name  */
   45043             : #line 11761 "gram.y"
   45044             :                                 {
   45045             :                     AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
   45046             : 
   45047             :                     n->kind = ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN;
   45048             :                     n->cfgname = (yyvsp[-8].list);
   45049             :                     n->tokentype = (yyvsp[-4].list);
   45050             :                     n->dicts = list_make2((yyvsp[-2].list),(yyvsp[0].list));
   45051             :                     n->override = false;
   45052             :                     n->replace = true;
   45053             :                     (yyval.node) = (Node *) n;
   45054             :                 }
   45055             : #line 45056 "gram.c"
   45056           0 :     break;
   45057             : 
   45058          18 :   case 1544: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name DROP MAPPING FOR name_list  */
   45059             : #line 11773 "gram.y"
   45060             :                                 {
   45061             :                     AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
   45062             : 
   45063             :                     n->kind = ALTER_TSCONFIG_DROP_MAPPING;
   45064             :                     n->cfgname = (yyvsp[-4].list);
   45065             :                     n->tokentype = (yyvsp[0].list);
   45066             :                     n->missing_ok = false;
   45067             :                     (yyval.node) = (Node *) n;
   45068             :                 }
   45069             : #line 45070 "gram.c"
   45070          18 :     break;
   45071             : 
   45072          12 :   case 1545: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name DROP MAPPING IF_P EXISTS FOR name_list  */
   45073             : #line 11783 "gram.y"
   45074             :                                 {
   45075             :                     AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
   45076             : 
   45077             :                     n->kind = ALTER_TSCONFIG_DROP_MAPPING;
   45078             :                     n->cfgname = (yyvsp[-6].list);
   45079             :                     n->tokentype = (yyvsp[0].list);
   45080             :                     n->missing_ok = true;
   45081             :                     (yyval.node) = (Node *) n;
   45082             :                 }
   45083             : #line 45084 "gram.c"
   45084          12 :     break;
   45085             : 
   45086          64 :   case 1548: /* CreateConversionStmt: CREATE opt_default CONVERSION_P any_name FOR Sconst TO Sconst FROM any_name  */
   45087             : #line 11812 "gram.y"
   45088             :                         {
   45089             :                 CreateConversionStmt *n = makeNode(CreateConversionStmt);
   45090             : 
   45091             :                 n->conversion_name = (yyvsp[-6].list);
   45092             :                 n->for_encoding_name = (yyvsp[-4].str);
   45093             :                 n->to_encoding_name = (yyvsp[-2].str);
   45094             :                 n->func_name = (yyvsp[0].list);
   45095             :                 n->def = (yyvsp[-8].boolean);
   45096             :                 (yyval.node) = (Node *) n;
   45097             :             }
   45098             : #line 45099 "gram.c"
   45099          64 :     break;
   45100             : 
   45101           0 :   case 1549: /* ClusterStmt: CLUSTER '(' utility_option_list ')' qualified_name cluster_index_specification  */
   45102             : #line 11835 "gram.y"
   45103             :                                 {
   45104             :                     ClusterStmt *n = makeNode(ClusterStmt);
   45105             : 
   45106             :                     n->relation = (yyvsp[-1].range);
   45107             :                     n->indexname = (yyvsp[0].str);
   45108             :                     n->params = (yyvsp[-3].list);
   45109             :                     (yyval.node) = (Node *) n;
   45110             :                 }
   45111             : #line 45112 "gram.c"
   45112           0 :     break;
   45113             : 
   45114           0 :   case 1550: /* ClusterStmt: CLUSTER '(' utility_option_list ')'  */
   45115             : #line 11844 "gram.y"
   45116             :                                 {
   45117             :                     ClusterStmt *n = makeNode(ClusterStmt);
   45118             : 
   45119             :                     n->relation = NULL;
   45120             :                     n->indexname = NULL;
   45121             :                     n->params = (yyvsp[-1].list);
   45122             :                     (yyval.node) = (Node *) n;
   45123             :                 }
   45124             : #line 45125 "gram.c"
   45125           0 :     break;
   45126             : 
   45127         190 :   case 1551: /* ClusterStmt: CLUSTER opt_verbose qualified_name cluster_index_specification  */
   45128             : #line 11854 "gram.y"
   45129             :                                 {
   45130             :                     ClusterStmt *n = makeNode(ClusterStmt);
   45131             : 
   45132             :                     n->relation = (yyvsp[-1].range);
   45133             :                     n->indexname = (yyvsp[0].str);
   45134             :                     n->params = NIL;
   45135             :                     if ((yyvsp[-2].boolean))
   45136             :                         n->params = lappend(n->params, makeDefElem("verbose", NULL, (yylsp[-2])));
   45137             :                     (yyval.node) = (Node *) n;
   45138             :                 }
   45139             : #line 45140 "gram.c"
   45140         190 :     break;
   45141             : 
   45142          28 :   case 1552: /* ClusterStmt: CLUSTER opt_verbose  */
   45143             : #line 11866 "gram.y"
   45144             :                                 {
   45145             :                     ClusterStmt *n = makeNode(ClusterStmt);
   45146             : 
   45147             :                     n->relation = NULL;
   45148             :                     n->indexname = NULL;
   45149             :                     n->params = NIL;
   45150             :                     if ((yyvsp[0].boolean))
   45151             :                         n->params = lappend(n->params, makeDefElem("verbose", NULL, (yylsp[0])));
   45152             :                     (yyval.node) = (Node *) n;
   45153             :                 }
   45154             : #line 45155 "gram.c"
   45155          28 :     break;
   45156             : 
   45157          18 :   case 1553: /* ClusterStmt: CLUSTER opt_verbose name ON qualified_name  */
   45158             : #line 11878 "gram.y"
   45159             :                                 {
   45160             :                     ClusterStmt *n = makeNode(ClusterStmt);
   45161             : 
   45162             :                     n->relation = (yyvsp[0].range);
   45163             :                     n->indexname = (yyvsp[-2].str);
   45164             :                     n->params = NIL;
   45165             :                     if ((yyvsp[-3].boolean))
   45166             :                         n->params = lappend(n->params, makeDefElem("verbose", NULL, (yylsp[-3])));
   45167             :                     (yyval.node) = (Node *) n;
   45168             :                 }
   45169             : #line 45170 "gram.c"
   45170          18 :     break;
   45171             : 
   45172         156 :   case 1554: /* cluster_index_specification: USING name  */
   45173             : #line 11891 "gram.y"
   45174             :                                                                 { (yyval.str) = (yyvsp[0].str); }
   45175             : #line 45176 "gram.c"
   45176         156 :     break;
   45177             : 
   45178          34 :   case 1555: /* cluster_index_specification: %empty  */
   45179             : #line 11892 "gram.y"
   45180             :                                                                 { (yyval.str) = NULL; }
   45181             : #line 45182 "gram.c"
   45182          34 :     break;
   45183             : 
   45184        1210 :   case 1556: /* VacuumStmt: VACUUM opt_full opt_freeze opt_verbose opt_analyze opt_vacuum_relation_list  */
   45185             : #line 11905 "gram.y"
   45186             :                                 {
   45187             :                     VacuumStmt *n = makeNode(VacuumStmt);
   45188             : 
   45189             :                     n->options = NIL;
   45190             :                     if ((yyvsp[-4].boolean))
   45191             :                         n->options = lappend(n->options,
   45192             :                                              makeDefElem("full", NULL, (yylsp[-4])));
   45193             :                     if ((yyvsp[-3].boolean))
   45194             :                         n->options = lappend(n->options,
   45195             :                                              makeDefElem("freeze", NULL, (yylsp[-3])));
   45196             :                     if ((yyvsp[-2].boolean))
   45197             :                         n->options = lappend(n->options,
   45198             :                                              makeDefElem("verbose", NULL, (yylsp[-2])));
   45199             :                     if ((yyvsp[-1].boolean))
   45200             :                         n->options = lappend(n->options,
   45201             :                                              makeDefElem("analyze", NULL, (yylsp[-1])));
   45202             :                     n->rels = (yyvsp[0].list);
   45203             :                     n->is_vacuumcmd = true;
   45204             :                     (yyval.node) = (Node *) n;
   45205             :                 }
   45206             : #line 45207 "gram.c"
   45207        1210 :     break;
   45208             : 
   45209        7782 :   case 1557: /* VacuumStmt: VACUUM '(' utility_option_list ')' opt_vacuum_relation_list  */
   45210             : #line 11926 "gram.y"
   45211             :                                 {
   45212             :                     VacuumStmt *n = makeNode(VacuumStmt);
   45213             : 
   45214             :                     n->options = (yyvsp[-2].list);
   45215             :                     n->rels = (yyvsp[0].list);
   45216             :                     n->is_vacuumcmd = true;
   45217             :                     (yyval.node) = (Node *) n;
   45218             :                 }
   45219             : #line 45220 "gram.c"
   45220        7782 :     break;
   45221             : 
   45222        4488 :   case 1558: /* AnalyzeStmt: analyze_keyword opt_verbose opt_vacuum_relation_list  */
   45223             : #line 11937 "gram.y"
   45224             :                                 {
   45225             :                     VacuumStmt *n = makeNode(VacuumStmt);
   45226             : 
   45227             :                     n->options = NIL;
   45228             :                     if ((yyvsp[-1].boolean))
   45229             :                         n->options = lappend(n->options,
   45230             :                                              makeDefElem("verbose", NULL, (yylsp[-1])));
   45231             :                     n->rels = (yyvsp[0].list);
   45232             :                     n->is_vacuumcmd = false;
   45233             :                     (yyval.node) = (Node *) n;
   45234             :                 }
   45235             : #line 45236 "gram.c"
   45236        4488 :     break;
   45237             : 
   45238         186 :   case 1559: /* AnalyzeStmt: analyze_keyword '(' utility_option_list ')' opt_vacuum_relation_list  */
   45239             : #line 11949 "gram.y"
   45240             :                                 {
   45241             :                     VacuumStmt *n = makeNode(VacuumStmt);
   45242             : 
   45243             :                     n->options = (yyvsp[-2].list);
   45244             :                     n->rels = (yyvsp[0].list);
   45245             :                     n->is_vacuumcmd = false;
   45246             :                     (yyval.node) = (Node *) n;
   45247             :                 }
   45248             : #line 45249 "gram.c"
   45249         186 :     break;
   45250             : 
   45251       21838 :   case 1560: /* utility_option_list: utility_option_elem  */
   45252             : #line 11961 "gram.y"
   45253             :                                 {
   45254             :                     (yyval.list) = list_make1((yyvsp[0].defelt));
   45255             :                 }
   45256             : #line 45257 "gram.c"
   45257       21838 :     break;
   45258             : 
   45259       12276 :   case 1561: /* utility_option_list: utility_option_list ',' utility_option_elem  */
   45260             : #line 11965 "gram.y"
   45261             :                                 {
   45262             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
   45263             :                 }
   45264             : #line 45265 "gram.c"
   45265       12276 :     break;
   45266             : 
   45267       34114 :   case 1564: /* utility_option_elem: utility_option_name utility_option_arg  */
   45268             : #line 11977 "gram.y"
   45269             :                                 {
   45270             :                     (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
   45271             :                 }
   45272             : #line 45273 "gram.c"
   45273       34114 :     break;
   45274             : 
   45275       30370 :   case 1565: /* utility_option_name: NonReservedWord  */
   45276             : #line 11983 "gram.y"
   45277             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   45278             : #line 45279 "gram.c"
   45279       30370 :     break;
   45280             : 
   45281        3602 :   case 1566: /* utility_option_name: analyze_keyword  */
   45282             : #line 11984 "gram.y"
   45283             :                                                                                         { (yyval.str) = "analyze"; }
   45284             : #line 45285 "gram.c"
   45285        3602 :     break;
   45286             : 
   45287         148 :   case 1567: /* utility_option_name: FORMAT_LA  */
   45288             : #line 11985 "gram.y"
   45289             :                                                                                                 { (yyval.str) = "format"; }
   45290             : #line 45291 "gram.c"
   45291         148 :     break;
   45292             : 
   45293       17184 :   case 1568: /* utility_option_arg: opt_boolean_or_string  */
   45294             : #line 11989 "gram.y"
   45295             :                                                                                 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
   45296             : #line 45297 "gram.c"
   45297       17184 :     break;
   45298             : 
   45299         380 :   case 1569: /* utility_option_arg: NumericOnly  */
   45300             : #line 11990 "gram.y"
   45301             :                                                                                         { (yyval.node) = (Node *) (yyvsp[0].node); }
   45302             : #line 45303 "gram.c"
   45303         380 :     break;
   45304             : 
   45305       16550 :   case 1570: /* utility_option_arg: %empty  */
   45306             : #line 11991 "gram.y"
   45307             :                                                                                         { (yyval.node) = NULL; }
   45308             : #line 45309 "gram.c"
   45309       16550 :     break;
   45310             : 
   45311         286 :   case 1571: /* opt_analyze: analyze_keyword  */
   45312             : #line 11995 "gram.y"
   45313             :                                                                                         { (yyval.boolean) = true; }
   45314             : #line 45315 "gram.c"
   45315         286 :     break;
   45316             : 
   45317         924 :   case 1572: /* opt_analyze: %empty  */
   45318             : #line 11996 "gram.y"
   45319             :                                                                                                 { (yyval.boolean) = false; }
   45320             : #line 45321 "gram.c"
   45321         924 :     break;
   45322             : 
   45323          30 :   case 1573: /* opt_verbose: VERBOSE  */
   45324             : #line 12000 "gram.y"
   45325             :                                                                                                 { (yyval.boolean) = true; }
   45326             : #line 45327 "gram.c"
   45327          30 :     break;
   45328             : 
   45329        8208 :   case 1574: /* opt_verbose: %empty  */
   45330             : #line 12001 "gram.y"
   45331             :                                                                                                 { (yyval.boolean) = false; }
   45332             : #line 45333 "gram.c"
   45333        8208 :     break;
   45334             : 
   45335         146 :   case 1575: /* opt_full: FULL  */
   45336             : #line 12004 "gram.y"
   45337             :                                                                                         { (yyval.boolean) = true; }
   45338             : #line 45339 "gram.c"
   45339         146 :     break;
   45340             : 
   45341        1064 :   case 1576: /* opt_full: %empty  */
   45342             : #line 12005 "gram.y"
   45343             :                                                                                                 { (yyval.boolean) = false; }
   45344             : #line 45345 "gram.c"
   45345        1064 :     break;
   45346             : 
   45347         160 :   case 1577: /* opt_freeze: FREEZE  */
   45348             : #line 12008 "gram.y"
   45349             :                                                                                         { (yyval.boolean) = true; }
   45350             : #line 45351 "gram.c"
   45351         160 :     break;
   45352             : 
   45353        1050 :   case 1578: /* opt_freeze: %empty  */
   45354             : #line 12009 "gram.y"
   45355             :                                                                                                 { (yyval.boolean) = false; }
   45356             : #line 45357 "gram.c"
   45357        1050 :     break;
   45358             : 
   45359        2804 :   case 1579: /* opt_name_list: '(' name_list ')'  */
   45360             : #line 12013 "gram.y"
   45361             :                                                                                         { (yyval.list) = (yyvsp[-1].list); }
   45362             : #line 45363 "gram.c"
   45363        2804 :     break;
   45364             : 
   45365       15900 :   case 1580: /* opt_name_list: %empty  */
   45366             : #line 12014 "gram.y"
   45367             :                                                                                                 { (yyval.list) = NIL; }
   45368             : #line 45369 "gram.c"
   45369       15900 :     break;
   45370             : 
   45371       13438 :   case 1581: /* vacuum_relation: relation_expr opt_name_list  */
   45372             : #line 12019 "gram.y"
   45373             :                                 {
   45374             :                     (yyval.node) = (Node *) makeVacuumRelation((yyvsp[-1].range), InvalidOid, (yyvsp[0].list));
   45375             :                 }
   45376             : #line 45377 "gram.c"
   45377       13438 :     break;
   45378             : 
   45379       13282 :   case 1582: /* vacuum_relation_list: vacuum_relation  */
   45380             : #line 12026 "gram.y"
   45381             :                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   45382             : #line 45383 "gram.c"
   45383       13282 :     break;
   45384             : 
   45385         156 :   case 1583: /* vacuum_relation_list: vacuum_relation_list ',' vacuum_relation  */
   45386             : #line 12028 "gram.y"
   45387             :                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   45388             : #line 45389 "gram.c"
   45389         156 :     break;
   45390             : 
   45391       13282 :   case 1584: /* opt_vacuum_relation_list: vacuum_relation_list  */
   45392             : #line 12032 "gram.y"
   45393             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   45394             : #line 45395 "gram.c"
   45395       13282 :     break;
   45396             : 
   45397         384 :   case 1585: /* opt_vacuum_relation_list: %empty  */
   45398             : #line 12033 "gram.y"
   45399             :                                                                                                 { (yyval.list) = NIL; }
   45400             : #line 45401 "gram.c"
   45401         384 :     break;
   45402             : 
   45403        7714 :   case 1586: /* ExplainStmt: EXPLAIN ExplainableStmt  */
   45404             : #line 12047 "gram.y"
   45405             :                                 {
   45406             :                     ExplainStmt *n = makeNode(ExplainStmt);
   45407             : 
   45408             :                     n->query = (yyvsp[0].node);
   45409             :                     n->options = NIL;
   45410             :                     (yyval.node) = (Node *) n;
   45411             :                 }
   45412             : #line 45413 "gram.c"
   45413        7714 :     break;
   45414             : 
   45415        2304 :   case 1587: /* ExplainStmt: EXPLAIN analyze_keyword opt_verbose ExplainableStmt  */
   45416             : #line 12055 "gram.y"
   45417             :                                 {
   45418             :                     ExplainStmt *n = makeNode(ExplainStmt);
   45419             : 
   45420             :                     n->query = (yyvsp[0].node);
   45421             :                     n->options = list_make1(makeDefElem("analyze", NULL, (yylsp[-2])));
   45422             :                     if ((yyvsp[-1].boolean))
   45423             :                         n->options = lappend(n->options,
   45424             :                                              makeDefElem("verbose", NULL, (yylsp[-1])));
   45425             :                     (yyval.node) = (Node *) n;
   45426             :                 }
   45427             : #line 45428 "gram.c"
   45428        2304 :     break;
   45429             : 
   45430          12 :   case 1588: /* ExplainStmt: EXPLAIN VERBOSE ExplainableStmt  */
   45431             : #line 12066 "gram.y"
   45432             :                                 {
   45433             :                     ExplainStmt *n = makeNode(ExplainStmt);
   45434             : 
   45435             :                     n->query = (yyvsp[0].node);
   45436             :                     n->options = list_make1(makeDefElem("verbose", NULL, (yylsp[-1])));
   45437             :                     (yyval.node) = (Node *) n;
   45438             :                 }
   45439             : #line 45440 "gram.c"
   45440          12 :     break;
   45441             : 
   45442       13714 :   case 1589: /* ExplainStmt: EXPLAIN '(' utility_option_list ')' ExplainableStmt  */
   45443             : #line 12074 "gram.y"
   45444             :                                 {
   45445             :                     ExplainStmt *n = makeNode(ExplainStmt);
   45446             : 
   45447             :                     n->query = (yyvsp[0].node);
   45448             :                     n->options = (yyvsp[-2].list);
   45449             :                     (yyval.node) = (Node *) n;
   45450             :                 }
   45451             : #line 45452 "gram.c"
   45452       13714 :     break;
   45453             : 
   45454        2320 :   case 1600: /* PrepareStmt: PREPARE name prep_type_clause AS PreparableStmt  */
   45455             : #line 12104 "gram.y"
   45456             :                                 {
   45457             :                     PrepareStmt *n = makeNode(PrepareStmt);
   45458             : 
   45459             :                     n->name = (yyvsp[-3].str);
   45460             :                     n->argtypes = (yyvsp[-2].list);
   45461             :                     n->query = (yyvsp[0].node);
   45462             :                     (yyval.node) = (Node *) n;
   45463             :                 }
   45464             : #line 45465 "gram.c"
   45465        2320 :     break;
   45466             : 
   45467        2012 :   case 1601: /* prep_type_clause: '(' type_list ')'  */
   45468             : #line 12114 "gram.y"
   45469             :                                                         { (yyval.list) = (yyvsp[-1].list); }
   45470             : #line 45471 "gram.c"
   45471        2012 :     break;
   45472             : 
   45473         326 :   case 1602: /* prep_type_clause: %empty  */
   45474             : #line 12115 "gram.y"
   45475             :                                                                         { (yyval.list) = NIL; }
   45476             : #line 45477 "gram.c"
   45477         326 :     break;
   45478             : 
   45479       20222 :   case 1608: /* ExecuteStmt: EXECUTE name execute_param_clause  */
   45480             : #line 12134 "gram.y"
   45481             :                                 {
   45482             :                     ExecuteStmt *n = makeNode(ExecuteStmt);
   45483             : 
   45484             :                     n->name = (yyvsp[-1].str);
   45485             :                     n->params = (yyvsp[0].list);
   45486             :                     (yyval.node) = (Node *) n;
   45487             :                 }
   45488             : #line 45489 "gram.c"
   45489       20222 :     break;
   45490             : 
   45491          76 :   case 1609: /* ExecuteStmt: CREATE OptTemp TABLE create_as_target AS EXECUTE name execute_param_clause opt_with_data  */
   45492             : #line 12143 "gram.y"
   45493             :                                 {
   45494             :                     CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
   45495             :                     ExecuteStmt *n = makeNode(ExecuteStmt);
   45496             : 
   45497             :                     n->name = (yyvsp[-2].str);
   45498             :                     n->params = (yyvsp[-1].list);
   45499             :                     ctas->query = (Node *) n;
   45500             :                     ctas->into = (yyvsp[-5].into);
   45501             :                     ctas->objtype = OBJECT_TABLE;
   45502             :                     ctas->is_select_into = false;
   45503             :                     ctas->if_not_exists = false;
   45504             :                     /* cram additional flags into the IntoClause */
   45505             :                     (yyvsp[-5].into)->rel->relpersistence = (yyvsp[-7].ival);
   45506             :                     (yyvsp[-5].into)->skipData = !((yyvsp[0].boolean));
   45507             :                     (yyval.node) = (Node *) ctas;
   45508             :                 }
   45509             : #line 45510 "gram.c"
   45510          76 :     break;
   45511             : 
   45512          12 :   case 1610: /* ExecuteStmt: CREATE OptTemp TABLE IF_P NOT EXISTS create_as_target AS EXECUTE name execute_param_clause opt_with_data  */
   45513             : #line 12161 "gram.y"
   45514             :                                 {
   45515             :                     CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
   45516             :                     ExecuteStmt *n = makeNode(ExecuteStmt);
   45517             : 
   45518             :                     n->name = (yyvsp[-2].str);
   45519             :                     n->params = (yyvsp[-1].list);
   45520             :                     ctas->query = (Node *) n;
   45521             :                     ctas->into = (yyvsp[-5].into);
   45522             :                     ctas->objtype = OBJECT_TABLE;
   45523             :                     ctas->is_select_into = false;
   45524             :                     ctas->if_not_exists = true;
   45525             :                     /* cram additional flags into the IntoClause */
   45526             :                     (yyvsp[-5].into)->rel->relpersistence = (yyvsp[-10].ival);
   45527             :                     (yyvsp[-5].into)->skipData = !((yyvsp[0].boolean));
   45528             :                     (yyval.node) = (Node *) ctas;
   45529             :                 }
   45530             : #line 45531 "gram.c"
   45531          12 :     break;
   45532             : 
   45533       19168 :   case 1611: /* execute_param_clause: '(' expr_list ')'  */
   45534             : #line 12179 "gram.y"
   45535             :                                                                 { (yyval.list) = (yyvsp[-1].list); }
   45536             : #line 45537 "gram.c"
   45537       19168 :     break;
   45538             : 
   45539        1142 :   case 1612: /* execute_param_clause: %empty  */
   45540             : #line 12180 "gram.y"
   45541             :                                                                                         { (yyval.list) = NIL; }
   45542             : #line 45543 "gram.c"
   45543        1142 :     break;
   45544             : 
   45545        3984 :   case 1613: /* DeallocateStmt: DEALLOCATE name  */
   45546             : #line 12191 "gram.y"
   45547             :                                         {
   45548             :                         DeallocateStmt *n = makeNode(DeallocateStmt);
   45549             : 
   45550             :                         n->name = (yyvsp[0].str);
   45551             :                         n->isall = false;
   45552             :                         n->location = (yylsp[0]);
   45553             :                         (yyval.node) = (Node *) n;
   45554             :                     }
   45555             : #line 45556 "gram.c"
   45556        3984 :     break;
   45557             : 
   45558          20 :   case 1614: /* DeallocateStmt: DEALLOCATE PREPARE name  */
   45559             : #line 12200 "gram.y"
   45560             :                                         {
   45561             :                         DeallocateStmt *n = makeNode(DeallocateStmt);
   45562             : 
   45563             :                         n->name = (yyvsp[0].str);
   45564             :                         n->isall = false;
   45565             :                         n->location = (yylsp[0]);
   45566             :                         (yyval.node) = (Node *) n;
   45567             :                     }
   45568             : #line 45569 "gram.c"
   45569          20 :     break;
   45570             : 
   45571          54 :   case 1615: /* DeallocateStmt: DEALLOCATE ALL  */
   45572             : #line 12209 "gram.y"
   45573             :                                         {
   45574             :                         DeallocateStmt *n = makeNode(DeallocateStmt);
   45575             : 
   45576             :                         n->name = NULL;
   45577             :                         n->isall = true;
   45578             :                         n->location = -1;
   45579             :                         (yyval.node) = (Node *) n;
   45580             :                     }
   45581             : #line 45582 "gram.c"
   45582          54 :     break;
   45583             : 
   45584           2 :   case 1616: /* DeallocateStmt: DEALLOCATE PREPARE ALL  */
   45585             : #line 12218 "gram.y"
   45586             :                                         {
   45587             :                         DeallocateStmt *n = makeNode(DeallocateStmt);
   45588             : 
   45589             :                         n->name = NULL;
   45590             :                         n->isall = true;
   45591             :                         n->location = -1;
   45592             :                         (yyval.node) = (Node *) n;
   45593             :                     }
   45594             : #line 45595 "gram.c"
   45595           2 :     break;
   45596             : 
   45597       74178 :   case 1617: /* InsertStmt: opt_with_clause INSERT INTO insert_target insert_rest opt_on_conflict returning_clause  */
   45598             : #line 12238 "gram.y"
   45599             :                                 {
   45600             :                     (yyvsp[-2].istmt)->relation = (yyvsp[-3].range);
   45601             :                     (yyvsp[-2].istmt)->onConflictClause = (yyvsp[-1].onconflict);
   45602             :                     (yyvsp[-2].istmt)->returningClause = (yyvsp[0].retclause);
   45603             :                     (yyvsp[-2].istmt)->withClause = (yyvsp[-6].with);
   45604             :                     (yyvsp[-2].istmt)->stmt_location = (yyloc);
   45605             :                     (yyval.node) = (Node *) (yyvsp[-2].istmt);
   45606             :                 }
   45607             : #line 45608 "gram.c"
   45608       74178 :     break;
   45609             : 
   45610       74046 :   case 1618: /* insert_target: qualified_name  */
   45611             : #line 12256 "gram.y"
   45612             :                                 {
   45613             :                     (yyval.range) = (yyvsp[0].range);
   45614             :                 }
   45615             : #line 45616 "gram.c"
   45616       74046 :     break;
   45617             : 
   45618         138 :   case 1619: /* insert_target: qualified_name AS ColId  */
   45619             : #line 12260 "gram.y"
   45620             :                                 {
   45621             :                     (yyvsp[-2].range)->alias = makeAlias((yyvsp[0].str), NIL);
   45622             :                     (yyval.range) = (yyvsp[-2].range);
   45623             :                 }
   45624             : #line 45625 "gram.c"
   45625         138 :     break;
   45626             : 
   45627       49050 :   case 1620: /* insert_rest: SelectStmt  */
   45628             : #line 12268 "gram.y"
   45629             :                                 {
   45630             :                     (yyval.istmt) = makeNode(InsertStmt);
   45631             :                     (yyval.istmt)->cols = NIL;
   45632             :                     (yyval.istmt)->selectStmt = (yyvsp[0].node);
   45633             :                 }
   45634             : #line 45635 "gram.c"
   45635       49050 :     break;
   45636             : 
   45637          96 :   case 1621: /* insert_rest: OVERRIDING override_kind VALUE_P SelectStmt  */
   45638             : #line 12274 "gram.y"
   45639             :                                 {
   45640             :                     (yyval.istmt) = makeNode(InsertStmt);
   45641             :                     (yyval.istmt)->cols = NIL;
   45642             :                     (yyval.istmt)->override = (yyvsp[-2].ival);
   45643             :                     (yyval.istmt)->selectStmt = (yyvsp[0].node);
   45644             :                 }
   45645             : #line 45646 "gram.c"
   45646          96 :     break;
   45647             : 
   45648       14230 :   case 1622: /* insert_rest: '(' insert_column_list ')' SelectStmt  */
   45649             : #line 12281 "gram.y"
   45650             :                                 {
   45651             :                     (yyval.istmt) = makeNode(InsertStmt);
   45652             :                     (yyval.istmt)->cols = (yyvsp[-2].list);
   45653             :                     (yyval.istmt)->selectStmt = (yyvsp[0].node);
   45654             :                 }
   45655             : #line 45656 "gram.c"
   45656       14230 :     break;
   45657             : 
   45658           0 :   case 1623: /* insert_rest: '(' insert_column_list ')' OVERRIDING override_kind VALUE_P SelectStmt  */
   45659             : #line 12287 "gram.y"
   45660             :                                 {
   45661             :                     (yyval.istmt) = makeNode(InsertStmt);
   45662             :                     (yyval.istmt)->cols = (yyvsp[-5].list);
   45663             :                     (yyval.istmt)->override = (yyvsp[-2].ival);
   45664             :                     (yyval.istmt)->selectStmt = (yyvsp[0].node);
   45665             :                 }
   45666             : #line 45667 "gram.c"
   45667           0 :     break;
   45668             : 
   45669       10808 :   case 1624: /* insert_rest: DEFAULT VALUES  */
   45670             : #line 12294 "gram.y"
   45671             :                                 {
   45672             :                     (yyval.istmt) = makeNode(InsertStmt);
   45673             :                     (yyval.istmt)->cols = NIL;
   45674             :                     (yyval.istmt)->selectStmt = NULL;
   45675             :                 }
   45676             : #line 45677 "gram.c"
   45677       10808 :     break;
   45678             : 
   45679          66 :   case 1625: /* override_kind: USER  */
   45680             : #line 12302 "gram.y"
   45681             :                                         { (yyval.ival) = OVERRIDING_USER_VALUE; }
   45682             : #line 45683 "gram.c"
   45683          66 :     break;
   45684             : 
   45685          60 :   case 1626: /* override_kind: SYSTEM_P  */
   45686             : #line 12303 "gram.y"
   45687             :                                         { (yyval.ival) = OVERRIDING_SYSTEM_VALUE; }
   45688             : #line 45689 "gram.c"
   45689          60 :     break;
   45690             : 
   45691       14528 :   case 1627: /* insert_column_list: insert_column_item  */
   45692             : #line 12308 "gram.y"
   45693             :                                         { (yyval.list) = list_make1((yyvsp[0].target)); }
   45694             : #line 45695 "gram.c"
   45695       14528 :     break;
   45696             : 
   45697       16032 :   case 1628: /* insert_column_list: insert_column_list ',' insert_column_item  */
   45698             : #line 12310 "gram.y"
   45699             :                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
   45700             : #line 45701 "gram.c"
   45701       16032 :     break;
   45702             : 
   45703       30560 :   case 1629: /* insert_column_item: ColId opt_indirection  */
   45704             : #line 12315 "gram.y"
   45705             :                                 {
   45706             :                     (yyval.target) = makeNode(ResTarget);
   45707             :                     (yyval.target)->name = (yyvsp[-1].str);
   45708             :                     (yyval.target)->indirection = check_indirection((yyvsp[0].list), yyscanner);
   45709             :                     (yyval.target)->val = NULL;
   45710             :                     (yyval.target)->location = (yylsp[-1]);
   45711             :                 }
   45712             : #line 45713 "gram.c"
   45713       30560 :     break;
   45714             : 
   45715        1306 :   case 1630: /* opt_on_conflict: ON CONFLICT opt_conf_expr DO UPDATE SET set_clause_list where_clause  */
   45716             : #line 12326 "gram.y"
   45717             :                                 {
   45718             :                     (yyval.onconflict) = makeNode(OnConflictClause);
   45719             :                     (yyval.onconflict)->action = ONCONFLICT_UPDATE;
   45720             :                     (yyval.onconflict)->infer = (yyvsp[-5].infer);
   45721             :                     (yyval.onconflict)->targetList = (yyvsp[-1].list);
   45722             :                     (yyval.onconflict)->whereClause = (yyvsp[0].node);
   45723             :                     (yyval.onconflict)->location = (yylsp[-7]);
   45724             :                 }
   45725             : #line 45726 "gram.c"
   45726        1306 :     break;
   45727             : 
   45728         550 :   case 1631: /* opt_on_conflict: ON CONFLICT opt_conf_expr DO NOTHING  */
   45729             : #line 12336 "gram.y"
   45730             :                                 {
   45731             :                     (yyval.onconflict) = makeNode(OnConflictClause);
   45732             :                     (yyval.onconflict)->action = ONCONFLICT_NOTHING;
   45733             :                     (yyval.onconflict)->infer = (yyvsp[-2].infer);
   45734             :                     (yyval.onconflict)->targetList = NIL;
   45735             :                     (yyval.onconflict)->whereClause = NULL;
   45736             :                     (yyval.onconflict)->location = (yylsp[-4]);
   45737             :                 }
   45738             : #line 45739 "gram.c"
   45739         550 :     break;
   45740             : 
   45741       72328 :   case 1632: /* opt_on_conflict: %empty  */
   45742             : #line 12345 "gram.y"
   45743             :                                 {
   45744             :                     (yyval.onconflict) = NULL;
   45745             :                 }
   45746             : #line 45747 "gram.c"
   45747       72328 :     break;
   45748             : 
   45749        1430 :   case 1633: /* opt_conf_expr: '(' index_params ')' where_clause  */
   45750             : #line 12352 "gram.y"
   45751             :                                 {
   45752             :                     (yyval.infer) = makeNode(InferClause);
   45753             :                     (yyval.infer)->indexElems = (yyvsp[-2].list);
   45754             :                     (yyval.infer)->whereClause = (yyvsp[0].node);
   45755             :                     (yyval.infer)->conname = NULL;
   45756             :                     (yyval.infer)->location = (yylsp[-3]);
   45757             :                 }
   45758             : #line 45759 "gram.c"
   45759        1430 :     break;
   45760             : 
   45761         192 :   case 1634: /* opt_conf_expr: ON CONSTRAINT name  */
   45762             : #line 12361 "gram.y"
   45763             :                                 {
   45764             :                     (yyval.infer) = makeNode(InferClause);
   45765             :                     (yyval.infer)->indexElems = NIL;
   45766             :                     (yyval.infer)->whereClause = NULL;
   45767             :                     (yyval.infer)->conname = (yyvsp[0].str);
   45768             :                     (yyval.infer)->location = (yylsp[-2]);
   45769             :                 }
   45770             : #line 45771 "gram.c"
   45771         192 :     break;
   45772             : 
   45773         234 :   case 1635: /* opt_conf_expr: %empty  */
   45774             : #line 12369 "gram.y"
   45775             :                                 {
   45776             :                     (yyval.infer) = NULL;
   45777             :                 }
   45778             : #line 45779 "gram.c"
   45779         234 :     break;
   45780             : 
   45781        3138 :   case 1636: /* returning_clause: RETURNING returning_with_clause target_list  */
   45782             : #line 12376 "gram.y"
   45783             :                                 {
   45784             :                     ReturningClause *n = makeNode(ReturningClause);
   45785             : 
   45786             :                     n->options = (yyvsp[-1].list);
   45787             :                     n->exprs = (yyvsp[0].list);
   45788             :                     (yyval.retclause) = n;
   45789             :                 }
   45790             : #line 45791 "gram.c"
   45791        3138 :     break;
   45792             : 
   45793       91698 :   case 1637: /* returning_clause: %empty  */
   45794             : #line 12384 "gram.y"
   45795             :                                 {
   45796             :                     (yyval.retclause) = NULL;
   45797             :                 }
   45798             : #line 45799 "gram.c"
   45799       91698 :     break;
   45800             : 
   45801          72 :   case 1638: /* returning_with_clause: WITH '(' returning_options ')'  */
   45802             : #line 12390 "gram.y"
   45803             :                                                                 { (yyval.list) = (yyvsp[-1].list); }
   45804             : #line 45805 "gram.c"
   45805          72 :     break;
   45806             : 
   45807        3066 :   case 1639: /* returning_with_clause: %empty  */
   45808             : #line 12391 "gram.y"
   45809             :                                                                                 { (yyval.list) = NIL; }
   45810             : #line 45811 "gram.c"
   45811        3066 :     break;
   45812             : 
   45813          72 :   case 1640: /* returning_options: returning_option  */
   45814             : #line 12395 "gram.y"
   45815             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   45816             : #line 45817 "gram.c"
   45817          72 :     break;
   45818             : 
   45819          54 :   case 1641: /* returning_options: returning_options ',' returning_option  */
   45820             : #line 12396 "gram.y"
   45821             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   45822             : #line 45823 "gram.c"
   45823          54 :     break;
   45824             : 
   45825         126 :   case 1642: /* returning_option: returning_option_kind AS ColId  */
   45826             : #line 12401 "gram.y"
   45827             :                                 {
   45828             :                     ReturningOption *n = makeNode(ReturningOption);
   45829             : 
   45830             :                     n->option = (yyvsp[-2].retoptionkind);
   45831             :                     n->value = (yyvsp[0].str);
   45832             :                     n->location = (yylsp[-2]);
   45833             :                     (yyval.node) = (Node *) n;
   45834             :                 }
   45835             : #line 45836 "gram.c"
   45836         126 :     break;
   45837             : 
   45838          54 :   case 1643: /* returning_option_kind: OLD  */
   45839             : #line 12412 "gram.y"
   45840             :                                                 { (yyval.retoptionkind) = RETURNING_OPTION_OLD; }
   45841             : #line 45842 "gram.c"
   45842          54 :     break;
   45843             : 
   45844          72 :   case 1644: /* returning_option_kind: NEW  */
   45845             : #line 12413 "gram.y"
   45846             :                                         { (yyval.retoptionkind) = RETURNING_OPTION_NEW; }
   45847             : #line 45848 "gram.c"
   45848          72 :     break;
   45849             : 
   45850        4608 :   case 1645: /* DeleteStmt: opt_with_clause DELETE_P FROM relation_expr_opt_alias using_clause where_or_current_clause returning_clause  */
   45851             : #line 12426 "gram.y"
   45852             :                                 {
   45853             :                     DeleteStmt *n = makeNode(DeleteStmt);
   45854             : 
   45855             :                     n->relation = (yyvsp[-3].range);
   45856             :                     n->usingClause = (yyvsp[-2].list);
   45857             :                     n->whereClause = (yyvsp[-1].node);
   45858             :                     n->returningClause = (yyvsp[0].retclause);
   45859             :                     n->withClause = (yyvsp[-6].with);
   45860             :                     n->stmt_location = (yyloc);
   45861             :                     (yyval.node) = (Node *) n;
   45862             :                 }
   45863             : #line 45864 "gram.c"
   45864        4608 :     break;
   45865             : 
   45866         108 :   case 1646: /* using_clause: USING from_list  */
   45867             : #line 12440 "gram.y"
   45868             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   45869             : #line 45870 "gram.c"
   45870         108 :     break;
   45871             : 
   45872        4500 :   case 1647: /* using_clause: %empty  */
   45873             : #line 12441 "gram.y"
   45874             :                                                                                                 { (yyval.list) = NIL; }
   45875             : #line 45876 "gram.c"
   45876        4500 :     break;
   45877             : 
   45878        2478 :   case 1648: /* LockStmt: LOCK_P opt_table relation_expr_list opt_lock opt_nowait  */
   45879             : #line 12453 "gram.y"
   45880             :                                 {
   45881             :                     LockStmt   *n = makeNode(LockStmt);
   45882             : 
   45883             :                     n->relations = (yyvsp[-2].list);
   45884             :                     n->mode = (yyvsp[-1].ival);
   45885             :                     n->nowait = (yyvsp[0].boolean);
   45886             :                     (yyval.node) = (Node *) n;
   45887             :                 }
   45888             : #line 45889 "gram.c"
   45889        2478 :     break;
   45890             : 
   45891        2370 :   case 1649: /* opt_lock: IN_P lock_type MODE  */
   45892             : #line 12463 "gram.y"
   45893             :                                                                 { (yyval.ival) = (yyvsp[-1].ival); }
   45894             : #line 45895 "gram.c"
   45895        2370 :     break;
   45896             : 
   45897         108 :   case 1650: /* opt_lock: %empty  */
   45898             : #line 12464 "gram.y"
   45899             :                                                                                 { (yyval.ival) = AccessExclusiveLock; }
   45900             : #line 45901 "gram.c"
   45901         108 :     break;
   45902             : 
   45903        1880 :   case 1651: /* lock_type: ACCESS SHARE  */
   45904             : #line 12467 "gram.y"
   45905             :                                                                 { (yyval.ival) = AccessShareLock; }
   45906             : #line 45907 "gram.c"
   45907        1880 :     break;
   45908             : 
   45909          14 :   case 1652: /* lock_type: ROW SHARE  */
   45910             : #line 12468 "gram.y"
   45911             :                                                                                 { (yyval.ival) = RowShareLock; }
   45912             : #line 45913 "gram.c"
   45913          14 :     break;
   45914             : 
   45915          88 :   case 1653: /* lock_type: ROW EXCLUSIVE  */
   45916             : #line 12469 "gram.y"
   45917             :                                                                         { (yyval.ival) = RowExclusiveLock; }
   45918             : #line 45919 "gram.c"
   45919          88 :     break;
   45920             : 
   45921          66 :   case 1654: /* lock_type: SHARE UPDATE EXCLUSIVE  */
   45922             : #line 12470 "gram.y"
   45923             :                                                                 { (yyval.ival) = ShareUpdateExclusiveLock; }
   45924             : #line 45925 "gram.c"
   45925          66 :     break;
   45926             : 
   45927          80 :   case 1655: /* lock_type: SHARE  */
   45928             : #line 12471 "gram.y"
   45929             :                                                                                 { (yyval.ival) = ShareLock; }
   45930             : #line 45931 "gram.c"
   45931          80 :     break;
   45932             : 
   45933          14 :   case 1656: /* lock_type: SHARE ROW EXCLUSIVE  */
   45934             : #line 12472 "gram.y"
   45935             :                                                                 { (yyval.ival) = ShareRowExclusiveLock; }
   45936             : #line 45937 "gram.c"
   45937          14 :     break;
   45938             : 
   45939         102 :   case 1657: /* lock_type: EXCLUSIVE  */
   45940             : #line 12473 "gram.y"
   45941             :                                                                                 { (yyval.ival) = ExclusiveLock; }
   45942             : #line 45943 "gram.c"
   45943         102 :     break;
   45944             : 
   45945         126 :   case 1658: /* lock_type: ACCESS EXCLUSIVE  */
   45946             : #line 12474 "gram.y"
   45947             :                                                                         { (yyval.ival) = AccessExclusiveLock; }
   45948             : #line 45949 "gram.c"
   45949         126 :     break;
   45950             : 
   45951        1546 :   case 1659: /* opt_nowait: NOWAIT  */
   45952             : #line 12477 "gram.y"
   45953             :                                                                         { (yyval.boolean) = true; }
   45954             : #line 45955 "gram.c"
   45955        1546 :     break;
   45956             : 
   45957         962 :   case 1660: /* opt_nowait: %empty  */
   45958             : #line 12478 "gram.y"
   45959             :                                                                                 { (yyval.boolean) = false; }
   45960             : #line 45961 "gram.c"
   45961         962 :     break;
   45962             : 
   45963          50 :   case 1661: /* opt_nowait_or_skip: NOWAIT  */
   45964             : #line 12482 "gram.y"
   45965             :                                                                                 { (yyval.ival) = LockWaitError; }
   45966             : #line 45967 "gram.c"
   45967          50 :     break;
   45968             : 
   45969         190 :   case 1662: /* opt_nowait_or_skip: SKIP LOCKED  */
   45970             : #line 12483 "gram.y"
   45971             :                                                                         { (yyval.ival) = LockWaitSkip; }
   45972             : #line 45973 "gram.c"
   45973         190 :     break;
   45974             : 
   45975        4872 :   case 1663: /* opt_nowait_or_skip: %empty  */
   45976             : #line 12484 "gram.y"
   45977             :                                                                                 { (yyval.ival) = LockWaitBlock; }
   45978             : #line 45979 "gram.c"
   45979        4872 :     break;
   45980             : 
   45981       13998 :   case 1664: /* UpdateStmt: opt_with_clause UPDATE relation_expr_opt_alias SET set_clause_list from_clause where_or_current_clause returning_clause  */
   45982             : #line 12500 "gram.y"
   45983             :                                 {
   45984             :                     UpdateStmt *n = makeNode(UpdateStmt);
   45985             : 
   45986             :                     n->relation = (yyvsp[-5].range);
   45987             :                     n->targetList = (yyvsp[-3].list);
   45988             :                     n->fromClause = (yyvsp[-2].list);
   45989             :                     n->whereClause = (yyvsp[-1].node);
   45990             :                     n->returningClause = (yyvsp[0].retclause);
   45991             :                     n->withClause = (yyvsp[-7].with);
   45992             :                     n->stmt_location = (yyloc);
   45993             :                     (yyval.node) = (Node *) n;
   45994             :                 }
   45995             : #line 45996 "gram.c"
   45996       13998 :     break;
   45997             : 
   45998       16854 :   case 1665: /* set_clause_list: set_clause  */
   45999             : #line 12515 "gram.y"
   46000             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   46001             : #line 46002 "gram.c"
   46002       16854 :     break;
   46003             : 
   46004        4098 :   case 1666: /* set_clause_list: set_clause_list ',' set_clause  */
   46005             : #line 12516 "gram.y"
   46006             :                                                                 { (yyval.list) = list_concat((yyvsp[-2].list),(yyvsp[0].list)); }
   46007             : #line 46008 "gram.c"
   46008        4098 :     break;
   46009             : 
   46010       20768 :   case 1667: /* set_clause: set_target '=' a_expr  */
   46011             : #line 12521 "gram.y"
   46012             :                                 {
   46013             :                     (yyvsp[-2].target)->val = (Node *) (yyvsp[0].node);
   46014             :                     (yyval.list) = list_make1((yyvsp[-2].target));
   46015             :                 }
   46016             : #line 46017 "gram.c"
   46017       20768 :     break;
   46018             : 
   46019         184 :   case 1668: /* set_clause: '(' set_target_list ')' '=' a_expr  */
   46020             : #line 12526 "gram.y"
   46021             :                                 {
   46022             :                     int         ncolumns = list_length((yyvsp[-3].list));
   46023             :                     int         i = 1;
   46024             :                     ListCell   *col_cell;
   46025             : 
   46026             :                     /* Create a MultiAssignRef source for each target */
   46027             :                     foreach(col_cell, (yyvsp[-3].list))
   46028             :                     {
   46029             :                         ResTarget  *res_col = (ResTarget *) lfirst(col_cell);
   46030             :                         MultiAssignRef *r = makeNode(MultiAssignRef);
   46031             : 
   46032             :                         r->source = (Node *) (yyvsp[0].node);
   46033             :                         r->colno = i;
   46034             :                         r->ncolumns = ncolumns;
   46035             :                         res_col->val = (Node *) r;
   46036             :                         i++;
   46037             :                     }
   46038             : 
   46039             :                     (yyval.list) = (yyvsp[-3].list);
   46040             :                 }
   46041             : #line 46042 "gram.c"
   46042         184 :     break;
   46043             : 
   46044       21158 :   case 1669: /* set_target: ColId opt_indirection  */
   46045             : #line 12550 "gram.y"
   46046             :                                 {
   46047             :                     (yyval.target) = makeNode(ResTarget);
   46048             :                     (yyval.target)->name = (yyvsp[-1].str);
   46049             :                     (yyval.target)->indirection = check_indirection((yyvsp[0].list), yyscanner);
   46050             :                     (yyval.target)->val = NULL;  /* upper production sets this */
   46051             :                     (yyval.target)->location = (yylsp[-1]);
   46052             :                 }
   46053             : #line 46054 "gram.c"
   46054       21158 :     break;
   46055             : 
   46056         190 :   case 1670: /* set_target_list: set_target  */
   46057             : #line 12560 "gram.y"
   46058             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].target)); }
   46059             : #line 46060 "gram.c"
   46060         190 :     break;
   46061             : 
   46062         200 :   case 1671: /* set_target_list: set_target_list ',' set_target  */
   46063             : #line 12561 "gram.y"
   46064             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].target)); }
   46065             : #line 46066 "gram.c"
   46066         200 :     break;
   46067             : 
   46068        2052 :   case 1672: /* MergeStmt: opt_with_clause MERGE INTO relation_expr_opt_alias USING table_ref ON a_expr merge_when_list returning_clause  */
   46069             : #line 12578 "gram.y"
   46070             :                                 {
   46071             :                     MergeStmt  *m = makeNode(MergeStmt);
   46072             : 
   46073             :                     m->withClause = (yyvsp[-9].with);
   46074             :                     m->relation = (yyvsp[-6].range);
   46075             :                     m->sourceRelation = (yyvsp[-4].node);
   46076             :                     m->joinCondition = (yyvsp[-2].node);
   46077             :                     m->mergeWhenClauses = (yyvsp[-1].list);
   46078             :                     m->returningClause = (yyvsp[0].retclause);
   46079             :                     m->stmt_location = (yyloc);
   46080             : 
   46081             :                     (yyval.node) = (Node *) m;
   46082             :                 }
   46083             : #line 46084 "gram.c"
   46084        2052 :     break;
   46085             : 
   46086        2052 :   case 1673: /* merge_when_list: merge_when_clause  */
   46087             : #line 12594 "gram.y"
   46088             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   46089             : #line 46090 "gram.c"
   46090        2052 :     break;
   46091             : 
   46092        1164 :   case 1674: /* merge_when_list: merge_when_list merge_when_clause  */
   46093             : #line 12595 "gram.y"
   46094             :                                                                         { (yyval.list) = lappend((yyvsp[-1].list),(yyvsp[0].node)); }
   46095             : #line 46096 "gram.c"
   46096        1164 :     break;
   46097             : 
   46098        1550 :   case 1675: /* merge_when_clause: merge_when_tgt_matched opt_merge_when_condition THEN merge_update  */
   46099             : #line 12606 "gram.y"
   46100             :                                 {
   46101             :                     (yyvsp[0].mergewhen)->matchKind = (yyvsp[-3].mergematch);
   46102             :                     (yyvsp[0].mergewhen)->condition = (yyvsp[-2].node);
   46103             : 
   46104             :                     (yyval.node) = (Node *) (yyvsp[0].mergewhen);
   46105             :                 }
   46106             : #line 46107 "gram.c"
   46107        1550 :     break;
   46108             : 
   46109         518 :   case 1676: /* merge_when_clause: merge_when_tgt_matched opt_merge_when_condition THEN merge_delete  */
   46110             : #line 12613 "gram.y"
   46111             :                                 {
   46112             :                     (yyvsp[0].mergewhen)->matchKind = (yyvsp[-3].mergematch);
   46113             :                     (yyvsp[0].mergewhen)->condition = (yyvsp[-2].node);
   46114             : 
   46115             :                     (yyval.node) = (Node *) (yyvsp[0].mergewhen);
   46116             :                 }
   46117             : #line 46118 "gram.c"
   46118         518 :     break;
   46119             : 
   46120        1064 :   case 1677: /* merge_when_clause: merge_when_tgt_not_matched opt_merge_when_condition THEN merge_insert  */
   46121             : #line 12620 "gram.y"
   46122             :                                 {
   46123             :                     (yyvsp[0].mergewhen)->matchKind = (yyvsp[-3].mergematch);
   46124             :                     (yyvsp[0].mergewhen)->condition = (yyvsp[-2].node);
   46125             : 
   46126             :                     (yyval.node) = (Node *) (yyvsp[0].mergewhen);
   46127             :                 }
   46128             : #line 46129 "gram.c"
   46129        1064 :     break;
   46130             : 
   46131          64 :   case 1678: /* merge_when_clause: merge_when_tgt_matched opt_merge_when_condition THEN DO NOTHING  */
   46132             : #line 12627 "gram.y"
   46133             :                                 {
   46134             :                     MergeWhenClause *m = makeNode(MergeWhenClause);
   46135             : 
   46136             :                     m->matchKind = (yyvsp[-4].mergematch);
   46137             :                     m->commandType = CMD_NOTHING;
   46138             :                     m->condition = (yyvsp[-3].node);
   46139             : 
   46140             :                     (yyval.node) = (Node *) m;
   46141             :                 }
   46142             : #line 46143 "gram.c"
   46143          64 :     break;
   46144             : 
   46145          20 :   case 1679: /* merge_when_clause: merge_when_tgt_not_matched opt_merge_when_condition THEN DO NOTHING  */
   46146             : #line 12637 "gram.y"
   46147             :                                 {
   46148             :                     MergeWhenClause *m = makeNode(MergeWhenClause);
   46149             : 
   46150             :                     m->matchKind = (yyvsp[-4].mergematch);
   46151             :                     m->commandType = CMD_NOTHING;
   46152             :                     m->condition = (yyvsp[-3].node);
   46153             : 
   46154             :                     (yyval.node) = (Node *) m;
   46155             :                 }
   46156             : #line 46157 "gram.c"
   46157          20 :     break;
   46158             : 
   46159        1970 :   case 1680: /* merge_when_tgt_matched: WHEN MATCHED  */
   46160             : #line 12649 "gram.y"
   46161             :                                                                         { (yyval.mergematch) = MERGE_WHEN_MATCHED; }
   46162             : #line 46163 "gram.c"
   46163        1970 :     break;
   46164             : 
   46165         180 :   case 1681: /* merge_when_tgt_matched: WHEN NOT MATCHED BY SOURCE  */
   46166             : #line 12650 "gram.y"
   46167             :                                                         { (yyval.mergematch) = MERGE_WHEN_NOT_MATCHED_BY_SOURCE; }
   46168             : #line 46169 "gram.c"
   46169         180 :     break;
   46170             : 
   46171        1090 :   case 1682: /* merge_when_tgt_not_matched: WHEN NOT MATCHED  */
   46172             : #line 12654 "gram.y"
   46173             :                                                                         { (yyval.mergematch) = MERGE_WHEN_NOT_MATCHED_BY_TARGET; }
   46174             : #line 46175 "gram.c"
   46175        1090 :     break;
   46176             : 
   46177          18 :   case 1683: /* merge_when_tgt_not_matched: WHEN NOT MATCHED BY TARGET  */
   46178             : #line 12655 "gram.y"
   46179             :                                                         { (yyval.mergematch) = MERGE_WHEN_NOT_MATCHED_BY_TARGET; }
   46180             : #line 46181 "gram.c"
   46181          18 :     break;
   46182             : 
   46183         808 :   case 1684: /* opt_merge_when_condition: AND a_expr  */
   46184             : #line 12659 "gram.y"
   46185             :                                                                 { (yyval.node) = (yyvsp[0].node); }
   46186             : #line 46187 "gram.c"
   46187         808 :     break;
   46188             : 
   46189        2450 :   case 1685: /* opt_merge_when_condition: %empty  */
   46190             : #line 12660 "gram.y"
   46191             :                                                                         { (yyval.node) = NULL; }
   46192             : #line 46193 "gram.c"
   46193        2450 :     break;
   46194             : 
   46195        1550 :   case 1686: /* merge_update: UPDATE SET set_clause_list  */
   46196             : #line 12665 "gram.y"
   46197             :                                 {
   46198             :                     MergeWhenClause *n = makeNode(MergeWhenClause);
   46199             :                     n->commandType = CMD_UPDATE;
   46200             :                     n->override = OVERRIDING_NOT_SET;
   46201             :                     n->targetList = (yyvsp[0].list);
   46202             :                     n->values = NIL;
   46203             : 
   46204             :                     (yyval.mergewhen) = n;
   46205             :                 }
   46206             : #line 46207 "gram.c"
   46207        1550 :     break;
   46208             : 
   46209         518 :   case 1687: /* merge_delete: DELETE_P  */
   46210             : #line 12678 "gram.y"
   46211             :                                 {
   46212             :                     MergeWhenClause *n = makeNode(MergeWhenClause);
   46213             :                     n->commandType = CMD_DELETE;
   46214             :                     n->override = OVERRIDING_NOT_SET;
   46215             :                     n->targetList = NIL;
   46216             :                     n->values = NIL;
   46217             : 
   46218             :                     (yyval.mergewhen) = n;
   46219             :                 }
   46220             : #line 46221 "gram.c"
   46221         518 :     break;
   46222             : 
   46223         730 :   case 1688: /* merge_insert: INSERT merge_values_clause  */
   46224             : #line 12691 "gram.y"
   46225             :                                 {
   46226             :                     MergeWhenClause *n = makeNode(MergeWhenClause);
   46227             :                     n->commandType = CMD_INSERT;
   46228             :                     n->override = OVERRIDING_NOT_SET;
   46229             :                     n->targetList = NIL;
   46230             :                     n->values = (yyvsp[0].list);
   46231             :                     (yyval.mergewhen) = n;
   46232             :                 }
   46233             : #line 46234 "gram.c"
   46234         730 :     break;
   46235             : 
   46236           0 :   case 1689: /* merge_insert: INSERT OVERRIDING override_kind VALUE_P merge_values_clause  */
   46237             : #line 12700 "gram.y"
   46238             :                                 {
   46239             :                     MergeWhenClause *n = makeNode(MergeWhenClause);
   46240             :                     n->commandType = CMD_INSERT;
   46241             :                     n->override = (yyvsp[-2].ival);
   46242             :                     n->targetList = NIL;
   46243             :                     n->values = (yyvsp[0].list);
   46244             :                     (yyval.mergewhen) = n;
   46245             :                 }
   46246             : #line 46247 "gram.c"
   46247           0 :     break;
   46248             : 
   46249         268 :   case 1690: /* merge_insert: INSERT '(' insert_column_list ')' merge_values_clause  */
   46250             : #line 12709 "gram.y"
   46251             :                                 {
   46252             :                     MergeWhenClause *n = makeNode(MergeWhenClause);
   46253             :                     n->commandType = CMD_INSERT;
   46254             :                     n->override = OVERRIDING_NOT_SET;
   46255             :                     n->targetList = (yyvsp[-2].list);
   46256             :                     n->values = (yyvsp[0].list);
   46257             :                     (yyval.mergewhen) = n;
   46258             :                 }
   46259             : #line 46260 "gram.c"
   46260         268 :     break;
   46261             : 
   46262          30 :   case 1691: /* merge_insert: INSERT '(' insert_column_list ')' OVERRIDING override_kind VALUE_P merge_values_clause  */
   46263             : #line 12718 "gram.y"
   46264             :                                 {
   46265             :                     MergeWhenClause *n = makeNode(MergeWhenClause);
   46266             :                     n->commandType = CMD_INSERT;
   46267             :                     n->override = (yyvsp[-2].ival);
   46268             :                     n->targetList = (yyvsp[-5].list);
   46269             :                     n->values = (yyvsp[0].list);
   46270             :                     (yyval.mergewhen) = n;
   46271             :                 }
   46272             : #line 46273 "gram.c"
   46273          30 :     break;
   46274             : 
   46275          36 :   case 1692: /* merge_insert: INSERT DEFAULT VALUES  */
   46276             : #line 12727 "gram.y"
   46277             :                                 {
   46278             :                     MergeWhenClause *n = makeNode(MergeWhenClause);
   46279             :                     n->commandType = CMD_INSERT;
   46280             :                     n->override = OVERRIDING_NOT_SET;
   46281             :                     n->targetList = NIL;
   46282             :                     n->values = NIL;
   46283             :                     (yyval.mergewhen) = n;
   46284             :                 }
   46285             : #line 46286 "gram.c"
   46286          36 :     break;
   46287             : 
   46288        1028 :   case 1693: /* merge_values_clause: VALUES '(' expr_list ')'  */
   46289             : #line 12739 "gram.y"
   46290             :                                 {
   46291             :                     (yyval.list) = (yyvsp[-1].list);
   46292             :                 }
   46293             : #line 46294 "gram.c"
   46294        1028 :     break;
   46295             : 
   46296        4558 :   case 1694: /* DeclareCursorStmt: DECLARE cursor_name cursor_options CURSOR opt_hold FOR SelectStmt  */
   46297             : #line 12751 "gram.y"
   46298             :                                 {
   46299             :                     DeclareCursorStmt *n = makeNode(DeclareCursorStmt);
   46300             : 
   46301             :                     n->portalname = (yyvsp[-5].str);
   46302             :                     /* currently we always set FAST_PLAN option */
   46303             :                     n->options = (yyvsp[-4].ival) | (yyvsp[-2].ival) | CURSOR_OPT_FAST_PLAN;
   46304             :                     n->query = (yyvsp[0].node);
   46305             :                     (yyval.node) = (Node *) n;
   46306             :                 }
   46307             : #line 46308 "gram.c"
   46308        4558 :     break;
   46309             : 
   46310       14530 :   case 1695: /* cursor_name: name  */
   46311             : #line 12762 "gram.y"
   46312             :                                                                 { (yyval.str) = (yyvsp[0].str); }
   46313             : #line 46314 "gram.c"
   46314       14530 :     break;
   46315             : 
   46316        4558 :   case 1696: /* cursor_options: %empty  */
   46317             : #line 12765 "gram.y"
   46318             :                                                                 { (yyval.ival) = 0; }
   46319             : #line 46320 "gram.c"
   46320        4558 :     break;
   46321             : 
   46322          28 :   case 1697: /* cursor_options: cursor_options NO SCROLL  */
   46323             : #line 12766 "gram.y"
   46324             :                                                                 { (yyval.ival) = (yyvsp[-2].ival) | CURSOR_OPT_NO_SCROLL; }
   46325             : #line 46326 "gram.c"
   46326          28 :     break;
   46327             : 
   46328         240 :   case 1698: /* cursor_options: cursor_options SCROLL  */
   46329             : #line 12767 "gram.y"
   46330             :                                                                 { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_SCROLL; }
   46331             : #line 46332 "gram.c"
   46332         240 :     break;
   46333             : 
   46334          14 :   case 1699: /* cursor_options: cursor_options BINARY  */
   46335             : #line 12768 "gram.y"
   46336             :                                                                 { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_BINARY; }
   46337             : #line 46338 "gram.c"
   46338          14 :     break;
   46339             : 
   46340           0 :   case 1700: /* cursor_options: cursor_options ASENSITIVE  */
   46341             : #line 12769 "gram.y"
   46342             :                                                                 { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_ASENSITIVE; }
   46343             : #line 46344 "gram.c"
   46344           0 :     break;
   46345             : 
   46346           6 :   case 1701: /* cursor_options: cursor_options INSENSITIVE  */
   46347             : #line 12770 "gram.y"
   46348             :                                                         { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_INSENSITIVE; }
   46349             : #line 46350 "gram.c"
   46350           6 :     break;
   46351             : 
   46352        4460 :   case 1702: /* opt_hold: %empty  */
   46353             : #line 12773 "gram.y"
   46354             :                                                                 { (yyval.ival) = 0; }
   46355             : #line 46356 "gram.c"
   46356        4460 :     break;
   46357             : 
   46358          92 :   case 1703: /* opt_hold: WITH HOLD  */
   46359             : #line 12774 "gram.y"
   46360             :                                                                                 { (yyval.ival) = CURSOR_OPT_HOLD; }
   46361             : #line 46362 "gram.c"
   46362          92 :     break;
   46363             : 
   46364           6 :   case 1704: /* opt_hold: WITHOUT HOLD  */
   46365             : #line 12775 "gram.y"
   46366             :                                                                         { (yyval.ival) = 0; }
   46367             : #line 46368 "gram.c"
   46368           6 :     break;
   46369             : 
   46370       66486 :   case 1707: /* select_with_parens: '(' select_no_parens ')'  */
   46371             : #line 12829 "gram.y"
   46372             :                                 {
   46373             :                     SelectStmt *n = (SelectStmt *) (yyvsp[-1].node);
   46374             : 
   46375             :                     /*
   46376             :                      * As SelectStmt's location starts at the SELECT keyword,
   46377             :                      * we need to track the length of the SelectStmt within
   46378             :                      * parentheses to be able to extract the relevant part
   46379             :                      * of the query.  Without this, the RawStmt's length would
   46380             :                      * be used and would include the closing parenthesis.
   46381             :                      */
   46382             :                     n->stmt_len = (yylsp[0]) - (yylsp[-1]);
   46383             :                     (yyval.node) = (yyvsp[-1].node);
   46384             :                 }
   46385             : #line 46386 "gram.c"
   46386       66486 :     break;
   46387             : 
   46388         156 :   case 1708: /* select_with_parens: '(' select_with_parens ')'  */
   46389             : #line 12842 "gram.y"
   46390             :                                                                         { (yyval.node) = (yyvsp[-1].node); }
   46391             : #line 46392 "gram.c"
   46392         156 :     break;
   46393             : 
   46394      402166 :   case 1709: /* select_no_parens: simple_select  */
   46395             : #line 12857 "gram.y"
   46396             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   46397             : #line 46398 "gram.c"
   46398      402166 :     break;
   46399             : 
   46400       72482 :   case 1710: /* select_no_parens: select_clause sort_clause  */
   46401             : #line 12859 "gram.y"
   46402             :                                 {
   46403             :                     insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
   46404             :                                         NULL, NULL,
   46405             :                                         yyscanner);
   46406             :                     (yyval.node) = (yyvsp[-1].node);
   46407             :                 }
   46408             : #line 46409 "gram.c"
   46409       72482 :     break;
   46410             : 
   46411        4668 :   case 1711: /* select_no_parens: select_clause opt_sort_clause for_locking_clause opt_select_limit  */
   46412             : #line 12866 "gram.y"
   46413             :                                 {
   46414             :                     insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
   46415             :                                         (yyvsp[0].selectlimit),
   46416             :                                         NULL,
   46417             :                                         yyscanner);
   46418             :                     (yyval.node) = (yyvsp[-3].node);
   46419             :                 }
   46420             : #line 46421 "gram.c"
   46421        4668 :     break;
   46422             : 
   46423        4840 :   case 1712: /* select_no_parens: select_clause opt_sort_clause select_limit opt_for_locking_clause  */
   46424             : #line 12874 "gram.y"
   46425             :                                 {
   46426             :                     insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
   46427             :                                         (yyvsp[-1].selectlimit),
   46428             :                                         NULL,
   46429             :                                         yyscanner);
   46430             :                     (yyval.node) = (yyvsp[-3].node);
   46431             :                 }
   46432             : #line 46433 "gram.c"
   46433        4828 :     break;
   46434             : 
   46435        2244 :   case 1713: /* select_no_parens: with_clause select_clause  */
   46436             : #line 12882 "gram.y"
   46437             :                                 {
   46438             :                     insertSelectOptions((SelectStmt *) (yyvsp[0].node), NULL, NIL,
   46439             :                                         NULL,
   46440             :                                         (yyvsp[-1].with),
   46441             :                                         yyscanner);
   46442             :                     (yyval.node) = (yyvsp[0].node);
   46443             :                 }
   46444             : #line 46445 "gram.c"
   46445        2244 :     break;
   46446             : 
   46447         582 :   case 1714: /* select_no_parens: with_clause select_clause sort_clause  */
   46448             : #line 12890 "gram.y"
   46449             :                                 {
   46450             :                     insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
   46451             :                                         NULL,
   46452             :                                         (yyvsp[-2].with),
   46453             :                                         yyscanner);
   46454             :                     (yyval.node) = (yyvsp[-1].node);
   46455             :                 }
   46456             : #line 46457 "gram.c"
   46457         582 :     break;
   46458             : 
   46459           6 :   case 1715: /* select_no_parens: with_clause select_clause opt_sort_clause for_locking_clause opt_select_limit  */
   46460             : #line 12898 "gram.y"
   46461             :                                 {
   46462             :                     insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
   46463             :                                         (yyvsp[0].selectlimit),
   46464             :                                         (yyvsp[-4].with),
   46465             :                                         yyscanner);
   46466             :                     (yyval.node) = (yyvsp[-3].node);
   46467             :                 }
   46468             : #line 46469 "gram.c"
   46469           6 :     break;
   46470             : 
   46471          64 :   case 1716: /* select_no_parens: with_clause select_clause opt_sort_clause select_limit opt_for_locking_clause  */
   46472             : #line 12906 "gram.y"
   46473             :                                 {
   46474             :                     insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
   46475             :                                         (yyvsp[-1].selectlimit),
   46476             :                                         (yyvsp[-4].with),
   46477             :                                         yyscanner);
   46478             :                     (yyval.node) = (yyvsp[-3].node);
   46479             :                 }
   46480             : #line 46481 "gram.c"
   46481          64 :     break;
   46482             : 
   46483      122980 :   case 1717: /* select_clause: simple_select  */
   46484             : #line 12916 "gram.y"
   46485             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   46486             : #line 46487 "gram.c"
   46487      122980 :     break;
   46488             : 
   46489         586 :   case 1718: /* select_clause: select_with_parens  */
   46490             : #line 12917 "gram.y"
   46491             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   46492             : #line 46493 "gram.c"
   46493         586 :     break;
   46494             : 
   46495      437144 :   case 1719: /* simple_select: SELECT opt_all_clause opt_target_list into_clause from_clause where_clause group_clause having_clause window_clause  */
   46496             : #line 12952 "gram.y"
   46497             :                                 {
   46498             :                     SelectStmt *n = makeNode(SelectStmt);
   46499             : 
   46500             :                     n->targetList = (yyvsp[-6].list);
   46501             :                     n->intoClause = (yyvsp[-5].into);
   46502             :                     n->fromClause = (yyvsp[-4].list);
   46503             :                     n->whereClause = (yyvsp[-3].node);
   46504             :                     n->groupClause = ((yyvsp[-2].groupclause))->list;
   46505             :                     n->groupDistinct = ((yyvsp[-2].groupclause))->distinct;
   46506             :                     n->havingClause = (yyvsp[-1].node);
   46507             :                     n->windowClause = (yyvsp[0].list);
   46508             :                     n->stmt_location = (yylsp[-8]);
   46509             :                     (yyval.node) = (Node *) n;
   46510             :                 }
   46511             : #line 46512 "gram.c"
   46512      437144 :     break;
   46513             : 
   46514        3696 :   case 1720: /* simple_select: SELECT distinct_clause target_list into_clause from_clause where_clause group_clause having_clause window_clause  */
   46515             : #line 12969 "gram.y"
   46516             :                                 {
   46517             :                     SelectStmt *n = makeNode(SelectStmt);
   46518             : 
   46519             :                     n->distinctClause = (yyvsp[-7].list);
   46520             :                     n->targetList = (yyvsp[-6].list);
   46521             :                     n->intoClause = (yyvsp[-5].into);
   46522             :                     n->fromClause = (yyvsp[-4].list);
   46523             :                     n->whereClause = (yyvsp[-3].node);
   46524             :                     n->groupClause = ((yyvsp[-2].groupclause))->list;
   46525             :                     n->groupDistinct = ((yyvsp[-2].groupclause))->distinct;
   46526             :                     n->havingClause = (yyvsp[-1].node);
   46527             :                     n->windowClause = (yyvsp[0].list);
   46528             :                     n->stmt_location = (yylsp[-8]);
   46529             :                     (yyval.node) = (Node *) n;
   46530             :                 }
   46531             : #line 46532 "gram.c"
   46532        3696 :     break;
   46533             : 
   46534       64664 :   case 1721: /* simple_select: values_clause  */
   46535             : #line 12984 "gram.y"
   46536             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   46537             : #line 46538 "gram.c"
   46538       64664 :     break;
   46539             : 
   46540         308 :   case 1722: /* simple_select: TABLE relation_expr  */
   46541             : #line 12986 "gram.y"
   46542             :                                 {
   46543             :                     /* same as SELECT * FROM relation_expr */
   46544             :                     ColumnRef  *cr = makeNode(ColumnRef);
   46545             :                     ResTarget  *rt = makeNode(ResTarget);
   46546             :                     SelectStmt *n = makeNode(SelectStmt);
   46547             : 
   46548             :                     cr->fields = list_make1(makeNode(A_Star));
   46549             :                     cr->location = -1;
   46550             : 
   46551             :                     rt->name = NULL;
   46552             :                     rt->indirection = NIL;
   46553             :                     rt->val = (Node *) cr;
   46554             :                     rt->location = -1;
   46555             : 
   46556             :                     n->targetList = list_make1(rt);
   46557             :                     n->fromClause = list_make1((yyvsp[0].range));
   46558             :                     n->stmt_location = (yylsp[-1]);
   46559             :                     (yyval.node) = (Node *) n;
   46560             :                 }
   46561             : #line 46562 "gram.c"
   46562         308 :     break;
   46563             : 
   46564       18600 :   case 1723: /* simple_select: select_clause UNION set_quantifier select_clause  */
   46565             : #line 13006 "gram.y"
   46566             :                                 {
   46567             :                     (yyval.node) = makeSetOp(SETOP_UNION, (yyvsp[-1].setquantifier) == SET_QUANTIFIER_ALL, (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-3]));
   46568             :                 }
   46569             : #line 46570 "gram.c"
   46570       18600 :     break;
   46571             : 
   46572         258 :   case 1724: /* simple_select: select_clause INTERSECT set_quantifier select_clause  */
   46573             : #line 13010 "gram.y"
   46574             :                                 {
   46575             :                     (yyval.node) = makeSetOp(SETOP_INTERSECT, (yyvsp[-1].setquantifier) == SET_QUANTIFIER_ALL, (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-3]));
   46576             :                 }
   46577             : #line 46578 "gram.c"
   46578         258 :     break;
   46579             : 
   46580         476 :   case 1725: /* simple_select: select_clause EXCEPT set_quantifier select_clause  */
   46581             : #line 13014 "gram.y"
   46582             :                                 {
   46583             :                     (yyval.node) = makeSetOp(SETOP_EXCEPT, (yyvsp[-1].setquantifier) == SET_QUANTIFIER_ALL, (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-3]));
   46584             :                 }
   46585             : #line 46586 "gram.c"
   46586         476 :     break;
   46587             : 
   46588        2010 :   case 1726: /* with_clause: WITH cte_list  */
   46589             : #line 13029 "gram.y"
   46590             :                         {
   46591             :                 (yyval.with) = makeNode(WithClause);
   46592             :                 (yyval.with)->ctes = (yyvsp[0].list);
   46593             :                 (yyval.with)->recursive = false;
   46594             :                 (yyval.with)->location = (yylsp[-1]);
   46595             :             }
   46596             : #line 46597 "gram.c"
   46597        2010 :     break;
   46598             : 
   46599           6 :   case 1727: /* with_clause: WITH_LA cte_list  */
   46600             : #line 13036 "gram.y"
   46601             :                         {
   46602             :                 (yyval.with) = makeNode(WithClause);
   46603             :                 (yyval.with)->ctes = (yyvsp[0].list);
   46604             :                 (yyval.with)->recursive = false;
   46605             :                 (yyval.with)->location = (yylsp[-1]);
   46606             :             }
   46607             : #line 46608 "gram.c"
   46608           6 :     break;
   46609             : 
   46610        1330 :   case 1728: /* with_clause: WITH RECURSIVE cte_list  */
   46611             : #line 13043 "gram.y"
   46612             :                         {
   46613             :                 (yyval.with) = makeNode(WithClause);
   46614             :                 (yyval.with)->ctes = (yyvsp[0].list);
   46615             :                 (yyval.with)->recursive = true;
   46616             :                 (yyval.with)->location = (yylsp[-2]);
   46617             :             }
   46618             : #line 46619 "gram.c"
   46619        1330 :     break;
   46620             : 
   46621        3346 :   case 1729: /* cte_list: common_table_expr  */
   46622             : #line 13052 "gram.y"
   46623             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   46624             : #line 46625 "gram.c"
   46625        3346 :     break;
   46626             : 
   46627        1218 :   case 1730: /* cte_list: cte_list ',' common_table_expr  */
   46628             : #line 13053 "gram.y"
   46629             :                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   46630             : #line 46631 "gram.c"
   46631        1218 :     break;
   46632             : 
   46633        4564 :   case 1731: /* common_table_expr: name opt_name_list AS opt_materialized '(' PreparableStmt ')' opt_search_clause opt_cycle_clause  */
   46634             : #line 13057 "gram.y"
   46635             :                         {
   46636             :                 CommonTableExpr *n = makeNode(CommonTableExpr);
   46637             : 
   46638             :                 n->ctename = (yyvsp[-8].str);
   46639             :                 n->aliascolnames = (yyvsp[-7].list);
   46640             :                 n->ctematerialized = (yyvsp[-5].ival);
   46641             :                 n->ctequery = (yyvsp[-3].node);
   46642             :                 n->search_clause = castNode(CTESearchClause, (yyvsp[-1].node));
   46643             :                 n->cycle_clause = castNode(CTECycleClause, (yyvsp[0].node));
   46644             :                 n->location = (yylsp[-8]);
   46645             :                 (yyval.node) = (Node *) n;
   46646             :             }
   46647             : #line 46648 "gram.c"
   46648        4564 :     break;
   46649             : 
   46650         178 :   case 1732: /* opt_materialized: MATERIALIZED  */
   46651             : #line 13072 "gram.y"
   46652             :                                                                                 { (yyval.ival) = CTEMaterializeAlways; }
   46653             : #line 46654 "gram.c"
   46654         178 :     break;
   46655             : 
   46656          48 :   case 1733: /* opt_materialized: NOT MATERIALIZED  */
   46657             : #line 13073 "gram.y"
   46658             :                                                                                 { (yyval.ival) = CTEMaterializeNever; }
   46659             : #line 46660 "gram.c"
   46660          48 :     break;
   46661             : 
   46662        4338 :   case 1734: /* opt_materialized: %empty  */
   46663             : #line 13074 "gram.y"
   46664             :                                                                                         { (yyval.ival) = CTEMaterializeDefault; }
   46665             : #line 46666 "gram.c"
   46666        4338 :     break;
   46667             : 
   46668          90 :   case 1735: /* opt_search_clause: SEARCH DEPTH FIRST_P BY columnList SET ColId  */
   46669             : #line 13079 "gram.y"
   46670             :                         {
   46671             :                 CTESearchClause *n = makeNode(CTESearchClause);
   46672             : 
   46673             :                 n->search_col_list = (yyvsp[-2].list);
   46674             :                 n->search_breadth_first = false;
   46675             :                 n->search_seq_column = (yyvsp[0].str);
   46676             :                 n->location = (yylsp[-6]);
   46677             :                 (yyval.node) = (Node *) n;
   46678             :             }
   46679             : #line 46680 "gram.c"
   46680          90 :     break;
   46681             : 
   46682          36 :   case 1736: /* opt_search_clause: SEARCH BREADTH FIRST_P BY columnList SET ColId  */
   46683             : #line 13089 "gram.y"
   46684             :                         {
   46685             :                 CTESearchClause *n = makeNode(CTESearchClause);
   46686             : 
   46687             :                 n->search_col_list = (yyvsp[-2].list);
   46688             :                 n->search_breadth_first = true;
   46689             :                 n->search_seq_column = (yyvsp[0].str);
   46690             :                 n->location = (yylsp[-6]);
   46691             :                 (yyval.node) = (Node *) n;
   46692             :             }
   46693             : #line 46694 "gram.c"
   46694          36 :     break;
   46695             : 
   46696        4438 :   case 1737: /* opt_search_clause: %empty  */
   46697             : #line 13099 "gram.y"
   46698             :                         {
   46699             :                 (yyval.node) = NULL;
   46700             :             }
   46701             : #line 46702 "gram.c"
   46702        4438 :     break;
   46703             : 
   46704          66 :   case 1738: /* opt_cycle_clause: CYCLE columnList SET ColId TO AexprConst DEFAULT AexprConst USING ColId  */
   46705             : #line 13106 "gram.y"
   46706             :                         {
   46707             :                 CTECycleClause *n = makeNode(CTECycleClause);
   46708             : 
   46709             :                 n->cycle_col_list = (yyvsp[-8].list);
   46710             :                 n->cycle_mark_column = (yyvsp[-6].str);
   46711             :                 n->cycle_mark_value = (yyvsp[-4].node);
   46712             :                 n->cycle_mark_default = (yyvsp[-2].node);
   46713             :                 n->cycle_path_column = (yyvsp[0].str);
   46714             :                 n->location = (yylsp[-9]);
   46715             :                 (yyval.node) = (Node *) n;
   46716             :             }
   46717             : #line 46718 "gram.c"
   46718          66 :     break;
   46719             : 
   46720          60 :   case 1739: /* opt_cycle_clause: CYCLE columnList SET ColId USING ColId  */
   46721             : #line 13118 "gram.y"
   46722             :                         {
   46723             :                 CTECycleClause *n = makeNode(CTECycleClause);
   46724             : 
   46725             :                 n->cycle_col_list = (yyvsp[-4].list);
   46726             :                 n->cycle_mark_column = (yyvsp[-2].str);
   46727             :                 n->cycle_mark_value = makeBoolAConst(true, -1);
   46728             :                 n->cycle_mark_default = makeBoolAConst(false, -1);
   46729             :                 n->cycle_path_column = (yyvsp[0].str);
   46730             :                 n->location = (yylsp[-5]);
   46731             :                 (yyval.node) = (Node *) n;
   46732             :             }
   46733             : #line 46734 "gram.c"
   46734          60 :     break;
   46735             : 
   46736        4438 :   case 1740: /* opt_cycle_clause: %empty  */
   46737             : #line 13130 "gram.y"
   46738             :                         {
   46739             :                 (yyval.node) = NULL;
   46740             :             }
   46741             : #line 46742 "gram.c"
   46742        4438 :     break;
   46743             : 
   46744         450 :   case 1741: /* opt_with_clause: with_clause  */
   46745             : #line 13136 "gram.y"
   46746             :                                                                                         { (yyval.with) = (yyvsp[0].with); }
   46747             : #line 46748 "gram.c"
   46748         450 :     break;
   46749             : 
   46750       94502 :   case 1742: /* opt_with_clause: %empty  */
   46751             : #line 13137 "gram.y"
   46752             :                                                                                         { (yyval.with) = NULL; }
   46753             : #line 46754 "gram.c"
   46754       94502 :     break;
   46755             : 
   46756         132 :   case 1743: /* into_clause: INTO OptTempTableName  */
   46757             : #line 13142 "gram.y"
   46758             :                                 {
   46759             :                     (yyval.into) = makeNode(IntoClause);
   46760             :                     (yyval.into)->rel = (yyvsp[0].range);
   46761             :                     (yyval.into)->colNames = NIL;
   46762             :                     (yyval.into)->options = NIL;
   46763             :                     (yyval.into)->onCommit = ONCOMMIT_NOOP;
   46764             :                     (yyval.into)->tableSpaceName = NULL;
   46765             :                     (yyval.into)->viewQuery = NULL;
   46766             :                     (yyval.into)->skipData = false;
   46767             :                 }
   46768             : #line 46769 "gram.c"
   46769         132 :     break;
   46770             : 
   46771      440732 :   case 1744: /* into_clause: %empty  */
   46772             : #line 13153 "gram.y"
   46773             :                                 { (yyval.into) = NULL; }
   46774             : #line 46775 "gram.c"
   46775      440732 :     break;
   46776             : 
   46777           0 :   case 1745: /* OptTempTableName: TEMPORARY opt_table qualified_name  */
   46778             : #line 13162 "gram.y"
   46779             :                                 {
   46780             :                     (yyval.range) = (yyvsp[0].range);
   46781             :                     (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
   46782             :                 }
   46783             : #line 46784 "gram.c"
   46784           0 :     break;
   46785             : 
   46786           6 :   case 1746: /* OptTempTableName: TEMP opt_table qualified_name  */
   46787             : #line 13167 "gram.y"
   46788             :                                 {
   46789             :                     (yyval.range) = (yyvsp[0].range);
   46790             :                     (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
   46791             :                 }
   46792             : #line 46793 "gram.c"
   46793           6 :     break;
   46794             : 
   46795           0 :   case 1747: /* OptTempTableName: LOCAL TEMPORARY opt_table qualified_name  */
   46796             : #line 13172 "gram.y"
   46797             :                                 {
   46798             :                     (yyval.range) = (yyvsp[0].range);
   46799             :                     (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
   46800             :                 }
   46801             : #line 46802 "gram.c"
   46802           0 :     break;
   46803             : 
   46804           0 :   case 1748: /* OptTempTableName: LOCAL TEMP opt_table qualified_name  */
   46805             : #line 13177 "gram.y"
   46806             :                                 {
   46807             :                     (yyval.range) = (yyvsp[0].range);
   46808             :                     (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
   46809             :                 }
   46810             : #line 46811 "gram.c"
   46811           0 :     break;
   46812             : 
   46813           0 :   case 1749: /* OptTempTableName: GLOBAL TEMPORARY opt_table qualified_name  */
   46814             : #line 13182 "gram.y"
   46815             :                                 {
   46816             :                     ereport(WARNING,
   46817             :                             (errmsg("GLOBAL is deprecated in temporary table creation"),
   46818             :                              parser_errposition((yylsp[-3]))));
   46819             :                     (yyval.range) = (yyvsp[0].range);
   46820             :                     (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
   46821             :                 }
   46822             : #line 46823 "gram.c"
   46823           0 :     break;
   46824             : 
   46825           0 :   case 1750: /* OptTempTableName: GLOBAL TEMP opt_table qualified_name  */
   46826             : #line 13190 "gram.y"
   46827             :                                 {
   46828             :                     ereport(WARNING,
   46829             :                             (errmsg("GLOBAL is deprecated in temporary table creation"),
   46830             :                              parser_errposition((yylsp[-3]))));
   46831             :                     (yyval.range) = (yyvsp[0].range);
   46832             :                     (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
   46833             :                 }
   46834             : #line 46835 "gram.c"
   46835           0 :     break;
   46836             : 
   46837           0 :   case 1751: /* OptTempTableName: UNLOGGED opt_table qualified_name  */
   46838             : #line 13198 "gram.y"
   46839             :                                 {
   46840             :                     (yyval.range) = (yyvsp[0].range);
   46841             :                     (yyval.range)->relpersistence = RELPERSISTENCE_UNLOGGED;
   46842             :                 }
   46843             : #line 46844 "gram.c"
   46844           0 :     break;
   46845             : 
   46846          30 :   case 1752: /* OptTempTableName: TABLE qualified_name  */
   46847             : #line 13203 "gram.y"
   46848             :                                 {
   46849             :                     (yyval.range) = (yyvsp[0].range);
   46850             :                     (yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
   46851             :                 }
   46852             : #line 46853 "gram.c"
   46853          30 :     break;
   46854             : 
   46855          96 :   case 1753: /* OptTempTableName: qualified_name  */
   46856             : #line 13208 "gram.y"
   46857             :                                 {
   46858             :                     (yyval.range) = (yyvsp[0].range);
   46859             :                     (yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
   46860             :                 }
   46861             : #line 46862 "gram.c"
   46862          96 :     break;
   46863             : 
   46864       10676 :   case 1756: /* set_quantifier: ALL  */
   46865             : #line 13219 "gram.y"
   46866             :                                                                                                         { (yyval.setquantifier) = SET_QUANTIFIER_ALL; }
   46867             : #line 46868 "gram.c"
   46868       10676 :     break;
   46869             : 
   46870          32 :   case 1757: /* set_quantifier: DISTINCT  */
   46871             : #line 13220 "gram.y"
   46872             :                                                                                                 { (yyval.setquantifier) = SET_QUANTIFIER_DISTINCT; }
   46873             : #line 46874 "gram.c"
   46874          32 :     break;
   46875             : 
   46876       13268 :   case 1758: /* set_quantifier: %empty  */
   46877             : #line 13221 "gram.y"
   46878             :                                                                                                 { (yyval.setquantifier) = SET_QUANTIFIER_DEFAULT; }
   46879             : #line 46880 "gram.c"
   46880       13268 :     break;
   46881             : 
   46882        3452 :   case 1759: /* distinct_clause: DISTINCT  */
   46883             : #line 13228 "gram.y"
   46884             :                                                                                                 { (yyval.list) = list_make1(NIL); }
   46885             : #line 46886 "gram.c"
   46886        3452 :     break;
   46887             : 
   46888         250 :   case 1760: /* distinct_clause: DISTINCT ON '(' expr_list ')'  */
   46889             : #line 13229 "gram.y"
   46890             :                                                                         { (yyval.list) = (yyvsp[-1].list); }
   46891             : #line 46892 "gram.c"
   46892         250 :     break;
   46893             : 
   46894           0 :   case 1763: /* opt_distinct_clause: distinct_clause  */
   46895             : #line 13238 "gram.y"
   46896             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   46897             : #line 46898 "gram.c"
   46898           0 :     break;
   46899             : 
   46900       40264 :   case 1764: /* opt_distinct_clause: opt_all_clause  */
   46901             : #line 13239 "gram.y"
   46902             :                                                                                         { (yyval.list) = NIL; }
   46903             : #line 46904 "gram.c"
   46904       40264 :     break;
   46905             : 
   46906        7674 :   case 1765: /* opt_sort_clause: sort_clause  */
   46907             : #line 13243 "gram.y"
   46908             :                                                                                                 { (yyval.list) = (yyvsp[0].list); }
   46909             : #line 46910 "gram.c"
   46910        7674 :     break;
   46911             : 
   46912      370648 :   case 1766: /* opt_sort_clause: %empty  */
   46913             : #line 13244 "gram.y"
   46914             :                                                                                                 { (yyval.list) = NIL; }
   46915             : #line 46916 "gram.c"
   46916      370648 :     break;
   46917             : 
   46918       81086 :   case 1767: /* sort_clause: ORDER BY sortby_list  */
   46919             : #line 13248 "gram.y"
   46920             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   46921             : #line 46922 "gram.c"
   46922       81086 :     break;
   46923             : 
   46924       81104 :   case 1768: /* sortby_list: sortby  */
   46925             : #line 13252 "gram.y"
   46926             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].sortby)); }
   46927             : #line 46928 "gram.c"
   46928       81104 :     break;
   46929             : 
   46930       30322 :   case 1769: /* sortby_list: sortby_list ',' sortby  */
   46931             : #line 13253 "gram.y"
   46932             :                                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].sortby)); }
   46933             : #line 46934 "gram.c"
   46934       30322 :     break;
   46935             : 
   46936         220 :   case 1770: /* sortby: a_expr USING qual_all_Op opt_nulls_order  */
   46937             : #line 13257 "gram.y"
   46938             :                                 {
   46939             :                     (yyval.sortby) = makeNode(SortBy);
   46940             :                     (yyval.sortby)->node = (yyvsp[-3].node);
   46941             :                     (yyval.sortby)->sortby_dir = SORTBY_USING;
   46942             :                     (yyval.sortby)->sortby_nulls = (yyvsp[0].ival);
   46943             :                     (yyval.sortby)->useOp = (yyvsp[-1].list);
   46944             :                     (yyval.sortby)->location = (yylsp[-1]);
   46945             :                 }
   46946             : #line 46947 "gram.c"
   46947         220 :     break;
   46948             : 
   46949      111206 :   case 1771: /* sortby: a_expr opt_asc_desc opt_nulls_order  */
   46950             : #line 13266 "gram.y"
   46951             :                                 {
   46952             :                     (yyval.sortby) = makeNode(SortBy);
   46953             :                     (yyval.sortby)->node = (yyvsp[-2].node);
   46954             :                     (yyval.sortby)->sortby_dir = (yyvsp[-1].ival);
   46955             :                     (yyval.sortby)->sortby_nulls = (yyvsp[0].ival);
   46956             :                     (yyval.sortby)->useOp = NIL;
   46957             :                     (yyval.sortby)->location = -1;       /* no operator */
   46958             :                 }
   46959             : #line 46960 "gram.c"
   46960      111206 :     break;
   46961             : 
   46962         172 :   case 1772: /* select_limit: limit_clause offset_clause  */
   46963             : #line 13279 "gram.y"
   46964             :                                 {
   46965             :                     (yyval.selectlimit) = (yyvsp[-1].selectlimit);
   46966             :                     ((yyval.selectlimit))->limitOffset = (yyvsp[0].node);
   46967             :                     ((yyval.selectlimit))->offsetLoc = (yylsp[0]);
   46968             :                 }
   46969             : #line 46970 "gram.c"
   46970         172 :     break;
   46971             : 
   46972         226 :   case 1773: /* select_limit: offset_clause limit_clause  */
   46973             : #line 13285 "gram.y"
   46974             :                                 {
   46975             :                     (yyval.selectlimit) = (yyvsp[0].selectlimit);
   46976             :                     ((yyval.selectlimit))->limitOffset = (yyvsp[-1].node);
   46977             :                     ((yyval.selectlimit))->offsetLoc = (yylsp[-1]);
   46978             :                 }
   46979             : #line 46980 "gram.c"
   46980         226 :     break;
   46981             : 
   46982        4258 :   case 1774: /* select_limit: limit_clause  */
   46983             : #line 13291 "gram.y"
   46984             :                                 {
   46985             :                     (yyval.selectlimit) = (yyvsp[0].selectlimit);
   46986             :                 }
   46987             : #line 46988 "gram.c"
   46988        4258 :     break;
   46989             : 
   46990         438 :   case 1775: /* select_limit: offset_clause  */
   46991             : #line 13295 "gram.y"
   46992             :                                 {
   46993             :                     SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
   46994             : 
   46995             :                     n->limitOffset = (yyvsp[0].node);
   46996             :                     n->limitCount = NULL;
   46997             :                     n->limitOption = LIMIT_OPTION_COUNT;
   46998             :                     n->offsetLoc = (yylsp[0]);
   46999             :                     n->countLoc = -1;
   47000             :                     n->optionLoc = -1;
   47001             :                     (yyval.selectlimit) = n;
   47002             :                 }
   47003             : #line 47004 "gram.c"
   47004         438 :     break;
   47005             : 
   47006         190 :   case 1776: /* opt_select_limit: select_limit  */
   47007             : #line 13309 "gram.y"
   47008             :                                                                                 { (yyval.selectlimit) = (yyvsp[0].selectlimit); }
   47009             : #line 47010 "gram.c"
   47010         190 :     break;
   47011             : 
   47012       44748 :   case 1777: /* opt_select_limit: %empty  */
   47013             : #line 13310 "gram.y"
   47014             :                                                                                 { (yyval.selectlimit) = NULL; }
   47015             : #line 47016 "gram.c"
   47016       44748 :     break;
   47017             : 
   47018        4564 :   case 1778: /* limit_clause: LIMIT select_limit_value  */
   47019             : #line 13315 "gram.y"
   47020             :                                 {
   47021             :                     SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
   47022             : 
   47023             :                     n->limitOffset = NULL;
   47024             :                     n->limitCount = (yyvsp[0].node);
   47025             :                     n->limitOption = LIMIT_OPTION_COUNT;
   47026             :                     n->offsetLoc = -1;
   47027             :                     n->countLoc = (yylsp[-1]);
   47028             :                     n->optionLoc = -1;
   47029             :                     (yyval.selectlimit) = n;
   47030             :                 }
   47031             : #line 47032 "gram.c"
   47032        4564 :     break;
   47033             : 
   47034           0 :   case 1779: /* limit_clause: LIMIT select_limit_value ',' select_offset_value  */
   47035             : #line 13327 "gram.y"
   47036             :                                 {
   47037             :                     /* Disabled because it was too confusing, bjm 2002-02-18 */
   47038             :                     ereport(ERROR,
   47039             :                             (errcode(ERRCODE_SYNTAX_ERROR),
   47040             :                              errmsg("LIMIT #,# syntax is not supported"),
   47041             :                              errhint("Use separate LIMIT and OFFSET clauses."),
   47042             :                              parser_errposition((yylsp[-3]))));
   47043             :                 }
   47044             : #line 47045 "gram.c"
   47045             :     break;
   47046             : 
   47047          24 :   case 1780: /* limit_clause: FETCH first_or_next select_fetch_first_value row_or_rows ONLY  */
   47048             : #line 13343 "gram.y"
   47049             :                                 {
   47050             :                     SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
   47051             : 
   47052             :                     n->limitOffset = NULL;
   47053             :                     n->limitCount = (yyvsp[-2].node);
   47054             :                     n->limitOption = LIMIT_OPTION_COUNT;
   47055             :                     n->offsetLoc = -1;
   47056             :                     n->countLoc = (yylsp[-4]);
   47057             :                     n->optionLoc = -1;
   47058             :                     (yyval.selectlimit) = n;
   47059             :                 }
   47060             : #line 47061 "gram.c"
   47061          24 :     break;
   47062             : 
   47063          62 :   case 1781: /* limit_clause: FETCH first_or_next select_fetch_first_value row_or_rows WITH TIES  */
   47064             : #line 13355 "gram.y"
   47065             :                                 {
   47066             :                     SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
   47067             : 
   47068             :                     n->limitOffset = NULL;
   47069             :                     n->limitCount = (yyvsp[-3].node);
   47070             :                     n->limitOption = LIMIT_OPTION_WITH_TIES;
   47071             :                     n->offsetLoc = -1;
   47072             :                     n->countLoc = (yylsp[-5]);
   47073             :                     n->optionLoc = (yylsp[-1]);
   47074             :                     (yyval.selectlimit) = n;
   47075             :                 }
   47076             : #line 47077 "gram.c"
   47077          62 :     break;
   47078             : 
   47079           0 :   case 1782: /* limit_clause: FETCH first_or_next row_or_rows ONLY  */
   47080             : #line 13367 "gram.y"
   47081             :                                 {
   47082             :                     SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
   47083             : 
   47084             :                     n->limitOffset = NULL;
   47085             :                     n->limitCount = makeIntConst(1, -1);
   47086             :                     n->limitOption = LIMIT_OPTION_COUNT;
   47087             :                     n->offsetLoc = -1;
   47088             :                     n->countLoc = (yylsp[-3]);
   47089             :                     n->optionLoc = -1;
   47090             :                     (yyval.selectlimit) = n;
   47091             :                 }
   47092             : #line 47093 "gram.c"
   47093           0 :     break;
   47094             : 
   47095           6 :   case 1783: /* limit_clause: FETCH first_or_next row_or_rows WITH TIES  */
   47096             : #line 13379 "gram.y"
   47097             :                                 {
   47098             :                     SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
   47099             : 
   47100             :                     n->limitOffset = NULL;
   47101             :                     n->limitCount = makeIntConst(1, -1);
   47102             :                     n->limitOption = LIMIT_OPTION_WITH_TIES;
   47103             :                     n->offsetLoc = -1;
   47104             :                     n->countLoc = (yylsp[-4]);
   47105             :                     n->optionLoc = (yylsp[-1]);
   47106             :                     (yyval.selectlimit) = n;
   47107             :                 }
   47108             : #line 47109 "gram.c"
   47109           6 :     break;
   47110             : 
   47111         836 :   case 1784: /* offset_clause: OFFSET select_offset_value  */
   47112             : #line 13394 "gram.y"
   47113             :                                 { (yyval.node) = (yyvsp[0].node); }
   47114             : #line 47115 "gram.c"
   47115         836 :     break;
   47116             : 
   47117           0 :   case 1785: /* offset_clause: OFFSET select_fetch_first_value row_or_rows  */
   47118             : #line 13397 "gram.y"
   47119             :                                 { (yyval.node) = (yyvsp[-1].node); }
   47120             : #line 47121 "gram.c"
   47121           0 :     break;
   47122             : 
   47123        4560 :   case 1786: /* select_limit_value: a_expr  */
   47124             : #line 13401 "gram.y"
   47125             :                                                                                                 { (yyval.node) = (yyvsp[0].node); }
   47126             : #line 47127 "gram.c"
   47127        4560 :     break;
   47128             : 
   47129           4 :   case 1787: /* select_limit_value: ALL  */
   47130             : #line 13403 "gram.y"
   47131             :                                 {
   47132             :                     /* LIMIT ALL is represented as a NULL constant */
   47133             :                     (yyval.node) = makeNullAConst((yylsp[0]));
   47134             :                 }
   47135             : #line 47136 "gram.c"
   47136           4 :     break;
   47137             : 
   47138         836 :   case 1788: /* select_offset_value: a_expr  */
   47139             : #line 13410 "gram.y"
   47140             :                                                                                                 { (yyval.node) = (yyvsp[0].node); }
   47141             : #line 47142 "gram.c"
   47142         836 :     break;
   47143             : 
   47144          86 :   case 1789: /* select_fetch_first_value: c_expr  */
   47145             : #line 13430 "gram.y"
   47146             :                                                                                                 { (yyval.node) = (yyvsp[0].node); }
   47147             : #line 47148 "gram.c"
   47148          86 :     break;
   47149             : 
   47150           0 :   case 1790: /* select_fetch_first_value: '+' I_or_F_const  */
   47151             : #line 13432 "gram.y"
   47152             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
   47153             : #line 47154 "gram.c"
   47154           0 :     break;
   47155             : 
   47156           0 :   case 1791: /* select_fetch_first_value: '-' I_or_F_const  */
   47157             : #line 13434 "gram.y"
   47158             :                                 { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
   47159             : #line 47160 "gram.c"
   47160           0 :     break;
   47161             : 
   47162           0 :   case 1792: /* I_or_F_const: Iconst  */
   47163             : #line 13438 "gram.y"
   47164             :                                                                                                 { (yyval.node) = makeIntConst((yyvsp[0].ival),(yylsp[0])); }
   47165             : #line 47166 "gram.c"
   47166           0 :     break;
   47167             : 
   47168           0 :   case 1793: /* I_or_F_const: FCONST  */
   47169             : #line 13439 "gram.y"
   47170             :                                                                                                 { (yyval.node) = makeFloatConst((yyvsp[0].str),(yylsp[0])); }
   47171             : #line 47172 "gram.c"
   47172           0 :     break;
   47173             : 
   47174          36 :   case 1794: /* row_or_rows: ROW  */
   47175             : #line 13443 "gram.y"
   47176             :                                                                                         { (yyval.ival) = 0; }
   47177             : #line 47178 "gram.c"
   47178          36 :     break;
   47179             : 
   47180          56 :   case 1795: /* row_or_rows: ROWS  */
   47181             : #line 13444 "gram.y"
   47182             :                                                                                                 { (yyval.ival) = 0; }
   47183             : #line 47184 "gram.c"
   47184          56 :     break;
   47185             : 
   47186          92 :   case 1796: /* first_or_next: FIRST_P  */
   47187             : #line 13447 "gram.y"
   47188             :                                                                                 { (yyval.ival) = 0; }
   47189             : #line 47190 "gram.c"
   47190          92 :     break;
   47191             : 
   47192           0 :   case 1797: /* first_or_next: NEXT  */
   47193             : #line 13448 "gram.y"
   47194             :                                                                                                 { (yyval.ival) = 0; }
   47195             : #line 47196 "gram.c"
   47196           0 :     break;
   47197             : 
   47198        4630 :   case 1798: /* group_clause: GROUP_P BY set_quantifier group_by_list  */
   47199             : #line 13474 "gram.y"
   47200             :                                 {
   47201             :                     GroupClause *n = (GroupClause *) palloc(sizeof(GroupClause));
   47202             : 
   47203             :                     n->distinct = (yyvsp[-1].setquantifier) == SET_QUANTIFIER_DISTINCT;
   47204             :                     n->list = (yyvsp[0].list);
   47205             :                     (yyval.groupclause) = n;
   47206             :                 }
   47207             : #line 47208 "gram.c"
   47208        4630 :     break;
   47209             : 
   47210      476474 :   case 1799: /* group_clause: %empty  */
   47211             : #line 13482 "gram.y"
   47212             :                                 {
   47213             :                     GroupClause *n = (GroupClause *) palloc(sizeof(GroupClause));
   47214             : 
   47215             :                     n->distinct = false;
   47216             :                     n->list = NIL;
   47217             :                     (yyval.groupclause) = n;
   47218             :                 }
   47219             : #line 47220 "gram.c"
   47220      476474 :     break;
   47221             : 
   47222        5228 :   case 1800: /* group_by_list: group_by_item  */
   47223             : #line 13492 "gram.y"
   47224             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   47225             : #line 47226 "gram.c"
   47226        5228 :     break;
   47227             : 
   47228        3008 :   case 1801: /* group_by_list: group_by_list ',' group_by_item  */
   47229             : #line 13493 "gram.y"
   47230             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].node)); }
   47231             : #line 47232 "gram.c"
   47232        3008 :     break;
   47233             : 
   47234        6946 :   case 1802: /* group_by_item: a_expr  */
   47235             : #line 13497 "gram.y"
   47236             :                                                                                                 { (yyval.node) = (yyvsp[0].node); }
   47237             : #line 47238 "gram.c"
   47238        6946 :     break;
   47239             : 
   47240         222 :   case 1803: /* group_by_item: empty_grouping_set  */
   47241             : #line 13498 "gram.y"
   47242             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   47243             : #line 47244 "gram.c"
   47244         222 :     break;
   47245             : 
   47246         184 :   case 1804: /* group_by_item: cube_clause  */
   47247             : #line 13499 "gram.y"
   47248             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   47249             : #line 47250 "gram.c"
   47250         184 :     break;
   47251             : 
   47252         286 :   case 1805: /* group_by_item: rollup_clause  */
   47253             : #line 13500 "gram.y"
   47254             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   47255             : #line 47256 "gram.c"
   47256         286 :     break;
   47257             : 
   47258         598 :   case 1806: /* group_by_item: grouping_sets_clause  */
   47259             : #line 13501 "gram.y"
   47260             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   47261             : #line 47262 "gram.c"
   47262         598 :     break;
   47263             : 
   47264         222 :   case 1807: /* empty_grouping_set: '(' ')'  */
   47265             : #line 13506 "gram.y"
   47266             :                                 {
   47267             :                     (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_EMPTY, NIL, (yylsp[-1]));
   47268             :                 }
   47269             : #line 47270 "gram.c"
   47270         222 :     break;
   47271             : 
   47272         286 :   case 1808: /* rollup_clause: ROLLUP '(' expr_list ')'  */
   47273             : #line 13519 "gram.y"
   47274             :                                 {
   47275             :                     (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_ROLLUP, (yyvsp[-1].list), (yylsp[-3]));
   47276             :                 }
   47277             : #line 47278 "gram.c"
   47278         286 :     break;
   47279             : 
   47280         184 :   case 1809: /* cube_clause: CUBE '(' expr_list ')'  */
   47281             : #line 13526 "gram.y"
   47282             :                                 {
   47283             :                     (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_CUBE, (yyvsp[-1].list), (yylsp[-3]));
   47284             :                 }
   47285             : #line 47286 "gram.c"
   47286         184 :     break;
   47287             : 
   47288         598 :   case 1810: /* grouping_sets_clause: GROUPING SETS '(' group_by_list ')'  */
   47289             : #line 13533 "gram.y"
   47290             :                                 {
   47291             :                     (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_SETS, (yyvsp[-1].list), (yylsp[-4]));
   47292             :                 }
   47293             : #line 47294 "gram.c"
   47294         598 :     break;
   47295             : 
   47296         682 :   case 1811: /* having_clause: HAVING a_expr  */
   47297             : #line 13539 "gram.y"
   47298             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   47299             : #line 47300 "gram.c"
   47300         682 :     break;
   47301             : 
   47302      480422 :   case 1812: /* having_clause: %empty  */
   47303             : #line 13540 "gram.y"
   47304             :                                                                                                 { (yyval.node) = NULL; }
   47305             : #line 47306 "gram.c"
   47306      480422 :     break;
   47307             : 
   47308        5014 :   case 1813: /* for_locking_clause: for_locking_items  */
   47309             : #line 13544 "gram.y"
   47310             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   47311             : #line 47312 "gram.c"
   47312        5014 :     break;
   47313             : 
   47314           0 :   case 1814: /* for_locking_clause: FOR READ ONLY  */
   47315             : #line 13545 "gram.y"
   47316             :                                                                                         { (yyval.list) = NIL; }
   47317             : #line 47318 "gram.c"
   47318           0 :     break;
   47319             : 
   47320         340 :   case 1815: /* opt_for_locking_clause: for_locking_clause  */
   47321             : #line 13549 "gram.y"
   47322             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   47323             : #line 47324 "gram.c"
   47324         340 :     break;
   47325             : 
   47326       44828 :   case 1816: /* opt_for_locking_clause: %empty  */
   47327             : #line 13550 "gram.y"
   47328             :                                                                                         { (yyval.list) = NIL; }
   47329             : #line 47330 "gram.c"
   47330       44828 :     break;
   47331             : 
   47332        5014 :   case 1817: /* for_locking_items: for_locking_item  */
   47333             : #line 13554 "gram.y"
   47334             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   47335             : #line 47336 "gram.c"
   47336        5014 :     break;
   47337             : 
   47338          98 :   case 1818: /* for_locking_items: for_locking_items for_locking_item  */
   47339             : #line 13555 "gram.y"
   47340             :                                                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
   47341             : #line 47342 "gram.c"
   47342          98 :     break;
   47343             : 
   47344        5112 :   case 1819: /* for_locking_item: for_locking_strength locked_rels_list opt_nowait_or_skip  */
   47345             : #line 13560 "gram.y"
   47346             :                                 {
   47347             :                     LockingClause *n = makeNode(LockingClause);
   47348             : 
   47349             :                     n->lockedRels = (yyvsp[-1].list);
   47350             :                     n->strength = (yyvsp[-2].ival);
   47351             :                     n->waitPolicy = (yyvsp[0].ival);
   47352             :                     (yyval.node) = (Node *) n;
   47353             :                 }
   47354             : #line 47355 "gram.c"
   47355        5112 :     break;
   47356             : 
   47357        1516 :   case 1820: /* for_locking_strength: FOR UPDATE  */
   47358             : #line 13571 "gram.y"
   47359             :                                                                                         { (yyval.ival) = LCS_FORUPDATE; }
   47360             : #line 47361 "gram.c"
   47361        1516 :     break;
   47362             : 
   47363          76 :   case 1821: /* for_locking_strength: FOR NO KEY UPDATE  */
   47364             : #line 13572 "gram.y"
   47365             :                                                                                 { (yyval.ival) = LCS_FORNOKEYUPDATE; }
   47366             : #line 47367 "gram.c"
   47367          76 :     break;
   47368             : 
   47369         214 :   case 1822: /* for_locking_strength: FOR SHARE  */
   47370             : #line 13573 "gram.y"
   47371             :                                                                                         { (yyval.ival) = LCS_FORSHARE; }
   47372             : #line 47373 "gram.c"
   47373         214 :     break;
   47374             : 
   47375        3306 :   case 1823: /* for_locking_strength: FOR KEY SHARE  */
   47376             : #line 13574 "gram.y"
   47377             :                                                                                 { (yyval.ival) = LCS_FORKEYSHARE; }
   47378             : #line 47379 "gram.c"
   47379        3306 :     break;
   47380             : 
   47381        3326 :   case 1824: /* locked_rels_list: OF qualified_name_list  */
   47382             : #line 13578 "gram.y"
   47383             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   47384             : #line 47385 "gram.c"
   47385        3326 :     break;
   47386             : 
   47387        1786 :   case 1825: /* locked_rels_list: %empty  */
   47388             : #line 13579 "gram.y"
   47389             :                                                                                         { (yyval.list) = NIL; }
   47390             : #line 47391 "gram.c"
   47391        1786 :     break;
   47392             : 
   47393       64664 :   case 1826: /* values_clause: VALUES '(' expr_list ')'  */
   47394             : #line 13590 "gram.y"
   47395             :                                 {
   47396             :                     SelectStmt *n = makeNode(SelectStmt);
   47397             : 
   47398             :                     n->stmt_location = (yylsp[-3]);
   47399             :                     n->valuesLists = list_make1((yyvsp[-1].list));
   47400             :                     (yyval.node) = (Node *) n;
   47401             :                 }
   47402             : #line 47403 "gram.c"
   47403       64664 :     break;
   47404             : 
   47405       25166 :   case 1827: /* values_clause: values_clause ',' '(' expr_list ')'  */
   47406             : #line 13598 "gram.y"
   47407             :                                 {
   47408             :                     SelectStmt *n = (SelectStmt *) (yyvsp[-4].node);
   47409             : 
   47410             :                     n->valuesLists = lappend(n->valuesLists, (yyvsp[-1].list));
   47411             :                     (yyval.node) = (Node *) n;
   47412             :                 }
   47413             : #line 47414 "gram.c"
   47414       25166 :     break;
   47415             : 
   47416      322508 :   case 1828: /* from_clause: FROM from_list  */
   47417             : #line 13616 "gram.y"
   47418             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   47419             : #line 47420 "gram.c"
   47420      322508 :     break;
   47421             : 
   47422      172594 :   case 1829: /* from_clause: %empty  */
   47423             : #line 13617 "gram.y"
   47424             :                                                                                                 { (yyval.list) = NIL; }
   47425             : #line 47426 "gram.c"
   47426      172594 :     break;
   47427             : 
   47428      323288 :   case 1830: /* from_list: table_ref  */
   47429             : #line 13621 "gram.y"
   47430             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   47431             : #line 47432 "gram.c"
   47432      323288 :     break;
   47433             : 
   47434       61250 :   case 1831: /* from_list: from_list ',' table_ref  */
   47435             : #line 13622 "gram.y"
   47436             :                                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   47437             : #line 47438 "gram.c"
   47438       61250 :     break;
   47439             : 
   47440      403894 :   case 1832: /* table_ref: relation_expr opt_alias_clause  */
   47441             : #line 13629 "gram.y"
   47442             :                                 {
   47443             :                     (yyvsp[-1].range)->alias = (yyvsp[0].alias);
   47444             :                     (yyval.node) = (Node *) (yyvsp[-1].range);
   47445             :                 }
   47446             : #line 47447 "gram.c"
   47447      403894 :     break;
   47448             : 
   47449         264 :   case 1833: /* table_ref: relation_expr opt_alias_clause tablesample_clause  */
   47450             : #line 13634 "gram.y"
   47451             :                                 {
   47452             :                     RangeTableSample *n = (RangeTableSample *) (yyvsp[0].node);
   47453             : 
   47454             :                     (yyvsp[-2].range)->alias = (yyvsp[-1].alias);
   47455             :                     /* relation_expr goes inside the RangeTableSample node */
   47456             :                     n->relation = (Node *) (yyvsp[-2].range);
   47457             :                     (yyval.node) = (Node *) n;
   47458             :                 }
   47459             : #line 47460 "gram.c"
   47460         264 :     break;
   47461             : 
   47462       50596 :   case 1834: /* table_ref: func_table func_alias_clause  */
   47463             : #line 13643 "gram.y"
   47464             :                                 {
   47465             :                     RangeFunction *n = (RangeFunction *) (yyvsp[-1].node);
   47466             : 
   47467             :                     n->alias = linitial((yyvsp[0].list));
   47468             :                     n->coldeflist = lsecond((yyvsp[0].list));
   47469             :                     (yyval.node) = (Node *) n;
   47470             :                 }
   47471             : #line 47472 "gram.c"
   47472       50596 :     break;
   47473             : 
   47474        1142 :   case 1835: /* table_ref: LATERAL_P func_table func_alias_clause  */
   47475             : #line 13651 "gram.y"
   47476             :                                 {
   47477             :                     RangeFunction *n = (RangeFunction *) (yyvsp[-1].node);
   47478             : 
   47479             :                     n->lateral = true;
   47480             :                     n->alias = linitial((yyvsp[0].list));
   47481             :                     n->coldeflist = lsecond((yyvsp[0].list));
   47482             :                     (yyval.node) = (Node *) n;
   47483             :                 }
   47484             : #line 47485 "gram.c"
   47485        1142 :     break;
   47486             : 
   47487          82 :   case 1836: /* table_ref: xmltable opt_alias_clause  */
   47488             : #line 13660 "gram.y"
   47489             :                                 {
   47490             :                     RangeTableFunc *n = (RangeTableFunc *) (yyvsp[-1].node);
   47491             : 
   47492             :                     n->alias = (yyvsp[0].alias);
   47493             :                     (yyval.node) = (Node *) n;
   47494             :                 }
   47495             : #line 47496 "gram.c"
   47496          82 :     break;
   47497             : 
   47498         142 :   case 1837: /* table_ref: LATERAL_P xmltable opt_alias_clause  */
   47499             : #line 13667 "gram.y"
   47500             :                                 {
   47501             :                     RangeTableFunc *n = (RangeTableFunc *) (yyvsp[-1].node);
   47502             : 
   47503             :                     n->lateral = true;
   47504             :                     n->alias = (yyvsp[0].alias);
   47505             :                     (yyval.node) = (Node *) n;
   47506             :                 }
   47507             : #line 47508 "gram.c"
   47508         142 :     break;
   47509             : 
   47510       13798 :   case 1838: /* table_ref: select_with_parens opt_alias_clause  */
   47511             : #line 13675 "gram.y"
   47512             :                                 {
   47513             :                     RangeSubselect *n = makeNode(RangeSubselect);
   47514             : 
   47515             :                     n->lateral = false;
   47516             :                     n->subquery = (yyvsp[-1].node);
   47517             :                     n->alias = (yyvsp[0].alias);
   47518             :                     (yyval.node) = (Node *) n;
   47519             :                 }
   47520             : #line 47521 "gram.c"
   47521       13798 :     break;
   47522             : 
   47523        1830 :   case 1839: /* table_ref: LATERAL_P select_with_parens opt_alias_clause  */
   47524             : #line 13684 "gram.y"
   47525             :                                 {
   47526             :                     RangeSubselect *n = makeNode(RangeSubselect);
   47527             : 
   47528             :                     n->lateral = true;
   47529             :                     n->subquery = (yyvsp[-1].node);
   47530             :                     n->alias = (yyvsp[0].alias);
   47531             :                     (yyval.node) = (Node *) n;
   47532             :                 }
   47533             : #line 47534 "gram.c"
   47534        1830 :     break;
   47535             : 
   47536       85466 :   case 1840: /* table_ref: joined_table  */
   47537             : #line 13693 "gram.y"
   47538             :                                 {
   47539             :                     (yyval.node) = (Node *) (yyvsp[0].jexpr);
   47540             :                 }
   47541             : #line 47542 "gram.c"
   47542       85466 :     break;
   47543             : 
   47544         174 :   case 1841: /* table_ref: '(' joined_table ')' alias_clause  */
   47545             : #line 13697 "gram.y"
   47546             :                                 {
   47547             :                     (yyvsp[-2].jexpr)->alias = (yyvsp[0].alias);
   47548             :                     (yyval.node) = (Node *) (yyvsp[-2].jexpr);
   47549             :                 }
   47550             : #line 47551 "gram.c"
   47551         174 :     break;
   47552             : 
   47553         524 :   case 1842: /* table_ref: json_table opt_alias_clause  */
   47554             : #line 13702 "gram.y"
   47555             :                                 {
   47556             :                     JsonTable  *jt = castNode(JsonTable, (yyvsp[-1].node));
   47557             : 
   47558             :                     jt->alias = (yyvsp[0].alias);
   47559             :                     (yyval.node) = (Node *) jt;
   47560             :                 }
   47561             : #line 47562 "gram.c"
   47562         524 :     break;
   47563             : 
   47564           0 :   case 1843: /* table_ref: LATERAL_P json_table opt_alias_clause  */
   47565             : #line 13709 "gram.y"
   47566             :                                 {
   47567             :                     JsonTable  *jt = castNode(JsonTable, (yyvsp[-1].node));
   47568             : 
   47569             :                     jt->alias = (yyvsp[0].alias);
   47570             :                     jt->lateral = true;
   47571             :                     (yyval.node) = (Node *) jt;
   47572             :                 }
   47573             : #line 47574 "gram.c"
   47574           0 :     break;
   47575             : 
   47576        3922 :   case 1844: /* joined_table: '(' joined_table ')'  */
   47577             : #line 13738 "gram.y"
   47578             :                                 {
   47579             :                     (yyval.jexpr) = (yyvsp[-1].jexpr);
   47580             :                 }
   47581             : #line 47582 "gram.c"
   47582        3922 :     break;
   47583             : 
   47584         506 :   case 1845: /* joined_table: table_ref CROSS JOIN table_ref  */
   47585             : #line 13742 "gram.y"
   47586             :                                 {
   47587             :                     /* CROSS JOIN is same as unqualified inner join */
   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[0].node);
   47594             :                     n->usingClause = NIL;
   47595             :                     n->join_using_alias = NULL;
   47596             :                     n->quals = NULL;
   47597             :                     (yyval.jexpr) = n;
   47598             :                 }
   47599             : #line 47600 "gram.c"
   47600         506 :     break;
   47601             : 
   47602       47826 :   case 1846: /* joined_table: table_ref join_type JOIN table_ref join_qual  */
   47603             : #line 13756 "gram.y"
   47604             :                                 {
   47605             :                     JoinExpr   *n = makeNode(JoinExpr);
   47606             : 
   47607             :                     n->jointype = (yyvsp[-3].jtype);
   47608             :                     n->isNatural = false;
   47609             :                     n->larg = (yyvsp[-4].node);
   47610             :                     n->rarg = (yyvsp[-1].node);
   47611             :                     if ((yyvsp[0].node) != NULL && IsA((yyvsp[0].node), List))
   47612             :                     {
   47613             :                          /* USING clause */
   47614             :                         n->usingClause = linitial_node(List, castNode(List, (yyvsp[0].node)));
   47615             :                         n->join_using_alias = lsecond_node(Alias, castNode(List, (yyvsp[0].node)));
   47616             :                     }
   47617             :                     else
   47618             :                     {
   47619             :                         /* ON clause */
   47620             :                         n->quals = (yyvsp[0].node);
   47621             :                     }
   47622             :                     (yyval.jexpr) = n;
   47623             :                 }
   47624             : #line 47625 "gram.c"
   47625       47826 :     break;
   47626             : 
   47627       37050 :   case 1847: /* joined_table: table_ref JOIN table_ref join_qual  */
   47628             : #line 13777 "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 = false;
   47635             :                     n->larg = (yyvsp[-3].node);
   47636             :                     n->rarg = (yyvsp[-1].node);
   47637             :                     if ((yyvsp[0].node) != NULL && IsA((yyvsp[0].node), List))
   47638             :                     {
   47639             :                         /* USING clause */
   47640             :                         n->usingClause = linitial_node(List, castNode(List, (yyvsp[0].node)));
   47641             :                         n->join_using_alias = lsecond_node(Alias, castNode(List, (yyvsp[0].node)));
   47642             :                     }
   47643             :                     else
   47644             :                     {
   47645             :                         /* ON clause */
   47646             :                         n->quals = (yyvsp[0].node);
   47647             :                     }
   47648             :                     (yyval.jexpr) = n;
   47649             :                 }
   47650             : #line 47651 "gram.c"
   47651       37050 :     break;
   47652             : 
   47653          78 :   case 1848: /* joined_table: table_ref NATURAL join_type JOIN table_ref  */
   47654             : #line 13799 "gram.y"
   47655             :                                 {
   47656             :                     JoinExpr   *n = makeNode(JoinExpr);
   47657             : 
   47658             :                     n->jointype = (yyvsp[-2].jtype);
   47659             :                     n->isNatural = true;
   47660             :                     n->larg = (yyvsp[-4].node);
   47661             :                     n->rarg = (yyvsp[0].node);
   47662             :                     n->usingClause = NIL; /* figure out which columns later... */
   47663             :                     n->join_using_alias = NULL;
   47664             :                     n->quals = NULL; /* fill later */
   47665             :                     (yyval.jexpr) = n;
   47666             :                 }
   47667             : #line 47668 "gram.c"
   47668          78 :     break;
   47669             : 
   47670         180 :   case 1849: /* joined_table: table_ref NATURAL JOIN table_ref  */
   47671             : #line 13812 "gram.y"
   47672             :                                 {
   47673             :                     /* letting join_type reduce to empty doesn't work */
   47674             :                     JoinExpr   *n = makeNode(JoinExpr);
   47675             : 
   47676             :                     n->jointype = JOIN_INNER;
   47677             :                     n->isNatural = true;
   47678             :                     n->larg = (yyvsp[-3].node);
   47679             :                     n->rarg = (yyvsp[0].node);
   47680             :                     n->usingClause = NIL; /* figure out which columns later... */
   47681             :                     n->join_using_alias = NULL;
   47682             :                     n->quals = NULL; /* fill later */
   47683             :                     (yyval.jexpr) = n;
   47684             :                 }
   47685             : #line 47686 "gram.c"
   47686         180 :     break;
   47687             : 
   47688        7416 :   case 1850: /* alias_clause: AS ColId '(' name_list ')'  */
   47689             : #line 13829 "gram.y"
   47690             :                                 {
   47691             :                     (yyval.alias) = makeNode(Alias);
   47692             :                     (yyval.alias)->aliasname = (yyvsp[-3].str);
   47693             :                     (yyval.alias)->colnames = (yyvsp[-1].list);
   47694             :                 }
   47695             : #line 47696 "gram.c"
   47696        7416 :     break;
   47697             : 
   47698       10802 :   case 1851: /* alias_clause: AS ColId  */
   47699             : #line 13835 "gram.y"
   47700             :                                 {
   47701             :                     (yyval.alias) = makeNode(Alias);
   47702             :                     (yyval.alias)->aliasname = (yyvsp[0].str);
   47703             :                 }
   47704             : #line 47705 "gram.c"
   47705       10802 :     break;
   47706             : 
   47707        5754 :   case 1852: /* alias_clause: ColId '(' name_list ')'  */
   47708             : #line 13840 "gram.y"
   47709             :                                 {
   47710             :                     (yyval.alias) = makeNode(Alias);
   47711             :                     (yyval.alias)->aliasname = (yyvsp[-3].str);
   47712             :                     (yyval.alias)->colnames = (yyvsp[-1].list);
   47713             :                 }
   47714             : #line 47715 "gram.c"
   47715        5754 :     break;
   47716             : 
   47717      266060 :   case 1853: /* alias_clause: ColId  */
   47718             : #line 13846 "gram.y"
   47719             :                                 {
   47720             :                     (yyval.alias) = makeNode(Alias);
   47721             :                     (yyval.alias)->aliasname = (yyvsp[0].str);
   47722             :                 }
   47723             : #line 47724 "gram.c"
   47724      266060 :     break;
   47725             : 
   47726      260448 :   case 1854: /* opt_alias_clause: alias_clause  */
   47727             : #line 13852 "gram.y"
   47728             :                                                                         { (yyval.alias) = (yyvsp[0].alias); }
   47729             : #line 47730 "gram.c"
   47730      260448 :     break;
   47731             : 
   47732      160086 :   case 1855: /* opt_alias_clause: %empty  */
   47733             : #line 13853 "gram.y"
   47734             :                                                                                                 { (yyval.alias) = NULL; }
   47735             : #line 47736 "gram.c"
   47736      160086 :     break;
   47737             : 
   47738          84 :   case 1856: /* opt_alias_clause_for_join_using: AS ColId  */
   47739             : #line 13864 "gram.y"
   47740             :                                 {
   47741             :                     (yyval.alias) = makeNode(Alias);
   47742             :                     (yyval.alias)->aliasname = (yyvsp[0].str);
   47743             :                     /* the column name list will be inserted later */
   47744             :                 }
   47745             : #line 47746 "gram.c"
   47746          84 :     break;
   47747             : 
   47748        1160 :   case 1857: /* opt_alias_clause_for_join_using: %empty  */
   47749             : #line 13869 "gram.y"
   47750             :                                                                                                 { (yyval.alias) = NULL; }
   47751             : #line 47752 "gram.c"
   47752        1160 :     break;
   47753             : 
   47754       29410 :   case 1858: /* func_alias_clause: alias_clause  */
   47755             : #line 13878 "gram.y"
   47756             :                                 {
   47757             :                     (yyval.list) = list_make2((yyvsp[0].alias), NIL);
   47758             :                 }
   47759             : #line 47760 "gram.c"
   47760       29410 :     break;
   47761             : 
   47762         114 :   case 1859: /* func_alias_clause: AS '(' TableFuncElementList ')'  */
   47763             : #line 13882 "gram.y"
   47764             :                                 {
   47765             :                     (yyval.list) = list_make2(NULL, (yyvsp[-1].list));
   47766             :                 }
   47767             : #line 47768 "gram.c"
   47768         114 :     break;
   47769             : 
   47770         596 :   case 1860: /* func_alias_clause: AS ColId '(' TableFuncElementList ')'  */
   47771             : #line 13886 "gram.y"
   47772             :                                 {
   47773             :                     Alias      *a = makeNode(Alias);
   47774             : 
   47775             :                     a->aliasname = (yyvsp[-3].str);
   47776             :                     (yyval.list) = list_make2(a, (yyvsp[-1].list));
   47777             :                 }
   47778             : #line 47779 "gram.c"
   47779         596 :     break;
   47780             : 
   47781          50 :   case 1861: /* func_alias_clause: ColId '(' TableFuncElementList ')'  */
   47782             : #line 13893 "gram.y"
   47783             :                                 {
   47784             :                     Alias      *a = makeNode(Alias);
   47785             : 
   47786             :                     a->aliasname = (yyvsp[-3].str);
   47787             :                     (yyval.list) = list_make2(a, (yyvsp[-1].list));
   47788             :                 }
   47789             : #line 47790 "gram.c"
   47790          50 :     break;
   47791             : 
   47792       21568 :   case 1862: /* func_alias_clause: %empty  */
   47793             : #line 13900 "gram.y"
   47794             :                                 {
   47795             :                     (yyval.list) = list_make2(NULL, NIL);
   47796             :                 }
   47797             : #line 47798 "gram.c"
   47798       21568 :     break;
   47799             : 
   47800        1042 :   case 1863: /* join_type: FULL opt_outer  */
   47801             : #line 13905 "gram.y"
   47802             :                                                                                 { (yyval.jtype) = JOIN_FULL; }
   47803             : #line 47804 "gram.c"
   47804        1042 :     break;
   47805             : 
   47806       42574 :   case 1864: /* join_type: LEFT opt_outer  */
   47807             : #line 13906 "gram.y"
   47808             :                                                                                         { (yyval.jtype) = JOIN_LEFT; }
   47809             : #line 47810 "gram.c"
   47810       42574 :     break;
   47811             : 
   47812         360 :   case 1865: /* join_type: RIGHT opt_outer  */
   47813             : #line 13907 "gram.y"
   47814             :                                                                                         { (yyval.jtype) = JOIN_RIGHT; }
   47815             : #line 47816 "gram.c"
   47816         360 :     break;
   47817             : 
   47818        3928 :   case 1866: /* join_type: INNER_P  */
   47819             : #line 13908 "gram.y"
   47820             :                                                                                                 { (yyval.jtype) = JOIN_INNER; }
   47821             : #line 47822 "gram.c"
   47822        3928 :     break;
   47823             : 
   47824        1244 :   case 1869: /* join_qual: USING '(' name_list ')' opt_alias_clause_for_join_using  */
   47825             : #line 13929 "gram.y"
   47826             :                                 {
   47827             :                     (yyval.node) = (Node *) list_make2((yyvsp[-2].list), (yyvsp[0].alias));
   47828             :                 }
   47829             : #line 47830 "gram.c"
   47830        1244 :     break;
   47831             : 
   47832       83632 :   case 1870: /* join_qual: ON a_expr  */
   47833             : #line 13933 "gram.y"
   47834             :                                 {
   47835             :                     (yyval.node) = (yyvsp[0].node);
   47836             :                 }
   47837             : #line 47838 "gram.c"
   47838       83632 :     break;
   47839             : 
   47840      490762 :   case 1871: /* relation_expr: qualified_name  */
   47841             : #line 13941 "gram.y"
   47842             :                                 {
   47843             :                     /* inheritance query, implicitly */
   47844             :                     (yyval.range) = (yyvsp[0].range);
   47845             :                     (yyval.range)->inh = true;
   47846             :                     (yyval.range)->alias = NULL;
   47847             :                 }
   47848             : #line 47849 "gram.c"
   47849      490762 :     break;
   47850             : 
   47851        9136 :   case 1872: /* relation_expr: extended_relation_expr  */
   47852             : #line 13948 "gram.y"
   47853             :                                 {
   47854             :                     (yyval.range) = (yyvsp[0].range);
   47855             :                 }
   47856             : #line 47857 "gram.c"
   47857        9136 :     break;
   47858             : 
   47859         204 :   case 1873: /* extended_relation_expr: qualified_name '*'  */
   47860             : #line 13955 "gram.y"
   47861             :                                 {
   47862             :                     /* inheritance query, explicitly */
   47863             :                     (yyval.range) = (yyvsp[-1].range);
   47864             :                     (yyval.range)->inh = true;
   47865             :                     (yyval.range)->alias = NULL;
   47866             :                 }
   47867             : #line 47868 "gram.c"
   47868         204 :     break;
   47869             : 
   47870        8938 :   case 1874: /* extended_relation_expr: ONLY qualified_name  */
   47871             : #line 13962 "gram.y"
   47872             :                                 {
   47873             :                     /* no inheritance */
   47874             :                     (yyval.range) = (yyvsp[0].range);
   47875             :                     (yyval.range)->inh = false;
   47876             :                     (yyval.range)->alias = NULL;
   47877             :                 }
   47878             : #line 47879 "gram.c"
   47879        8938 :     break;
   47880             : 
   47881           0 :   case 1875: /* extended_relation_expr: ONLY '(' qualified_name ')'  */
   47882             : #line 13969 "gram.y"
   47883             :                                 {
   47884             :                     /* no inheritance, SQL99-style syntax */
   47885             :                     (yyval.range) = (yyvsp[-1].range);
   47886             :                     (yyval.range)->inh = false;
   47887             :                     (yyval.range)->alias = NULL;
   47888             :                 }
   47889             : #line 47890 "gram.c"
   47890           0 :     break;
   47891             : 
   47892        5436 :   case 1876: /* relation_expr_list: relation_expr  */
   47893             : #line 13979 "gram.y"
   47894             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].range)); }
   47895             : #line 47896 "gram.c"
   47896        5436 :     break;
   47897             : 
   47898       15298 :   case 1877: /* relation_expr_list: relation_expr_list ',' relation_expr  */
   47899             : #line 13980 "gram.y"
   47900             :                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
   47901             : #line 47902 "gram.c"
   47902       15298 :     break;
   47903             : 
   47904       18430 :   case 1878: /* relation_expr_opt_alias: relation_expr  */
   47905             : #line 13994 "gram.y"
   47906             :                                 {
   47907             :                     (yyval.range) = (yyvsp[0].range);
   47908             :                 }
   47909             : #line 47910 "gram.c"
   47910       18430 :     break;
   47911             : 
   47912        2192 :   case 1879: /* relation_expr_opt_alias: relation_expr ColId  */
   47913             : #line 13998 "gram.y"
   47914             :                                 {
   47915             :                     Alias      *alias = makeNode(Alias);
   47916             : 
   47917             :                     alias->aliasname = (yyvsp[0].str);
   47918             :                     (yyvsp[-1].range)->alias = alias;
   47919             :                     (yyval.range) = (yyvsp[-1].range);
   47920             :                 }
   47921             : #line 47922 "gram.c"
   47922        2192 :     break;
   47923             : 
   47924          90 :   case 1880: /* relation_expr_opt_alias: relation_expr AS ColId  */
   47925             : #line 14006 "gram.y"
   47926             :                                 {
   47927             :                     Alias      *alias = makeNode(Alias);
   47928             : 
   47929             :                     alias->aliasname = (yyvsp[0].str);
   47930             :                     (yyvsp[-2].range)->alias = alias;
   47931             :                     (yyval.range) = (yyvsp[-2].range);
   47932             :                 }
   47933             : #line 47934 "gram.c"
   47934          90 :     break;
   47935             : 
   47936         264 :   case 1881: /* tablesample_clause: TABLESAMPLE func_name '(' expr_list ')' opt_repeatable_clause  */
   47937             : #line 14020 "gram.y"
   47938             :                                 {
   47939             :                     RangeTableSample *n = makeNode(RangeTableSample);
   47940             : 
   47941             :                     /* n->relation will be filled in later */
   47942             :                     n->method = (yyvsp[-4].list);
   47943             :                     n->args = (yyvsp[-2].list);
   47944             :                     n->repeatable = (yyvsp[0].node);
   47945             :                     n->location = (yylsp[-4]);
   47946             :                     (yyval.node) = (Node *) n;
   47947             :                 }
   47948             : #line 47949 "gram.c"
   47949         264 :     break;
   47950             : 
   47951         110 :   case 1882: /* opt_repeatable_clause: REPEATABLE '(' a_expr ')'  */
   47952             : #line 14033 "gram.y"
   47953             :                                                         { (yyval.node) = (Node *) (yyvsp[-1].node); }
   47954             : #line 47955 "gram.c"
   47955         110 :     break;
   47956             : 
   47957         154 :   case 1883: /* opt_repeatable_clause: %empty  */
   47958             : #line 14034 "gram.y"
   47959             :                                                                         { (yyval.node) = NULL; }
   47960             : #line 47961 "gram.c"
   47961         154 :     break;
   47962             : 
   47963       51612 :   case 1884: /* func_table: func_expr_windowless opt_ordinality  */
   47964             : #line 14050 "gram.y"
   47965             :                                 {
   47966             :                     RangeFunction *n = makeNode(RangeFunction);
   47967             : 
   47968             :                     n->lateral = false;
   47969             :                     n->ordinality = (yyvsp[0].boolean);
   47970             :                     n->is_rowsfrom = false;
   47971             :                     n->functions = list_make1(list_make2((yyvsp[-1].node), NIL));
   47972             :                     /* alias and coldeflist are set by table_ref production */
   47973             :                     (yyval.node) = (Node *) n;
   47974             :                 }
   47975             : #line 47976 "gram.c"
   47976       51612 :     break;
   47977             : 
   47978         132 :   case 1885: /* func_table: ROWS FROM '(' rowsfrom_list ')' opt_ordinality  */
   47979             : #line 14061 "gram.y"
   47980             :                                 {
   47981             :                     RangeFunction *n = makeNode(RangeFunction);
   47982             : 
   47983             :                     n->lateral = false;
   47984             :                     n->ordinality = (yyvsp[0].boolean);
   47985             :                     n->is_rowsfrom = true;
   47986             :                     n->functions = (yyvsp[-2].list);
   47987             :                     /* alias and coldeflist are set by table_ref production */
   47988             :                     (yyval.node) = (Node *) n;
   47989             :                 }
   47990             : #line 47991 "gram.c"
   47991         132 :     break;
   47992             : 
   47993         318 :   case 1886: /* rowsfrom_item: func_expr_windowless opt_col_def_list  */
   47994             : #line 14074 "gram.y"
   47995             :                                 { (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].list)); }
   47996             : #line 47997 "gram.c"
   47997         318 :     break;
   47998             : 
   47999         132 :   case 1887: /* rowsfrom_list: rowsfrom_item  */
   48000             : #line 14078 "gram.y"
   48001             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].list)); }
   48002             : #line 48003 "gram.c"
   48003         132 :     break;
   48004             : 
   48005         186 :   case 1888: /* rowsfrom_list: rowsfrom_list ',' rowsfrom_item  */
   48006             : #line 14079 "gram.y"
   48007             :                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
   48008             : #line 48009 "gram.c"
   48009         186 :     break;
   48010             : 
   48011          54 :   case 1889: /* opt_col_def_list: AS '(' TableFuncElementList ')'  */
   48012             : #line 14082 "gram.y"
   48013             :                                                         { (yyval.list) = (yyvsp[-1].list); }
   48014             : #line 48015 "gram.c"
   48015          54 :     break;
   48016             : 
   48017         264 :   case 1890: /* opt_col_def_list: %empty  */
   48018             : #line 14083 "gram.y"
   48019             :                                                                                                 { (yyval.list) = NIL; }
   48020             : #line 48021 "gram.c"
   48021         264 :     break;
   48022             : 
   48023        1086 :   case 1891: /* opt_ordinality: WITH_LA ORDINALITY  */
   48024             : #line 14086 "gram.y"
   48025             :                                                                         { (yyval.boolean) = true; }
   48026             : #line 48027 "gram.c"
   48027        1086 :     break;
   48028             : 
   48029       50658 :   case 1892: /* opt_ordinality: %empty  */
   48030             : #line 14087 "gram.y"
   48031             :                                                                                                 { (yyval.boolean) = false; }
   48032             : #line 48033 "gram.c"
   48033       50658 :     break;
   48034             : 
   48035      214610 :   case 1893: /* where_clause: WHERE a_expr  */
   48036             : #line 14092 "gram.y"
   48037             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   48038             : #line 48039 "gram.c"
   48039      214610 :     break;
   48040             : 
   48041      292864 :   case 1894: /* where_clause: %empty  */
   48042             : #line 14093 "gram.y"
   48043             :                                                                                                 { (yyval.node) = NULL; }
   48044             : #line 48045 "gram.c"
   48045      292864 :     break;
   48046             : 
   48047       13324 :   case 1895: /* where_or_current_clause: WHERE a_expr  */
   48048             : #line 14098 "gram.y"
   48049             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   48050             : #line 48051 "gram.c"
   48051       13324 :     break;
   48052             : 
   48053         266 :   case 1896: /* where_or_current_clause: WHERE CURRENT_P OF cursor_name  */
   48054             : #line 14100 "gram.y"
   48055             :                                 {
   48056             :                     CurrentOfExpr *n = makeNode(CurrentOfExpr);
   48057             : 
   48058             :                     /* cvarno is filled in by parse analysis */
   48059             :                     n->cursor_name = (yyvsp[0].str);
   48060             :                     n->cursor_param = 0;
   48061             :                     (yyval.node) = (Node *) n;
   48062             :                 }
   48063             : #line 48064 "gram.c"
   48064         266 :     break;
   48065             : 
   48066        5016 :   case 1897: /* where_or_current_clause: %empty  */
   48067             : #line 14108 "gram.y"
   48068             :                                                                                                 { (yyval.node) = NULL; }
   48069             : #line 48070 "gram.c"
   48070        5016 :     break;
   48071             : 
   48072         746 :   case 1898: /* OptTableFuncElementList: TableFuncElementList  */
   48073             : #line 14113 "gram.y"
   48074             :                                                                         { (yyval.list) = (yyvsp[0].list); }
   48075             : #line 48076 "gram.c"
   48076         746 :     break;
   48077             : 
   48078        3786 :   case 1899: /* OptTableFuncElementList: %empty  */
   48079             : #line 14114 "gram.y"
   48080             :                                                                                         { (yyval.list) = NIL; }
   48081             : #line 48082 "gram.c"
   48082        3786 :     break;
   48083             : 
   48084        1560 :   case 1900: /* TableFuncElementList: TableFuncElement  */
   48085             : #line 14119 "gram.y"
   48086             :                                 {
   48087             :                     (yyval.list) = list_make1((yyvsp[0].node));
   48088             :                 }
   48089             : #line 48090 "gram.c"
   48090        1560 :     break;
   48091             : 
   48092        2098 :   case 1901: /* TableFuncElementList: TableFuncElementList ',' TableFuncElement  */
   48093             : #line 14123 "gram.y"
   48094             :                                 {
   48095             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
   48096             :                 }
   48097             : #line 48098 "gram.c"
   48098        2098 :     break;
   48099             : 
   48100        3722 :   case 1902: /* TableFuncElement: ColId Typename opt_collate_clause  */
   48101             : #line 14129 "gram.y"
   48102             :                                 {
   48103             :                     ColumnDef *n = makeNode(ColumnDef);
   48104             : 
   48105             :                     n->colname = (yyvsp[-2].str);
   48106             :                     n->typeName = (yyvsp[-1].typnam);
   48107             :                     n->inhcount = 0;
   48108             :                     n->is_local = true;
   48109             :                     n->is_not_null = false;
   48110             :                     n->is_from_type = false;
   48111             :                     n->storage = 0;
   48112             :                     n->raw_default = NULL;
   48113             :                     n->cooked_default = NULL;
   48114             :                     n->collClause = (CollateClause *) (yyvsp[0].node);
   48115             :                     n->collOid = InvalidOid;
   48116             :                     n->constraints = NIL;
   48117             :                     n->location = (yylsp[-2]);
   48118             :                     (yyval.node) = (Node *) n;
   48119             :                 }
   48120             : #line 48121 "gram.c"
   48121        3722 :     break;
   48122             : 
   48123         202 :   case 1903: /* xmltable: XMLTABLE '(' c_expr xmlexists_argument COLUMNS xmltable_column_list ')'  */
   48124             : #line 14154 "gram.y"
   48125             :                                 {
   48126             :                     RangeTableFunc *n = makeNode(RangeTableFunc);
   48127             : 
   48128             :                     n->rowexpr = (yyvsp[-4].node);
   48129             :                     n->docexpr = (yyvsp[-3].node);
   48130             :                     n->columns = (yyvsp[-1].list);
   48131             :                     n->namespaces = NIL;
   48132             :                     n->location = (yylsp[-6]);
   48133             :                     (yyval.node) = (Node *) n;
   48134             :                 }
   48135             : #line 48136 "gram.c"
   48136         202 :     break;
   48137             : 
   48138          22 :   case 1904: /* xmltable: XMLTABLE '(' XMLNAMESPACES '(' xml_namespace_list ')' ',' c_expr xmlexists_argument COLUMNS xmltable_column_list ')'  */
   48139             : #line 14166 "gram.y"
   48140             :                                 {
   48141             :                     RangeTableFunc *n = makeNode(RangeTableFunc);
   48142             : 
   48143             :                     n->rowexpr = (yyvsp[-4].node);
   48144             :                     n->docexpr = (yyvsp[-3].node);
   48145             :                     n->columns = (yyvsp[-1].list);
   48146             :                     n->namespaces = (yyvsp[-7].list);
   48147             :                     n->location = (yylsp[-11]);
   48148             :                     (yyval.node) = (Node *) n;
   48149             :                 }
   48150             : #line 48151 "gram.c"
   48151          22 :     break;
   48152             : 
   48153         224 :   case 1905: /* xmltable_column_list: xmltable_column_el  */
   48154             : #line 14178 "gram.y"
   48155             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   48156             : #line 48157 "gram.c"
   48157         224 :     break;
   48158             : 
   48159         544 :   case 1906: /* xmltable_column_list: xmltable_column_list ',' xmltable_column_el  */
   48160             : #line 14179 "gram.y"
   48161             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   48162             : #line 48163 "gram.c"
   48163         544 :     break;
   48164             : 
   48165         198 :   case 1907: /* xmltable_column_el: ColId Typename  */
   48166             : #line 14184 "gram.y"
   48167             :                                 {
   48168             :                     RangeTableFuncCol *fc = makeNode(RangeTableFuncCol);
   48169             : 
   48170             :                     fc->colname = (yyvsp[-1].str);
   48171             :                     fc->for_ordinality = false;
   48172             :                     fc->typeName = (yyvsp[0].typnam);
   48173             :                     fc->is_not_null = false;
   48174             :                     fc->colexpr = NULL;
   48175             :                     fc->coldefexpr = NULL;
   48176             :                     fc->location = (yylsp[-1]);
   48177             : 
   48178             :                     (yyval.node) = (Node *) fc;
   48179             :                 }
   48180             : #line 48181 "gram.c"
   48181         198 :     break;
   48182             : 
   48183         506 :   case 1908: /* xmltable_column_el: ColId Typename xmltable_column_option_list  */
   48184             : #line 14198 "gram.y"
   48185             :                                 {
   48186             :                     RangeTableFuncCol *fc = makeNode(RangeTableFuncCol);
   48187             :                     ListCell   *option;
   48188             :                     bool        nullability_seen = false;
   48189             : 
   48190             :                     fc->colname = (yyvsp[-2].str);
   48191             :                     fc->typeName = (yyvsp[-1].typnam);
   48192             :                     fc->for_ordinality = false;
   48193             :                     fc->is_not_null = false;
   48194             :                     fc->colexpr = NULL;
   48195             :                     fc->coldefexpr = NULL;
   48196             :                     fc->location = (yylsp[-2]);
   48197             : 
   48198             :                     foreach(option, (yyvsp[0].list))
   48199             :                     {
   48200             :                         DefElem   *defel = (DefElem *) lfirst(option);
   48201             : 
   48202             :                         if (strcmp(defel->defname, "default") == 0)
   48203             :                         {
   48204             :                             if (fc->coldefexpr != NULL)
   48205             :                                 ereport(ERROR,
   48206             :                                         (errcode(ERRCODE_SYNTAX_ERROR),
   48207             :                                          errmsg("only one DEFAULT value is allowed"),
   48208             :                                          parser_errposition(defel->location)));
   48209             :                             fc->coldefexpr = defel->arg;
   48210             :                         }
   48211             :                         else if (strcmp(defel->defname, "path") == 0)
   48212             :                         {
   48213             :                             if (fc->colexpr != NULL)
   48214             :                                 ereport(ERROR,
   48215             :                                         (errcode(ERRCODE_SYNTAX_ERROR),
   48216             :                                          errmsg("only one PATH value per column is allowed"),
   48217             :                                          parser_errposition(defel->location)));
   48218             :                             fc->colexpr = defel->arg;
   48219             :                         }
   48220             :                         else if (strcmp(defel->defname, "is_not_null") == 0)
   48221             :                         {
   48222             :                             if (nullability_seen)
   48223             :                                 ereport(ERROR,
   48224             :                                         (errcode(ERRCODE_SYNTAX_ERROR),
   48225             :                                          errmsg("conflicting or redundant NULL / NOT NULL declarations for column \"%s\"", fc->colname),
   48226             :                                          parser_errposition(defel->location)));
   48227             :                             fc->is_not_null = boolVal(defel->arg);
   48228             :                             nullability_seen = true;
   48229             :                         }
   48230             :                         else
   48231             :                         {
   48232             :                             ereport(ERROR,
   48233             :                                     (errcode(ERRCODE_SYNTAX_ERROR),
   48234             :                                      errmsg("unrecognized column option \"%s\"",
   48235             :                                             defel->defname),
   48236             :                                      parser_errposition(defel->location)));
   48237             :                         }
   48238             :                     }
   48239             :                     (yyval.node) = (Node *) fc;
   48240             :                 }
   48241             : #line 48242 "gram.c"
   48242         506 :     break;
   48243             : 
   48244          64 :   case 1909: /* xmltable_column_el: ColId FOR ORDINALITY  */
   48245             : #line 14255 "gram.y"
   48246             :                                 {
   48247             :                     RangeTableFuncCol *fc = makeNode(RangeTableFuncCol);
   48248             : 
   48249             :                     fc->colname = (yyvsp[-2].str);
   48250             :                     fc->for_ordinality = true;
   48251             :                     /* other fields are ignored, initialized by makeNode */
   48252             :                     fc->location = (yylsp[-2]);
   48253             : 
   48254             :                     (yyval.node) = (Node *) fc;
   48255             :                 }
   48256             : #line 48257 "gram.c"
   48257          64 :     break;
   48258             : 
   48259         506 :   case 1910: /* xmltable_column_option_list: xmltable_column_option_el  */
   48260             : #line 14269 "gram.y"
   48261             :                                 { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   48262             : #line 48263 "gram.c"
   48263         506 :     break;
   48264             : 
   48265         116 :   case 1911: /* xmltable_column_option_list: xmltable_column_option_list xmltable_column_option_el  */
   48266             : #line 14271 "gram.y"
   48267             :                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   48268             : #line 48269 "gram.c"
   48269         116 :     break;
   48270             : 
   48271           0 :   case 1912: /* xmltable_column_option_el: IDENT b_expr  */
   48272             : #line 14276 "gram.y"
   48273             :                                 { (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1])); }
   48274             : #line 48275 "gram.c"
   48275           0 :     break;
   48276             : 
   48277          58 :   case 1913: /* xmltable_column_option_el: DEFAULT b_expr  */
   48278             : #line 14278 "gram.y"
   48279             :                                 { (yyval.defelt) = makeDefElem("default", (yyvsp[0].node), (yylsp[-1])); }
   48280             : #line 48281 "gram.c"
   48281          58 :     break;
   48282             : 
   48283          58 :   case 1914: /* xmltable_column_option_el: NOT NULL_P  */
   48284             : #line 14280 "gram.y"
   48285             :                                 { (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeBoolean(true), (yylsp[-1])); }
   48286             : #line 48287 "gram.c"
   48287          58 :     break;
   48288             : 
   48289           0 :   case 1915: /* xmltable_column_option_el: NULL_P  */
   48290             : #line 14282 "gram.y"
   48291             :                                 { (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeBoolean(false), (yylsp[0])); }
   48292             : #line 48293 "gram.c"
   48293           0 :     break;
   48294             : 
   48295         506 :   case 1916: /* xmltable_column_option_el: PATH b_expr  */
   48296             : #line 14284 "gram.y"
   48297             :                                 { (yyval.defelt) = makeDefElem("path", (yyvsp[0].node), (yylsp[-1])); }
   48298             : #line 48299 "gram.c"
   48299         506 :     break;
   48300             : 
   48301          22 :   case 1917: /* xml_namespace_list: xml_namespace_el  */
   48302             : #line 14289 "gram.y"
   48303             :                                 { (yyval.list) = list_make1((yyvsp[0].target)); }
   48304             : #line 48305 "gram.c"
   48305          22 :     break;
   48306             : 
   48307           0 :   case 1918: /* xml_namespace_list: xml_namespace_list ',' xml_namespace_el  */
   48308             : #line 14291 "gram.y"
   48309             :                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
   48310             : #line 48311 "gram.c"
   48311           0 :     break;
   48312             : 
   48313          16 :   case 1919: /* xml_namespace_el: b_expr AS ColLabel  */
   48314             : #line 14296 "gram.y"
   48315             :                                 {
   48316             :                     (yyval.target) = makeNode(ResTarget);
   48317             :                     (yyval.target)->name = (yyvsp[0].str);
   48318             :                     (yyval.target)->indirection = NIL;
   48319             :                     (yyval.target)->val = (yyvsp[-2].node);
   48320             :                     (yyval.target)->location = (yylsp[-2]);
   48321             :                 }
   48322             : #line 48323 "gram.c"
   48323          16 :     break;
   48324             : 
   48325           6 :   case 1920: /* xml_namespace_el: DEFAULT b_expr  */
   48326             : #line 14304 "gram.y"
   48327             :                                 {
   48328             :                     (yyval.target) = makeNode(ResTarget);
   48329             :                     (yyval.target)->name = NULL;
   48330             :                     (yyval.target)->indirection = NIL;
   48331             :                     (yyval.target)->val = (yyvsp[0].node);
   48332             :                     (yyval.target)->location = (yylsp[-1]);
   48333             :                 }
   48334             : #line 48335 "gram.c"
   48335           6 :     break;
   48336             : 
   48337         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 ')'  */
   48338             : #line 14320 "gram.y"
   48339             :                                 {
   48340             :                     JsonTable *n = makeNode(JsonTable);
   48341             :                     char      *pathstring;
   48342             : 
   48343             :                     n->context_item = (JsonValueExpr *) (yyvsp[-10].node);
   48344             :                     if (!IsA((yyvsp[-8].node), A_Const) ||
   48345             :                         castNode(A_Const, (yyvsp[-8].node))->val.node.type != T_String)
   48346             :                         ereport(ERROR,
   48347             :                                 errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   48348             :                                 errmsg("only string constants are supported in JSON_TABLE path specification"),
   48349             :                                 parser_errposition((yylsp[-8])));
   48350             :                     pathstring = castNode(A_Const, (yyvsp[-8].node))->val.sval.sval;
   48351             :                     n->pathspec = makeJsonTablePathSpec(pathstring, (yyvsp[-7].str), (yylsp[-8]), (yylsp[-7]));
   48352             :                     n->passing = (yyvsp[-6].list);
   48353             :                     n->columns = (yyvsp[-3].list);
   48354             :                     n->on_error = (JsonBehavior *) (yyvsp[-1].node);
   48355             :                     n->location = (yylsp[-12]);
   48356             :                     (yyval.node) = (Node *) n;
   48357             :                 }
   48358             : #line 48359 "gram.c"
   48359         524 :     break;
   48360             : 
   48361          62 :   case 1922: /* json_table_path_name_opt: AS name  */
   48362             : #line 14342 "gram.y"
   48363             :                                                 { (yyval.str) = (yyvsp[0].str); }
   48364             : #line 48365 "gram.c"
   48365          62 :     break;
   48366             : 
   48367         480 :   case 1923: /* json_table_path_name_opt: %empty  */
   48368             : #line 14343 "gram.y"
   48369             :                                         { (yyval.str) = NULL; }
   48370             : #line 48371 "gram.c"
   48371         480 :     break;
   48372             : 
   48373         820 :   case 1924: /* json_table_column_definition_list: json_table_column_definition  */
   48374             : #line 14348 "gram.y"
   48375             :                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   48376             : #line 48377 "gram.c"
   48377         820 :     break;
   48378             : 
   48379         528 :   case 1925: /* json_table_column_definition_list: json_table_column_definition_list ',' json_table_column_definition  */
   48380             : #line 14350 "gram.y"
   48381             :                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   48382             : #line 48383 "gram.c"
   48383         528 :     break;
   48384             : 
   48385          84 :   case 1926: /* json_table_column_definition: ColId FOR ORDINALITY  */
   48386             : #line 14355 "gram.y"
   48387             :                                 {
   48388             :                     JsonTableColumn *n = makeNode(JsonTableColumn);
   48389             : 
   48390             :                     n->coltype = JTC_FOR_ORDINALITY;
   48391             :                     n->name = (yyvsp[-2].str);
   48392             :                     n->location = (yylsp[-2]);
   48393             :                     (yyval.node) = (Node *) n;
   48394             :                 }
   48395             : #line 48396 "gram.c"
   48396          84 :     break;
   48397             : 
   48398         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  */
   48399             : #line 14368 "gram.y"
   48400             :                                 {
   48401             :                     JsonTableColumn *n = makeNode(JsonTableColumn);
   48402             : 
   48403             :                     n->coltype = JTC_REGULAR;
   48404             :                     n->name = (yyvsp[-5].str);
   48405             :                     n->typeName = (yyvsp[-4].typnam);
   48406             :                     n->format = makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1);
   48407             :                     n->pathspec = (JsonTablePathSpec *) (yyvsp[-3].node);
   48408             :                     n->wrapper = (yyvsp[-2].ival);
   48409             :                     n->quotes = (yyvsp[-1].ival);
   48410             :                     n->on_empty = (JsonBehavior *) linitial((yyvsp[0].list));
   48411             :                     n->on_error = (JsonBehavior *) lsecond((yyvsp[0].list));
   48412             :                     n->location = (yylsp[-5]);
   48413             :                     (yyval.node) = (Node *) n;
   48414             :                 }
   48415             : #line 48416 "gram.c"
   48416         728 :     break;
   48417             : 
   48418         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  */
   48419             : #line 14388 "gram.y"
   48420             :                                 {
   48421             :                     JsonTableColumn *n = makeNode(JsonTableColumn);
   48422             : 
   48423             :                     n->coltype = JTC_FORMATTED;
   48424             :                     n->name = (yyvsp[-6].str);
   48425             :                     n->typeName = (yyvsp[-5].typnam);
   48426             :                     n->format = (JsonFormat *) (yyvsp[-4].node);
   48427             :                     n->pathspec = (JsonTablePathSpec *) (yyvsp[-3].node);
   48428             :                     n->wrapper = (yyvsp[-2].ival);
   48429             :                     n->quotes = (yyvsp[-1].ival);
   48430             :                     n->on_empty = (JsonBehavior *) linitial((yyvsp[0].list));
   48431             :                     n->on_error = (JsonBehavior *) lsecond((yyvsp[0].list));
   48432             :                     n->location = (yylsp[-6]);
   48433             :                     (yyval.node) = (Node *) n;
   48434             :                 }
   48435             : #line 48436 "gram.c"
   48436         108 :     break;
   48437             : 
   48438         138 :   case 1929: /* json_table_column_definition: ColId Typename EXISTS json_table_column_path_clause_opt json_on_error_clause_opt  */
   48439             : #line 14406 "gram.y"
   48440             :                                 {
   48441             :                     JsonTableColumn *n = makeNode(JsonTableColumn);
   48442             : 
   48443             :                     n->coltype = JTC_EXISTS;
   48444             :                     n->name = (yyvsp[-4].str);
   48445             :                     n->typeName = (yyvsp[-3].typnam);
   48446             :                     n->format = makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1);
   48447             :                     n->wrapper = JSW_NONE;
   48448             :                     n->quotes = JS_QUOTES_UNSPEC;
   48449             :                     n->pathspec = (JsonTablePathSpec *) (yyvsp[-1].node);
   48450             :                     n->on_empty = NULL;
   48451             :                     n->on_error = (JsonBehavior *) (yyvsp[0].node);
   48452             :                     n->location = (yylsp[-4]);
   48453             :                     (yyval.node) = (Node *) n;
   48454             :                 }
   48455             : #line 48456 "gram.c"
   48456         138 :     break;
   48457             : 
   48458         144 :   case 1930: /* json_table_column_definition: NESTED path_opt Sconst COLUMNS '(' json_table_column_definition_list ')'  */
   48459             : #line 14423 "gram.y"
   48460             :                                 {
   48461             :                     JsonTableColumn *n = makeNode(JsonTableColumn);
   48462             : 
   48463             :                     n->coltype = JTC_NESTED;
   48464             :                     n->pathspec = (JsonTablePathSpec *)
   48465             :                         makeJsonTablePathSpec((yyvsp[-4].str), NULL, (yylsp[-4]), -1);
   48466             :                     n->columns = (yyvsp[-1].list);
   48467             :                     n->location = (yylsp[-6]);
   48468             :                     (yyval.node) = (Node *) n;
   48469             :                 }
   48470             : #line 48471 "gram.c"
   48471         144 :     break;
   48472             : 
   48473         146 :   case 1931: /* json_table_column_definition: NESTED path_opt Sconst AS name COLUMNS '(' json_table_column_definition_list ')'  */
   48474             : #line 14435 "gram.y"
   48475             :                                 {
   48476             :                     JsonTableColumn *n = makeNode(JsonTableColumn);
   48477             : 
   48478             :                     n->coltype = JTC_NESTED;
   48479             :                     n->pathspec = (JsonTablePathSpec *)
   48480             :                         makeJsonTablePathSpec((yyvsp[-6].str), (yyvsp[-4].str), (yylsp[-6]), (yylsp[-4]));
   48481             :                     n->columns = (yyvsp[-1].list);
   48482             :                     n->location = (yylsp[-8]);
   48483             :                     (yyval.node) = (Node *) n;
   48484             :                 }
   48485             : #line 48486 "gram.c"
   48486         146 :     break;
   48487             : 
   48488         828 :   case 1934: /* json_table_column_path_clause_opt: PATH Sconst  */
   48489             : #line 14454 "gram.y"
   48490             :                                 { (yyval.node) = (Node *) makeJsonTablePathSpec((yyvsp[0].str), NULL, (yylsp[0]), -1); }
   48491             : #line 48492 "gram.c"
   48492         828 :     break;
   48493             : 
   48494         152 :   case 1935: /* json_table_column_path_clause_opt: %empty  */
   48495             : #line 14456 "gram.y"
   48496             :                                 { (yyval.node) = NULL; }
   48497             : #line 48498 "gram.c"
   48498         152 :     break;
   48499             : 
   48500      537748 :   case 1936: /* Typename: SimpleTypename opt_array_bounds  */
   48501             : #line 14470 "gram.y"
   48502             :                                 {
   48503             :                     (yyval.typnam) = (yyvsp[-1].typnam);
   48504             :                     (yyval.typnam)->arrayBounds = (yyvsp[0].list);
   48505             :                 }
   48506             : #line 48507 "gram.c"
   48507      537748 :     break;
   48508             : 
   48509        2308 :   case 1937: /* Typename: SETOF SimpleTypename opt_array_bounds  */
   48510             : #line 14475 "gram.y"
   48511             :                                 {
   48512             :                     (yyval.typnam) = (yyvsp[-1].typnam);
   48513             :                     (yyval.typnam)->arrayBounds = (yyvsp[0].list);
   48514             :                     (yyval.typnam)->setof = true;
   48515             :                 }
   48516             : #line 48517 "gram.c"
   48517        2308 :     break;
   48518             : 
   48519           6 :   case 1938: /* Typename: SimpleTypename ARRAY '[' Iconst ']'  */
   48520             : #line 14482 "gram.y"
   48521             :                                 {
   48522             :                     (yyval.typnam) = (yyvsp[-4].typnam);
   48523             :                     (yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
   48524             :                 }
   48525             : #line 48526 "gram.c"
   48526           6 :     break;
   48527             : 
   48528           0 :   case 1939: /* Typename: SETOF SimpleTypename ARRAY '[' Iconst ']'  */
   48529             : #line 14487 "gram.y"
   48530             :                                 {
   48531             :                     (yyval.typnam) = (yyvsp[-4].typnam);
   48532             :                     (yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
   48533             :                     (yyval.typnam)->setof = true;
   48534             :                 }
   48535             : #line 48536 "gram.c"
   48536           0 :     break;
   48537             : 
   48538           0 :   case 1940: /* Typename: SimpleTypename ARRAY  */
   48539             : #line 14493 "gram.y"
   48540             :                                 {
   48541             :                     (yyval.typnam) = (yyvsp[-1].typnam);
   48542             :                     (yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
   48543             :                 }
   48544             : #line 48545 "gram.c"
   48545           0 :     break;
   48546             : 
   48547           0 :   case 1941: /* Typename: SETOF SimpleTypename ARRAY  */
   48548             : #line 14498 "gram.y"
   48549             :                                 {
   48550             :                     (yyval.typnam) = (yyvsp[-1].typnam);
   48551             :                     (yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
   48552             :                     (yyval.typnam)->setof = true;
   48553             :                 }
   48554             : #line 48555 "gram.c"
   48555           0 :     break;
   48556             : 
   48557       16784 :   case 1942: /* opt_array_bounds: opt_array_bounds '[' ']'  */
   48558             : #line 14507 "gram.y"
   48559             :                                         {  (yyval.list) = lappend((yyvsp[-2].list), makeInteger(-1)); }
   48560             : #line 48561 "gram.c"
   48561       16784 :     break;
   48562             : 
   48563          62 :   case 1943: /* opt_array_bounds: opt_array_bounds '[' Iconst ']'  */
   48564             : #line 14509 "gram.y"
   48565             :                                         {  (yyval.list) = lappend((yyvsp[-3].list), makeInteger((yyvsp[-1].ival))); }
   48566             : #line 48567 "gram.c"
   48567          62 :     break;
   48568             : 
   48569      540056 :   case 1944: /* opt_array_bounds: %empty  */
   48570             : #line 14511 "gram.y"
   48571             :                                         {  (yyval.list) = NIL; }
   48572             : #line 48573 "gram.c"
   48573      540056 :     break;
   48574             : 
   48575      405512 :   case 1945: /* SimpleTypename: GenericType  */
   48576             : #line 14515 "gram.y"
   48577             :                                                                                                 { (yyval.typnam) = (yyvsp[0].typnam); }
   48578             : #line 48579 "gram.c"
   48579      405512 :     break;
   48580             : 
   48581      119368 :   case 1946: /* SimpleTypename: Numeric  */
   48582             : #line 14516 "gram.y"
   48583             :                                                                                                 { (yyval.typnam) = (yyvsp[0].typnam); }
   48584             : #line 48585 "gram.c"
   48585      119368 :     break;
   48586             : 
   48587        1922 :   case 1947: /* SimpleTypename: Bit  */
   48588             : #line 14517 "gram.y"
   48589             :                                                                                                 { (yyval.typnam) = (yyvsp[0].typnam); }
   48590             : #line 48591 "gram.c"
   48591        1922 :     break;
   48592             : 
   48593        3222 :   case 1948: /* SimpleTypename: Character  */
   48594             : #line 14518 "gram.y"
   48595             :                                                                                                 { (yyval.typnam) = (yyvsp[0].typnam); }
   48596             : #line 48597 "gram.c"
   48597        3222 :     break;
   48598             : 
   48599        4904 :   case 1949: /* SimpleTypename: ConstDatetime  */
   48600             : #line 14519 "gram.y"
   48601             :                                                                                         { (yyval.typnam) = (yyvsp[0].typnam); }
   48602             : #line 48603 "gram.c"
   48603        4904 :     break;
   48604             : 
   48605        3704 :   case 1950: /* SimpleTypename: ConstInterval opt_interval  */
   48606             : #line 14521 "gram.y"
   48607             :                                 {
   48608             :                     (yyval.typnam) = (yyvsp[-1].typnam);
   48609             :                     (yyval.typnam)->typmods = (yyvsp[0].list);
   48610             :                 }
   48611             : #line 48612 "gram.c"
   48612        3704 :     break;
   48613             : 
   48614           0 :   case 1951: /* SimpleTypename: ConstInterval '(' Iconst ')'  */
   48615             : #line 14526 "gram.y"
   48616             :                                 {
   48617             :                     (yyval.typnam) = (yyvsp[-3].typnam);
   48618             :                     (yyval.typnam)->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
   48619             :                                              makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
   48620             :                 }
   48621             : #line 48622 "gram.c"
   48622           0 :     break;
   48623             : 
   48624        1892 :   case 1952: /* SimpleTypename: JsonType  */
   48625             : #line 14531 "gram.y"
   48626             :                                                                                                 { (yyval.typnam) = (yyvsp[0].typnam); }
   48627             : #line 48628 "gram.c"
   48628        1892 :     break;
   48629             : 
   48630          78 :   case 1953: /* ConstTypename: Numeric  */
   48631             : #line 14546 "gram.y"
   48632             :                                                                                                 { (yyval.typnam) = (yyvsp[0].typnam); }
   48633             : #line 48634 "gram.c"
   48634          78 :     break;
   48635             : 
   48636           0 :   case 1954: /* ConstTypename: ConstBit  */
   48637             : #line 14547 "gram.y"
   48638             :                                                                                                 { (yyval.typnam) = (yyvsp[0].typnam); }
   48639             : #line 48640 "gram.c"
   48640           0 :     break;
   48641             : 
   48642          34 :   case 1955: /* ConstTypename: ConstCharacter  */
   48643             : #line 14548 "gram.y"
   48644             :                                                                                         { (yyval.typnam) = (yyvsp[0].typnam); }
   48645             : #line 48646 "gram.c"
   48646          34 :     break;
   48647             : 
   48648        2738 :   case 1956: /* ConstTypename: ConstDatetime  */
   48649             : #line 14549 "gram.y"
   48650             :                                                                                         { (yyval.typnam) = (yyvsp[0].typnam); }
   48651             : #line 48652 "gram.c"
   48652        2738 :     break;
   48653             : 
   48654         264 :   case 1957: /* ConstTypename: JsonType  */
   48655             : #line 14550 "gram.y"
   48656             :                                                                                                 { (yyval.typnam) = (yyvsp[0].typnam); }
   48657             : #line 48658 "gram.c"
   48658         264 :     break;
   48659             : 
   48660      284456 :   case 1958: /* GenericType: type_function_name opt_type_modifiers  */
   48661             : #line 14562 "gram.y"
   48662             :                                 {
   48663             :                     (yyval.typnam) = makeTypeName((yyvsp[-1].str));
   48664             :                     (yyval.typnam)->typmods = (yyvsp[0].list);
   48665             :                     (yyval.typnam)->location = (yylsp[-1]);
   48666             :                 }
   48667             : #line 48668 "gram.c"
   48668      284456 :     break;
   48669             : 
   48670      121056 :   case 1959: /* GenericType: type_function_name attrs opt_type_modifiers  */
   48671             : #line 14568 "gram.y"
   48672             :                                 {
   48673             :                     (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-2].str)), (yyvsp[-1].list)));
   48674             :                     (yyval.typnam)->typmods = (yyvsp[0].list);
   48675             :                     (yyval.typnam)->location = (yylsp[-2]);
   48676             :                 }
   48677             : #line 48678 "gram.c"
   48678      121056 :     break;
   48679             : 
   48680        1396 :   case 1960: /* opt_type_modifiers: '(' expr_list ')'  */
   48681             : #line 14575 "gram.y"
   48682             :                                                                 { (yyval.list) = (yyvsp[-1].list); }
   48683             : #line 48684 "gram.c"
   48684        1396 :     break;
   48685             : 
   48686      410284 :   case 1961: /* opt_type_modifiers: %empty  */
   48687             : #line 14576 "gram.y"
   48688             :                                                                                         { (yyval.list) = NIL; }
   48689             : #line 48690 "gram.c"
   48690      410284 :     break;
   48691             : 
   48692       37972 :   case 1962: /* Numeric: INT_P  */
   48693             : #line 14583 "gram.y"
   48694             :                                 {
   48695             :                     (yyval.typnam) = SystemTypeName("int4");
   48696             :                     (yyval.typnam)->location = (yylsp[0]);
   48697             :                 }
   48698             : #line 48699 "gram.c"
   48699       37972 :     break;
   48700             : 
   48701       37954 :   case 1963: /* Numeric: INTEGER  */
   48702             : #line 14588 "gram.y"
   48703             :                                 {
   48704             :                     (yyval.typnam) = SystemTypeName("int4");
   48705             :                     (yyval.typnam)->location = (yylsp[0]);
   48706             :                 }
   48707             : #line 48708 "gram.c"
   48708       37954 :     break;
   48709             : 
   48710        1310 :   case 1964: /* Numeric: SMALLINT  */
   48711             : #line 14593 "gram.y"
   48712             :                                 {
   48713             :                     (yyval.typnam) = SystemTypeName("int2");
   48714             :                     (yyval.typnam)->location = (yylsp[0]);
   48715             :                 }
   48716             : #line 48717 "gram.c"
   48717        1310 :     break;
   48718             : 
   48719        5168 :   case 1965: /* Numeric: BIGINT  */
   48720             : #line 14598 "gram.y"
   48721             :                                 {
   48722             :                     (yyval.typnam) = SystemTypeName("int8");
   48723             :                     (yyval.typnam)->location = (yylsp[0]);
   48724             :                 }
   48725             : #line 48726 "gram.c"
   48726        5168 :     break;
   48727             : 
   48728       13094 :   case 1966: /* Numeric: REAL  */
   48729             : #line 14603 "gram.y"
   48730             :                                 {
   48731             :                     (yyval.typnam) = SystemTypeName("float4");
   48732             :                     (yyval.typnam)->location = (yylsp[0]);
   48733             :                 }
   48734             : #line 48735 "gram.c"
   48735       13094 :     break;
   48736             : 
   48737         726 :   case 1967: /* Numeric: FLOAT_P opt_float  */
   48738             : #line 14608 "gram.y"
   48739             :                                 {
   48740             :                     (yyval.typnam) = (yyvsp[0].typnam);
   48741             :                     (yyval.typnam)->location = (yylsp[-1]);
   48742             :                 }
   48743             : #line 48744 "gram.c"
   48744         726 :     break;
   48745             : 
   48746         906 :   case 1968: /* Numeric: DOUBLE_P PRECISION  */
   48747             : #line 14613 "gram.y"
   48748             :                                 {
   48749             :                     (yyval.typnam) = SystemTypeName("float8");
   48750             :                     (yyval.typnam)->location = (yylsp[-1]);
   48751             :                 }
   48752             : #line 48753 "gram.c"
   48753         906 :     break;
   48754             : 
   48755          36 :   case 1969: /* Numeric: DECIMAL_P opt_type_modifiers  */
   48756             : #line 14618 "gram.y"
   48757             :                                 {
   48758             :                     (yyval.typnam) = SystemTypeName("numeric");
   48759             :                     (yyval.typnam)->typmods = (yyvsp[0].list);
   48760             :                     (yyval.typnam)->location = (yylsp[-1]);
   48761             :                 }
   48762             : #line 48763 "gram.c"
   48763          36 :     break;
   48764             : 
   48765           0 :   case 1970: /* Numeric: DEC opt_type_modifiers  */
   48766             : #line 14624 "gram.y"
   48767             :                                 {
   48768             :                     (yyval.typnam) = SystemTypeName("numeric");
   48769             :                     (yyval.typnam)->typmods = (yyvsp[0].list);
   48770             :                     (yyval.typnam)->location = (yylsp[-1]);
   48771             :                 }
   48772             : #line 48773 "gram.c"
   48773           0 :     break;
   48774             : 
   48775        6132 :   case 1971: /* Numeric: NUMERIC opt_type_modifiers  */
   48776             : #line 14630 "gram.y"
   48777             :                                 {
   48778             :                     (yyval.typnam) = SystemTypeName("numeric");
   48779             :                     (yyval.typnam)->typmods = (yyvsp[0].list);
   48780             :                     (yyval.typnam)->location = (yylsp[-1]);
   48781             :                 }
   48782             : #line 48783 "gram.c"
   48783        6132 :     break;
   48784             : 
   48785       16148 :   case 1972: /* Numeric: BOOLEAN_P  */
   48786             : #line 14636 "gram.y"
   48787             :                                 {
   48788             :                     (yyval.typnam) = SystemTypeName("bool");
   48789             :                     (yyval.typnam)->location = (yylsp[0]);
   48790             :                 }
   48791             : #line 48792 "gram.c"
   48792       16148 :     break;
   48793             : 
   48794           2 :   case 1973: /* opt_float: '(' Iconst ')'  */
   48795             : #line 14643 "gram.y"
   48796             :                                 {
   48797             :                     /*
   48798             :                      * Check FLOAT() precision limits assuming IEEE floating
   48799             :                      * types - thomas 1997-09-18
   48800             :                      */
   48801             :                     if ((yyvsp[-1].ival) < 1)
   48802             :                         ereport(ERROR,
   48803             :                                 (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
   48804             :                                  errmsg("precision for type float must be at least 1 bit"),
   48805             :                                  parser_errposition((yylsp[-1]))));
   48806             :                     else if ((yyvsp[-1].ival) <= 24)
   48807             :                         (yyval.typnam) = SystemTypeName("float4");
   48808             :                     else if ((yyvsp[-1].ival) <= 53)
   48809             :                         (yyval.typnam) = SystemTypeName("float8");
   48810             :                     else
   48811             :                         ereport(ERROR,
   48812             :                                 (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
   48813             :                                  errmsg("precision for type float must be less than 54 bits"),
   48814             :                                  parser_errposition((yylsp[-1]))));
   48815             :                 }
   48816             : #line 48817 "gram.c"
   48817           2 :     break;
   48818             : 
   48819         724 :   case 1974: /* opt_float: %empty  */
   48820             : #line 14664 "gram.y"
   48821             :                                 {
   48822             :                     (yyval.typnam) = SystemTypeName("float8");
   48823             :                 }
   48824             : #line 48825 "gram.c"
   48825         724 :     break;
   48826             : 
   48827        1710 :   case 1975: /* Bit: BitWithLength  */
   48828             : #line 14674 "gram.y"
   48829             :                                 {
   48830             :                     (yyval.typnam) = (yyvsp[0].typnam);
   48831             :                 }
   48832             : #line 48833 "gram.c"
   48833        1710 :     break;
   48834             : 
   48835         212 :   case 1976: /* Bit: BitWithoutLength  */
   48836             : #line 14678 "gram.y"
   48837             :                                 {
   48838             :                     (yyval.typnam) = (yyvsp[0].typnam);
   48839             :                 }
   48840             : #line 48841 "gram.c"
   48841         212 :     break;
   48842             : 
   48843           0 :   case 1977: /* ConstBit: BitWithLength  */
   48844             : #line 14686 "gram.y"
   48845             :                                 {
   48846             :                     (yyval.typnam) = (yyvsp[0].typnam);
   48847             :                 }
   48848             : #line 48849 "gram.c"
   48849           0 :     break;
   48850             : 
   48851           0 :   case 1978: /* ConstBit: BitWithoutLength  */
   48852             : #line 14690 "gram.y"
   48853             :                                 {
   48854             :                     (yyval.typnam) = (yyvsp[0].typnam);
   48855             :                     (yyval.typnam)->typmods = NIL;
   48856             :                 }
   48857             : #line 48858 "gram.c"
   48858           0 :     break;
   48859             : 
   48860        1710 :   case 1979: /* BitWithLength: BIT opt_varying '(' expr_list ')'  */
   48861             : #line 14698 "gram.y"
   48862             :                                 {
   48863             :                     char *typname;
   48864             : 
   48865             :                     typname = (yyvsp[-3].boolean) ? "varbit" : "bit";
   48866             :                     (yyval.typnam) = SystemTypeName(typname);
   48867             :                     (yyval.typnam)->typmods = (yyvsp[-1].list);
   48868             :                     (yyval.typnam)->location = (yylsp[-4]);
   48869             :                 }
   48870             : #line 48871 "gram.c"
   48871        1710 :     break;
   48872             : 
   48873         212 :   case 1980: /* BitWithoutLength: BIT opt_varying  */
   48874             : #line 14710 "gram.y"
   48875             :                                 {
   48876             :                     /* bit defaults to bit(1), varbit to no limit */
   48877             :                     if ((yyvsp[0].boolean))
   48878             :                     {
   48879             :                         (yyval.typnam) = SystemTypeName("varbit");
   48880             :                     }
   48881             :                     else
   48882             :                     {
   48883             :                         (yyval.typnam) = SystemTypeName("bit");
   48884             :                         (yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
   48885             :                     }
   48886             :                     (yyval.typnam)->location = (yylsp[-1]);
   48887             :                 }
   48888             : #line 48889 "gram.c"
   48889         212 :     break;
   48890             : 
   48891        1834 :   case 1981: /* Character: CharacterWithLength  */
   48892             : #line 14731 "gram.y"
   48893             :                                 {
   48894             :                     (yyval.typnam) = (yyvsp[0].typnam);
   48895             :                 }
   48896             : #line 48897 "gram.c"
   48897        1834 :     break;
   48898             : 
   48899        1388 :   case 1982: /* Character: CharacterWithoutLength  */
   48900             : #line 14735 "gram.y"
   48901             :                                 {
   48902             :                     (yyval.typnam) = (yyvsp[0].typnam);
   48903             :                 }
   48904             : #line 48905 "gram.c"
   48905        1388 :     break;
   48906             : 
   48907          12 :   case 1983: /* ConstCharacter: CharacterWithLength  */
   48908             : #line 14741 "gram.y"
   48909             :                                 {
   48910             :                     (yyval.typnam) = (yyvsp[0].typnam);
   48911             :                 }
   48912             : #line 48913 "gram.c"
   48913          12 :     break;
   48914             : 
   48915          22 :   case 1984: /* ConstCharacter: CharacterWithoutLength  */
   48916             : #line 14745 "gram.y"
   48917             :                                 {
   48918             :                     /* Length was not specified so allow to be unrestricted.
   48919             :                      * This handles problems with fixed-length (bpchar) strings
   48920             :                      * which in column definitions must default to a length
   48921             :                      * of one, but should not be constrained if the length
   48922             :                      * was not specified.
   48923             :                      */
   48924             :                     (yyval.typnam) = (yyvsp[0].typnam);
   48925             :                     (yyval.typnam)->typmods = NIL;
   48926             :                 }
   48927             : #line 48928 "gram.c"
   48928          22 :     break;
   48929             : 
   48930        1846 :   case 1985: /* CharacterWithLength: character '(' Iconst ')'  */
   48931             : #line 14758 "gram.y"
   48932             :                                 {
   48933             :                     (yyval.typnam) = SystemTypeName((yyvsp[-3].str));
   48934             :                     (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
   48935             :                     (yyval.typnam)->location = (yylsp[-3]);
   48936             :                 }
   48937             : #line 48938 "gram.c"
   48938        1846 :     break;
   48939             : 
   48940        1410 :   case 1986: /* CharacterWithoutLength: character  */
   48941             : #line 14766 "gram.y"
   48942             :                                 {
   48943             :                     (yyval.typnam) = SystemTypeName((yyvsp[0].str));
   48944             :                     /* char defaults to char(1), varchar to no limit */
   48945             :                     if (strcmp((yyvsp[0].str), "bpchar") == 0)
   48946             :                         (yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
   48947             :                     (yyval.typnam)->location = (yylsp[0]);
   48948             :                 }
   48949             : #line 48950 "gram.c"
   48950        1410 :     break;
   48951             : 
   48952         780 :   case 1987: /* character: CHARACTER opt_varying  */
   48953             : #line 14776 "gram.y"
   48954             :                                                                                 { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
   48955             : #line 48956 "gram.c"
   48956         780 :     break;
   48957             : 
   48958        1172 :   case 1988: /* character: CHAR_P opt_varying  */
   48959             : #line 14778 "gram.y"
   48960             :                                                                                 { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
   48961             : #line 48962 "gram.c"
   48962        1172 :     break;
   48963             : 
   48964        1300 :   case 1989: /* character: VARCHAR  */
   48965             : #line 14780 "gram.y"
   48966             :                                                                                 { (yyval.str) = "varchar"; }
   48967             : #line 48968 "gram.c"
   48968        1300 :     break;
   48969             : 
   48970           0 :   case 1990: /* character: NATIONAL CHARACTER opt_varying  */
   48971             : #line 14782 "gram.y"
   48972             :                                                                                 { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
   48973             : #line 48974 "gram.c"
   48974           0 :     break;
   48975             : 
   48976           0 :   case 1991: /* character: NATIONAL CHAR_P opt_varying  */
   48977             : #line 14784 "gram.y"
   48978             :                                                                                 { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
   48979             : #line 48980 "gram.c"
   48980           0 :     break;
   48981             : 
   48982           4 :   case 1992: /* character: NCHAR opt_varying  */
   48983             : #line 14786 "gram.y"
   48984             :                                                                                 { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
   48985             : #line 48986 "gram.c"
   48986           4 :     break;
   48987             : 
   48988         546 :   case 1993: /* opt_varying: VARYING  */
   48989             : #line 14790 "gram.y"
   48990             :                                                                                                 { (yyval.boolean) = true; }
   48991             : #line 48992 "gram.c"
   48992         546 :     break;
   48993             : 
   48994        3332 :   case 1994: /* opt_varying: %empty  */
   48995             : #line 14791 "gram.y"
   48996             :                                                                                                 { (yyval.boolean) = false; }
   48997             : #line 48998 "gram.c"
   48998        3332 :     break;
   48999             : 
   49000         136 :   case 1995: /* ConstDatetime: TIMESTAMP '(' Iconst ')' opt_timezone  */
   49001             : #line 14799 "gram.y"
   49002             :                                 {
   49003             :                     if ((yyvsp[0].boolean))
   49004             :                         (yyval.typnam) = SystemTypeName("timestamptz");
   49005             :                     else
   49006             :                         (yyval.typnam) = SystemTypeName("timestamp");
   49007             :                     (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
   49008             :                     (yyval.typnam)->location = (yylsp[-4]);
   49009             :                 }
   49010             : #line 49011 "gram.c"
   49011         136 :     break;
   49012             : 
   49013        5012 :   case 1996: /* ConstDatetime: TIMESTAMP opt_timezone  */
   49014             : #line 14808 "gram.y"
   49015             :                                 {
   49016             :                     if ((yyvsp[0].boolean))
   49017             :                         (yyval.typnam) = SystemTypeName("timestamptz");
   49018             :                     else
   49019             :                         (yyval.typnam) = SystemTypeName("timestamp");
   49020             :                     (yyval.typnam)->location = (yylsp[-1]);
   49021             :                 }
   49022             : #line 49023 "gram.c"
   49023        5012 :     break;
   49024             : 
   49025          26 :   case 1997: /* ConstDatetime: TIME '(' Iconst ')' opt_timezone  */
   49026             : #line 14816 "gram.y"
   49027             :                                 {
   49028             :                     if ((yyvsp[0].boolean))
   49029             :                         (yyval.typnam) = SystemTypeName("timetz");
   49030             :                     else
   49031             :                         (yyval.typnam) = SystemTypeName("time");
   49032             :                     (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
   49033             :                     (yyval.typnam)->location = (yylsp[-4]);
   49034             :                 }
   49035             : #line 49036 "gram.c"
   49036          26 :     break;
   49037             : 
   49038        2468 :   case 1998: /* ConstDatetime: TIME opt_timezone  */
   49039             : #line 14825 "gram.y"
   49040             :                                 {
   49041             :                     if ((yyvsp[0].boolean))
   49042             :                         (yyval.typnam) = SystemTypeName("timetz");
   49043             :                     else
   49044             :                         (yyval.typnam) = SystemTypeName("time");
   49045             :                     (yyval.typnam)->location = (yylsp[-1]);
   49046             :                 }
   49047             : #line 49048 "gram.c"
   49048        2468 :     break;
   49049             : 
   49050        7014 :   case 1999: /* ConstInterval: INTERVAL  */
   49051             : #line 14836 "gram.y"
   49052             :                                 {
   49053             :                     (yyval.typnam) = SystemTypeName("interval");
   49054             :                     (yyval.typnam)->location = (yylsp[0]);
   49055             :                 }
   49056             : #line 49057 "gram.c"
   49057        7014 :     break;
   49058             : 
   49059        1856 :   case 2000: /* opt_timezone: WITH_LA TIME ZONE  */
   49060             : #line 14843 "gram.y"
   49061             :                                                                                         { (yyval.boolean) = true; }
   49062             : #line 49063 "gram.c"
   49063        1856 :     break;
   49064             : 
   49065         628 :   case 2001: /* opt_timezone: WITHOUT_LA TIME ZONE  */
   49066             : #line 14844 "gram.y"
   49067             :                                                                                 { (yyval.boolean) = false; }
   49068             : #line 49069 "gram.c"
   49069         628 :     break;
   49070             : 
   49071        5158 :   case 2002: /* opt_timezone: %empty  */
   49072             : #line 14845 "gram.y"
   49073             :                                                                                                 { (yyval.boolean) = false; }
   49074             : #line 49075 "gram.c"
   49075        5158 :     break;
   49076             : 
   49077          12 :   case 2003: /* opt_interval: YEAR_P  */
   49078             : #line 14850 "gram.y"
   49079             :                                 { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[0]))); }
   49080             : #line 49081 "gram.c"
   49081          12 :     break;
   49082             : 
   49083          18 :   case 2004: /* opt_interval: MONTH_P  */
   49084             : #line 14852 "gram.y"
   49085             :                                 { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[0]))); }
   49086             : #line 49087 "gram.c"
   49087          18 :     break;
   49088             : 
   49089          18 :   case 2005: /* opt_interval: DAY_P  */
   49090             : #line 14854 "gram.y"
   49091             :                                 { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[0]))); }
   49092             : #line 49093 "gram.c"
   49093          18 :     break;
   49094             : 
   49095          12 :   case 2006: /* opt_interval: HOUR_P  */
   49096             : #line 14856 "gram.y"
   49097             :                                 { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[0]))); }
   49098             : #line 49099 "gram.c"
   49099          12 :     break;
   49100             : 
   49101          12 :   case 2007: /* opt_interval: MINUTE_P  */
   49102             : #line 14858 "gram.y"
   49103             :                                 { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[0]))); }
   49104             : #line 49105 "gram.c"
   49105          12 :     break;
   49106             : 
   49107          36 :   case 2008: /* opt_interval: interval_second  */
   49108             : #line 14860 "gram.y"
   49109             :                                 { (yyval.list) = (yyvsp[0].list); }
   49110             : #line 49111 "gram.c"
   49111          36 :     break;
   49112             : 
   49113          18 :   case 2009: /* opt_interval: YEAR_P TO MONTH_P  */
   49114             : #line 14862 "gram.y"
   49115             :                                 {
   49116             :                     (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR) |
   49117             :                                                  INTERVAL_MASK(MONTH), (yylsp[-2])));
   49118             :                 }
   49119             : #line 49120 "gram.c"
   49120          18 :     break;
   49121             : 
   49122          24 :   case 2010: /* opt_interval: DAY_P TO HOUR_P  */
   49123             : #line 14867 "gram.y"
   49124             :                                 {
   49125             :                     (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
   49126             :                                                  INTERVAL_MASK(HOUR), (yylsp[-2])));
   49127             :                 }
   49128             : #line 49129 "gram.c"
   49129          24 :     break;
   49130             : 
   49131          24 :   case 2011: /* opt_interval: DAY_P TO MINUTE_P  */
   49132             : #line 14872 "gram.y"
   49133             :                                 {
   49134             :                     (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
   49135             :                                                  INTERVAL_MASK(HOUR) |
   49136             :                                                  INTERVAL_MASK(MINUTE), (yylsp[-2])));
   49137             :                 }
   49138             : #line 49139 "gram.c"
   49139          24 :     break;
   49140             : 
   49141          48 :   case 2012: /* opt_interval: DAY_P TO interval_second  */
   49142             : #line 14878 "gram.y"
   49143             :                                 {
   49144             :                     (yyval.list) = (yyvsp[0].list);
   49145             :                     linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(DAY) |
   49146             :                                                 INTERVAL_MASK(HOUR) |
   49147             :                                                 INTERVAL_MASK(MINUTE) |
   49148             :                                                 INTERVAL_MASK(SECOND), (yylsp[-2]));
   49149             :                 }
   49150             : #line 49151 "gram.c"
   49151          48 :     break;
   49152             : 
   49153          18 :   case 2013: /* opt_interval: HOUR_P TO MINUTE_P  */
   49154             : #line 14886 "gram.y"
   49155             :                                 {
   49156             :                     (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR) |
   49157             :                                                  INTERVAL_MASK(MINUTE), (yylsp[-2])));
   49158             :                 }
   49159             : #line 49160 "gram.c"
   49160          18 :     break;
   49161             : 
   49162          36 :   case 2014: /* opt_interval: HOUR_P TO interval_second  */
   49163             : #line 14891 "gram.y"
   49164             :                                 {
   49165             :                     (yyval.list) = (yyvsp[0].list);
   49166             :                     linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(HOUR) |
   49167             :                                                 INTERVAL_MASK(MINUTE) |
   49168             :                                                 INTERVAL_MASK(SECOND), (yylsp[-2]));
   49169             :                 }
   49170             : #line 49171 "gram.c"
   49171          36 :     break;
   49172             : 
   49173          66 :   case 2015: /* opt_interval: MINUTE_P TO interval_second  */
   49174             : #line 14898 "gram.y"
   49175             :                                 {
   49176             :                     (yyval.list) = (yyvsp[0].list);
   49177             :                     linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(MINUTE) |
   49178             :                                                 INTERVAL_MASK(SECOND), (yylsp[-2]));
   49179             :                 }
   49180             : #line 49181 "gram.c"
   49181          66 :     break;
   49182             : 
   49183        6660 :   case 2016: /* opt_interval: %empty  */
   49184             : #line 14904 "gram.y"
   49185             :                                 { (yyval.list) = NIL; }
   49186             : #line 49187 "gram.c"
   49187        6660 :     break;
   49188             : 
   49189         102 :   case 2017: /* interval_second: SECOND_P  */
   49190             : #line 14909 "gram.y"
   49191             :                                 {
   49192             :                     (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[0])));
   49193             :                 }
   49194             : #line 49195 "gram.c"
   49195         102 :     break;
   49196             : 
   49197          84 :   case 2018: /* interval_second: SECOND_P '(' Iconst ')'  */
   49198             : #line 14913 "gram.y"
   49199             :                                 {
   49200             :                     (yyval.list) = list_make2(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[-3])),
   49201             :                                     makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
   49202             :                 }
   49203             : #line 49204 "gram.c"
   49204          84 :     break;
   49205             : 
   49206        2156 :   case 2019: /* JsonType: JSON  */
   49207             : #line 14921 "gram.y"
   49208             :                                 {
   49209             :                     (yyval.typnam) = SystemTypeName("json");
   49210             :                     (yyval.typnam)->location = (yylsp[0]);
   49211             :                 }
   49212             : #line 49213 "gram.c"
   49213        2156 :     break;
   49214             : 
   49215     3798168 :   case 2020: /* a_expr: c_expr  */
   49216             : #line 14955 "gram.y"
   49217             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   49218             : #line 49219 "gram.c"
   49219     3798168 :     break;
   49220             : 
   49221      259494 :   case 2021: /* a_expr: a_expr TYPECAST Typename  */
   49222             : #line 14957 "gram.y"
   49223             :                                         { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
   49224             : #line 49225 "gram.c"
   49225      259494 :     break;
   49226             : 
   49227        8954 :   case 2022: /* a_expr: a_expr COLLATE any_name  */
   49228             : #line 14959 "gram.y"
   49229             :                                 {
   49230             :                     CollateClause *n = makeNode(CollateClause);
   49231             : 
   49232             :                     n->arg = (yyvsp[-2].node);
   49233             :                     n->collname = (yyvsp[0].list);
   49234             :                     n->location = (yylsp[-1]);
   49235             :                     (yyval.node) = (Node *) n;
   49236             :                 }
   49237             : #line 49238 "gram.c"
   49238        8954 :     break;
   49239             : 
   49240         408 :   case 2023: /* a_expr: a_expr AT TIME ZONE a_expr  */
   49241             : #line 14968 "gram.y"
   49242             :                                 {
   49243             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"),
   49244             :                                                list_make2((yyvsp[0].node), (yyvsp[-4].node)),
   49245             :                                                COERCE_SQL_SYNTAX,
   49246             :                                                (yylsp[-3]));
   49247             :                 }
   49248             : #line 49249 "gram.c"
   49249         408 :     break;
   49250             : 
   49251          42 :   case 2024: /* a_expr: a_expr AT LOCAL  */
   49252             : #line 14975 "gram.y"
   49253             :                                 {
   49254             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"),
   49255             :                                                list_make1((yyvsp[-2].node)),
   49256             :                                                COERCE_SQL_SYNTAX,
   49257             :                                                -1);
   49258             :                 }
   49259             : #line 49260 "gram.c"
   49260          42 :     break;
   49261             : 
   49262          12 :   case 2025: /* a_expr: '+' a_expr  */
   49263             : #line 14991 "gram.y"
   49264             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
   49265             : #line 49266 "gram.c"
   49266          12 :     break;
   49267             : 
   49268        9116 :   case 2026: /* a_expr: '-' a_expr  */
   49269             : #line 14993 "gram.y"
   49270             :                                 { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
   49271             : #line 49272 "gram.c"
   49272        9116 :     break;
   49273             : 
   49274       14028 :   case 2027: /* a_expr: a_expr '+' a_expr  */
   49275             : #line 14995 "gram.y"
   49276             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49277             : #line 49278 "gram.c"
   49278       14028 :     break;
   49279             : 
   49280        4434 :   case 2028: /* a_expr: a_expr '-' a_expr  */
   49281             : #line 14997 "gram.y"
   49282             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49283             : #line 49284 "gram.c"
   49284        4434 :     break;
   49285             : 
   49286        6314 :   case 2029: /* a_expr: a_expr '*' a_expr  */
   49287             : #line 14999 "gram.y"
   49288             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49289             : #line 49290 "gram.c"
   49290        6314 :     break;
   49291             : 
   49292        3424 :   case 2030: /* a_expr: a_expr '/' a_expr  */
   49293             : #line 15001 "gram.y"
   49294             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49295             : #line 49296 "gram.c"
   49296        3424 :     break;
   49297             : 
   49298        2824 :   case 2031: /* a_expr: a_expr '%' a_expr  */
   49299             : #line 15003 "gram.y"
   49300             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49301             : #line 49302 "gram.c"
   49302        2824 :     break;
   49303             : 
   49304         474 :   case 2032: /* a_expr: a_expr '^' a_expr  */
   49305             : #line 15005 "gram.y"
   49306             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49307             : #line 49308 "gram.c"
   49308         474 :     break;
   49309             : 
   49310       10400 :   case 2033: /* a_expr: a_expr '<' a_expr  */
   49311             : #line 15007 "gram.y"
   49312             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49313             : #line 49314 "gram.c"
   49314       10400 :     break;
   49315             : 
   49316       16720 :   case 2034: /* a_expr: a_expr '>' a_expr  */
   49317             : #line 15009 "gram.y"
   49318             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49319             : #line 49320 "gram.c"
   49320       16720 :     break;
   49321             : 
   49322      398822 :   case 2035: /* a_expr: a_expr '=' a_expr  */
   49323             : #line 15011 "gram.y"
   49324             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49325             : #line 49326 "gram.c"
   49326      398822 :     break;
   49327             : 
   49328        5272 :   case 2036: /* a_expr: a_expr LESS_EQUALS a_expr  */
   49329             : #line 15013 "gram.y"
   49330             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49331             : #line 49332 "gram.c"
   49332        5272 :     break;
   49333             : 
   49334        7174 :   case 2037: /* a_expr: a_expr GREATER_EQUALS a_expr  */
   49335             : #line 15015 "gram.y"
   49336             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49337             : #line 49338 "gram.c"
   49338        7174 :     break;
   49339             : 
   49340       41008 :   case 2038: /* a_expr: a_expr NOT_EQUALS a_expr  */
   49341             : #line 15017 "gram.y"
   49342             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49343             : #line 49344 "gram.c"
   49344       41008 :     break;
   49345             : 
   49346       58874 :   case 2039: /* a_expr: a_expr qual_Op a_expr  */
   49347             : #line 15020 "gram.y"
   49348             :                                 { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49349             : #line 49350 "gram.c"
   49350       58874 :     break;
   49351             : 
   49352         210 :   case 2040: /* a_expr: qual_Op a_expr  */
   49353             : #line 15022 "gram.y"
   49354             :                                 { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
   49355             : #line 49356 "gram.c"
   49356         210 :     break;
   49357             : 
   49358      237716 :   case 2041: /* a_expr: a_expr AND a_expr  */
   49359             : #line 15025 "gram.y"
   49360             :                                 { (yyval.node) = makeAndExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49361             : #line 49362 "gram.c"
   49362      237716 :     break;
   49363             : 
   49364       16590 :   case 2042: /* a_expr: a_expr OR a_expr  */
   49365             : #line 15027 "gram.y"
   49366             :                                 { (yyval.node) = makeOrExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49367             : #line 49368 "gram.c"
   49368       16590 :     break;
   49369             : 
   49370       16736 :   case 2043: /* a_expr: NOT a_expr  */
   49371             : #line 15029 "gram.y"
   49372             :                                 { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
   49373             : #line 49374 "gram.c"
   49374       16736 :     break;
   49375             : 
   49376           0 :   case 2044: /* a_expr: NOT_LA a_expr  */
   49377             : #line 15031 "gram.y"
   49378             :                                 { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
   49379             : #line 49380 "gram.c"
   49380           0 :     break;
   49381             : 
   49382        1960 :   case 2045: /* a_expr: a_expr LIKE a_expr  */
   49383             : #line 15034 "gram.y"
   49384             :                                 {
   49385             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
   49386             :                                                    (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
   49387             :                 }
   49388             : #line 49389 "gram.c"
   49389        1960 :     break;
   49390             : 
   49391          96 :   case 2046: /* a_expr: a_expr LIKE a_expr ESCAPE a_expr  */
   49392             : #line 15039 "gram.y"
   49393             :                                 {
   49394             :                     FuncCall   *n = makeFuncCall(SystemFuncName("like_escape"),
   49395             :                                                  list_make2((yyvsp[-2].node), (yyvsp[0].node)),
   49396             :                                                  COERCE_EXPLICIT_CALL,
   49397             :                                                  (yylsp[-3]));
   49398             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
   49399             :                                                    (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
   49400             :                 }
   49401             : #line 49402 "gram.c"
   49402          96 :     break;
   49403             : 
   49404         198 :   case 2047: /* a_expr: a_expr NOT_LA LIKE a_expr  */
   49405             : #line 15048 "gram.y"
   49406             :                                 {
   49407             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
   49408             :                                                    (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
   49409             :                 }
   49410             : #line 49411 "gram.c"
   49411         198 :     break;
   49412             : 
   49413          96 :   case 2048: /* a_expr: a_expr NOT_LA LIKE a_expr ESCAPE a_expr  */
   49414             : #line 15053 "gram.y"
   49415             :                                 {
   49416             :                     FuncCall   *n = makeFuncCall(SystemFuncName("like_escape"),
   49417             :                                                  list_make2((yyvsp[-2].node), (yyvsp[0].node)),
   49418             :                                                  COERCE_EXPLICIT_CALL,
   49419             :                                                  (yylsp[-4]));
   49420             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
   49421             :                                                    (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
   49422             :                 }
   49423             : #line 49424 "gram.c"
   49424          96 :     break;
   49425             : 
   49426         174 :   case 2049: /* a_expr: a_expr ILIKE a_expr  */
   49427             : #line 15062 "gram.y"
   49428             :                                 {
   49429             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
   49430             :                                                    (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
   49431             :                 }
   49432             : #line 49433 "gram.c"
   49433         174 :     break;
   49434             : 
   49435           0 :   case 2050: /* a_expr: a_expr ILIKE a_expr ESCAPE a_expr  */
   49436             : #line 15067 "gram.y"
   49437             :                                 {
   49438             :                     FuncCall   *n = makeFuncCall(SystemFuncName("like_escape"),
   49439             :                                                  list_make2((yyvsp[-2].node), (yyvsp[0].node)),
   49440             :                                                  COERCE_EXPLICIT_CALL,
   49441             :                                                  (yylsp[-3]));
   49442             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
   49443             :                                                    (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
   49444             :                 }
   49445             : #line 49446 "gram.c"
   49446           0 :     break;
   49447             : 
   49448          30 :   case 2051: /* a_expr: a_expr NOT_LA ILIKE a_expr  */
   49449             : #line 15076 "gram.y"
   49450             :                                 {
   49451             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
   49452             :                                                    (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
   49453             :                 }
   49454             : #line 49455 "gram.c"
   49455          30 :     break;
   49456             : 
   49457           0 :   case 2052: /* a_expr: a_expr NOT_LA ILIKE a_expr ESCAPE a_expr  */
   49458             : #line 15081 "gram.y"
   49459             :                                 {
   49460             :                     FuncCall   *n = makeFuncCall(SystemFuncName("like_escape"),
   49461             :                                                  list_make2((yyvsp[-2].node), (yyvsp[0].node)),
   49462             :                                                  COERCE_EXPLICIT_CALL,
   49463             :                                                  (yylsp[-4]));
   49464             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
   49465             :                                                    (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
   49466             :                 }
   49467             : #line 49468 "gram.c"
   49468           0 :     break;
   49469             : 
   49470          40 :   case 2053: /* a_expr: a_expr SIMILAR TO a_expr  */
   49471             : #line 15091 "gram.y"
   49472             :                                 {
   49473             :                     FuncCall   *n = makeFuncCall(SystemFuncName("similar_to_escape"),
   49474             :                                                  list_make1((yyvsp[0].node)),
   49475             :                                                  COERCE_EXPLICIT_CALL,
   49476             :                                                  (yylsp[-2]));
   49477             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
   49478             :                                                    (yyvsp[-3].node), (Node *) n, (yylsp[-2]));
   49479             :                 }
   49480             : #line 49481 "gram.c"
   49481          40 :     break;
   49482             : 
   49483          30 :   case 2054: /* a_expr: a_expr SIMILAR TO a_expr ESCAPE a_expr  */
   49484             : #line 15100 "gram.y"
   49485             :                                 {
   49486             :                     FuncCall   *n = makeFuncCall(SystemFuncName("similar_to_escape"),
   49487             :                                                  list_make2((yyvsp[-2].node), (yyvsp[0].node)),
   49488             :                                                  COERCE_EXPLICIT_CALL,
   49489             :                                                  (yylsp[-4]));
   49490             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
   49491             :                                                    (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
   49492             :                 }
   49493             : #line 49494 "gram.c"
   49494          30 :     break;
   49495             : 
   49496           0 :   case 2055: /* a_expr: a_expr NOT_LA SIMILAR TO a_expr  */
   49497             : #line 15109 "gram.y"
   49498             :                                 {
   49499             :                     FuncCall   *n = makeFuncCall(SystemFuncName("similar_to_escape"),
   49500             :                                                  list_make1((yyvsp[0].node)),
   49501             :                                                  COERCE_EXPLICIT_CALL,
   49502             :                                                  (yylsp[-3]));
   49503             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
   49504             :                                                    (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
   49505             :                 }
   49506             : #line 49507 "gram.c"
   49507           0 :     break;
   49508             : 
   49509           0 :   case 2056: /* a_expr: a_expr NOT_LA SIMILAR TO a_expr ESCAPE a_expr  */
   49510             : #line 15118 "gram.y"
   49511             :                                 {
   49512             :                     FuncCall   *n = makeFuncCall(SystemFuncName("similar_to_escape"),
   49513             :                                                  list_make2((yyvsp[-2].node), (yyvsp[0].node)),
   49514             :                                                  COERCE_EXPLICIT_CALL,
   49515             :                                                  (yylsp[-5]));
   49516             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
   49517             :                                                    (yyvsp[-6].node), (Node *) n, (yylsp[-5]));
   49518             :                 }
   49519             : #line 49520 "gram.c"
   49520           0 :     break;
   49521             : 
   49522        5268 :   case 2057: /* a_expr: a_expr IS NULL_P  */
   49523             : #line 15137 "gram.y"
   49524             :                                 {
   49525             :                     NullTest   *n = makeNode(NullTest);
   49526             : 
   49527             :                     n->arg = (Expr *) (yyvsp[-2].node);
   49528             :                     n->nulltesttype = IS_NULL;
   49529             :                     n->location = (yylsp[-1]);
   49530             :                     (yyval.node) = (Node *) n;
   49531             :                 }
   49532             : #line 49533 "gram.c"
   49533        5268 :     break;
   49534             : 
   49535          96 :   case 2058: /* a_expr: a_expr ISNULL  */
   49536             : #line 15146 "gram.y"
   49537             :                                 {
   49538             :                     NullTest   *n = makeNode(NullTest);
   49539             : 
   49540             :                     n->arg = (Expr *) (yyvsp[-1].node);
   49541             :                     n->nulltesttype = IS_NULL;
   49542             :                     n->location = (yylsp[0]);
   49543             :                     (yyval.node) = (Node *) n;
   49544             :                 }
   49545             : #line 49546 "gram.c"
   49546          96 :     break;
   49547             : 
   49548       13152 :   case 2059: /* a_expr: a_expr IS NOT NULL_P  */
   49549             : #line 15155 "gram.y"
   49550             :                                 {
   49551             :                     NullTest   *n = makeNode(NullTest);
   49552             : 
   49553             :                     n->arg = (Expr *) (yyvsp[-3].node);
   49554             :                     n->nulltesttype = IS_NOT_NULL;
   49555             :                     n->location = (yylsp[-2]);
   49556             :                     (yyval.node) = (Node *) n;
   49557             :                 }
   49558             : #line 49559 "gram.c"
   49559       13152 :     break;
   49560             : 
   49561           6 :   case 2060: /* a_expr: a_expr NOTNULL  */
   49562             : #line 15164 "gram.y"
   49563             :                                 {
   49564             :                     NullTest   *n = makeNode(NullTest);
   49565             : 
   49566             :                     n->arg = (Expr *) (yyvsp[-1].node);
   49567             :                     n->nulltesttype = IS_NOT_NULL;
   49568             :                     n->location = (yylsp[0]);
   49569             :                     (yyval.node) = (Node *) n;
   49570             :                 }
   49571             : #line 49572 "gram.c"
   49572           6 :     break;
   49573             : 
   49574         948 :   case 2061: /* a_expr: row OVERLAPS row  */
   49575             : #line 15173 "gram.y"
   49576             :                                 {
   49577             :                     if (list_length((yyvsp[-2].list)) != 2)
   49578             :                         ereport(ERROR,
   49579             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   49580             :                                  errmsg("wrong number of parameters on left side of OVERLAPS expression"),
   49581             :                                  parser_errposition((yylsp[-2]))));
   49582             :                     if (list_length((yyvsp[0].list)) != 2)
   49583             :                         ereport(ERROR,
   49584             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   49585             :                                  errmsg("wrong number of parameters on right side of OVERLAPS expression"),
   49586             :                                  parser_errposition((yylsp[0]))));
   49587             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlaps"),
   49588             :                                                list_concat((yyvsp[-2].list), (yyvsp[0].list)),
   49589             :                                                COERCE_SQL_SYNTAX,
   49590             :                                                (yylsp[-1]));
   49591             :                 }
   49592             : #line 49593 "gram.c"
   49593         948 :     break;
   49594             : 
   49595         532 :   case 2062: /* a_expr: a_expr IS TRUE_P  */
   49596             : #line 15190 "gram.y"
   49597             :                                 {
   49598             :                     BooleanTest *b = makeNode(BooleanTest);
   49599             : 
   49600             :                     b->arg = (Expr *) (yyvsp[-2].node);
   49601             :                     b->booltesttype = IS_TRUE;
   49602             :                     b->location = (yylsp[-1]);
   49603             :                     (yyval.node) = (Node *) b;
   49604             :                 }
   49605             : #line 49606 "gram.c"
   49606         532 :     break;
   49607             : 
   49608         140 :   case 2063: /* a_expr: a_expr IS NOT TRUE_P  */
   49609             : #line 15199 "gram.y"
   49610             :                                 {
   49611             :                     BooleanTest *b = makeNode(BooleanTest);
   49612             : 
   49613             :                     b->arg = (Expr *) (yyvsp[-3].node);
   49614             :                     b->booltesttype = IS_NOT_TRUE;
   49615             :                     b->location = (yylsp[-2]);
   49616             :                     (yyval.node) = (Node *) b;
   49617             :                 }
   49618             : #line 49619 "gram.c"
   49619         140 :     break;
   49620             : 
   49621         136 :   case 2064: /* a_expr: a_expr IS FALSE_P  */
   49622             : #line 15208 "gram.y"
   49623             :                                 {
   49624             :                     BooleanTest *b = makeNode(BooleanTest);
   49625             : 
   49626             :                     b->arg = (Expr *) (yyvsp[-2].node);
   49627             :                     b->booltesttype = IS_FALSE;
   49628             :                     b->location = (yylsp[-1]);
   49629             :                     (yyval.node) = (Node *) b;
   49630             :                 }
   49631             : #line 49632 "gram.c"
   49632         136 :     break;
   49633             : 
   49634          92 :   case 2065: /* a_expr: a_expr IS NOT FALSE_P  */
   49635             : #line 15217 "gram.y"
   49636             :                                 {
   49637             :                     BooleanTest *b = makeNode(BooleanTest);
   49638             : 
   49639             :                     b->arg = (Expr *) (yyvsp[-3].node);
   49640             :                     b->booltesttype = IS_NOT_FALSE;
   49641             :                     b->location = (yylsp[-2]);
   49642             :                     (yyval.node) = (Node *) b;
   49643             :                 }
   49644             : #line 49645 "gram.c"
   49645          92 :     break;
   49646             : 
   49647          52 :   case 2066: /* a_expr: a_expr IS UNKNOWN  */
   49648             : #line 15226 "gram.y"
   49649             :                                 {
   49650             :                     BooleanTest *b = makeNode(BooleanTest);
   49651             : 
   49652             :                     b->arg = (Expr *) (yyvsp[-2].node);
   49653             :                     b->booltesttype = IS_UNKNOWN;
   49654             :                     b->location = (yylsp[-1]);
   49655             :                     (yyval.node) = (Node *) b;
   49656             :                 }
   49657             : #line 49658 "gram.c"
   49658          52 :     break;
   49659             : 
   49660          48 :   case 2067: /* a_expr: a_expr IS NOT UNKNOWN  */
   49661             : #line 15235 "gram.y"
   49662             :                                 {
   49663             :                     BooleanTest *b = makeNode(BooleanTest);
   49664             : 
   49665             :                     b->arg = (Expr *) (yyvsp[-3].node);
   49666             :                     b->booltesttype = IS_NOT_UNKNOWN;
   49667             :                     b->location = (yylsp[-2]);
   49668             :                     (yyval.node) = (Node *) b;
   49669             :                 }
   49670             : #line 49671 "gram.c"
   49671          48 :     break;
   49672             : 
   49673        1262 :   case 2068: /* a_expr: a_expr IS DISTINCT FROM a_expr  */
   49674             : #line 15244 "gram.y"
   49675             :                                 {
   49676             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
   49677             :                 }
   49678             : #line 49679 "gram.c"
   49679        1262 :     break;
   49680             : 
   49681          68 :   case 2069: /* a_expr: a_expr IS NOT DISTINCT FROM a_expr  */
   49682             : #line 15248 "gram.y"
   49683             :                                 {
   49684             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
   49685             :                 }
   49686             : #line 49687 "gram.c"
   49687          68 :     break;
   49688             : 
   49689         466 :   case 2070: /* a_expr: a_expr BETWEEN opt_asymmetric b_expr AND a_expr  */
   49690             : #line 15252 "gram.y"
   49691             :                                 {
   49692             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN,
   49693             :                                                    "BETWEEN",
   49694             :                                                    (yyvsp[-5].node),
   49695             :                                                    (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
   49696             :                                                    (yylsp[-4]));
   49697             :                 }
   49698             : #line 49699 "gram.c"
   49699         466 :     break;
   49700             : 
   49701          12 :   case 2071: /* a_expr: a_expr NOT_LA BETWEEN opt_asymmetric b_expr AND a_expr  */
   49702             : #line 15260 "gram.y"
   49703             :                                 {
   49704             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN,
   49705             :                                                    "NOT BETWEEN",
   49706             :                                                    (yyvsp[-6].node),
   49707             :                                                    (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
   49708             :                                                    (yylsp[-5]));
   49709             :                 }
   49710             : #line 49711 "gram.c"
   49711          12 :     break;
   49712             : 
   49713          12 :   case 2072: /* a_expr: a_expr BETWEEN SYMMETRIC b_expr AND a_expr  */
   49714             : #line 15268 "gram.y"
   49715             :                                 {
   49716             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN_SYM,
   49717             :                                                    "BETWEEN SYMMETRIC",
   49718             :                                                    (yyvsp[-5].node),
   49719             :                                                    (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
   49720             :                                                    (yylsp[-4]));
   49721             :                 }
   49722             : #line 49723 "gram.c"
   49723          12 :     break;
   49724             : 
   49725          12 :   case 2073: /* a_expr: a_expr NOT_LA BETWEEN SYMMETRIC b_expr AND a_expr  */
   49726             : #line 15276 "gram.y"
   49727             :                                 {
   49728             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN_SYM,
   49729             :                                                    "NOT BETWEEN SYMMETRIC",
   49730             :                                                    (yyvsp[-6].node),
   49731             :                                                    (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
   49732             :                                                    (yylsp[-5]));
   49733             :                 }
   49734             : #line 49735 "gram.c"
   49735          12 :     break;
   49736             : 
   49737       24236 :   case 2074: /* a_expr: a_expr IN_P in_expr  */
   49738             : #line 15284 "gram.y"
   49739             :                                 {
   49740             :                     /* in_expr returns a SubLink or a list of a_exprs */
   49741             :                     if (IsA((yyvsp[0].node), SubLink))
   49742             :                     {
   49743             :                         /* generate foo = ANY (subquery) */
   49744             :                         SubLink    *n = (SubLink *) (yyvsp[0].node);
   49745             : 
   49746             :                         n->subLinkType = ANY_SUBLINK;
   49747             :                         n->subLinkId = 0;
   49748             :                         n->testexpr = (yyvsp[-2].node);
   49749             :                         n->operName = NIL;       /* show it's IN not = ANY */
   49750             :                         n->location = (yylsp[-1]);
   49751             :                         (yyval.node) = (Node *) n;
   49752             :                     }
   49753             :                     else
   49754             :                     {
   49755             :                         /* generate scalar IN expression */
   49756             :                         (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
   49757             :                     }
   49758             :                 }
   49759             : #line 49760 "gram.c"
   49760       24236 :     break;
   49761             : 
   49762        2910 :   case 2075: /* a_expr: a_expr NOT_LA IN_P in_expr  */
   49763             : #line 15305 "gram.y"
   49764             :                                 {
   49765             :                     /* in_expr returns a SubLink or a list of a_exprs */
   49766             :                     if (IsA((yyvsp[0].node), SubLink))
   49767             :                     {
   49768             :                         /* generate NOT (foo = ANY (subquery)) */
   49769             :                         /* Make an = ANY node */
   49770             :                         SubLink    *n = (SubLink *) (yyvsp[0].node);
   49771             : 
   49772             :                         n->subLinkType = ANY_SUBLINK;
   49773             :                         n->subLinkId = 0;
   49774             :                         n->testexpr = (yyvsp[-3].node);
   49775             :                         n->operName = NIL;       /* show it's IN not = ANY */
   49776             :                         n->location = (yylsp[-2]);
   49777             :                         /* Stick a NOT on top; must have same parse location */
   49778             :                         (yyval.node) = makeNotExpr((Node *) n, (yylsp[-2]));
   49779             :                     }
   49780             :                     else
   49781             :                     {
   49782             :                         /* generate scalar NOT IN expression */
   49783             :                         (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "<>", (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
   49784             :                     }
   49785             :                 }
   49786             : #line 49787 "gram.c"
   49787        2910 :     break;
   49788             : 
   49789         168 :   case 2076: /* a_expr: a_expr subquery_Op sub_type select_with_parens  */
   49790             : #line 15328 "gram.y"
   49791             :                                 {
   49792             :                     SubLink    *n = makeNode(SubLink);
   49793             : 
   49794             :                     n->subLinkType = (yyvsp[-1].ival);
   49795             :                     n->subLinkId = 0;
   49796             :                     n->testexpr = (yyvsp[-3].node);
   49797             :                     n->operName = (yyvsp[-2].list);
   49798             :                     n->subselect = (yyvsp[0].node);
   49799             :                     n->location = (yylsp[-2]);
   49800             :                     (yyval.node) = (Node *) n;
   49801             :                 }
   49802             : #line 49803 "gram.c"
   49803         168 :     break;
   49804             : 
   49805       17370 :   case 2077: /* a_expr: a_expr subquery_Op sub_type '(' a_expr ')'  */
   49806             : #line 15340 "gram.y"
   49807             :                                 {
   49808             :                     if ((yyvsp[-3].ival) == ANY_SUBLINK)
   49809             :                         (yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ANY, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4]));
   49810             :                     else
   49811             :                         (yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ALL, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4]));
   49812             :                 }
   49813             : #line 49814 "gram.c"
   49814       17370 :     break;
   49815             : 
   49816           0 :   case 2078: /* a_expr: UNIQUE opt_unique_null_treatment select_with_parens  */
   49817             : #line 15347 "gram.y"
   49818             :                                 {
   49819             :                     /* Not sure how to get rid of the parentheses
   49820             :                      * but there are lots of shift/reduce errors without them.
   49821             :                      *
   49822             :                      * Should be able to implement this by plopping the entire
   49823             :                      * select into a node, then transforming the target expressions
   49824             :                      * from whatever they are into count(*), and testing the
   49825             :                      * entire result equal to one.
   49826             :                      * But, will probably implement a separate node in the executor.
   49827             :                      */
   49828             :                     ereport(ERROR,
   49829             :                             (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   49830             :                              errmsg("UNIQUE predicate is not yet implemented"),
   49831             :                              parser_errposition((yylsp[-2]))));
   49832             :                 }
   49833             : #line 49834 "gram.c"
   49834             :     break;
   49835             : 
   49836          18 :   case 2079: /* a_expr: a_expr IS DOCUMENT_P  */
   49837             : #line 15363 "gram.y"
   49838             :                                 {
   49839             :                     (yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
   49840             :                                      list_make1((yyvsp[-2].node)), (yylsp[-1]));
   49841             :                 }
   49842             : #line 49843 "gram.c"
   49843          18 :     break;
   49844             : 
   49845          18 :   case 2080: /* a_expr: a_expr IS NOT DOCUMENT_P  */
   49846             : #line 15368 "gram.y"
   49847             :                                 {
   49848             :                     (yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
   49849             :                                                  list_make1((yyvsp[-3].node)), (yylsp[-2])),
   49850             :                                      (yylsp[-2]));
   49851             :                 }
   49852             : #line 49853 "gram.c"
   49853          18 :     break;
   49854             : 
   49855          12 :   case 2081: /* a_expr: a_expr IS NORMALIZED  */
   49856             : #line 15374 "gram.y"
   49857             :                                 {
   49858             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("is_normalized"),
   49859             :                                                list_make1((yyvsp[-2].node)),
   49860             :                                                COERCE_SQL_SYNTAX,
   49861             :                                                (yylsp[-1]));
   49862             :                 }
   49863             : #line 49864 "gram.c"
   49864          12 :     break;
   49865             : 
   49866          36 :   case 2082: /* a_expr: a_expr IS unicode_normal_form NORMALIZED  */
   49867             : #line 15381 "gram.y"
   49868             :                                 {
   49869             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("is_normalized"),
   49870             :                                                list_make2((yyvsp[-3].node), makeStringConst((yyvsp[-1].str), (yylsp[-1]))),
   49871             :                                                COERCE_SQL_SYNTAX,
   49872             :                                                (yylsp[-2]));
   49873             :                 }
   49874             : #line 49875 "gram.c"
   49875          36 :     break;
   49876             : 
   49877           0 :   case 2083: /* a_expr: a_expr IS NOT NORMALIZED  */
   49878             : #line 15388 "gram.y"
   49879             :                                 {
   49880             :                     (yyval.node) = makeNotExpr((Node *) makeFuncCall(SystemFuncName("is_normalized"),
   49881             :                                                            list_make1((yyvsp[-3].node)),
   49882             :                                                            COERCE_SQL_SYNTAX,
   49883             :                                                            (yylsp[-2])),
   49884             :                                      (yylsp[-2]));
   49885             :                 }
   49886             : #line 49887 "gram.c"
   49887           0 :     break;
   49888             : 
   49889           0 :   case 2084: /* a_expr: a_expr IS NOT unicode_normal_form NORMALIZED  */
   49890             : #line 15396 "gram.y"
   49891             :                                 {
   49892             :                     (yyval.node) = makeNotExpr((Node *) makeFuncCall(SystemFuncName("is_normalized"),
   49893             :                                                            list_make2((yyvsp[-4].node), makeStringConst((yyvsp[-1].str), (yylsp[-1]))),
   49894             :                                                            COERCE_SQL_SYNTAX,
   49895             :                                                            (yylsp[-3])),
   49896             :                                      (yylsp[-3]));
   49897             :                 }
   49898             : #line 49899 "gram.c"
   49899           0 :     break;
   49900             : 
   49901         304 :   case 2085: /* a_expr: a_expr IS json_predicate_type_constraint json_key_uniqueness_constraint_opt  */
   49902             : #line 15405 "gram.y"
   49903             :                                 {
   49904             :                     JsonFormat *format = makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1);
   49905             : 
   49906             :                     (yyval.node) = makeJsonIsPredicate((yyvsp[-3].node), format, (yyvsp[-1].ival), (yyvsp[0].boolean), (yylsp[-3]));
   49907             :                 }
   49908             : #line 49909 "gram.c"
   49909         304 :     break;
   49910             : 
   49911          46 :   case 2086: /* a_expr: a_expr IS NOT json_predicate_type_constraint json_key_uniqueness_constraint_opt  */
   49912             : #line 15423 "gram.y"
   49913             :                                 {
   49914             :                     JsonFormat *format = makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1);
   49915             : 
   49916             :                     (yyval.node) = makeNotExpr(makeJsonIsPredicate((yyvsp[-4].node), format, (yyvsp[-1].ival), (yyvsp[0].boolean), (yylsp[-4])), (yylsp[-4]));
   49917             :                 }
   49918             : #line 49919 "gram.c"
   49919          46 :     break;
   49920             : 
   49921        1550 :   case 2087: /* a_expr: DEFAULT  */
   49922             : #line 15440 "gram.y"
   49923             :                                 {
   49924             :                     /*
   49925             :                      * The SQL spec only allows DEFAULT in "contextually typed
   49926             :                      * expressions", but for us, it's easier to allow it in
   49927             :                      * any a_expr and then throw error during parse analysis
   49928             :                      * if it's in an inappropriate context.  This way also
   49929             :                      * lets us say something smarter than "syntax error".
   49930             :                      */
   49931             :                     SetToDefault *n = makeNode(SetToDefault);
   49932             : 
   49933             :                     /* parse analysis will fill in the rest */
   49934             :                     n->location = (yylsp[0]);
   49935             :                     (yyval.node) = (Node *) n;
   49936             :                 }
   49937             : #line 49938 "gram.c"
   49938        1550 :     break;
   49939             : 
   49940        3844 :   case 2088: /* b_expr: c_expr  */
   49941             : #line 15466 "gram.y"
   49942             :                                 { (yyval.node) = (yyvsp[0].node); }
   49943             : #line 49944 "gram.c"
   49944        3844 :     break;
   49945             : 
   49946         228 :   case 2089: /* b_expr: b_expr TYPECAST Typename  */
   49947             : #line 15468 "gram.y"
   49948             :                                 { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
   49949             : #line 49950 "gram.c"
   49950         228 :     break;
   49951             : 
   49952           0 :   case 2090: /* b_expr: '+' b_expr  */
   49953             : #line 15470 "gram.y"
   49954             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
   49955             : #line 49956 "gram.c"
   49956           0 :     break;
   49957             : 
   49958          66 :   case 2091: /* b_expr: '-' b_expr  */
   49959             : #line 15472 "gram.y"
   49960             :                                 { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
   49961             : #line 49962 "gram.c"
   49962          66 :     break;
   49963             : 
   49964          36 :   case 2092: /* b_expr: b_expr '+' b_expr  */
   49965             : #line 15474 "gram.y"
   49966             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49967             : #line 49968 "gram.c"
   49968          36 :     break;
   49969             : 
   49970          12 :   case 2093: /* b_expr: b_expr '-' b_expr  */
   49971             : #line 15476 "gram.y"
   49972             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49973             : #line 49974 "gram.c"
   49974          12 :     break;
   49975             : 
   49976          12 :   case 2094: /* b_expr: b_expr '*' b_expr  */
   49977             : #line 15478 "gram.y"
   49978             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49979             : #line 49980 "gram.c"
   49980          12 :     break;
   49981             : 
   49982           0 :   case 2095: /* b_expr: b_expr '/' b_expr  */
   49983             : #line 15480 "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 2096: /* b_expr: b_expr '%' b_expr  */
   49989             : #line 15482 "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           6 :   case 2097: /* b_expr: b_expr '^' b_expr  */
   49995             : #line 15484 "gram.y"
   49996             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49997             : #line 49998 "gram.c"
   49998           6 :     break;
   49999             : 
   50000           0 :   case 2098: /* b_expr: b_expr '<' b_expr  */
   50001             : #line 15486 "gram.y"
   50002             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   50003             : #line 50004 "gram.c"
   50004           0 :     break;
   50005             : 
   50006           0 :   case 2099: /* b_expr: b_expr '>' b_expr  */
   50007             : #line 15488 "gram.y"
   50008             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   50009             : #line 50010 "gram.c"
   50010           0 :     break;
   50011             : 
   50012           0 :   case 2100: /* b_expr: b_expr '=' b_expr  */
   50013             : #line 15490 "gram.y"
   50014             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   50015             : #line 50016 "gram.c"
   50016           0 :     break;
   50017             : 
   50018           0 :   case 2101: /* b_expr: b_expr LESS_EQUALS b_expr  */
   50019             : #line 15492 "gram.y"
   50020             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   50021             : #line 50022 "gram.c"
   50022           0 :     break;
   50023             : 
   50024           0 :   case 2102: /* b_expr: b_expr GREATER_EQUALS b_expr  */
   50025             : #line 15494 "gram.y"
   50026             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   50027             : #line 50028 "gram.c"
   50028           0 :     break;
   50029             : 
   50030           0 :   case 2103: /* b_expr: b_expr NOT_EQUALS b_expr  */
   50031             : #line 15496 "gram.y"
   50032             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   50033             : #line 50034 "gram.c"
   50034           0 :     break;
   50035             : 
   50036          12 :   case 2104: /* b_expr: b_expr qual_Op b_expr  */
   50037             : #line 15498 "gram.y"
   50038             :                                 { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   50039             : #line 50040 "gram.c"
   50040          12 :     break;
   50041             : 
   50042           0 :   case 2105: /* b_expr: qual_Op b_expr  */
   50043             : #line 15500 "gram.y"
   50044             :                                 { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
   50045             : #line 50046 "gram.c"
   50046           0 :     break;
   50047             : 
   50048           0 :   case 2106: /* b_expr: b_expr IS DISTINCT FROM b_expr  */
   50049             : #line 15502 "gram.y"
   50050             :                                 {
   50051             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
   50052             :                 }
   50053             : #line 50054 "gram.c"
   50054           0 :     break;
   50055             : 
   50056           0 :   case 2107: /* b_expr: b_expr IS NOT DISTINCT FROM b_expr  */
   50057             : #line 15506 "gram.y"
   50058             :                                 {
   50059             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
   50060             :                 }
   50061             : #line 50062 "gram.c"
   50062           0 :     break;
   50063             : 
   50064           0 :   case 2108: /* b_expr: b_expr IS DOCUMENT_P  */
   50065             : #line 15510 "gram.y"
   50066             :                                 {
   50067             :                     (yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
   50068             :                                      list_make1((yyvsp[-2].node)), (yylsp[-1]));
   50069             :                 }
   50070             : #line 50071 "gram.c"
   50071           0 :     break;
   50072             : 
   50073           0 :   case 2109: /* b_expr: b_expr IS NOT DOCUMENT_P  */
   50074             : #line 15515 "gram.y"
   50075             :                                 {
   50076             :                     (yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
   50077             :                                                  list_make1((yyvsp[-3].node)), (yylsp[-2])),
   50078             :                                      (yylsp[-2]));
   50079             :                 }
   50080             : #line 50081 "gram.c"
   50081           0 :     break;
   50082             : 
   50083     1861910 :   case 2110: /* c_expr: columnref  */
   50084             : #line 15530 "gram.y"
   50085             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   50086             : #line 50087 "gram.c"
   50087     1861910 :     break;
   50088             : 
   50089     1312340 :   case 2111: /* c_expr: AexprConst  */
   50090             : #line 15531 "gram.y"
   50091             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   50092             : #line 50093 "gram.c"
   50093     1312340 :     break;
   50094             : 
   50095       46132 :   case 2112: /* c_expr: PARAM opt_indirection  */
   50096             : #line 15533 "gram.y"
   50097             :                                 {
   50098             :                     ParamRef   *p = makeNode(ParamRef);
   50099             : 
   50100             :                     p->number = (yyvsp[-1].ival);
   50101             :                     p->location = (yylsp[-1]);
   50102             :                     if ((yyvsp[0].list))
   50103             :                     {
   50104             :                         A_Indirection *n = makeNode(A_Indirection);
   50105             : 
   50106             :                         n->arg = (Node *) p;
   50107             :                         n->indirection = check_indirection((yyvsp[0].list), yyscanner);
   50108             :                         (yyval.node) = (Node *) n;
   50109             :                     }
   50110             :                     else
   50111             :                         (yyval.node) = (Node *) p;
   50112             :                 }
   50113             : #line 50114 "gram.c"
   50114       46132 :     break;
   50115             : 
   50116       92072 :   case 2113: /* c_expr: '(' a_expr ')' opt_indirection  */
   50117             : #line 15550 "gram.y"
   50118             :                                 {
   50119             :                     if ((yyvsp[0].list))
   50120             :                     {
   50121             :                         A_Indirection *n = makeNode(A_Indirection);
   50122             : 
   50123             :                         n->arg = (yyvsp[-2].node);
   50124             :                         n->indirection = check_indirection((yyvsp[0].list), yyscanner);
   50125             :                         (yyval.node) = (Node *) n;
   50126             :                     }
   50127             :                     else
   50128             :                         (yyval.node) = (yyvsp[-2].node);
   50129             :                 }
   50130             : #line 50131 "gram.c"
   50131       92072 :     break;
   50132             : 
   50133       39560 :   case 2114: /* c_expr: case_expr  */
   50134             : #line 15563 "gram.y"
   50135             :                                 { (yyval.node) = (yyvsp[0].node); }
   50136             : #line 50137 "gram.c"
   50137       39560 :     break;
   50138             : 
   50139      392360 :   case 2115: /* c_expr: func_expr  */
   50140             : #line 15565 "gram.y"
   50141             :                                 { (yyval.node) = (yyvsp[0].node); }
   50142             : #line 50143 "gram.c"
   50143      392360 :     break;
   50144             : 
   50145       28816 :   case 2116: /* c_expr: select_with_parens  */
   50146             : #line 15567 "gram.y"
   50147             :                                 {
   50148             :                     SubLink    *n = makeNode(SubLink);
   50149             : 
   50150             :                     n->subLinkType = EXPR_SUBLINK;
   50151             :                     n->subLinkId = 0;
   50152             :                     n->testexpr = NULL;
   50153             :                     n->operName = NIL;
   50154             :                     n->subselect = (yyvsp[0].node);
   50155             :                     n->location = (yylsp[0]);
   50156             :                     (yyval.node) = (Node *) n;
   50157             :                 }
   50158             : #line 50159 "gram.c"
   50159       28816 :     break;
   50160             : 
   50161          18 :   case 2117: /* c_expr: select_with_parens indirection  */
   50162             : #line 15579 "gram.y"
   50163             :                                 {
   50164             :                     /*
   50165             :                      * Because the select_with_parens nonterminal is designed
   50166             :                      * to "eat" as many levels of parens as possible, the
   50167             :                      * '(' a_expr ')' opt_indirection production above will
   50168             :                      * fail to match a sub-SELECT with indirection decoration;
   50169             :                      * the sub-SELECT won't be regarded as an a_expr as long
   50170             :                      * as there are parens around it.  To support applying
   50171             :                      * subscripting or field selection to a sub-SELECT result,
   50172             :                      * we need this redundant-looking production.
   50173             :                      */
   50174             :                     SubLink    *n = makeNode(SubLink);
   50175             :                     A_Indirection *a = makeNode(A_Indirection);
   50176             : 
   50177             :                     n->subLinkType = EXPR_SUBLINK;
   50178             :                     n->subLinkId = 0;
   50179             :                     n->testexpr = NULL;
   50180             :                     n->operName = NIL;
   50181             :                     n->subselect = (yyvsp[-1].node);
   50182             :                     n->location = (yylsp[-1]);
   50183             :                     a->arg = (Node *) n;
   50184             :                     a->indirection = check_indirection((yyvsp[0].list), yyscanner);
   50185             :                     (yyval.node) = (Node *) a;
   50186             :                 }
   50187             : #line 50188 "gram.c"
   50188          18 :     break;
   50189             : 
   50190        6436 :   case 2118: /* c_expr: EXISTS select_with_parens  */
   50191             : #line 15604 "gram.y"
   50192             :                                 {
   50193             :                     SubLink    *n = makeNode(SubLink);
   50194             : 
   50195             :                     n->subLinkType = EXISTS_SUBLINK;
   50196             :                     n->subLinkId = 0;
   50197             :                     n->testexpr = NULL;
   50198             :                     n->operName = NIL;
   50199             :                     n->subselect = (yyvsp[0].node);
   50200             :                     n->location = (yylsp[-1]);
   50201             :                     (yyval.node) = (Node *) n;
   50202             :                 }
   50203             : #line 50204 "gram.c"
   50204        6436 :     break;
   50205             : 
   50206        8938 :   case 2119: /* c_expr: ARRAY select_with_parens  */
   50207             : #line 15616 "gram.y"
   50208             :                                 {
   50209             :                     SubLink    *n = makeNode(SubLink);
   50210             : 
   50211             :                     n->subLinkType = ARRAY_SUBLINK;
   50212             :                     n->subLinkId = 0;
   50213             :                     n->testexpr = NULL;
   50214             :                     n->operName = NIL;
   50215             :                     n->subselect = (yyvsp[0].node);
   50216             :                     n->location = (yylsp[-1]);
   50217             :                     (yyval.node) = (Node *) n;
   50218             :                 }
   50219             : #line 50220 "gram.c"
   50220        8938 :     break;
   50221             : 
   50222        7398 :   case 2120: /* c_expr: ARRAY array_expr  */
   50223             : #line 15628 "gram.y"
   50224             :                                 {
   50225             :                     A_ArrayExpr *n = castNode(A_ArrayExpr, (yyvsp[0].node));
   50226             : 
   50227             :                     /* point outermost A_ArrayExpr to the ARRAY keyword */
   50228             :                     n->location = (yylsp[-1]);
   50229             :                     (yyval.node) = (Node *) n;
   50230             :                 }
   50231             : #line 50232 "gram.c"
   50232        7398 :     break;
   50233             : 
   50234        3804 :   case 2121: /* c_expr: explicit_row  */
   50235             : #line 15636 "gram.y"
   50236             :                                 {
   50237             :                     RowExpr    *r = makeNode(RowExpr);
   50238             : 
   50239             :                     r->args = (yyvsp[0].list);
   50240             :                     r->row_typeid = InvalidOid;  /* not analyzed yet */
   50241             :                     r->colnames = NIL;   /* to be filled in during analysis */
   50242             :                     r->row_format = COERCE_EXPLICIT_CALL; /* abuse */
   50243             :                     r->location = (yylsp[0]);
   50244             :                     (yyval.node) = (Node *) r;
   50245             :                 }
   50246             : #line 50247 "gram.c"
   50247        3804 :     break;
   50248             : 
   50249        2532 :   case 2122: /* c_expr: implicit_row  */
   50250             : #line 15647 "gram.y"
   50251             :                                 {
   50252             :                     RowExpr    *r = makeNode(RowExpr);
   50253             : 
   50254             :                     r->args = (yyvsp[0].list);
   50255             :                     r->row_typeid = InvalidOid;  /* not analyzed yet */
   50256             :                     r->colnames = NIL;   /* to be filled in during analysis */
   50257             :                     r->row_format = COERCE_IMPLICIT_CAST; /* abuse */
   50258             :                     r->location = (yylsp[0]);
   50259             :                     (yyval.node) = (Node *) r;
   50260             :                 }
   50261             : #line 50262 "gram.c"
   50262        2532 :     break;
   50263             : 
   50264         362 :   case 2123: /* c_expr: GROUPING '(' expr_list ')'  */
   50265             : #line 15658 "gram.y"
   50266             :                           {
   50267             :                   GroupingFunc *g = makeNode(GroupingFunc);
   50268             : 
   50269             :                   g->args = (yyvsp[-1].list);
   50270             :                   g->location = (yylsp[-3]);
   50271             :                   (yyval.node) = (Node *) g;
   50272             :               }
   50273             : #line 50274 "gram.c"
   50274         362 :     break;
   50275             : 
   50276       32166 :   case 2124: /* func_application: func_name '(' ')'  */
   50277             : #line 15668 "gram.y"
   50278             :                                 {
   50279             :                     (yyval.node) = (Node *) makeFuncCall((yyvsp[-2].list), NIL,
   50280             :                                                COERCE_EXPLICIT_CALL,
   50281             :                                                (yylsp[-2]));
   50282             :                 }
   50283             : #line 50284 "gram.c"
   50284       32166 :     break;
   50285             : 
   50286      324030 :   case 2125: /* func_application: func_name '(' func_arg_list opt_sort_clause ')'  */
   50287             : #line 15674 "gram.y"
   50288             :                                 {
   50289             :                     FuncCall   *n = makeFuncCall((yyvsp[-4].list), (yyvsp[-2].list),
   50290             :                                                  COERCE_EXPLICIT_CALL,
   50291             :                                                  (yylsp[-4]));
   50292             : 
   50293             :                     n->agg_order = (yyvsp[-1].list);
   50294             :                     (yyval.node) = (Node *) n;
   50295             :                 }
   50296             : #line 50297 "gram.c"
   50297      324030 :     break;
   50298             : 
   50299         614 :   case 2126: /* func_application: func_name '(' VARIADIC func_arg_expr opt_sort_clause ')'  */
   50300             : #line 15683 "gram.y"
   50301             :                                 {
   50302             :                     FuncCall   *n = makeFuncCall((yyvsp[-5].list), list_make1((yyvsp[-2].node)),
   50303             :                                                  COERCE_EXPLICIT_CALL,
   50304             :                                                  (yylsp[-5]));
   50305             : 
   50306             :                     n->func_variadic = true;
   50307             :                     n->agg_order = (yyvsp[-1].list);
   50308             :                     (yyval.node) = (Node *) n;
   50309             :                 }
   50310             : #line 50311 "gram.c"
   50311         614 :     break;
   50312             : 
   50313         120 :   case 2127: /* func_application: func_name '(' func_arg_list ',' VARIADIC func_arg_expr opt_sort_clause ')'  */
   50314             : #line 15693 "gram.y"
   50315             :                                 {
   50316             :                     FuncCall   *n = makeFuncCall((yyvsp[-7].list), lappend((yyvsp[-5].list), (yyvsp[-2].node)),
   50317             :                                                  COERCE_EXPLICIT_CALL,
   50318             :                                                  (yylsp[-7]));
   50319             : 
   50320             :                     n->func_variadic = true;
   50321             :                     n->agg_order = (yyvsp[-1].list);
   50322             :                     (yyval.node) = (Node *) n;
   50323             :                 }
   50324             : #line 50325 "gram.c"
   50325         120 :     break;
   50326             : 
   50327           0 :   case 2128: /* func_application: func_name '(' ALL func_arg_list opt_sort_clause ')'  */
   50328             : #line 15703 "gram.y"
   50329             :                                 {
   50330             :                     FuncCall   *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-2].list),
   50331             :                                                  COERCE_EXPLICIT_CALL,
   50332             :                                                  (yylsp[-5]));
   50333             : 
   50334             :                     n->agg_order = (yyvsp[-1].list);
   50335             :                     /* Ideally we'd mark the FuncCall node to indicate
   50336             :                      * "must be an aggregate", but there's no provision
   50337             :                      * for that in FuncCall at the moment.
   50338             :                      */
   50339             :                     (yyval.node) = (Node *) n;
   50340             :                 }
   50341             : #line 50342 "gram.c"
   50342           0 :     break;
   50343             : 
   50344         550 :   case 2129: /* func_application: func_name '(' DISTINCT func_arg_list opt_sort_clause ')'  */
   50345             : #line 15716 "gram.y"
   50346             :                                 {
   50347             :                     FuncCall   *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-2].list),
   50348             :                                                  COERCE_EXPLICIT_CALL,
   50349             :                                                  (yylsp[-5]));
   50350             : 
   50351             :                     n->agg_order = (yyvsp[-1].list);
   50352             :                     n->agg_distinct = true;
   50353             :                     (yyval.node) = (Node *) n;
   50354             :                 }
   50355             : #line 50356 "gram.c"
   50356         550 :     break;
   50357             : 
   50358       12566 :   case 2130: /* func_application: func_name '(' '*' ')'  */
   50359             : #line 15726 "gram.y"
   50360             :                                 {
   50361             :                     /*
   50362             :                      * We consider AGGREGATE(*) to invoke a parameterless
   50363             :                      * aggregate.  This does the right thing for COUNT(*),
   50364             :                      * and there are no other aggregates in SQL that accept
   50365             :                      * '*' as parameter.
   50366             :                      *
   50367             :                      * The FuncCall node is also marked agg_star = true,
   50368             :                      * so that later processing can detect what the argument
   50369             :                      * really was.
   50370             :                      */
   50371             :                     FuncCall   *n = makeFuncCall((yyvsp[-3].list), NIL,
   50372             :                                                  COERCE_EXPLICIT_CALL,
   50373             :                                                  (yylsp[-3]));
   50374             : 
   50375             :                     n->agg_star = true;
   50376             :                     (yyval.node) = (Node *) n;
   50377             :                 }
   50378             : #line 50379 "gram.c"
   50379       12566 :     break;
   50380             : 
   50381      317112 :   case 2131: /* func_expr: func_application within_group_clause filter_clause over_clause  */
   50382             : #line 15757 "gram.y"
   50383             :                                 {
   50384             :                     FuncCall   *n = (FuncCall *) (yyvsp[-3].node);
   50385             : 
   50386             :                     /*
   50387             :                      * The order clause for WITHIN GROUP and the one for
   50388             :                      * plain-aggregate ORDER BY share a field, so we have to
   50389             :                      * check here that at most one is present.  We also check
   50390             :                      * for DISTINCT and VARIADIC here to give a better error
   50391             :                      * location.  Other consistency checks are deferred to
   50392             :                      * parse analysis.
   50393             :                      */
   50394             :                     if ((yyvsp[-2].list) != NIL)
   50395             :                     {
   50396             :                         if (n->agg_order != NIL)
   50397             :                             ereport(ERROR,
   50398             :                                     (errcode(ERRCODE_SYNTAX_ERROR),
   50399             :                                      errmsg("cannot use multiple ORDER BY clauses with WITHIN GROUP"),
   50400             :                                      parser_errposition((yylsp[-2]))));
   50401             :                         if (n->agg_distinct)
   50402             :                             ereport(ERROR,
   50403             :                                     (errcode(ERRCODE_SYNTAX_ERROR),
   50404             :                                      errmsg("cannot use DISTINCT with WITHIN GROUP"),
   50405             :                                      parser_errposition((yylsp[-2]))));
   50406             :                         if (n->func_variadic)
   50407             :                             ereport(ERROR,
   50408             :                                     (errcode(ERRCODE_SYNTAX_ERROR),
   50409             :                                      errmsg("cannot use VARIADIC with WITHIN GROUP"),
   50410             :                                      parser_errposition((yylsp[-2]))));
   50411             :                         n->agg_order = (yyvsp[-2].list);
   50412             :                         n->agg_within_group = true;
   50413             :                     }
   50414             :                     n->agg_filter = (yyvsp[-1].node);
   50415             :                     n->over = (yyvsp[0].windef);
   50416             :                     (yyval.node) = (Node *) n;
   50417             :                 }
   50418             : #line 50419 "gram.c"
   50419      317106 :     break;
   50420             : 
   50421         360 :   case 2132: /* func_expr: json_aggregate_func filter_clause over_clause  */
   50422             : #line 15793 "gram.y"
   50423             :                                 {
   50424             :                     JsonAggConstructor *n = IsA((yyvsp[-2].node), JsonObjectAgg) ?
   50425             :                         ((JsonObjectAgg *) (yyvsp[-2].node))->constructor :
   50426             :                         ((JsonArrayAgg *) (yyvsp[-2].node))->constructor;
   50427             : 
   50428             :                     n->agg_filter = (yyvsp[-1].node);
   50429             :                     n->over = (yyvsp[0].windef);
   50430             :                     (yyval.node) = (Node *) (yyvsp[-2].node);
   50431             :                 }
   50432             : #line 50433 "gram.c"
   50433         360 :     break;
   50434             : 
   50435       74894 :   case 2133: /* func_expr: func_expr_common_subexpr  */
   50436             : #line 15803 "gram.y"
   50437             :                                 { (yyval.node) = (yyvsp[0].node); }
   50438             : #line 50439 "gram.c"
   50439       74894 :     break;
   50440             : 
   50441       52308 :   case 2134: /* func_expr_windowless: func_application  */
   50442             : #line 15813 "gram.y"
   50443             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   50444             : #line 50445 "gram.c"
   50445       52308 :     break;
   50446             : 
   50447         402 :   case 2135: /* func_expr_windowless: func_expr_common_subexpr  */
   50448             : #line 15814 "gram.y"
   50449             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   50450             : #line 50451 "gram.c"
   50451         402 :     break;
   50452             : 
   50453           0 :   case 2136: /* func_expr_windowless: json_aggregate_func  */
   50454             : #line 15815 "gram.y"
   50455             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   50456             : #line 50457 "gram.c"
   50457           0 :     break;
   50458             : 
   50459          30 :   case 2137: /* func_expr_common_subexpr: COLLATION FOR '(' a_expr ')'  */
   50460             : #line 15823 "gram.y"
   50461             :                                 {
   50462             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("pg_collation_for"),
   50463             :                                                list_make1((yyvsp[-1].node)),
   50464             :                                                COERCE_SQL_SYNTAX,
   50465             :                                                (yylsp[-4]));
   50466             :                 }
   50467             : #line 50468 "gram.c"
   50468          30 :     break;
   50469             : 
   50470         304 :   case 2138: /* func_expr_common_subexpr: CURRENT_DATE  */
   50471             : #line 15830 "gram.y"
   50472             :                                 {
   50473             :                     (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_DATE, -1, (yylsp[0]));
   50474             :                 }
   50475             : #line 50476 "gram.c"
   50476         304 :     break;
   50477             : 
   50478          24 :   case 2139: /* func_expr_common_subexpr: CURRENT_TIME  */
   50479             : #line 15834 "gram.y"
   50480             :                                 {
   50481             :                     (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME, -1, (yylsp[0]));
   50482             :                 }
   50483             : #line 50484 "gram.c"
   50484          24 :     break;
   50485             : 
   50486          24 :   case 2140: /* func_expr_common_subexpr: CURRENT_TIME '(' Iconst ')'  */
   50487             : #line 15838 "gram.y"
   50488             :                                 {
   50489             :                     (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME_N, (yyvsp[-1].ival), (yylsp[-3]));
   50490             :                 }
   50491             : #line 50492 "gram.c"
   50492          24 :     break;
   50493             : 
   50494         288 :   case 2141: /* func_expr_common_subexpr: CURRENT_TIMESTAMP  */
   50495             : #line 15842 "gram.y"
   50496             :                                 {
   50497             :                     (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP, -1, (yylsp[0]));
   50498             :                 }
   50499             : #line 50500 "gram.c"
   50500         288 :     break;
   50501             : 
   50502         172 :   case 2142: /* func_expr_common_subexpr: CURRENT_TIMESTAMP '(' Iconst ')'  */
   50503             : #line 15846 "gram.y"
   50504             :                                 {
   50505             :                     (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP_N, (yyvsp[-1].ival), (yylsp[-3]));
   50506             :                 }
   50507             : #line 50508 "gram.c"
   50508         172 :     break;
   50509             : 
   50510          24 :   case 2143: /* func_expr_common_subexpr: LOCALTIME  */
   50511             : #line 15850 "gram.y"
   50512             :                                 {
   50513             :                     (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME, -1, (yylsp[0]));
   50514             :                 }
   50515             : #line 50516 "gram.c"
   50516          24 :     break;
   50517             : 
   50518          24 :   case 2144: /* func_expr_common_subexpr: LOCALTIME '(' Iconst ')'  */
   50519             : #line 15854 "gram.y"
   50520             :                                 {
   50521             :                     (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME_N, (yyvsp[-1].ival), (yylsp[-3]));
   50522             :                 }
   50523             : #line 50524 "gram.c"
   50524          24 :     break;
   50525             : 
   50526          36 :   case 2145: /* func_expr_common_subexpr: LOCALTIMESTAMP  */
   50527             : #line 15858 "gram.y"
   50528             :                                 {
   50529             :                     (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP, -1, (yylsp[0]));
   50530             :                 }
   50531             : #line 50532 "gram.c"
   50532          36 :     break;
   50533             : 
   50534          24 :   case 2146: /* func_expr_common_subexpr: LOCALTIMESTAMP '(' Iconst ')'  */
   50535             : #line 15862 "gram.y"
   50536             :                                 {
   50537             :                     (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP_N, (yyvsp[-1].ival), (yylsp[-3]));
   50538             :                 }
   50539             : #line 50540 "gram.c"
   50540          24 :     break;
   50541             : 
   50542          68 :   case 2147: /* func_expr_common_subexpr: CURRENT_ROLE  */
   50543             : #line 15866 "gram.y"
   50544             :                                 {
   50545             :                     (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_ROLE, -1, (yylsp[0]));
   50546             :                 }
   50547             : #line 50548 "gram.c"
   50548          68 :     break;
   50549             : 
   50550        1076 :   case 2148: /* func_expr_common_subexpr: CURRENT_USER  */
   50551             : #line 15870 "gram.y"
   50552             :                                 {
   50553             :                     (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_USER, -1, (yylsp[0]));
   50554             :                 }
   50555             : #line 50556 "gram.c"
   50556        1076 :     break;
   50557             : 
   50558         580 :   case 2149: /* func_expr_common_subexpr: SESSION_USER  */
   50559             : #line 15874 "gram.y"
   50560             :                                 {
   50561             :                     (yyval.node) = makeSQLValueFunction(SVFOP_SESSION_USER, -1, (yylsp[0]));
   50562             :                 }
   50563             : #line 50564 "gram.c"
   50564         580 :     break;
   50565             : 
   50566          20 :   case 2150: /* func_expr_common_subexpr: SYSTEM_USER  */
   50567             : #line 15878 "gram.y"
   50568             :                                 {
   50569             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("system_user"),
   50570             :                                                NIL,
   50571             :                                                COERCE_SQL_SYNTAX,
   50572             :                                                (yylsp[0]));
   50573             :                 }
   50574             : #line 50575 "gram.c"
   50575          20 :     break;
   50576             : 
   50577          24 :   case 2151: /* func_expr_common_subexpr: USER  */
   50578             : #line 15885 "gram.y"
   50579             :                                 {
   50580             :                     (yyval.node) = makeSQLValueFunction(SVFOP_USER, -1, (yylsp[0]));
   50581             :                 }
   50582             : #line 50583 "gram.c"
   50583          24 :     break;
   50584             : 
   50585          52 :   case 2152: /* func_expr_common_subexpr: CURRENT_CATALOG  */
   50586             : #line 15889 "gram.y"
   50587             :                                 {
   50588             :                     (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_CATALOG, -1, (yylsp[0]));
   50589             :                 }
   50590             : #line 50591 "gram.c"
   50591          52 :     break;
   50592             : 
   50593          30 :   case 2153: /* func_expr_common_subexpr: CURRENT_SCHEMA  */
   50594             : #line 15893 "gram.y"
   50595             :                                 {
   50596             :                     (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_SCHEMA, -1, (yylsp[0]));
   50597             :                 }
   50598             : #line 50599 "gram.c"
   50599          30 :     break;
   50600             : 
   50601       61186 :   case 2154: /* func_expr_common_subexpr: CAST '(' a_expr AS Typename ')'  */
   50602             : #line 15897 "gram.y"
   50603             :                                 { (yyval.node) = makeTypeCast((yyvsp[-3].node), (yyvsp[-1].typnam), (yylsp[-5])); }
   50604             : #line 50605 "gram.c"
   50605       61186 :     break;
   50606             : 
   50607        1374 :   case 2155: /* func_expr_common_subexpr: EXTRACT '(' extract_list ')'  */
   50608             : #line 15899 "gram.y"
   50609             :                                 {
   50610             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("extract"),
   50611             :                                                (yyvsp[-1].list),
   50612             :                                                COERCE_SQL_SYNTAX,
   50613             :                                                (yylsp[-3]));
   50614             :                 }
   50615             : #line 50616 "gram.c"
   50616        1374 :     break;
   50617             : 
   50618          18 :   case 2156: /* func_expr_common_subexpr: NORMALIZE '(' a_expr ')'  */
   50619             : #line 15906 "gram.y"
   50620             :                                 {
   50621             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("normalize"),
   50622             :                                                list_make1((yyvsp[-1].node)),
   50623             :                                                COERCE_SQL_SYNTAX,
   50624             :                                                (yylsp[-3]));
   50625             :                 }
   50626             : #line 50627 "gram.c"
   50627          18 :     break;
   50628             : 
   50629          42 :   case 2157: /* func_expr_common_subexpr: NORMALIZE '(' a_expr ',' unicode_normal_form ')'  */
   50630             : #line 15913 "gram.y"
   50631             :                                 {
   50632             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("normalize"),
   50633             :                                                list_make2((yyvsp[-3].node), makeStringConst((yyvsp[-1].str), (yylsp[-1]))),
   50634             :                                                COERCE_SQL_SYNTAX,
   50635             :                                                (yylsp[-5]));
   50636             :                 }
   50637             : #line 50638 "gram.c"
   50638          42 :     break;
   50639             : 
   50640          82 :   case 2158: /* func_expr_common_subexpr: OVERLAY '(' overlay_list ')'  */
   50641             : #line 15920 "gram.y"
   50642             :                                 {
   50643             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlay"),
   50644             :                                                (yyvsp[-1].list),
   50645             :                                                COERCE_SQL_SYNTAX,
   50646             :                                                (yylsp[-3]));
   50647             :                 }
   50648             : #line 50649 "gram.c"
   50649          82 :     break;
   50650             : 
   50651           0 :   case 2159: /* func_expr_common_subexpr: OVERLAY '(' func_arg_list_opt ')'  */
   50652             : #line 15927 "gram.y"
   50653             :                                 {
   50654             :                     /*
   50655             :                      * allow functions named overlay() to be called without
   50656             :                      * special syntax
   50657             :                      */
   50658             :                     (yyval.node) = (Node *) makeFuncCall(list_make1(makeString("overlay")),
   50659             :                                                (yyvsp[-1].list),
   50660             :                                                COERCE_EXPLICIT_CALL,
   50661             :                                                (yylsp[-3]));
   50662             :                 }
   50663             : #line 50664 "gram.c"
   50664           0 :     break;
   50665             : 
   50666         398 :   case 2160: /* func_expr_common_subexpr: POSITION '(' position_list ')'  */
   50667             : #line 15938 "gram.y"
   50668             :                                 {
   50669             :                     /*
   50670             :                      * position(A in B) is converted to position(B, A)
   50671             :                      *
   50672             :                      * We deliberately don't offer a "plain syntax" option
   50673             :                      * for position(), because the reversal of the arguments
   50674             :                      * creates too much risk of confusion.
   50675             :                      */
   50676             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("position"),
   50677             :                                                (yyvsp[-1].list),
   50678             :                                                COERCE_SQL_SYNTAX,
   50679             :                                                (yylsp[-3]));
   50680             :                 }
   50681             : #line 50682 "gram.c"
   50682         398 :     break;
   50683             : 
   50684         702 :   case 2161: /* func_expr_common_subexpr: SUBSTRING '(' substr_list ')'  */
   50685             : #line 15952 "gram.y"
   50686             :                                 {
   50687             :                     /* substring(A from B for C) is converted to
   50688             :                      * substring(A, B, C) - thomas 2000-11-28
   50689             :                      */
   50690             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("substring"),
   50691             :                                                (yyvsp[-1].list),
   50692             :                                                COERCE_SQL_SYNTAX,
   50693             :                                                (yylsp[-3]));
   50694             :                 }
   50695             : #line 50696 "gram.c"
   50696         702 :     break;
   50697             : 
   50698         206 :   case 2162: /* func_expr_common_subexpr: SUBSTRING '(' func_arg_list_opt ')'  */
   50699             : #line 15962 "gram.y"
   50700             :                                 {
   50701             :                     /*
   50702             :                      * allow functions named substring() to be called without
   50703             :                      * special syntax
   50704             :                      */
   50705             :                     (yyval.node) = (Node *) makeFuncCall(list_make1(makeString("substring")),
   50706             :                                                (yyvsp[-1].list),
   50707             :                                                COERCE_EXPLICIT_CALL,
   50708             :                                                (yylsp[-3]));
   50709             :                 }
   50710             : #line 50711 "gram.c"
   50711         206 :     break;
   50712             : 
   50713           0 :   case 2163: /* func_expr_common_subexpr: TREAT '(' a_expr AS Typename ')'  */
   50714             : #line 15973 "gram.y"
   50715             :                                 {
   50716             :                     /* TREAT(expr AS target) converts expr of a particular type to target,
   50717             :                      * which is defined to be a subtype of the original expression.
   50718             :                      * In SQL99, this is intended for use with structured UDTs,
   50719             :                      * but let's make this a generally useful form allowing stronger
   50720             :                      * coercions than are handled by implicit casting.
   50721             :                      *
   50722             :                      * Convert SystemTypeName() to SystemFuncName() even though
   50723             :                      * at the moment they result in the same thing.
   50724             :                      */
   50725             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName(strVal(llast((yyvsp[-1].typnam)->names))),
   50726             :                                                list_make1((yyvsp[-3].node)),
   50727             :                                                COERCE_EXPLICIT_CALL,
   50728             :                                                (yylsp[-5]));
   50729             :                 }
   50730             : #line 50731 "gram.c"
   50731           0 :     break;
   50732             : 
   50733          12 :   case 2164: /* func_expr_common_subexpr: TRIM '(' BOTH trim_list ')'  */
   50734             : #line 15989 "gram.y"
   50735             :                                 {
   50736             :                     /* various trim expressions are defined in SQL
   50737             :                      * - thomas 1997-07-19
   50738             :                      */
   50739             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"),
   50740             :                                                (yyvsp[-1].list),
   50741             :                                                COERCE_SQL_SYNTAX,
   50742             :                                                (yylsp[-4]));
   50743             :                 }
   50744             : #line 50745 "gram.c"
   50745          12 :     break;
   50746             : 
   50747          24 :   case 2165: /* func_expr_common_subexpr: TRIM '(' LEADING trim_list ')'  */
   50748             : #line 15999 "gram.y"
   50749             :                                 {
   50750             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("ltrim"),
   50751             :                                                (yyvsp[-1].list),
   50752             :                                                COERCE_SQL_SYNTAX,
   50753             :                                                (yylsp[-4]));
   50754             :                 }
   50755             : #line 50756 "gram.c"
   50756          24 :     break;
   50757             : 
   50758         572 :   case 2166: /* func_expr_common_subexpr: TRIM '(' TRAILING trim_list ')'  */
   50759             : #line 16006 "gram.y"
   50760             :                                 {
   50761             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("rtrim"),
   50762             :                                                (yyvsp[-1].list),
   50763             :                                                COERCE_SQL_SYNTAX,
   50764             :                                                (yylsp[-4]));
   50765             :                 }
   50766             : #line 50767 "gram.c"
   50767         572 :     break;
   50768             : 
   50769          98 :   case 2167: /* func_expr_common_subexpr: TRIM '(' trim_list ')'  */
   50770             : #line 16013 "gram.y"
   50771             :                                 {
   50772             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"),
   50773             :                                                (yyvsp[-1].list),
   50774             :                                                COERCE_SQL_SYNTAX,
   50775             :                                                (yylsp[-3]));
   50776             :                 }
   50777             : #line 50778 "gram.c"
   50778          98 :     break;
   50779             : 
   50780         416 :   case 2168: /* func_expr_common_subexpr: NULLIF '(' a_expr ',' a_expr ')'  */
   50781             : #line 16020 "gram.y"
   50782             :                                 {
   50783             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", (yyvsp[-3].node), (yyvsp[-1].node), (yylsp[-5]));
   50784             :                 }
   50785             : #line 50786 "gram.c"
   50786         416 :     break;
   50787             : 
   50788        3148 :   case 2169: /* func_expr_common_subexpr: COALESCE '(' expr_list ')'  */
   50789             : #line 16024 "gram.y"
   50790             :                                 {
   50791             :                     CoalesceExpr *c = makeNode(CoalesceExpr);
   50792             : 
   50793             :                     c->args = (yyvsp[-1].list);
   50794             :                     c->location = (yylsp[-3]);
   50795             :                     (yyval.node) = (Node *) c;
   50796             :                 }
   50797             : #line 50798 "gram.c"
   50798        3148 :     break;
   50799             : 
   50800         140 :   case 2170: /* func_expr_common_subexpr: GREATEST '(' expr_list ')'  */
   50801             : #line 16032 "gram.y"
   50802             :                                 {
   50803             :                     MinMaxExpr *v = makeNode(MinMaxExpr);
   50804             : 
   50805             :                     v->args = (yyvsp[-1].list);
   50806             :                     v->op = IS_GREATEST;
   50807             :                     v->location = (yylsp[-3]);
   50808             :                     (yyval.node) = (Node *) v;
   50809             :                 }
   50810             : #line 50811 "gram.c"
   50811         140 :     break;
   50812             : 
   50813         124 :   case 2171: /* func_expr_common_subexpr: LEAST '(' expr_list ')'  */
   50814             : #line 16041 "gram.y"
   50815             :                                 {
   50816             :                     MinMaxExpr *v = makeNode(MinMaxExpr);
   50817             : 
   50818             :                     v->args = (yyvsp[-1].list);
   50819             :                     v->op = IS_LEAST;
   50820             :                     v->location = (yylsp[-3]);
   50821             :                     (yyval.node) = (Node *) v;
   50822             :                 }
   50823             : #line 50824 "gram.c"
   50824         124 :     break;
   50825             : 
   50826          64 :   case 2172: /* func_expr_common_subexpr: XMLCONCAT '(' expr_list ')'  */
   50827             : #line 16050 "gram.y"
   50828             :                                 {
   50829             :                     (yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[-1].list), (yylsp[-3]));
   50830             :                 }
   50831             : #line 50832 "gram.c"
   50832          64 :     break;
   50833             : 
   50834           6 :   case 2173: /* func_expr_common_subexpr: XMLELEMENT '(' NAME_P ColLabel ')'  */
   50835             : #line 16054 "gram.y"
   50836             :                                 {
   50837             :                     (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-1].str), NIL, NIL, (yylsp[-4]));
   50838             :                 }
   50839             : #line 50840 "gram.c"
   50840           6 :     break;
   50841             : 
   50842          36 :   case 2174: /* func_expr_common_subexpr: XMLELEMENT '(' NAME_P ColLabel ',' xml_attributes ')'  */
   50843             : #line 16058 "gram.y"
   50844             :                                 {
   50845             :                     (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), (yyvsp[-1].list), NIL, (yylsp[-6]));
   50846             :                 }
   50847             : #line 50848 "gram.c"
   50848          36 :     break;
   50849             : 
   50850         118 :   case 2175: /* func_expr_common_subexpr: XMLELEMENT '(' NAME_P ColLabel ',' expr_list ')'  */
   50851             : #line 16062 "gram.y"
   50852             :                                 {
   50853             :                     (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), NIL, (yyvsp[-1].list), (yylsp[-6]));
   50854             :                 }
   50855             : #line 50856 "gram.c"
   50856         118 :     break;
   50857             : 
   50858          22 :   case 2176: /* func_expr_common_subexpr: XMLELEMENT '(' NAME_P ColLabel ',' xml_attributes ',' expr_list ')'  */
   50859             : #line 16066 "gram.y"
   50860             :                                 {
   50861             :                     (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-5].str), (yyvsp[-3].list), (yyvsp[-1].list), (yylsp[-8]));
   50862             :                 }
   50863             : #line 50864 "gram.c"
   50864          22 :     break;
   50865             : 
   50866          54 :   case 2177: /* func_expr_common_subexpr: XMLEXISTS '(' c_expr xmlexists_argument ')'  */
   50867             : #line 16070 "gram.y"
   50868             :                                 {
   50869             :                     /* xmlexists(A PASSING [BY REF] B [BY REF]) is
   50870             :                      * converted to xmlexists(A, B)*/
   50871             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("xmlexists"),
   50872             :                                                list_make2((yyvsp[-2].node), (yyvsp[-1].node)),
   50873             :                                                COERCE_SQL_SYNTAX,
   50874             :                                                (yylsp[-4]));
   50875             :                 }
   50876             : #line 50877 "gram.c"
   50877          54 :     break;
   50878             : 
   50879          34 :   case 2178: /* func_expr_common_subexpr: XMLFOREST '(' xml_attribute_list ')'  */
   50880             : #line 16079 "gram.y"
   50881             :                                 {
   50882             :                     (yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[-1].list), NIL, (yylsp[-3]));
   50883             :                 }
   50884             : #line 50885 "gram.c"
   50885          34 :     break;
   50886             : 
   50887         142 :   case 2179: /* func_expr_common_subexpr: XMLPARSE '(' document_or_content a_expr xml_whitespace_option ')'  */
   50888             : #line 16083 "gram.y"
   50889             :                                 {
   50890             :                     XmlExpr *x = (XmlExpr *)
   50891             :                         makeXmlExpr(IS_XMLPARSE, NULL, NIL,
   50892             :                                     list_make2((yyvsp[-2].node), makeBoolAConst((yyvsp[-1].boolean), -1)),
   50893             :                                     (yylsp[-5]));
   50894             : 
   50895             :                     x->xmloption = (yyvsp[-3].ival);
   50896             :                     (yyval.node) = (Node *) x;
   50897             :                 }
   50898             : #line 50899 "gram.c"
   50899         142 :     break;
   50900             : 
   50901          30 :   case 2180: /* func_expr_common_subexpr: XMLPI '(' NAME_P ColLabel ')'  */
   50902             : #line 16093 "gram.y"
   50903             :                                 {
   50904             :                     (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-1].str), NULL, NIL, (yylsp[-4]));
   50905             :                 }
   50906             : #line 50907 "gram.c"
   50907          30 :     break;
   50908             : 
   50909          52 :   case 2181: /* func_expr_common_subexpr: XMLPI '(' NAME_P ColLabel ',' a_expr ')'  */
   50910             : #line 16097 "gram.y"
   50911             :                                 {
   50912             :                     (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-3].str), NULL, list_make1((yyvsp[-1].node)), (yylsp[-6]));
   50913             :                 }
   50914             : #line 50915 "gram.c"
   50915          52 :     break;
   50916             : 
   50917          70 :   case 2182: /* func_expr_common_subexpr: XMLROOT '(' a_expr ',' xml_root_version opt_xml_root_standalone ')'  */
   50918             : #line 16101 "gram.y"
   50919             :                                 {
   50920             :                     (yyval.node) = makeXmlExpr(IS_XMLROOT, NULL, NIL,
   50921             :                                      list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[-1].node)), (yylsp[-6]));
   50922             :                 }
   50923             : #line 50924 "gram.c"
   50924          70 :     break;
   50925             : 
   50926         226 :   case 2183: /* func_expr_common_subexpr: XMLSERIALIZE '(' document_or_content a_expr AS SimpleTypename xml_indent_option ')'  */
   50927             : #line 16106 "gram.y"
   50928             :                                 {
   50929             :                     XmlSerialize *n = makeNode(XmlSerialize);
   50930             : 
   50931             :                     n->xmloption = (yyvsp[-5].ival);
   50932             :                     n->expr = (yyvsp[-4].node);
   50933             :                     n->typeName = (yyvsp[-2].typnam);
   50934             :                     n->indent = (yyvsp[-1].boolean);
   50935             :                     n->location = (yylsp[-7]);
   50936             :                     (yyval.node) = (Node *) n;
   50937             :                 }
   50938             : #line 50939 "gram.c"
   50939         226 :     break;
   50940             : 
   50941          90 :   case 2184: /* func_expr_common_subexpr: JSON_OBJECT '(' func_arg_list ')'  */
   50942             : #line 16117 "gram.y"
   50943             :                                 {
   50944             :                     /* Support for legacy (non-standard) json_object() */
   50945             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("json_object"),
   50946             :                                                (yyvsp[-1].list), COERCE_EXPLICIT_CALL, (yylsp[-3]));
   50947             :                 }
   50948             : #line 50949 "gram.c"
   50949          90 :     break;
   50950             : 
   50951         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 ')'  */
   50952             : #line 16126 "gram.y"
   50953             :                                 {
   50954             :                     JsonObjectConstructor *n = makeNode(JsonObjectConstructor);
   50955             : 
   50956             :                     n->exprs = (yyvsp[-4].list);
   50957             :                     n->absent_on_null = (yyvsp[-3].boolean);
   50958             :                     n->unique = (yyvsp[-2].boolean);
   50959             :                     n->output = (JsonOutput *) (yyvsp[-1].node);
   50960             :                     n->location = (yylsp[-6]);
   50961             :                     (yyval.node) = (Node *) n;
   50962             :                 }
   50963             : #line 50964 "gram.c"
   50964         348 :     break;
   50965             : 
   50966          92 :   case 2186: /* func_expr_common_subexpr: JSON_OBJECT '(' json_returning_clause_opt ')'  */
   50967             : #line 16137 "gram.y"
   50968             :                                 {
   50969             :                     JsonObjectConstructor *n = makeNode(JsonObjectConstructor);
   50970             : 
   50971             :                     n->exprs = NULL;
   50972             :                     n->absent_on_null = false;
   50973             :                     n->unique = false;
   50974             :                     n->output = (JsonOutput *) (yyvsp[-1].node);
   50975             :                     n->location = (yylsp[-3]);
   50976             :                     (yyval.node) = (Node *) n;
   50977             :                 }
   50978             : #line 50979 "gram.c"
   50979          92 :     break;
   50980             : 
   50981         108 :   case 2187: /* func_expr_common_subexpr: JSON_ARRAY '(' json_value_expr_list json_array_constructor_null_clause_opt json_returning_clause_opt ')'  */
   50982             : #line 16152 "gram.y"
   50983             :                                 {
   50984             :                     JsonArrayConstructor *n = makeNode(JsonArrayConstructor);
   50985             : 
   50986             :                     n->exprs = (yyvsp[-3].list);
   50987             :                     n->absent_on_null = (yyvsp[-2].boolean);
   50988             :                     n->output = (JsonOutput *) (yyvsp[-1].node);
   50989             :                     n->location = (yylsp[-5]);
   50990             :                     (yyval.node) = (Node *) n;
   50991             :                 }
   50992             : #line 50993 "gram.c"
   50993         108 :     break;
   50994             : 
   50995          60 :   case 2188: /* func_expr_common_subexpr: JSON_ARRAY '(' select_no_parens json_format_clause_opt json_returning_clause_opt ')'  */
   50996             : #line 16167 "gram.y"
   50997             :                                 {
   50998             :                     JsonArrayQueryConstructor *n = makeNode(JsonArrayQueryConstructor);
   50999             : 
   51000             :                     n->query = (yyvsp[-3].node);
   51001             :                     n->format = (JsonFormat *) (yyvsp[-2].node);
   51002             :                     n->absent_on_null = true;    /* XXX */
   51003             :                     n->output = (JsonOutput *) (yyvsp[-1].node);
   51004             :                     n->location = (yylsp[-5]);
   51005             :                     (yyval.node) = (Node *) n;
   51006             :                 }
   51007             : #line 51008 "gram.c"
   51008          60 :     break;
   51009             : 
   51010          86 :   case 2189: /* func_expr_common_subexpr: JSON_ARRAY '(' json_returning_clause_opt ')'  */
   51011             : #line 16180 "gram.y"
   51012             :                                 {
   51013             :                     JsonArrayConstructor *n = makeNode(JsonArrayConstructor);
   51014             : 
   51015             :                     n->exprs = NIL;
   51016             :                     n->absent_on_null = true;
   51017             :                     n->output = (JsonOutput *) (yyvsp[-1].node);
   51018             :                     n->location = (yylsp[-3]);
   51019             :                     (yyval.node) = (Node *) n;
   51020             :                 }
   51021             : #line 51022 "gram.c"
   51022          86 :     break;
   51023             : 
   51024         164 :   case 2190: /* func_expr_common_subexpr: JSON '(' json_value_expr json_key_uniqueness_constraint_opt ')'  */
   51025             : #line 16190 "gram.y"
   51026             :                                 {
   51027             :                     JsonParseExpr *n = makeNode(JsonParseExpr);
   51028             : 
   51029             :                     n->expr = (JsonValueExpr *) (yyvsp[-2].node);
   51030             :                     n->unique_keys = (yyvsp[-1].boolean);
   51031             :                     n->output = NULL;
   51032             :                     n->location = (yylsp[-4]);
   51033             :                     (yyval.node) = (Node *) n;
   51034             :                 }
   51035             : #line 51036 "gram.c"
   51036         164 :     break;
   51037             : 
   51038         112 :   case 2191: /* func_expr_common_subexpr: JSON_SCALAR '(' a_expr ')'  */
   51039             : #line 16200 "gram.y"
   51040             :                                 {
   51041             :                     JsonScalarExpr *n = makeNode(JsonScalarExpr);
   51042             : 
   51043             :                     n->expr = (Expr *) (yyvsp[-1].node);
   51044             :                     n->output = NULL;
   51045             :                     n->location = (yylsp[-3]);
   51046             :                     (yyval.node) = (Node *) n;
   51047             :                 }
   51048             : #line 51049 "gram.c"
   51049         112 :     break;
   51050             : 
   51051         108 :   case 2192: /* func_expr_common_subexpr: JSON_SERIALIZE '(' json_value_expr json_returning_clause_opt ')'  */
   51052             : #line 16209 "gram.y"
   51053             :                                 {
   51054             :                     JsonSerializeExpr *n = makeNode(JsonSerializeExpr);
   51055             : 
   51056             :                     n->expr = (JsonValueExpr *) (yyvsp[-2].node);
   51057             :                     n->output = (JsonOutput *) (yyvsp[-1].node);
   51058             :                     n->location = (yylsp[-4]);
   51059             :                     (yyval.node) = (Node *) n;
   51060             :                 }
   51061             : #line 51062 "gram.c"
   51062         108 :     break;
   51063             : 
   51064         204 :   case 2193: /* func_expr_common_subexpr: MERGE_ACTION '(' ')'  */
   51065             : #line 16218 "gram.y"
   51066             :                                 {
   51067             :                     MergeSupportFunc *m = makeNode(MergeSupportFunc);
   51068             : 
   51069             :                     m->msftype = TEXTOID;
   51070             :                     m->location = (yylsp[-2]);
   51071             :                     (yyval.node) = (Node *) m;
   51072             :                 }
   51073             : #line 51074 "gram.c"
   51074         204 :     break;
   51075             : 
   51076         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 ')'  */
   51077             : #line 16232 "gram.y"
   51078             :                                 {
   51079             :                     JsonFuncExpr *n = makeNode(JsonFuncExpr);
   51080             : 
   51081             :                     n->op = JSON_QUERY_OP;
   51082             :                     n->context_item = (JsonValueExpr *) (yyvsp[-8].node);
   51083             :                     n->pathspec = (yyvsp[-6].node);
   51084             :                     n->passing = (yyvsp[-5].list);
   51085             :                     n->output = (JsonOutput *) (yyvsp[-4].node);
   51086             :                     n->wrapper = (yyvsp[-3].ival);
   51087             :                     n->quotes = (yyvsp[-2].ival);
   51088             :                     n->on_empty = (JsonBehavior *) linitial((yyvsp[-1].list));
   51089             :                     n->on_error = (JsonBehavior *) lsecond((yyvsp[-1].list));
   51090             :                     n->location = (yylsp[-10]);
   51091             :                     (yyval.node) = (Node *) n;
   51092             :                 }
   51093             : #line 51094 "gram.c"
   51094         984 :     break;
   51095             : 
   51096         168 :   case 2195: /* func_expr_common_subexpr: JSON_EXISTS '(' json_value_expr ',' a_expr json_passing_clause_opt json_on_error_clause_opt ')'  */
   51097             : #line 16251 "gram.y"
   51098             :                                 {
   51099             :                     JsonFuncExpr *n = makeNode(JsonFuncExpr);
   51100             : 
   51101             :                     n->op = JSON_EXISTS_OP;
   51102             :                     n->context_item = (JsonValueExpr *) (yyvsp[-5].node);
   51103             :                     n->pathspec = (yyvsp[-3].node);
   51104             :                     n->passing = (yyvsp[-2].list);
   51105             :                     n->output = NULL;
   51106             :                     n->on_error = (JsonBehavior *) (yyvsp[-1].node);
   51107             :                     n->location = (yylsp[-7]);
   51108             :                     (yyval.node) = (Node *) n;
   51109             :                 }
   51110             : #line 51111 "gram.c"
   51111         168 :     break;
   51112             : 
   51113         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 ')'  */
   51114             : #line 16268 "gram.y"
   51115             :                                 {
   51116             :                     JsonFuncExpr *n = makeNode(JsonFuncExpr);
   51117             : 
   51118             :                     n->op = JSON_VALUE_OP;
   51119             :                     n->context_item = (JsonValueExpr *) (yyvsp[-6].node);
   51120             :                     n->pathspec = (yyvsp[-4].node);
   51121             :                     n->passing = (yyvsp[-3].list);
   51122             :                     n->output = (JsonOutput *) (yyvsp[-2].node);
   51123             :                     n->on_empty = (JsonBehavior *) linitial((yyvsp[-1].list));
   51124             :                     n->on_error = (JsonBehavior *) lsecond((yyvsp[-1].list));
   51125             :                     n->location = (yylsp[-8]);
   51126             :                     (yyval.node) = (Node *) n;
   51127             :                 }
   51128             : #line 51129 "gram.c"
   51129         576 :     break;
   51130             : 
   51131          24 :   case 2197: /* xml_root_version: VERSION_P a_expr  */
   51132             : #line 16288 "gram.y"
   51133             :                                 { (yyval.node) = (yyvsp[0].node); }
   51134             : #line 51135 "gram.c"
   51135          24 :     break;
   51136             : 
   51137          46 :   case 2198: /* xml_root_version: VERSION_P NO VALUE_P  */
   51138             : #line 16290 "gram.y"
   51139             :                                 { (yyval.node) = makeNullAConst(-1); }
   51140             : #line 51141 "gram.c"
   51141          46 :     break;
   51142             : 
   51143          28 :   case 2199: /* opt_xml_root_standalone: ',' STANDALONE_P YES_P  */
   51144             : #line 16294 "gram.y"
   51145             :                                 { (yyval.node) = makeIntConst(XML_STANDALONE_YES, -1); }
   51146             : #line 51147 "gram.c"
   51147          28 :     break;
   51148             : 
   51149          12 :   case 2200: /* opt_xml_root_standalone: ',' STANDALONE_P NO  */
   51150             : #line 16296 "gram.y"
   51151             :                                 { (yyval.node) = makeIntConst(XML_STANDALONE_NO, -1); }
   51152             : #line 51153 "gram.c"
   51153          12 :     break;
   51154             : 
   51155          12 :   case 2201: /* opt_xml_root_standalone: ',' STANDALONE_P NO VALUE_P  */
   51156             : #line 16298 "gram.y"
   51157             :                                 { (yyval.node) = makeIntConst(XML_STANDALONE_NO_VALUE, -1); }
   51158             : #line 51159 "gram.c"
   51159          12 :     break;
   51160             : 
   51161          18 :   case 2202: /* opt_xml_root_standalone: %empty  */
   51162             : #line 16300 "gram.y"
   51163             :                                 { (yyval.node) = makeIntConst(XML_STANDALONE_OMITTED, -1); }
   51164             : #line 51165 "gram.c"
   51165          18 :     break;
   51166             : 
   51167          58 :   case 2203: /* xml_attributes: XMLATTRIBUTES '(' xml_attribute_list ')'  */
   51168             : #line 16303 "gram.y"
   51169             :                                                                 { (yyval.list) = (yyvsp[-1].list); }
   51170             : #line 51171 "gram.c"
   51171          58 :     break;
   51172             : 
   51173          92 :   case 2204: /* xml_attribute_list: xml_attribute_el  */
   51174             : #line 16306 "gram.y"
   51175             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].target)); }
   51176             : #line 51177 "gram.c"
   51177          92 :     break;
   51178             : 
   51179         150 :   case 2205: /* xml_attribute_list: xml_attribute_list ',' xml_attribute_el  */
   51180             : #line 16307 "gram.y"
   51181             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
   51182             : #line 51183 "gram.c"
   51183         150 :     break;
   51184             : 
   51185         116 :   case 2206: /* xml_attribute_el: a_expr AS ColLabel  */
   51186             : #line 16311 "gram.y"
   51187             :                                 {
   51188             :                     (yyval.target) = makeNode(ResTarget);
   51189             :                     (yyval.target)->name = (yyvsp[0].str);
   51190             :                     (yyval.target)->indirection = NIL;
   51191             :                     (yyval.target)->val = (Node *) (yyvsp[-2].node);
   51192             :                     (yyval.target)->location = (yylsp[-2]);
   51193             :                 }
   51194             : #line 51195 "gram.c"
   51195         116 :     break;
   51196             : 
   51197         126 :   case 2207: /* xml_attribute_el: a_expr  */
   51198             : #line 16319 "gram.y"
   51199             :                                 {
   51200             :                     (yyval.target) = makeNode(ResTarget);
   51201             :                     (yyval.target)->name = NULL;
   51202             :                     (yyval.target)->indirection = NIL;
   51203             :                     (yyval.target)->val = (Node *) (yyvsp[0].node);
   51204             :                     (yyval.target)->location = (yylsp[0]);
   51205             :                 }
   51206             : #line 51207 "gram.c"
   51207         126 :     break;
   51208             : 
   51209         190 :   case 2208: /* document_or_content: DOCUMENT_P  */
   51210             : #line 16328 "gram.y"
   51211             :                                                                         { (yyval.ival) = XMLOPTION_DOCUMENT; }
   51212             : #line 51213 "gram.c"
   51213         190 :     break;
   51214             : 
   51215         194 :   case 2209: /* document_or_content: CONTENT_P  */
   51216             : #line 16329 "gram.y"
   51217             :                                                                                                 { (yyval.ival) = XMLOPTION_CONTENT; }
   51218             : #line 51219 "gram.c"
   51219         194 :     break;
   51220             : 
   51221         142 :   case 2210: /* xml_indent_option: INDENT  */
   51222             : #line 16332 "gram.y"
   51223             :                                                                                 { (yyval.boolean) = true; }
   51224             : #line 51225 "gram.c"
   51225         142 :     break;
   51226             : 
   51227          42 :   case 2211: /* xml_indent_option: NO INDENT  */
   51228             : #line 16333 "gram.y"
   51229             :                                                                                                 { (yyval.boolean) = false; }
   51230             : #line 51231 "gram.c"
   51231          42 :     break;
   51232             : 
   51233          42 :   case 2212: /* xml_indent_option: %empty  */
   51234             : #line 16334 "gram.y"
   51235             :                                                                                                 { (yyval.boolean) = false; }
   51236             : #line 51237 "gram.c"
   51237          42 :     break;
   51238             : 
   51239           0 :   case 2213: /* xml_whitespace_option: PRESERVE WHITESPACE_P  */
   51240             : #line 16337 "gram.y"
   51241             :                                                         { (yyval.boolean) = true; }
   51242             : #line 51243 "gram.c"
   51243           0 :     break;
   51244             : 
   51245           4 :   case 2214: /* xml_whitespace_option: STRIP_P WHITESPACE_P  */
   51246             : #line 16338 "gram.y"
   51247             :                                                                                 { (yyval.boolean) = false; }
   51248             : #line 51249 "gram.c"
   51249           4 :     break;
   51250             : 
   51251         138 :   case 2215: /* xml_whitespace_option: %empty  */
   51252             : #line 16339 "gram.y"
   51253             :                                                                                                 { (yyval.boolean) = false; }
   51254             : #line 51255 "gram.c"
   51255         138 :     break;
   51256             : 
   51257         230 :   case 2216: /* xmlexists_argument: PASSING c_expr  */
   51258             : #line 16345 "gram.y"
   51259             :                                 {
   51260             :                     (yyval.node) = (yyvsp[0].node);
   51261             :                 }
   51262             : #line 51263 "gram.c"
   51263         230 :     break;
   51264             : 
   51265           0 :   case 2217: /* xmlexists_argument: PASSING c_expr xml_passing_mech  */
   51266             : #line 16349 "gram.y"
   51267             :                                 {
   51268             :                     (yyval.node) = (yyvsp[-1].node);
   51269             :                 }
   51270             : #line 51271 "gram.c"
   51271           0 :     break;
   51272             : 
   51273          42 :   case 2218: /* xmlexists_argument: PASSING xml_passing_mech c_expr  */
   51274             : #line 16353 "gram.y"
   51275             :                                 {
   51276             :                     (yyval.node) = (yyvsp[0].node);
   51277             :                 }
   51278             : #line 51279 "gram.c"
   51279          42 :     break;
   51280             : 
   51281           6 :   case 2219: /* xmlexists_argument: PASSING xml_passing_mech c_expr xml_passing_mech  */
   51282             : #line 16357 "gram.y"
   51283             :                                 {
   51284             :                     (yyval.node) = (yyvsp[-1].node);
   51285             :                 }
   51286             : #line 51287 "gram.c"
   51287           6 :     break;
   51288             : 
   51289         348 :   case 2222: /* within_group_clause: WITHIN GROUP_P '(' sort_clause ')'  */
   51290             : #line 16372 "gram.y"
   51291             :                                                                         { (yyval.list) = (yyvsp[-1].list); }
   51292             : #line 51293 "gram.c"
   51293         348 :     break;
   51294             : 
   51295      316770 :   case 2223: /* within_group_clause: %empty  */
   51296             : #line 16373 "gram.y"
   51297             :                                                                                                 { (yyval.list) = NIL; }
   51298             : #line 51299 "gram.c"
   51299      316770 :     break;
   51300             : 
   51301         854 :   case 2224: /* filter_clause: FILTER '(' WHERE a_expr ')'  */
   51302             : #line 16377 "gram.y"
   51303             :                                                                                 { (yyval.node) = (yyvsp[-1].node); }
   51304             : #line 51305 "gram.c"
   51305         854 :     break;
   51306             : 
   51307      316624 :   case 2225: /* filter_clause: %empty  */
   51308             : #line 16378 "gram.y"
   51309             :                                                                                                 { (yyval.node) = NULL; }
   51310             : #line 51311 "gram.c"
   51311      316624 :     break;
   51312             : 
   51313         540 :   case 2226: /* window_clause: WINDOW window_definition_list  */
   51314             : #line 16386 "gram.y"
   51315             :                                                                         { (yyval.list) = (yyvsp[0].list); }
   51316             : #line 51317 "gram.c"
   51317         540 :     break;
   51318             : 
   51319      480564 :   case 2227: /* window_clause: %empty  */
   51320             : #line 16387 "gram.y"
   51321             :                                                                                                 { (yyval.list) = NIL; }
   51322             : #line 51323 "gram.c"
   51323      480564 :     break;
   51324             : 
   51325         540 :   case 2228: /* window_definition_list: window_definition  */
   51326             : #line 16391 "gram.y"
   51327             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].windef)); }
   51328             : #line 51329 "gram.c"
   51329         540 :     break;
   51330             : 
   51331          12 :   case 2229: /* window_definition_list: window_definition_list ',' window_definition  */
   51332             : #line 16393 "gram.y"
   51333             :                                                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].windef)); }
   51334             : #line 51335 "gram.c"
   51335          12 :     break;
   51336             : 
   51337         552 :   case 2230: /* window_definition: ColId AS window_specification  */
   51338             : #line 16398 "gram.y"
   51339             :                                 {
   51340             :                     WindowDef  *n = (yyvsp[0].windef);
   51341             : 
   51342             :                     n->name = (yyvsp[-2].str);
   51343             :                     (yyval.windef) = n;
   51344             :                 }
   51345             : #line 51346 "gram.c"
   51346         552 :     break;
   51347             : 
   51348        2614 :   case 2231: /* over_clause: OVER window_specification  */
   51349             : #line 16407 "gram.y"
   51350             :                                 { (yyval.windef) = (yyvsp[0].windef); }
   51351             : #line 51352 "gram.c"
   51352        2614 :     break;
   51353             : 
   51354         954 :   case 2232: /* over_clause: OVER ColId  */
   51355             : #line 16409 "gram.y"
   51356             :                                 {
   51357             :                     WindowDef  *n = makeNode(WindowDef);
   51358             : 
   51359             :                     n->name = (yyvsp[0].str);
   51360             :                     n->refname = NULL;
   51361             :                     n->partitionClause = NIL;
   51362             :                     n->orderClause = NIL;
   51363             :                     n->frameOptions = FRAMEOPTION_DEFAULTS;
   51364             :                     n->startOffset = NULL;
   51365             :                     n->endOffset = NULL;
   51366             :                     n->location = (yylsp[0]);
   51367             :                     (yyval.windef) = n;
   51368             :                 }
   51369             : #line 51370 "gram.c"
   51370         954 :     break;
   51371             : 
   51372      313904 :   case 2233: /* over_clause: %empty  */
   51373             : #line 16423 "gram.y"
   51374             :                                 { (yyval.windef) = NULL; }
   51375             : #line 51376 "gram.c"
   51376      313904 :     break;
   51377             : 
   51378        3166 :   case 2234: /* window_specification: '(' opt_existing_window_name opt_partition_clause opt_sort_clause opt_frame_clause ')'  */
   51379             : #line 16428 "gram.y"
   51380             :                                 {
   51381             :                     WindowDef  *n = makeNode(WindowDef);
   51382             : 
   51383             :                     n->name = NULL;
   51384             :                     n->refname = (yyvsp[-4].str);
   51385             :                     n->partitionClause = (yyvsp[-3].list);
   51386             :                     n->orderClause = (yyvsp[-2].list);
   51387             :                     /* copy relevant fields of opt_frame_clause */
   51388             :                     n->frameOptions = (yyvsp[-1].windef)->frameOptions;
   51389             :                     n->startOffset = (yyvsp[-1].windef)->startOffset;
   51390             :                     n->endOffset = (yyvsp[-1].windef)->endOffset;
   51391             :                     n->location = (yylsp[-5]);
   51392             :                     (yyval.windef) = n;
   51393             :                 }
   51394             : #line 51395 "gram.c"
   51395        3166 :     break;
   51396             : 
   51397          54 :   case 2235: /* opt_existing_window_name: ColId  */
   51398             : #line 16454 "gram.y"
   51399             :                                                                         { (yyval.str) = (yyvsp[0].str); }
   51400             : #line 51401 "gram.c"
   51401          54 :     break;
   51402             : 
   51403        3118 :   case 2236: /* opt_existing_window_name: %empty  */
   51404             : #line 16455 "gram.y"
   51405             :                                                                                         { (yyval.str) = NULL; }
   51406             : #line 51407 "gram.c"
   51407        3118 :     break;
   51408             : 
   51409         918 :   case 2237: /* opt_partition_clause: PARTITION BY expr_list  */
   51410             : #line 16458 "gram.y"
   51411             :                                                         { (yyval.list) = (yyvsp[0].list); }
   51412             : #line 51413 "gram.c"
   51413         918 :     break;
   51414             : 
   51415        2248 :   case 2238: /* opt_partition_clause: %empty  */
   51416             : #line 16459 "gram.y"
   51417             :                                                                                                 { (yyval.list) = NIL; }
   51418             : #line 51419 "gram.c"
   51419        2248 :     break;
   51420             : 
   51421         796 :   case 2239: /* opt_frame_clause: RANGE frame_extent opt_window_exclusion_clause  */
   51422             : #line 16468 "gram.y"
   51423             :                                 {
   51424             :                     WindowDef  *n = (yyvsp[-1].windef);
   51425             : 
   51426             :                     n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_RANGE;
   51427             :                     n->frameOptions |= (yyvsp[0].ival);
   51428             :                     (yyval.windef) = n;
   51429             :                 }
   51430             : #line 51431 "gram.c"
   51431         796 :     break;
   51432             : 
   51433         624 :   case 2240: /* opt_frame_clause: ROWS frame_extent opt_window_exclusion_clause  */
   51434             : #line 16476 "gram.y"
   51435             :                                 {
   51436             :                     WindowDef  *n = (yyvsp[-1].windef);
   51437             : 
   51438             :                     n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_ROWS;
   51439             :                     n->frameOptions |= (yyvsp[0].ival);
   51440             :                     (yyval.windef) = n;
   51441             :                 }
   51442             : #line 51443 "gram.c"
   51443         624 :     break;
   51444             : 
   51445         204 :   case 2241: /* opt_frame_clause: GROUPS frame_extent opt_window_exclusion_clause  */
   51446             : #line 16484 "gram.y"
   51447             :                                 {
   51448             :                     WindowDef  *n = (yyvsp[-1].windef);
   51449             : 
   51450             :                     n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_GROUPS;
   51451             :                     n->frameOptions |= (yyvsp[0].ival);
   51452             :                     (yyval.windef) = n;
   51453             :                 }
   51454             : #line 51455 "gram.c"
   51455         204 :     break;
   51456             : 
   51457        1542 :   case 2242: /* opt_frame_clause: %empty  */
   51458             : #line 16492 "gram.y"
   51459             :                                 {
   51460             :                     WindowDef  *n = makeNode(WindowDef);
   51461             : 
   51462             :                     n->frameOptions = FRAMEOPTION_DEFAULTS;
   51463             :                     n->startOffset = NULL;
   51464             :                     n->endOffset = NULL;
   51465             :                     (yyval.windef) = n;
   51466             :                 }
   51467             : #line 51468 "gram.c"
   51468        1542 :     break;
   51469             : 
   51470          12 :   case 2243: /* frame_extent: frame_bound  */
   51471             : #line 16503 "gram.y"
   51472             :                                 {
   51473             :                     WindowDef  *n = (yyvsp[0].windef);
   51474             : 
   51475             :                     /* reject invalid cases */
   51476             :                     if (n->frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
   51477             :                         ereport(ERROR,
   51478             :                                 (errcode(ERRCODE_WINDOWING_ERROR),
   51479             :                                  errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
   51480             :                                  parser_errposition((yylsp[0]))));
   51481             :                     if (n->frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING)
   51482             :                         ereport(ERROR,
   51483             :                                 (errcode(ERRCODE_WINDOWING_ERROR),
   51484             :                                  errmsg("frame starting from following row cannot end with current row"),
   51485             :                                  parser_errposition((yylsp[0]))));
   51486             :                     n->frameOptions |= FRAMEOPTION_END_CURRENT_ROW;
   51487             :                     (yyval.windef) = n;
   51488             :                 }
   51489             : #line 51490 "gram.c"
   51490          12 :     break;
   51491             : 
   51492        1612 :   case 2244: /* frame_extent: BETWEEN frame_bound AND frame_bound  */
   51493             : #line 16521 "gram.y"
   51494             :                                 {
   51495             :                     WindowDef  *n1 = (yyvsp[-2].windef);
   51496             :                     WindowDef  *n2 = (yyvsp[0].windef);
   51497             : 
   51498             :                     /* form merged options */
   51499             :                     int     frameOptions = n1->frameOptions;
   51500             :                     /* shift converts START_ options to END_ options */
   51501             :                     frameOptions |= n2->frameOptions << 1;
   51502             :                     frameOptions |= FRAMEOPTION_BETWEEN;
   51503             :                     /* reject invalid cases */
   51504             :                     if (frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
   51505             :                         ereport(ERROR,
   51506             :                                 (errcode(ERRCODE_WINDOWING_ERROR),
   51507             :                                  errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
   51508             :                                  parser_errposition((yylsp[-2]))));
   51509             :                     if (frameOptions & FRAMEOPTION_END_UNBOUNDED_PRECEDING)
   51510             :                         ereport(ERROR,
   51511             :                                 (errcode(ERRCODE_WINDOWING_ERROR),
   51512             :                                  errmsg("frame end cannot be UNBOUNDED PRECEDING"),
   51513             :                                  parser_errposition((yylsp[0]))));
   51514             :                     if ((frameOptions & FRAMEOPTION_START_CURRENT_ROW) &&
   51515             :                         (frameOptions & FRAMEOPTION_END_OFFSET_PRECEDING))
   51516             :                         ereport(ERROR,
   51517             :                                 (errcode(ERRCODE_WINDOWING_ERROR),
   51518             :                                  errmsg("frame starting from current row cannot have preceding rows"),
   51519             :                                  parser_errposition((yylsp[0]))));
   51520             :                     if ((frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING) &&
   51521             :                         (frameOptions & (FRAMEOPTION_END_OFFSET_PRECEDING |
   51522             :                                          FRAMEOPTION_END_CURRENT_ROW)))
   51523             :                         ereport(ERROR,
   51524             :                                 (errcode(ERRCODE_WINDOWING_ERROR),
   51525             :                                  errmsg("frame starting from following row cannot have preceding rows"),
   51526             :                                  parser_errposition((yylsp[0]))));
   51527             :                     n1->frameOptions = frameOptions;
   51528             :                     n1->endOffset = n2->startOffset;
   51529             :                     (yyval.windef) = n1;
   51530             :                 }
   51531             : #line 51532 "gram.c"
   51532        1612 :     break;
   51533             : 
   51534         198 :   case 2245: /* frame_bound: UNBOUNDED PRECEDING  */
   51535             : #line 16567 "gram.y"
   51536             :                                 {
   51537             :                     WindowDef  *n = makeNode(WindowDef);
   51538             : 
   51539             :                     n->frameOptions = FRAMEOPTION_START_UNBOUNDED_PRECEDING;
   51540             :                     n->startOffset = NULL;
   51541             :                     n->endOffset = NULL;
   51542             :                     (yyval.windef) = n;
   51543             :                 }
   51544             : #line 51545 "gram.c"
   51545         198 :     break;
   51546             : 
   51547         376 :   case 2246: /* frame_bound: UNBOUNDED FOLLOWING  */
   51548             : #line 16576 "gram.y"
   51549             :                                 {
   51550             :                     WindowDef  *n = makeNode(WindowDef);
   51551             : 
   51552             :                     n->frameOptions = FRAMEOPTION_START_UNBOUNDED_FOLLOWING;
   51553             :                     n->startOffset = NULL;
   51554             :                     n->endOffset = NULL;
   51555             :                     (yyval.windef) = n;
   51556             :                 }
   51557             : #line 51558 "gram.c"
   51558         376 :     break;
   51559             : 
   51560         604 :   case 2247: /* frame_bound: CURRENT_P ROW  */
   51561             : #line 16585 "gram.y"
   51562             :                                 {
   51563             :                     WindowDef  *n = makeNode(WindowDef);
   51564             : 
   51565             :                     n->frameOptions = FRAMEOPTION_START_CURRENT_ROW;
   51566             :                     n->startOffset = NULL;
   51567             :                     n->endOffset = NULL;
   51568             :                     (yyval.windef) = n;
   51569             :                 }
   51570             : #line 51571 "gram.c"
   51571         604 :     break;
   51572             : 
   51573         906 :   case 2248: /* frame_bound: a_expr PRECEDING  */
   51574             : #line 16594 "gram.y"
   51575             :                                 {
   51576             :                     WindowDef  *n = makeNode(WindowDef);
   51577             : 
   51578             :                     n->frameOptions = FRAMEOPTION_START_OFFSET_PRECEDING;
   51579             :                     n->startOffset = (yyvsp[-1].node);
   51580             :                     n->endOffset = NULL;
   51581             :                     (yyval.windef) = n;
   51582             :                 }
   51583             : #line 51584 "gram.c"
   51584         906 :     break;
   51585             : 
   51586        1152 :   case 2249: /* frame_bound: a_expr FOLLOWING  */
   51587             : #line 16603 "gram.y"
   51588             :                                 {
   51589             :                     WindowDef  *n = makeNode(WindowDef);
   51590             : 
   51591             :                     n->frameOptions = FRAMEOPTION_START_OFFSET_FOLLOWING;
   51592             :                     n->startOffset = (yyvsp[-1].node);
   51593             :                     n->endOffset = NULL;
   51594             :                     (yyval.windef) = n;
   51595             :                 }
   51596             : #line 51597 "gram.c"
   51597        1152 :     break;
   51598             : 
   51599          84 :   case 2250: /* opt_window_exclusion_clause: EXCLUDE CURRENT_P ROW  */
   51600             : #line 16614 "gram.y"
   51601             :                                                 { (yyval.ival) = FRAMEOPTION_EXCLUDE_CURRENT_ROW; }
   51602             : #line 51603 "gram.c"
   51603          84 :     break;
   51604             : 
   51605          96 :   case 2251: /* opt_window_exclusion_clause: EXCLUDE GROUP_P  */
   51606             : #line 16615 "gram.y"
   51607             :                                                         { (yyval.ival) = FRAMEOPTION_EXCLUDE_GROUP; }
   51608             : #line 51609 "gram.c"
   51609          96 :     break;
   51610             : 
   51611         150 :   case 2252: /* opt_window_exclusion_clause: EXCLUDE TIES  */
   51612             : #line 16616 "gram.y"
   51613             :                                                         { (yyval.ival) = FRAMEOPTION_EXCLUDE_TIES; }
   51614             : #line 51615 "gram.c"
   51615         150 :     break;
   51616             : 
   51617          18 :   case 2253: /* opt_window_exclusion_clause: EXCLUDE NO OTHERS  */
   51618             : #line 16617 "gram.y"
   51619             :                                                         { (yyval.ival) = 0; }
   51620             : #line 51621 "gram.c"
   51621          18 :     break;
   51622             : 
   51623        1276 :   case 2254: /* opt_window_exclusion_clause: %empty  */
   51624             : #line 16618 "gram.y"
   51625             :                                                                 { (yyval.ival) = 0; }
   51626             : #line 51627 "gram.c"
   51627        1276 :     break;
   51628             : 
   51629           0 :   case 2255: /* row: ROW '(' expr_list ')'  */
   51630             : #line 16632 "gram.y"
   51631             :                                                                         { (yyval.list) = (yyvsp[-1].list); }
   51632             : #line 51633 "gram.c"
   51633           0 :     break;
   51634             : 
   51635           0 :   case 2256: /* row: ROW '(' ')'  */
   51636             : #line 16633 "gram.y"
   51637             :                                                                                         { (yyval.list) = NIL; }
   51638             : #line 51639 "gram.c"
   51639           0 :     break;
   51640             : 
   51641        1896 :   case 2257: /* row: '(' expr_list ',' a_expr ')'  */
   51642             : #line 16634 "gram.y"
   51643             :                                                                         { (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
   51644             : #line 51645 "gram.c"
   51645        1896 :     break;
   51646             : 
   51647        3774 :   case 2258: /* explicit_row: ROW '(' expr_list ')'  */
   51648             : #line 16637 "gram.y"
   51649             :                                                                 { (yyval.list) = (yyvsp[-1].list); }
   51650             : #line 51651 "gram.c"
   51651        3774 :     break;
   51652             : 
   51653          30 :   case 2259: /* explicit_row: ROW '(' ')'  */
   51654             : #line 16638 "gram.y"
   51655             :                                                                                         { (yyval.list) = NIL; }
   51656             : #line 51657 "gram.c"
   51657          30 :     break;
   51658             : 
   51659        2532 :   case 2260: /* implicit_row: '(' expr_list ',' a_expr ')'  */
   51660             : #line 16641 "gram.y"
   51661             :                                                         { (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
   51662             : #line 51663 "gram.c"
   51663        2532 :     break;
   51664             : 
   51665       17214 :   case 2261: /* sub_type: ANY  */
   51666             : #line 16644 "gram.y"
   51667             :                                                                                                 { (yyval.ival) = ANY_SUBLINK; }
   51668             : #line 51669 "gram.c"
   51669       17214 :     break;
   51670             : 
   51671           0 :   case 2262: /* sub_type: SOME  */
   51672             : #line 16645 "gram.y"
   51673             :                                                                                                 { (yyval.ival) = ANY_SUBLINK; }
   51674             : #line 51675 "gram.c"
   51675           0 :     break;
   51676             : 
   51677         324 :   case 2263: /* sub_type: ALL  */
   51678             : #line 16646 "gram.y"
   51679             :                                                                                                 { (yyval.ival) = ALL_SUBLINK; }
   51680             : #line 51681 "gram.c"
   51681         324 :     break;
   51682             : 
   51683       11130 :   case 2264: /* all_Op: Op  */
   51684             : #line 16649 "gram.y"
   51685             :                                                                                                 { (yyval.str) = (yyvsp[0].str); }
   51686             : #line 51687 "gram.c"
   51687       11130 :     break;
   51688             : 
   51689       28378 :   case 2265: /* all_Op: MathOp  */
   51690             : #line 16650 "gram.y"
   51691             :                                                                                                 { (yyval.str) = (yyvsp[0].str); }
   51692             : #line 51693 "gram.c"
   51693       28378 :     break;
   51694             : 
   51695          40 :   case 2266: /* MathOp: '+'  */
   51696             : #line 16653 "gram.y"
   51697             :                                                                                         { (yyval.str) = "+"; }
   51698             : #line 51699 "gram.c"
   51699          40 :     break;
   51700             : 
   51701          64 :   case 2267: /* MathOp: '-'  */
   51702             : #line 16654 "gram.y"
   51703             :                                                                                                 { (yyval.str) = "-"; }
   51704             : #line 51705 "gram.c"
   51705          64 :     break;
   51706             : 
   51707         114 :   case 2268: /* MathOp: '*'  */
   51708             : #line 16655 "gram.y"
   51709             :                                                                                                 { (yyval.str) = "*"; }
   51710             : #line 51711 "gram.c"
   51711         114 :     break;
   51712             : 
   51713           0 :   case 2269: /* MathOp: '/'  */
   51714             : #line 16656 "gram.y"
   51715             :                                                                                                 { (yyval.str) = "/"; }
   51716             : #line 51717 "gram.c"
   51717           0 :     break;
   51718             : 
   51719           8 :   case 2270: /* MathOp: '%'  */
   51720             : #line 16657 "gram.y"
   51721             :                                                                                                 { (yyval.str) = "%"; }
   51722             : #line 51723 "gram.c"
   51723           8 :     break;
   51724             : 
   51725           0 :   case 2271: /* MathOp: '^'  */
   51726             : #line 16658 "gram.y"
   51727             :                                                                                                 { (yyval.str) = "^"; }
   51728             : #line 51729 "gram.c"
   51729           0 :     break;
   51730             : 
   51731         758 :   case 2272: /* MathOp: '<'  */
   51732             : #line 16659 "gram.y"
   51733             :                                                                                                 { (yyval.str) = "<"; }
   51734             : #line 51735 "gram.c"
   51735         758 :     break;
   51736             : 
   51737         648 :   case 2273: /* MathOp: '>'  */
   51738             : #line 16660 "gram.y"
   51739             :                                                                                                 { (yyval.str) = ">"; }
   51740             : #line 51741 "gram.c"
   51741         648 :     break;
   51742             : 
   51743       24790 :   case 2274: /* MathOp: '='  */
   51744             : #line 16661 "gram.y"
   51745             :                                                                                                 { (yyval.str) = "="; }
   51746             : #line 51747 "gram.c"
   51747       24790 :     break;
   51748             : 
   51749         618 :   case 2275: /* MathOp: LESS_EQUALS  */
   51750             : #line 16662 "gram.y"
   51751             :                                                                                         { (yyval.str) = "<="; }
   51752             : #line 51753 "gram.c"
   51753         618 :     break;
   51754             : 
   51755         610 :   case 2276: /* MathOp: GREATER_EQUALS  */
   51756             : #line 16663 "gram.y"
   51757             :                                                                                         { (yyval.str) = ">="; }
   51758             : #line 51759 "gram.c"
   51759         610 :     break;
   51760             : 
   51761         728 :   case 2277: /* MathOp: NOT_EQUALS  */
   51762             : #line 16664 "gram.y"
   51763             :                                                                                         { (yyval.str) = "<>"; }
   51764             : #line 51765 "gram.c"
   51765         728 :     break;
   51766             : 
   51767       43666 :   case 2278: /* qual_Op: Op  */
   51768             : #line 16668 "gram.y"
   51769             :                                         { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   51770             : #line 51771 "gram.c"
   51771       43666 :     break;
   51772             : 
   51773       15436 :   case 2279: /* qual_Op: OPERATOR '(' any_operator ')'  */
   51774             : #line 16670 "gram.y"
   51775             :                                         { (yyval.list) = (yyvsp[-1].list); }
   51776             : #line 51777 "gram.c"
   51777       15436 :     break;
   51778             : 
   51779        1416 :   case 2280: /* qual_all_Op: all_Op  */
   51780             : #line 16675 "gram.y"
   51781             :                                         { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   51782             : #line 51783 "gram.c"
   51783        1416 :     break;
   51784             : 
   51785          44 :   case 2281: /* qual_all_Op: OPERATOR '(' any_operator ')'  */
   51786             : #line 16677 "gram.y"
   51787             :                                         { (yyval.list) = (yyvsp[-1].list); }
   51788             : #line 51789 "gram.c"
   51789          44 :     break;
   51790             : 
   51791       17232 :   case 2282: /* subquery_Op: all_Op  */
   51792             : #line 16682 "gram.y"
   51793             :                                         { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   51794             : #line 51795 "gram.c"
   51795       17232 :     break;
   51796             : 
   51797         274 :   case 2283: /* subquery_Op: OPERATOR '(' any_operator ')'  */
   51798             : #line 16684 "gram.y"
   51799             :                                         { (yyval.list) = (yyvsp[-1].list); }
   51800             : #line 51801 "gram.c"
   51801         274 :     break;
   51802             : 
   51803          24 :   case 2284: /* subquery_Op: LIKE  */
   51804             : #line 16686 "gram.y"
   51805             :                                         { (yyval.list) = list_make1(makeString("~~")); }
   51806             : #line 51807 "gram.c"
   51807          24 :     break;
   51808             : 
   51809          12 :   case 2285: /* subquery_Op: NOT_LA LIKE  */
   51810             : #line 16688 "gram.y"
   51811             :                                         { (yyval.list) = list_make1(makeString("!~~")); }
   51812             : #line 51813 "gram.c"
   51813          12 :     break;
   51814             : 
   51815          12 :   case 2286: /* subquery_Op: ILIKE  */
   51816             : #line 16690 "gram.y"
   51817             :                                         { (yyval.list) = list_make1(makeString("~~*")); }
   51818             : #line 51819 "gram.c"
   51819          12 :     break;
   51820             : 
   51821           0 :   case 2287: /* subquery_Op: NOT_LA ILIKE  */
   51822             : #line 16692 "gram.y"
   51823             :                                         { (yyval.list) = list_make1(makeString("!~~*")); }
   51824             : #line 51825 "gram.c"
   51825           0 :     break;
   51826             : 
   51827      170984 :   case 2288: /* expr_list: a_expr  */
   51828             : #line 16704 "gram.y"
   51829             :                                 {
   51830             :                     (yyval.list) = list_make1((yyvsp[0].node));
   51831             :                 }
   51832             : #line 51833 "gram.c"
   51833      170984 :     break;
   51834             : 
   51835      151634 :   case 2289: /* expr_list: expr_list ',' a_expr  */
   51836             : #line 16708 "gram.y"
   51837             :                                 {
   51838             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
   51839             :                 }
   51840             : #line 51841 "gram.c"
   51841      151634 :     break;
   51842             : 
   51843      324996 :   case 2290: /* func_arg_list: func_arg_expr  */
   51844             : #line 16715 "gram.y"
   51845             :                                 {
   51846             :                     (yyval.list) = list_make1((yyvsp[0].node));
   51847             :                 }
   51848             : #line 51849 "gram.c"
   51849      324996 :     break;
   51850             : 
   51851      332756 :   case 2291: /* func_arg_list: func_arg_list ',' func_arg_expr  */
   51852             : #line 16719 "gram.y"
   51853             :                                 {
   51854             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
   51855             :                 }
   51856             : #line 51857 "gram.c"
   51857      332756 :     break;
   51858             : 
   51859      611092 :   case 2292: /* func_arg_expr: a_expr  */
   51860             : #line 16725 "gram.y"
   51861             :                                 {
   51862             :                     (yyval.node) = (yyvsp[0].node);
   51863             :                 }
   51864             : #line 51865 "gram.c"
   51865      611092 :     break;
   51866             : 
   51867       45782 :   case 2293: /* func_arg_expr: param_name COLON_EQUALS a_expr  */
   51868             : #line 16729 "gram.y"
   51869             :                                 {
   51870             :                     NamedArgExpr *na = makeNode(NamedArgExpr);
   51871             : 
   51872             :                     na->name = (yyvsp[-2].str);
   51873             :                     na->arg = (Expr *) (yyvsp[0].node);
   51874             :                     na->argnumber = -1;      /* until determined */
   51875             :                     na->location = (yylsp[-2]);
   51876             :                     (yyval.node) = (Node *) na;
   51877             :                 }
   51878             : #line 51879 "gram.c"
   51879       45782 :     break;
   51880             : 
   51881        1612 :   case 2294: /* func_arg_expr: param_name EQUALS_GREATER a_expr  */
   51882             : #line 16739 "gram.y"
   51883             :                                 {
   51884             :                     NamedArgExpr *na = makeNode(NamedArgExpr);
   51885             : 
   51886             :                     na->name = (yyvsp[-2].str);
   51887             :                     na->arg = (Expr *) (yyvsp[0].node);
   51888             :                     na->argnumber = -1;      /* until determined */
   51889             :                     na->location = (yylsp[-2]);
   51890             :                     (yyval.node) = (Node *) na;
   51891             :                 }
   51892             : #line 51893 "gram.c"
   51893        1612 :     break;
   51894             : 
   51895         206 :   case 2295: /* func_arg_list_opt: func_arg_list  */
   51896             : #line 16750 "gram.y"
   51897             :                                                                         { (yyval.list) = (yyvsp[0].list); }
   51898             : #line 51899 "gram.c"
   51899         206 :     break;
   51900             : 
   51901           0 :   case 2296: /* func_arg_list_opt: %empty  */
   51902             : #line 16751 "gram.y"
   51903             :                                                                                                 { (yyval.list) = NIL; }
   51904             : #line 51905 "gram.c"
   51905           0 :     break;
   51906             : 
   51907        2358 :   case 2297: /* type_list: Typename  */
   51908             : #line 16754 "gram.y"
   51909             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].typnam)); }
   51910             : #line 51911 "gram.c"
   51911        2358 :     break;
   51912             : 
   51913         756 :   case 2298: /* type_list: type_list ',' Typename  */
   51914             : #line 16755 "gram.y"
   51915             :                                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
   51916             : #line 51917 "gram.c"
   51917         756 :     break;
   51918             : 
   51919        7652 :   case 2299: /* array_expr: '[' expr_list ']'  */
   51920             : #line 16759 "gram.y"
   51921             :                                 {
   51922             :                     (yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
   51923             :                 }
   51924             : #line 51925 "gram.c"
   51925        7652 :     break;
   51926             : 
   51927         412 :   case 2300: /* array_expr: '[' array_expr_list ']'  */
   51928             : #line 16763 "gram.y"
   51929             :                                 {
   51930             :                     (yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
   51931             :                 }
   51932             : #line 51933 "gram.c"
   51933         412 :     break;
   51934             : 
   51935          88 :   case 2301: /* array_expr: '[' ']'  */
   51936             : #line 16767 "gram.y"
   51937             :                                 {
   51938             :                     (yyval.node) = makeAArrayExpr(NIL, (yylsp[-1]));
   51939             :                 }
   51940             : #line 51941 "gram.c"
   51941          88 :     break;
   51942             : 
   51943         412 :   case 2302: /* array_expr_list: array_expr  */
   51944             : #line 16772 "gram.y"
   51945             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   51946             : #line 51947 "gram.c"
   51947         412 :     break;
   51948             : 
   51949         342 :   case 2303: /* array_expr_list: array_expr_list ',' array_expr  */
   51950             : #line 16773 "gram.y"
   51951             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   51952             : #line 51953 "gram.c"
   51953         342 :     break;
   51954             : 
   51955        1374 :   case 2304: /* extract_list: extract_arg FROM a_expr  */
   51956             : #line 16779 "gram.y"
   51957             :                                 {
   51958             :                     (yyval.list) = list_make2(makeStringConst((yyvsp[-2].str), (yylsp[-2])), (yyvsp[0].node));
   51959             :                 }
   51960             : #line 51961 "gram.c"
   51961        1374 :     break;
   51962             : 
   51963        1116 :   case 2305: /* extract_arg: IDENT  */
   51964             : #line 16788 "gram.y"
   51965             :                                                                                                 { (yyval.str) = (yyvsp[0].str); }
   51966             : #line 51967 "gram.c"
   51967        1116 :     break;
   51968             : 
   51969          72 :   case 2306: /* extract_arg: YEAR_P  */
   51970             : #line 16789 "gram.y"
   51971             :                                                                                                 { (yyval.str) = "year"; }
   51972             : #line 51973 "gram.c"
   51973          72 :     break;
   51974             : 
   51975          42 :   case 2307: /* extract_arg: MONTH_P  */
   51976             : #line 16790 "gram.y"
   51977             :                                                                                                 { (yyval.str) = "month"; }
   51978             : #line 51979 "gram.c"
   51979          42 :     break;
   51980             : 
   51981          54 :   case 2308: /* extract_arg: DAY_P  */
   51982             : #line 16791 "gram.y"
   51983             :                                                                                                 { (yyval.str) = "day"; }
   51984             : #line 51985 "gram.c"
   51985          54 :     break;
   51986             : 
   51987          30 :   case 2309: /* extract_arg: HOUR_P  */
   51988             : #line 16792 "gram.y"
   51989             :                                                                                                 { (yyval.str) = "hour"; }
   51990             : #line 51991 "gram.c"
   51991          30 :     break;
   51992             : 
   51993          30 :   case 2310: /* extract_arg: MINUTE_P  */
   51994             : #line 16793 "gram.y"
   51995             :                                                                                                 { (yyval.str) = "minute"; }
   51996             : #line 51997 "gram.c"
   51997          30 :     break;
   51998             : 
   51999          30 :   case 2311: /* extract_arg: SECOND_P  */
   52000             : #line 16794 "gram.y"
   52001             :                                                                                                 { (yyval.str) = "second"; }
   52002             : #line 52003 "gram.c"
   52003          30 :     break;
   52004             : 
   52005           0 :   case 2312: /* extract_arg: Sconst  */
   52006             : #line 16795 "gram.y"
   52007             :                                                                                                 { (yyval.str) = (yyvsp[0].str); }
   52008             : #line 52009 "gram.c"
   52009           0 :     break;
   52010             : 
   52011          24 :   case 2313: /* unicode_normal_form: NFC  */
   52012             : #line 16799 "gram.y"
   52013             :                                                                                                         { (yyval.str) = "NFC"; }
   52014             : #line 52015 "gram.c"
   52015          24 :     break;
   52016             : 
   52017          18 :   case 2314: /* unicode_normal_form: NFD  */
   52018             : #line 16800 "gram.y"
   52019             :                                                                                                 { (yyval.str) = "NFD"; }
   52020             : #line 52021 "gram.c"
   52021          18 :     break;
   52022             : 
   52023          18 :   case 2315: /* unicode_normal_form: NFKC  */
   52024             : #line 16801 "gram.y"
   52025             :                                                                                                 { (yyval.str) = "NFKC"; }
   52026             : #line 52027 "gram.c"
   52027          18 :     break;
   52028             : 
   52029          18 :   case 2316: /* unicode_normal_form: NFKD  */
   52030             : #line 16802 "gram.y"
   52031             :                                                                                                 { (yyval.str) = "NFKD"; }
   52032             : #line 52033 "gram.c"
   52033          18 :     break;
   52034             : 
   52035          34 :   case 2317: /* overlay_list: a_expr PLACING a_expr FROM a_expr FOR a_expr  */
   52036             : #line 16808 "gram.y"
   52037             :                                 {
   52038             :                     /* overlay(A PLACING B FROM C FOR D) is converted to overlay(A, B, C, D) */
   52039             :                     (yyval.list) = list_make4((yyvsp[-6].node), (yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node));
   52040             :                 }
   52041             : #line 52042 "gram.c"
   52042          34 :     break;
   52043             : 
   52044          48 :   case 2318: /* overlay_list: a_expr PLACING a_expr FROM a_expr  */
   52045             : #line 16813 "gram.y"
   52046             :                                 {
   52047             :                     /* overlay(A PLACING B FROM C) is converted to overlay(A, B, C) */
   52048             :                     (yyval.list) = list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node));
   52049             :                 }
   52050             : #line 52051 "gram.c"
   52051          48 :     break;
   52052             : 
   52053         398 :   case 2319: /* position_list: b_expr IN_P b_expr  */
   52054             : #line 16821 "gram.y"
   52055             :                                                                                         { (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-2].node)); }
   52056             : #line 52057 "gram.c"
   52057         398 :     break;
   52058             : 
   52059         122 :   case 2320: /* substr_list: a_expr FROM a_expr FOR a_expr  */
   52060             : #line 16843 "gram.y"
   52061             :                                 {
   52062             :                     (yyval.list) = list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node));
   52063             :                 }
   52064             : #line 52065 "gram.c"
   52065         122 :     break;
   52066             : 
   52067           0 :   case 2321: /* substr_list: a_expr FOR a_expr FROM a_expr  */
   52068             : #line 16847 "gram.y"
   52069             :                                 {
   52070             :                     /* not legal per SQL, but might as well allow it */
   52071             :                     (yyval.list) = list_make3((yyvsp[-4].node), (yyvsp[0].node), (yyvsp[-2].node));
   52072             :                 }
   52073             : #line 52074 "gram.c"
   52074           0 :     break;
   52075             : 
   52076         364 :   case 2322: /* substr_list: a_expr FROM a_expr  */
   52077             : #line 16852 "gram.y"
   52078             :                                 {
   52079             :                     /*
   52080             :                      * Because we aren't restricting data types here, this
   52081             :                      * syntax can end up resolving to textregexsubstr().
   52082             :                      * We've historically allowed that to happen, so continue
   52083             :                      * to accept it.  However, ruleutils.c will reverse-list
   52084             :                      * such a call in regular function call syntax.
   52085             :                      */
   52086             :                     (yyval.list) = list_make2((yyvsp[-2].node), (yyvsp[0].node));
   52087             :                 }
   52088             : #line 52089 "gram.c"
   52089         364 :     break;
   52090             : 
   52091          36 :   case 2323: /* substr_list: a_expr FOR a_expr  */
   52092             : #line 16863 "gram.y"
   52093             :                                 {
   52094             :                     /* not legal per SQL */
   52095             : 
   52096             :                     /*
   52097             :                      * Since there are no cases where this syntax allows
   52098             :                      * a textual FOR value, we forcibly cast the argument
   52099             :                      * to int4.  The possible matches in pg_proc are
   52100             :                      * substring(text,int4) and substring(text,text),
   52101             :                      * and we don't want the parser to choose the latter,
   52102             :                      * which it is likely to do if the second argument
   52103             :                      * is unknown or doesn't have an implicit cast to int4.
   52104             :                      */
   52105             :                     (yyval.list) = list_make3((yyvsp[-2].node), makeIntConst(1, -1),
   52106             :                                     makeTypeCast((yyvsp[0].node),
   52107             :                                                  SystemTypeName("int4"), -1));
   52108             :                 }
   52109             : #line 52110 "gram.c"
   52110          36 :     break;
   52111             : 
   52112         180 :   case 2324: /* substr_list: a_expr SIMILAR a_expr ESCAPE a_expr  */
   52113             : #line 16880 "gram.y"
   52114             :                                 {
   52115             :                     (yyval.list) = list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node));
   52116             :                 }
   52117             : #line 52118 "gram.c"
   52118         180 :     break;
   52119             : 
   52120         596 :   case 2325: /* trim_list: a_expr FROM expr_list  */
   52121             : #line 16885 "gram.y"
   52122             :                                                                         { (yyval.list) = lappend((yyvsp[0].list), (yyvsp[-2].node)); }
   52123             : #line 52124 "gram.c"
   52124         596 :     break;
   52125             : 
   52126          24 :   case 2326: /* trim_list: FROM expr_list  */
   52127             : #line 16886 "gram.y"
   52128             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   52129             : #line 52130 "gram.c"
   52130          24 :     break;
   52131             : 
   52132          86 :   case 2327: /* trim_list: expr_list  */
   52133             : #line 16887 "gram.y"
   52134             :                                                                                                 { (yyval.list) = (yyvsp[0].list); }
   52135             : #line 52136 "gram.c"
   52136          86 :     break;
   52137             : 
   52138        5514 :   case 2328: /* in_expr: select_with_parens  */
   52139             : #line 16891 "gram.y"
   52140             :                                 {
   52141             :                     SubLink    *n = makeNode(SubLink);
   52142             : 
   52143             :                     n->subselect = (yyvsp[0].node);
   52144             :                     /* other fields will be filled later */
   52145             :                     (yyval.node) = (Node *) n;
   52146             :                 }
   52147             : #line 52148 "gram.c"
   52148        5514 :     break;
   52149             : 
   52150       21632 :   case 2329: /* in_expr: '(' expr_list ')'  */
   52151             : #line 16898 "gram.y"
   52152             :                                                                                         { (yyval.node) = (Node *) (yyvsp[-1].list); }
   52153             : #line 52154 "gram.c"
   52154       21632 :     break;
   52155             : 
   52156       39560 :   case 2330: /* case_expr: CASE case_arg when_clause_list case_default END_P  */
   52157             : #line 16909 "gram.y"
   52158             :                                 {
   52159             :                     CaseExpr   *c = makeNode(CaseExpr);
   52160             : 
   52161             :                     c->casetype = InvalidOid; /* not analyzed yet */
   52162             :                     c->arg = (Expr *) (yyvsp[-3].node);
   52163             :                     c->args = (yyvsp[-2].list);
   52164             :                     c->defresult = (Expr *) (yyvsp[-1].node);
   52165             :                     c->location = (yylsp[-4]);
   52166             :                     (yyval.node) = (Node *) c;
   52167             :                 }
   52168             : #line 52169 "gram.c"
   52169       39560 :     break;
   52170             : 
   52171       39560 :   case 2331: /* when_clause_list: when_clause  */
   52172             : #line 16923 "gram.y"
   52173             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   52174             : #line 52175 "gram.c"
   52175       39560 :     break;
   52176             : 
   52177       28722 :   case 2332: /* when_clause_list: when_clause_list when_clause  */
   52178             : #line 16924 "gram.y"
   52179             :                                                                         { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
   52180             : #line 52181 "gram.c"
   52181       28722 :     break;
   52182             : 
   52183       68282 :   case 2333: /* when_clause: WHEN a_expr THEN a_expr  */
   52184             : #line 16929 "gram.y"
   52185             :                                 {
   52186             :                     CaseWhen   *w = makeNode(CaseWhen);
   52187             : 
   52188             :                     w->expr = (Expr *) (yyvsp[-2].node);
   52189             :                     w->result = (Expr *) (yyvsp[0].node);
   52190             :                     w->location = (yylsp[-3]);
   52191             :                     (yyval.node) = (Node *) w;
   52192             :                 }
   52193             : #line 52194 "gram.c"
   52194       68282 :     break;
   52195             : 
   52196       30060 :   case 2334: /* case_default: ELSE a_expr  */
   52197             : #line 16940 "gram.y"
   52198             :                                                                                                 { (yyval.node) = (yyvsp[0].node); }
   52199             : #line 52200 "gram.c"
   52200       30060 :     break;
   52201             : 
   52202        9500 :   case 2335: /* case_default: %empty  */
   52203             : #line 16941 "gram.y"
   52204             :                                                                                                 { (yyval.node) = NULL; }
   52205             : #line 52206 "gram.c"
   52206        9500 :     break;
   52207             : 
   52208        6610 :   case 2336: /* case_arg: a_expr  */
   52209             : #line 16944 "gram.y"
   52210             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   52211             : #line 52212 "gram.c"
   52212        6610 :     break;
   52213             : 
   52214       32950 :   case 2337: /* case_arg: %empty  */
   52215             : #line 16945 "gram.y"
   52216             :                                                                                                 { (yyval.node) = NULL; }
   52217             : #line 52218 "gram.c"
   52218       32950 :     break;
   52219             : 
   52220      776066 :   case 2338: /* columnref: ColId  */
   52221             : #line 16949 "gram.y"
   52222             :                                 {
   52223             :                     (yyval.node) = makeColumnRef((yyvsp[0].str), NIL, (yylsp[0]), yyscanner);
   52224             :                 }
   52225             : #line 52226 "gram.c"
   52226      776066 :     break;
   52227             : 
   52228     1085844 :   case 2339: /* columnref: ColId indirection  */
   52229             : #line 16953 "gram.y"
   52230             :                                 {
   52231             :                     (yyval.node) = makeColumnRef((yyvsp[-1].str), (yyvsp[0].list), (yylsp[-1]), yyscanner);
   52232             :                 }
   52233             : #line 52234 "gram.c"
   52234     1085844 :     break;
   52235             : 
   52236     1488436 :   case 2340: /* indirection_el: '.' attr_name  */
   52237             : #line 16960 "gram.y"
   52238             :                                 {
   52239             :                     (yyval.node) = (Node *) makeString((yyvsp[0].str));
   52240             :                 }
   52241             : #line 52242 "gram.c"
   52242     1488436 :     break;
   52243             : 
   52244        6884 :   case 2341: /* indirection_el: '.' '*'  */
   52245             : #line 16964 "gram.y"
   52246             :                                 {
   52247             :                     (yyval.node) = (Node *) makeNode(A_Star);
   52248             :                 }
   52249             : #line 52250 "gram.c"
   52250        6884 :     break;
   52251             : 
   52252       13050 :   case 2342: /* indirection_el: '[' a_expr ']'  */
   52253             : #line 16968 "gram.y"
   52254             :                                 {
   52255             :                     A_Indices *ai = makeNode(A_Indices);
   52256             : 
   52257             :                     ai->is_slice = false;
   52258             :                     ai->lidx = NULL;
   52259             :                     ai->uidx = (yyvsp[-1].node);
   52260             :                     (yyval.node) = (Node *) ai;
   52261             :                 }
   52262             : #line 52263 "gram.c"
   52263       13050 :     break;
   52264             : 
   52265         588 :   case 2343: /* indirection_el: '[' opt_slice_bound ':' opt_slice_bound ']'  */
   52266             : #line 16977 "gram.y"
   52267             :                                 {
   52268             :                     A_Indices *ai = makeNode(A_Indices);
   52269             : 
   52270             :                     ai->is_slice = true;
   52271             :                     ai->lidx = (yyvsp[-3].node);
   52272             :                     ai->uidx = (yyvsp[-1].node);
   52273             :                     (yyval.node) = (Node *) ai;
   52274             :                 }
   52275             : #line 52276 "gram.c"
   52276         588 :     break;
   52277             : 
   52278         996 :   case 2344: /* opt_slice_bound: a_expr  */
   52279             : #line 16988 "gram.y"
   52280             :                                                                                                 { (yyval.node) = (yyvsp[0].node); }
   52281             : #line 52282 "gram.c"
   52282         996 :     break;
   52283             : 
   52284         180 :   case 2345: /* opt_slice_bound: %empty  */
   52285             : #line 16989 "gram.y"
   52286             :                                                                                                 { (yyval.node) = NULL; }
   52287             : #line 52288 "gram.c"
   52288         180 :     break;
   52289             : 
   52290     1488804 :   case 2346: /* indirection: indirection_el  */
   52291             : #line 16993 "gram.y"
   52292             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   52293             : #line 52294 "gram.c"
   52294     1488804 :     break;
   52295             : 
   52296        3082 :   case 2347: /* indirection: indirection indirection_el  */
   52297             : #line 16994 "gram.y"
   52298             :                                                                         { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
   52299             : #line 52300 "gram.c"
   52300        3082 :     break;
   52301             : 
   52302      196950 :   case 2348: /* opt_indirection: %empty  */
   52303             : #line 16998 "gram.y"
   52304             :                                                                                                 { (yyval.list) = NIL; }
   52305             : #line 52306 "gram.c"
   52306      196950 :     break;
   52307             : 
   52308       17072 :   case 2349: /* opt_indirection: opt_indirection indirection_el  */
   52309             : #line 16999 "gram.y"
   52310             :                                                                         { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
   52311             : #line 52312 "gram.c"
   52312       17072 :     break;
   52313             : 
   52314         336 :   case 2352: /* json_passing_clause_opt: PASSING json_arguments  */
   52315             : #line 17008 "gram.y"
   52316             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   52317             : #line 52318 "gram.c"
   52318         336 :     break;
   52319             : 
   52320        1934 :   case 2353: /* json_passing_clause_opt: %empty  */
   52321             : #line 17009 "gram.y"
   52322             :                                                                                                 { (yyval.list) = NIL; }
   52323             : #line 52324 "gram.c"
   52324        1934 :     break;
   52325             : 
   52326         336 :   case 2354: /* json_arguments: json_argument  */
   52327             : #line 17013 "gram.y"
   52328             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   52329             : #line 52330 "gram.c"
   52330         336 :     break;
   52331             : 
   52332         126 :   case 2355: /* json_arguments: json_arguments ',' json_argument  */
   52333             : #line 17014 "gram.y"
   52334             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   52335             : #line 52336 "gram.c"
   52336         126 :     break;
   52337             : 
   52338         462 :   case 2356: /* json_argument: json_value_expr AS ColLabel  */
   52339             : #line 17019 "gram.y"
   52340             :                         {
   52341             :                 JsonArgument *n = makeNode(JsonArgument);
   52342             : 
   52343             :                 n->val = (JsonValueExpr *) (yyvsp[-2].node);
   52344             :                 n->name = (yyvsp[0].str);
   52345             :                 (yyval.node) = (Node *) n;
   52346             :             }
   52347             : #line 52348 "gram.c"
   52348         462 :     break;
   52349             : 
   52350          42 :   case 2357: /* json_wrapper_behavior: WITHOUT WRAPPER  */
   52351             : #line 17030 "gram.y"
   52352             :                                                                                 { (yyval.ival) = JSW_NONE; }
   52353             : #line 52354 "gram.c"
   52354          42 :     break;
   52355             : 
   52356           0 :   case 2358: /* json_wrapper_behavior: WITHOUT ARRAY WRAPPER  */
   52357             : #line 17031 "gram.y"
   52358             :                                                                         { (yyval.ival) = JSW_NONE; }
   52359             : #line 52360 "gram.c"
   52360           0 :     break;
   52361             : 
   52362          78 :   case 2359: /* json_wrapper_behavior: WITH WRAPPER  */
   52363             : #line 17032 "gram.y"
   52364             :                                                                                 { (yyval.ival) = JSW_UNCONDITIONAL; }
   52365             : #line 52366 "gram.c"
   52366          78 :     break;
   52367             : 
   52368          12 :   case 2360: /* json_wrapper_behavior: WITH ARRAY WRAPPER  */
   52369             : #line 17033 "gram.y"
   52370             :                                                                         { (yyval.ival) = JSW_UNCONDITIONAL; }
   52371             : #line 52372 "gram.c"
   52372          12 :     break;
   52373             : 
   52374           0 :   case 2361: /* json_wrapper_behavior: WITH CONDITIONAL ARRAY WRAPPER  */
   52375             : #line 17034 "gram.y"
   52376             :                                                                 { (yyval.ival) = JSW_CONDITIONAL; }
   52377             : #line 52378 "gram.c"
   52378           0 :     break;
   52379             : 
   52380          12 :   case 2362: /* json_wrapper_behavior: WITH UNCONDITIONAL ARRAY WRAPPER  */
   52381             : #line 17035 "gram.y"
   52382             :                                                                 { (yyval.ival) = JSW_UNCONDITIONAL; }
   52383             : #line 52384 "gram.c"
   52384          12 :     break;
   52385             : 
   52386          36 :   case 2363: /* json_wrapper_behavior: WITH CONDITIONAL WRAPPER  */
   52387             : #line 17036 "gram.y"
   52388             :                                                                         { (yyval.ival) = JSW_CONDITIONAL; }
   52389             : #line 52390 "gram.c"
   52390          36 :     break;
   52391             : 
   52392           6 :   case 2364: /* json_wrapper_behavior: WITH UNCONDITIONAL WRAPPER  */
   52393             : #line 17037 "gram.y"
   52394             :                                                                 { (yyval.ival) = JSW_UNCONDITIONAL; }
   52395             : #line 52396 "gram.c"
   52396           6 :     break;
   52397             : 
   52398        1634 :   case 2365: /* json_wrapper_behavior: %empty  */
   52399             : #line 17038 "gram.y"
   52400             :                                                                                 { (yyval.ival) = JSW_UNSPEC; }
   52401             : #line 52402 "gram.c"
   52402        1634 :     break;
   52403             : 
   52404         384 :   case 2366: /* json_behavior: DEFAULT a_expr  */
   52405             : #line 17043 "gram.y"
   52406             :                                 { (yyval.node) = (Node *) makeJsonBehavior(JSON_BEHAVIOR_DEFAULT, (yyvsp[0].node), (yylsp[-1])); }
   52407             : #line 52408 "gram.c"
   52408         384 :     break;
   52409             : 
   52410         702 :   case 2367: /* json_behavior: json_behavior_type  */
   52411             : #line 17045 "gram.y"
   52412             :                                 { (yyval.node) = (Node *) makeJsonBehavior((yyvsp[0].ival), NULL, (yylsp[0])); }
   52413             : #line 52414 "gram.c"
   52414         702 :     break;
   52415             : 
   52416         492 :   case 2368: /* json_behavior_type: ERROR_P  */
   52417             : #line 17049 "gram.y"
   52418             :                                         { (yyval.ival) = JSON_BEHAVIOR_ERROR; }
   52419             : #line 52420 "gram.c"
   52420         492 :     break;
   52421             : 
   52422          30 :   case 2369: /* json_behavior_type: NULL_P  */
   52423             : #line 17050 "gram.y"
   52424             :                                         { (yyval.ival) = JSON_BEHAVIOR_NULL; }
   52425             : #line 52426 "gram.c"
   52426          30 :     break;
   52427             : 
   52428          30 :   case 2370: /* json_behavior_type: TRUE_P  */
   52429             : #line 17051 "gram.y"
   52430             :                                         { (yyval.ival) = JSON_BEHAVIOR_TRUE; }
   52431             : #line 52432 "gram.c"
   52432          30 :     break;
   52433             : 
   52434          12 :   case 2371: /* json_behavior_type: FALSE_P  */
   52435             : #line 17052 "gram.y"
   52436             :                                         { (yyval.ival) = JSON_BEHAVIOR_FALSE; }
   52437             : #line 52438 "gram.c"
   52438          12 :     break;
   52439             : 
   52440          12 :   case 2372: /* json_behavior_type: UNKNOWN  */
   52441             : #line 17053 "gram.y"
   52442             :                                         { (yyval.ival) = JSON_BEHAVIOR_UNKNOWN; }
   52443             : #line 52444 "gram.c"
   52444          12 :     break;
   52445             : 
   52446          30 :   case 2373: /* json_behavior_type: EMPTY_P ARRAY  */
   52447             : #line 17054 "gram.y"
   52448             :                                         { (yyval.ival) = JSON_BEHAVIOR_EMPTY_ARRAY; }
   52449             : #line 52450 "gram.c"
   52450          30 :     break;
   52451             : 
   52452          72 :   case 2374: /* json_behavior_type: EMPTY_P OBJECT_P  */
   52453             : #line 17055 "gram.y"
   52454             :                                                 { (yyval.ival) = JSON_BEHAVIOR_EMPTY_OBJECT; }
   52455             : #line 52456 "gram.c"
   52456          72 :     break;
   52457             : 
   52458          24 :   case 2375: /* json_behavior_type: EMPTY_P  */
   52459             : #line 17057 "gram.y"
   52460             :                                         { (yyval.ival) = JSON_BEHAVIOR_EMPTY_ARRAY; }
   52461             : #line 52462 "gram.c"
   52462          24 :     break;
   52463             : 
   52464         174 :   case 2376: /* json_behavior_clause_opt: json_behavior ON EMPTY_P  */
   52465             : #line 17062 "gram.y"
   52466             :                                 { (yyval.list) = list_make2((yyvsp[-2].node), NULL); }
   52467             : #line 52468 "gram.c"
   52468         174 :     break;
   52469             : 
   52470         552 :   case 2377: /* json_behavior_clause_opt: json_behavior ON ERROR_P  */
   52471             : #line 17064 "gram.y"
   52472             :                                 { (yyval.list) = list_make2(NULL, (yyvsp[-2].node)); }
   52473             : #line 52474 "gram.c"
   52474         552 :     break;
   52475             : 
   52476         102 :   case 2378: /* json_behavior_clause_opt: json_behavior ON EMPTY_P json_behavior ON ERROR_P  */
   52477             : #line 17066 "gram.y"
   52478             :                                 { (yyval.list) = list_make2((yyvsp[-5].node), (yyvsp[-2].node)); }
   52479             : #line 52480 "gram.c"
   52480         102 :     break;
   52481             : 
   52482        1568 :   case 2379: /* json_behavior_clause_opt: %empty  */
   52483             : #line 17068 "gram.y"
   52484             :                                 { (yyval.list) = list_make2(NULL, NULL); }
   52485             : #line 52486 "gram.c"
   52486        1568 :     break;
   52487             : 
   52488         150 :   case 2380: /* json_on_error_clause_opt: json_behavior ON ERROR_P  */
   52489             : #line 17073 "gram.y"
   52490             :                                 { (yyval.node) = (yyvsp[-2].node); }
   52491             : #line 52492 "gram.c"
   52492         150 :     break;
   52493             : 
   52494         686 :   case 2381: /* json_on_error_clause_opt: %empty  */
   52495             : #line 17075 "gram.y"
   52496             :                                 { (yyval.node) = NULL; }
   52497             : #line 52498 "gram.c"
   52498         686 :     break;
   52499             : 
   52500        4202 :   case 2382: /* json_value_expr: a_expr json_format_clause_opt  */
   52501             : #line 17080 "gram.y"
   52502             :                         {
   52503             :                 /* formatted_expr will be set during parse-analysis. */
   52504             :                 (yyval.node) = (Node *) makeJsonValueExpr((Expr *) (yyvsp[-1].node), NULL,
   52505             :                                                 castNode(JsonFormat, (yyvsp[0].node)));
   52506             :             }
   52507             : #line 52508 "gram.c"
   52508        4202 :     break;
   52509             : 
   52510         100 :   case 2383: /* json_format_clause: FORMAT_LA JSON ENCODING name  */
   52511             : #line 17089 "gram.y"
   52512             :                                 {
   52513             :                     int     encoding;
   52514             : 
   52515             :                     if (!pg_strcasecmp((yyvsp[0].str), "utf8"))
   52516             :                         encoding = JS_ENC_UTF8;
   52517             :                     else if (!pg_strcasecmp((yyvsp[0].str), "utf16"))
   52518             :                         encoding = JS_ENC_UTF16;
   52519             :                     else if (!pg_strcasecmp((yyvsp[0].str), "utf32"))
   52520             :                         encoding = JS_ENC_UTF32;
   52521             :                     else
   52522             :                         ereport(ERROR,
   52523             :                                 (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
   52524             :                                  errmsg("unrecognized JSON encoding: %s", (yyvsp[0].str)),
   52525             :                                  parser_errposition((yylsp[0]))));
   52526             : 
   52527             :                     (yyval.node) = (Node *) makeJsonFormat(JS_FORMAT_JSON, encoding, (yylsp[-3]));
   52528             :                 }
   52529             : #line 52530 "gram.c"
   52530          88 :     break;
   52531             : 
   52532         412 :   case 2384: /* json_format_clause: FORMAT_LA JSON  */
   52533             : #line 17107 "gram.y"
   52534             :                                 {
   52535             :                     (yyval.node) = (Node *) makeJsonFormat(JS_FORMAT_JSON, JS_ENC_DEFAULT, (yylsp[-1]));
   52536             :                 }
   52537             : #line 52538 "gram.c"
   52538         412 :     break;
   52539             : 
   52540         392 :   case 2385: /* json_format_clause_opt: json_format_clause  */
   52541             : #line 17114 "gram.y"
   52542             :                                 {
   52543             :                     (yyval.node) = (yyvsp[0].node);
   52544             :                 }
   52545             : #line 52546 "gram.c"
   52546         392 :     break;
   52547             : 
   52548        5314 :   case 2386: /* json_format_clause_opt: %empty  */
   52549             : #line 17118 "gram.y"
   52550             :                                 {
   52551             :                     (yyval.node) = (Node *) makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1);
   52552             :                 }
   52553             : #line 52554 "gram.c"
   52554        5314 :     break;
   52555             : 
   52556          12 :   case 2387: /* json_quotes_clause_opt: KEEP QUOTES ON SCALAR STRING_P  */
   52557             : #line 17124 "gram.y"
   52558             :                                                                 { (yyval.ival) = JS_QUOTES_KEEP; }
   52559             : #line 52560 "gram.c"
   52560          12 :     break;
   52561             : 
   52562          90 :   case 2388: /* json_quotes_clause_opt: KEEP QUOTES  */
   52563             : #line 17125 "gram.y"
   52564             :                                                                                 { (yyval.ival) = JS_QUOTES_KEEP; }
   52565             : #line 52566 "gram.c"
   52566          90 :     break;
   52567             : 
   52568          12 :   case 2389: /* json_quotes_clause_opt: OMIT QUOTES ON SCALAR STRING_P  */
   52569             : #line 17126 "gram.y"
   52570             :                                                                 { (yyval.ival) = JS_QUOTES_OMIT; }
   52571             : #line 52572 "gram.c"
   52572          12 :     break;
   52573             : 
   52574         168 :   case 2390: /* json_quotes_clause_opt: OMIT QUOTES  */
   52575             : #line 17127 "gram.y"
   52576             :                                                                                 { (yyval.ival) = JS_QUOTES_OMIT; }
   52577             : #line 52578 "gram.c"
   52578         168 :     break;
   52579             : 
   52580        1538 :   case 2391: /* json_quotes_clause_opt: %empty  */
   52581             : #line 17128 "gram.y"
   52582             :                                                                                 { (yyval.ival) = JS_QUOTES_UNSPEC; }
   52583             : #line 52584 "gram.c"
   52584        1538 :     break;
   52585             : 
   52586        1444 :   case 2392: /* json_returning_clause_opt: RETURNING Typename json_format_clause_opt  */
   52587             : #line 17133 "gram.y"
   52588             :                                 {
   52589             :                     JsonOutput *n = makeNode(JsonOutput);
   52590             : 
   52591             :                     n->typeName = (yyvsp[-1].typnam);
   52592             :                     n->returning = makeNode(JsonReturning);
   52593             :                     n->returning->format = (JsonFormat *) (yyvsp[0].node);
   52594             :                     (yyval.node) = (Node *) n;
   52595             :                 }
   52596             : #line 52597 "gram.c"
   52597        1444 :     break;
   52598             : 
   52599        1278 :   case 2393: /* json_returning_clause_opt: %empty  */
   52600             : #line 17141 "gram.y"
   52601             :                                                                                         { (yyval.node) = NULL; }
   52602             : #line 52603 "gram.c"
   52603        1278 :     break;
   52604             : 
   52605         202 :   case 2394: /* json_predicate_type_constraint: JSON  */
   52606             : #line 17155 "gram.y"
   52607             :                                                                                 { (yyval.ival) = JS_TYPE_ANY; }
   52608             : #line 52609 "gram.c"
   52609         202 :     break;
   52610             : 
   52611          28 :   case 2395: /* json_predicate_type_constraint: JSON VALUE_P  */
   52612             : #line 17156 "gram.y"
   52613             :                                                                                         { (yyval.ival) = JS_TYPE_ANY; }
   52614             : #line 52615 "gram.c"
   52615          28 :     break;
   52616             : 
   52617          40 :   case 2396: /* json_predicate_type_constraint: JSON ARRAY  */
   52618             : #line 17157 "gram.y"
   52619             :                                                                                         { (yyval.ival) = JS_TYPE_ARRAY; }
   52620             : #line 52621 "gram.c"
   52621          40 :     break;
   52622             : 
   52623          40 :   case 2397: /* json_predicate_type_constraint: JSON OBJECT_P  */
   52624             : #line 17158 "gram.y"
   52625             :                                                                                         { (yyval.ival) = JS_TYPE_OBJECT; }
   52626             : #line 52627 "gram.c"
   52627          40 :     break;
   52628             : 
   52629          40 :   case 2398: /* json_predicate_type_constraint: JSON SCALAR  */
   52630             : #line 17159 "gram.y"
   52631             :                                                                                         { (yyval.ival) = JS_TYPE_SCALAR; }
   52632             : #line 52633 "gram.c"
   52633          40 :     break;
   52634             : 
   52635         108 :   case 2399: /* json_key_uniqueness_constraint_opt: WITH UNIQUE KEYS  */
   52636             : #line 17168 "gram.y"
   52637             :                                                                                                 { (yyval.boolean) = true; }
   52638             : #line 52639 "gram.c"
   52639         108 :     break;
   52640             : 
   52641         100 :   case 2400: /* json_key_uniqueness_constraint_opt: WITH UNIQUE  */
   52642             : #line 17169 "gram.y"
   52643             :                                                                                 { (yyval.boolean) = true; }
   52644             : #line 52645 "gram.c"
   52645         100 :     break;
   52646             : 
   52647          44 :   case 2401: /* json_key_uniqueness_constraint_opt: WITHOUT UNIQUE KEYS  */
   52648             : #line 17170 "gram.y"
   52649             :                                                                                         { (yyval.boolean) = false; }
   52650             : #line 52651 "gram.c"
   52651          44 :     break;
   52652             : 
   52653          16 :   case 2402: /* json_key_uniqueness_constraint_opt: WITHOUT UNIQUE  */
   52654             : #line 17171 "gram.y"
   52655             :                                                                                 { (yyval.boolean) = false; }
   52656             : #line 52657 "gram.c"
   52657          16 :     break;
   52658             : 
   52659         798 :   case 2403: /* json_key_uniqueness_constraint_opt: %empty  */
   52660             : #line 17172 "gram.y"
   52661             :                                                                                 { (yyval.boolean) = false; }
   52662             : #line 52663 "gram.c"
   52663         798 :     break;
   52664             : 
   52665         348 :   case 2404: /* json_name_and_value_list: json_name_and_value  */
   52666             : #line 17177 "gram.y"
   52667             :                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   52668             : #line 52669 "gram.c"
   52669         348 :     break;
   52670             : 
   52671         256 :   case 2405: /* json_name_and_value_list: json_name_and_value_list ',' json_name_and_value  */
   52672             : #line 17179 "gram.y"
   52673             :                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   52674             : #line 52675 "gram.c"
   52675         256 :     break;
   52676             : 
   52677          24 :   case 2406: /* json_name_and_value: c_expr VALUE_P json_value_expr  */
   52678             : #line 17189 "gram.y"
   52679             :                                 { (yyval.node) = makeJsonKeyValue((yyvsp[-2].node), (yyvsp[0].node)); }
   52680             : #line 52681 "gram.c"
   52681          24 :     break;
   52682             : 
   52683         784 :   case 2407: /* json_name_and_value: a_expr ':' json_value_expr  */
   52684             : #line 17192 "gram.y"
   52685             :                                 { (yyval.node) = makeJsonKeyValue((yyvsp[-2].node), (yyvsp[0].node)); }
   52686             : #line 52687 "gram.c"
   52687         784 :     break;
   52688             : 
   52689          30 :   case 2408: /* json_object_constructor_null_clause_opt: NULL_P ON NULL_P  */
   52690             : #line 17197 "gram.y"
   52691             :                                                                                 { (yyval.boolean) = false; }
   52692             : #line 52693 "gram.c"
   52693          30 :     break;
   52694             : 
   52695         110 :   case 2409: /* json_object_constructor_null_clause_opt: ABSENT ON NULL_P  */
   52696             : #line 17198 "gram.y"
   52697             :                                                                                 { (yyval.boolean) = true; }
   52698             : #line 52699 "gram.c"
   52699         110 :     break;
   52700             : 
   52701         412 :   case 2410: /* json_object_constructor_null_clause_opt: %empty  */
   52702             : #line 17199 "gram.y"
   52703             :                                                                                 { (yyval.boolean) = false; }
   52704             : #line 52705 "gram.c"
   52705         412 :     break;
   52706             : 
   52707          60 :   case 2411: /* json_array_constructor_null_clause_opt: NULL_P ON NULL_P  */
   52708             : #line 17203 "gram.y"
   52709             :                                                                                         { (yyval.boolean) = false; }
   52710             : #line 52711 "gram.c"
   52711          60 :     break;
   52712             : 
   52713          36 :   case 2412: /* json_array_constructor_null_clause_opt: ABSENT ON NULL_P  */
   52714             : #line 17204 "gram.y"
   52715             :                                                                                         { (yyval.boolean) = true; }
   52716             : #line 52717 "gram.c"
   52717          36 :     break;
   52718             : 
   52719         168 :   case 2413: /* json_array_constructor_null_clause_opt: %empty  */
   52720             : #line 17205 "gram.y"
   52721             :                                                                                         { (yyval.boolean) = true; }
   52722             : #line 52723 "gram.c"
   52723         168 :     break;
   52724             : 
   52725         108 :   case 2414: /* json_value_expr_list: json_value_expr  */
   52726             : #line 17209 "gram.y"
   52727             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   52728             : #line 52729 "gram.c"
   52729         108 :     break;
   52730             : 
   52731         126 :   case 2415: /* json_value_expr_list: json_value_expr_list ',' json_value_expr  */
   52732             : #line 17210 "gram.y"
   52733             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));}
   52734             : #line 52735 "gram.c"
   52735         126 :     break;
   52736             : 
   52737         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 ')'  */
   52738             : #line 17220 "gram.y"
   52739             :                                 {
   52740             :                     JsonObjectAgg *n = makeNode(JsonObjectAgg);
   52741             : 
   52742             :                     n->arg = (JsonKeyValue *) (yyvsp[-4].node);
   52743             :                     n->absent_on_null = (yyvsp[-3].boolean);
   52744             :                     n->unique = (yyvsp[-2].boolean);
   52745             :                     n->constructor = makeNode(JsonAggConstructor);
   52746             :                     n->constructor->output = (JsonOutput *) (yyvsp[-1].node);
   52747             :                     n->constructor->agg_order = NULL;
   52748             :                     n->constructor->location = (yylsp[-6]);
   52749             :                     (yyval.node) = (Node *) n;
   52750             :                 }
   52751             : #line 52752 "gram.c"
   52752         204 :     break;
   52753             : 
   52754         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 ')'  */
   52755             : #line 17238 "gram.y"
   52756             :                                 {
   52757             :                     JsonArrayAgg *n = makeNode(JsonArrayAgg);
   52758             : 
   52759             :                     n->arg = (JsonValueExpr *) (yyvsp[-4].node);
   52760             :                     n->absent_on_null = (yyvsp[-2].boolean);
   52761             :                     n->constructor = makeNode(JsonAggConstructor);
   52762             :                     n->constructor->agg_order = (yyvsp[-3].list);
   52763             :                     n->constructor->output = (JsonOutput *) (yyvsp[-1].node);
   52764             :                     n->constructor->location = (yylsp[-6]);
   52765             :                     (yyval.node) = (Node *) n;
   52766             :                 }
   52767             : #line 52768 "gram.c"
   52768         156 :     break;
   52769             : 
   52770          18 :   case 2418: /* json_array_aggregate_order_by_clause_opt: ORDER BY sortby_list  */
   52771             : #line 17252 "gram.y"
   52772             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   52773             : #line 52774 "gram.c"
   52774          18 :     break;
   52775             : 
   52776         138 :   case 2419: /* json_array_aggregate_order_by_clause_opt: %empty  */
   52777             : #line 17253 "gram.y"
   52778             :                                                                                         { (yyval.list) = NIL; }
   52779             : #line 52780 "gram.c"
   52780         138 :     break;
   52781             : 
   52782      476992 :   case 2420: /* opt_target_list: target_list  */
   52783             : #line 17262 "gram.y"
   52784             :                                                                         { (yyval.list) = (yyvsp[0].list); }
   52785             : #line 52786 "gram.c"
   52786      476992 :     break;
   52787             : 
   52788         440 :   case 2421: /* opt_target_list: %empty  */
   52789             : #line 17263 "gram.y"
   52790             :                                                                                         { (yyval.list) = NIL; }
   52791             : #line 52792 "gram.c"
   52792         440 :     break;
   52793             : 
   52794      483832 :   case 2422: /* target_list: target_el  */
   52795             : #line 17267 "gram.y"
   52796             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].target)); }
   52797             : #line 52798 "gram.c"
   52798      483832 :     break;
   52799             : 
   52800      707524 :   case 2423: /* target_list: target_list ',' target_el  */
   52801             : #line 17268 "gram.y"
   52802             :                                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
   52803             : #line 52804 "gram.c"
   52804      707524 :     break;
   52805             : 
   52806      240506 :   case 2424: /* target_el: a_expr AS ColLabel  */
   52807             : #line 17272 "gram.y"
   52808             :                                 {
   52809             :                     (yyval.target) = makeNode(ResTarget);
   52810             :                     (yyval.target)->name = (yyvsp[0].str);
   52811             :                     (yyval.target)->indirection = NIL;
   52812             :                     (yyval.target)->val = (Node *) (yyvsp[-2].node);
   52813             :                     (yyval.target)->location = (yylsp[-2]);
   52814             :                 }
   52815             : #line 52816 "gram.c"
   52816      240506 :     break;
   52817             : 
   52818        3616 :   case 2425: /* target_el: a_expr BareColLabel  */
   52819             : #line 17280 "gram.y"
   52820             :                                 {
   52821             :                     (yyval.target) = makeNode(ResTarget);
   52822             :                     (yyval.target)->name = (yyvsp[0].str);
   52823             :                     (yyval.target)->indirection = NIL;
   52824             :                     (yyval.target)->val = (Node *) (yyvsp[-1].node);
   52825             :                     (yyval.target)->location = (yylsp[-1]);
   52826             :                 }
   52827             : #line 52828 "gram.c"
   52828        3616 :     break;
   52829             : 
   52830      888908 :   case 2426: /* target_el: a_expr  */
   52831             : #line 17288 "gram.y"
   52832             :                                 {
   52833             :                     (yyval.target) = makeNode(ResTarget);
   52834             :                     (yyval.target)->name = NULL;
   52835             :                     (yyval.target)->indirection = NIL;
   52836             :                     (yyval.target)->val = (Node *) (yyvsp[0].node);
   52837             :                     (yyval.target)->location = (yylsp[0]);
   52838             :                 }
   52839             : #line 52840 "gram.c"
   52840      888908 :     break;
   52841             : 
   52842       58326 :   case 2427: /* target_el: '*'  */
   52843             : #line 17296 "gram.y"
   52844             :                                 {
   52845             :                     ColumnRef  *n = makeNode(ColumnRef);
   52846             : 
   52847             :                     n->fields = list_make1(makeNode(A_Star));
   52848             :                     n->location = (yylsp[0]);
   52849             : 
   52850             :                     (yyval.target) = makeNode(ResTarget);
   52851             :                     (yyval.target)->name = NULL;
   52852             :                     (yyval.target)->indirection = NIL;
   52853             :                     (yyval.target)->val = (Node *) n;
   52854             :                     (yyval.target)->location = (yylsp[0]);
   52855             :                 }
   52856             : #line 52857 "gram.c"
   52857       58326 :     break;
   52858             : 
   52859       17134 :   case 2428: /* qualified_name_list: qualified_name  */
   52860             : #line 17318 "gram.y"
   52861             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].range)); }
   52862             : #line 52863 "gram.c"
   52863       17134 :     break;
   52864             : 
   52865         456 :   case 2429: /* qualified_name_list: qualified_name_list ',' qualified_name  */
   52866             : #line 17319 "gram.y"
   52867             :                                                                  { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
   52868             : #line 52869 "gram.c"
   52869         456 :     break;
   52870             : 
   52871      421652 :   case 2430: /* qualified_name: ColId  */
   52872             : #line 17331 "gram.y"
   52873             :                                 {
   52874             :                     (yyval.range) = makeRangeVar(NULL, (yyvsp[0].str), (yylsp[0]));
   52875             :                 }
   52876             : #line 52877 "gram.c"
   52877      421652 :     break;
   52878             : 
   52879      268772 :   case 2431: /* qualified_name: ColId indirection  */
   52880             : #line 17335 "gram.y"
   52881             :                                 {
   52882             :                     (yyval.range) = makeRangeVarFromQualifiedName((yyvsp[-1].str), (yyvsp[0].list), (yylsp[-1]), yyscanner);
   52883             :                 }
   52884             : #line 52885 "gram.c"
   52885      268772 :     break;
   52886             : 
   52887       28832 :   case 2432: /* name_list: name  */
   52888             : #line 17341 "gram.y"
   52889             :                                         { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   52890             : #line 52891 "gram.c"
   52891       28832 :     break;
   52892             : 
   52893       60674 :   case 2433: /* name_list: name_list ',' name  */
   52894             : #line 17343 "gram.y"
   52895             :                                         { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
   52896             : #line 52897 "gram.c"
   52897       60674 :     break;
   52898             : 
   52899      179790 :   case 2434: /* name: ColId  */
   52900             : #line 17347 "gram.y"
   52901             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   52902             : #line 52903 "gram.c"
   52903      179790 :     break;
   52904             : 
   52905     1619162 :   case 2435: /* attr_name: ColLabel  */
   52906             : #line 17349 "gram.y"
   52907             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   52908             : #line 52909 "gram.c"
   52909     1619162 :     break;
   52910             : 
   52911          52 :   case 2436: /* file_name: Sconst  */
   52912             : #line 17351 "gram.y"
   52913             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   52914             : #line 52915 "gram.c"
   52915          52 :     break;
   52916             : 
   52917      291768 :   case 2437: /* func_name: type_function_name  */
   52918             : #line 17362 "gram.y"
   52919             :                                         { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   52920             : #line 52921 "gram.c"
   52921      291768 :     break;
   52922             : 
   52923      134110 :   case 2438: /* func_name: ColId indirection  */
   52924             : #line 17364 "gram.y"
   52925             :                                         {
   52926             :                         (yyval.list) = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)),
   52927             :                                              yyscanner);
   52928             :                     }
   52929             : #line 52930 "gram.c"
   52930      134110 :     break;
   52931             : 
   52932      384316 :   case 2439: /* AexprConst: Iconst  */
   52933             : #line 17375 "gram.y"
   52934             :                                 {
   52935             :                     (yyval.node) = makeIntConst((yyvsp[0].ival), (yylsp[0]));
   52936             :                 }
   52937             : #line 52938 "gram.c"
   52938      384316 :     break;
   52939             : 
   52940       11368 :   case 2440: /* AexprConst: FCONST  */
   52941             : #line 17379 "gram.y"
   52942             :                                 {
   52943             :                     (yyval.node) = makeFloatConst((yyvsp[0].str), (yylsp[0]));
   52944             :                 }
   52945             : #line 52946 "gram.c"
   52946       11368 :     break;
   52947             : 
   52948      761844 :   case 2441: /* AexprConst: Sconst  */
   52949             : #line 17383 "gram.y"
   52950             :                                 {
   52951             :                     (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
   52952             :                 }
   52953             : #line 52954 "gram.c"
   52954      761844 :     break;
   52955             : 
   52956         754 :   case 2442: /* AexprConst: BCONST  */
   52957             : #line 17387 "gram.y"
   52958             :                                 {
   52959             :                     (yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
   52960             :                 }
   52961             : #line 52962 "gram.c"
   52962         754 :     break;
   52963             : 
   52964        3302 :   case 2443: /* AexprConst: XCONST  */
   52965             : #line 17391 "gram.y"
   52966             :                                 {
   52967             :                     /* This is a bit constant per SQL99:
   52968             :                      * Without Feature F511, "BIT data type",
   52969             :                      * a <general literal> shall not be a
   52970             :                      * <bit string literal> or a <hex string literal>.
   52971             :                      */
   52972             :                     (yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
   52973             :                 }
   52974             : #line 52975 "gram.c"
   52975        3302 :     break;
   52976             : 
   52977        9836 :   case 2444: /* AexprConst: func_name Sconst  */
   52978             : #line 17400 "gram.y"
   52979             :                                 {
   52980             :                     /* generic type 'literal' syntax */
   52981             :                     TypeName   *t = makeTypeNameFromNameList((yyvsp[-1].list));
   52982             : 
   52983             :                     t->location = (yylsp[-1]);
   52984             :                     (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
   52985             :                 }
   52986             : #line 52987 "gram.c"
   52987        9836 :     break;
   52988             : 
   52989           0 :   case 2445: /* AexprConst: func_name '(' func_arg_list opt_sort_clause ')' Sconst  */
   52990             : #line 17408 "gram.y"
   52991             :                                 {
   52992             :                     /* generic syntax with a type modifier */
   52993             :                     TypeName   *t = makeTypeNameFromNameList((yyvsp[-5].list));
   52994             :                     ListCell   *lc;
   52995             : 
   52996             :                     /*
   52997             :                      * We must use func_arg_list and opt_sort_clause in the
   52998             :                      * production to avoid reduce/reduce conflicts, but we
   52999             :                      * don't actually wish to allow NamedArgExpr in this
   53000             :                      * context, nor ORDER BY.
   53001             :                      */
   53002             :                     foreach(lc, (yyvsp[-3].list))
   53003             :                     {
   53004             :                         NamedArgExpr *arg = (NamedArgExpr *) lfirst(lc);
   53005             : 
   53006             :                         if (IsA(arg, NamedArgExpr))
   53007             :                             ereport(ERROR,
   53008             :                                     (errcode(ERRCODE_SYNTAX_ERROR),
   53009             :                                      errmsg("type modifier cannot have parameter name"),
   53010             :                                      parser_errposition(arg->location)));
   53011             :                     }
   53012             :                     if ((yyvsp[-2].list) != NIL)
   53013             :                             ereport(ERROR,
   53014             :                                     (errcode(ERRCODE_SYNTAX_ERROR),
   53015             :                                      errmsg("type modifier cannot have ORDER BY"),
   53016             :                                      parser_errposition((yylsp[-2]))));
   53017             : 
   53018             :                     t->typmods = (yyvsp[-3].list);
   53019             :                     t->location = (yylsp[-5]);
   53020             :                     (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
   53021             :                 }
   53022             : #line 53023 "gram.c"
   53023           0 :     break;
   53024             : 
   53025        3114 :   case 2446: /* AexprConst: ConstTypename Sconst  */
   53026             : #line 17440 "gram.y"
   53027             :                                 {
   53028             :                     (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), (yyvsp[-1].typnam));
   53029             :                 }
   53030             : #line 53031 "gram.c"
   53031        3114 :     break;
   53032             : 
   53033        3298 :   case 2447: /* AexprConst: ConstInterval Sconst opt_interval  */
   53034             : #line 17444 "gram.y"
   53035             :                                 {
   53036             :                     TypeName   *t = (yyvsp[-2].typnam);
   53037             : 
   53038             :                     t->typmods = (yyvsp[0].list);
   53039             :                     (yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
   53040             :                 }
   53041             : #line 53042 "gram.c"
   53042        3298 :     break;
   53043             : 
   53044          12 :   case 2448: /* AexprConst: ConstInterval '(' Iconst ')' Sconst  */
   53045             : #line 17451 "gram.y"
   53046             :                                 {
   53047             :                     TypeName   *t = (yyvsp[-4].typnam);
   53048             : 
   53049             :                     t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
   53050             :                                             makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
   53051             :                     (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
   53052             :                 }
   53053             : #line 53054 "gram.c"
   53054          12 :     break;
   53055             : 
   53056       31174 :   case 2449: /* AexprConst: TRUE_P  */
   53057             : #line 17459 "gram.y"
   53058             :                                 {
   53059             :                     (yyval.node) = makeBoolAConst(true, (yylsp[0]));
   53060             :                 }
   53061             : #line 53062 "gram.c"
   53062       31174 :     break;
   53063             : 
   53064       36416 :   case 2450: /* AexprConst: FALSE_P  */
   53065             : #line 17463 "gram.y"
   53066             :                                 {
   53067             :                     (yyval.node) = makeBoolAConst(false, (yylsp[0]));
   53068             :                 }
   53069             : #line 53070 "gram.c"
   53070       36416 :     break;
   53071             : 
   53072       67038 :   case 2451: /* AexprConst: NULL_P  */
   53073             : #line 17467 "gram.y"
   53074             :                                 {
   53075             :                     (yyval.node) = makeNullAConst((yylsp[0]));
   53076             :                 }
   53077             : #line 53078 "gram.c"
   53078       67038 :     break;
   53079             : 
   53080      410402 :   case 2452: /* Iconst: ICONST  */
   53081             : #line 17472 "gram.y"
   53082             :                                                                                         { (yyval.ival) = (yyvsp[0].ival); }
   53083             : #line 53084 "gram.c"
   53084      410402 :     break;
   53085             : 
   53086      833712 :   case 2453: /* Sconst: SCONST  */
   53087             : #line 17473 "gram.y"
   53088             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   53089             : #line 53090 "gram.c"
   53090      833712 :     break;
   53091             : 
   53092       17842 :   case 2454: /* SignedIconst: Iconst  */
   53093             : #line 17475 "gram.y"
   53094             :                                                                                 { (yyval.ival) = (yyvsp[0].ival); }
   53095             : #line 53096 "gram.c"
   53096       17842 :     break;
   53097             : 
   53098           0 :   case 2455: /* SignedIconst: '+' Iconst  */
   53099             : #line 17476 "gram.y"
   53100             :                                                                                         { (yyval.ival) = + (yyvsp[0].ival); }
   53101             : #line 53102 "gram.c"
   53102           0 :     break;
   53103             : 
   53104         290 :   case 2456: /* SignedIconst: '-' Iconst  */
   53105             : #line 17477 "gram.y"
   53106             :                                                                                         { (yyval.ival) = - (yyvsp[0].ival); }
   53107             : #line 53108 "gram.c"
   53108         290 :     break;
   53109             : 
   53110        1916 :   case 2457: /* RoleId: RoleSpec  */
   53111             : #line 17482 "gram.y"
   53112             :                                 {
   53113             :                     RoleSpec   *spc = (RoleSpec *) (yyvsp[0].rolespec);
   53114             : 
   53115             :                     switch (spc->roletype)
   53116             :                     {
   53117             :                         case ROLESPEC_CSTRING:
   53118             :                             (yyval.str) = spc->rolename;
   53119             :                             break;
   53120             :                         case ROLESPEC_PUBLIC:
   53121             :                             ereport(ERROR,
   53122             :                                     (errcode(ERRCODE_RESERVED_NAME),
   53123             :                                      errmsg("role name \"%s\" is reserved",
   53124             :                                             "public"),
   53125             :                                      parser_errposition((yylsp[0]))));
   53126             :                             break;
   53127             :                         case ROLESPEC_SESSION_USER:
   53128             :                             ereport(ERROR,
   53129             :                                     (errcode(ERRCODE_RESERVED_NAME),
   53130             :                                      errmsg("%s cannot be used as a role name here",
   53131             :                                             "SESSION_USER"),
   53132             :                                      parser_errposition((yylsp[0]))));
   53133             :                             break;
   53134             :                         case ROLESPEC_CURRENT_USER:
   53135             :                             ereport(ERROR,
   53136             :                                     (errcode(ERRCODE_RESERVED_NAME),
   53137             :                                      errmsg("%s cannot be used as a role name here",
   53138             :                                             "CURRENT_USER"),
   53139             :                                      parser_errposition((yylsp[0]))));
   53140             :                             break;
   53141             :                         case ROLESPEC_CURRENT_ROLE:
   53142             :                             ereport(ERROR,
   53143             :                                     (errcode(ERRCODE_RESERVED_NAME),
   53144             :                                      errmsg("%s cannot be used as a role name here",
   53145             :                                             "CURRENT_ROLE"),
   53146             :                                      parser_errposition((yylsp[0]))));
   53147             :                             break;
   53148             :                     }
   53149             :                 }
   53150             : #line 53151 "gram.c"
   53151        1906 :     break;
   53152             : 
   53153       34436 :   case 2458: /* RoleSpec: NonReservedWord  */
   53154             : #line 17523 "gram.y"
   53155             :                                 {
   53156             :                     /*
   53157             :                      * "public" and "none" are not keywords, but they must
   53158             :                      * be treated specially here.
   53159             :                      */
   53160             :                     RoleSpec   *n;
   53161             : 
   53162             :                     if (strcmp((yyvsp[0].str), "public") == 0)
   53163             :                     {
   53164             :                         n = (RoleSpec *) makeRoleSpec(ROLESPEC_PUBLIC, (yylsp[0]));
   53165             :                         n->roletype = ROLESPEC_PUBLIC;
   53166             :                     }
   53167             :                     else if (strcmp((yyvsp[0].str), "none") == 0)
   53168             :                     {
   53169             :                         ereport(ERROR,
   53170             :                                 (errcode(ERRCODE_RESERVED_NAME),
   53171             :                                  errmsg("role name \"%s\" is reserved",
   53172             :                                         "none"),
   53173             :                                  parser_errposition((yylsp[0]))));
   53174             :                     }
   53175             :                     else
   53176             :                     {
   53177             :                         n = makeRoleSpec(ROLESPEC_CSTRING, (yylsp[0]));
   53178             :                         n->rolename = pstrdup((yyvsp[0].str));
   53179             :                     }
   53180             :                     (yyval.rolespec) = n;
   53181             :                 }
   53182             : #line 53183 "gram.c"
   53183       34410 :     break;
   53184             : 
   53185         130 :   case 2459: /* RoleSpec: CURRENT_ROLE  */
   53186             : #line 17551 "gram.y"
   53187             :                                 {
   53188             :                     (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_ROLE, (yylsp[0]));
   53189             :                 }
   53190             : #line 53191 "gram.c"
   53191         130 :     break;
   53192             : 
   53193         228 :   case 2460: /* RoleSpec: CURRENT_USER  */
   53194             : #line 17555 "gram.y"
   53195             :                                 {
   53196             :                     (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0]));
   53197             :                 }
   53198             : #line 53199 "gram.c"
   53199         228 :     break;
   53200             : 
   53201          36 :   case 2461: /* RoleSpec: SESSION_USER  */
   53202             : #line 17559 "gram.y"
   53203             :                                 {
   53204             :                     (yyval.rolespec) = makeRoleSpec(ROLESPEC_SESSION_USER, (yylsp[0]));
   53205             :                 }
   53206             : #line 53207 "gram.c"
   53207          36 :     break;
   53208             : 
   53209        3246 :   case 2462: /* role_list: RoleSpec  */
   53210             : #line 17565 "gram.y"
   53211             :                                 { (yyval.list) = list_make1((yyvsp[0].rolespec)); }
   53212             : #line 53213 "gram.c"
   53213        3246 :     break;
   53214             : 
   53215         270 :   case 2463: /* role_list: role_list ',' RoleSpec  */
   53216             : #line 17567 "gram.y"
   53217             :                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].rolespec)); }
   53218             : #line 53219 "gram.c"
   53219         270 :     break;
   53220             : 
   53221       40264 :   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  */
   53222             : #line 17584 "gram.y"
   53223             :                                 {
   53224             :                     SelectStmt *n = makeNode(SelectStmt);
   53225             : 
   53226             :                     n->distinctClause = (yyvsp[-9].list);
   53227             :                     n->targetList = (yyvsp[-8].list);
   53228             :                     n->fromClause = (yyvsp[-7].list);
   53229             :                     n->whereClause = (yyvsp[-6].node);
   53230             :                     n->groupClause = ((yyvsp[-5].groupclause))->list;
   53231             :                     n->groupDistinct = ((yyvsp[-5].groupclause))->distinct;
   53232             :                     n->havingClause = (yyvsp[-4].node);
   53233             :                     n->windowClause = (yyvsp[-3].list);
   53234             :                     n->sortClause = (yyvsp[-2].list);
   53235             :                     if ((yyvsp[-1].selectlimit))
   53236             :                     {
   53237             :                         n->limitOffset = (yyvsp[-1].selectlimit)->limitOffset;
   53238             :                         n->limitCount = (yyvsp[-1].selectlimit)->limitCount;
   53239             :                         if (!n->sortClause &&
   53240             :                             (yyvsp[-1].selectlimit)->limitOption == LIMIT_OPTION_WITH_TIES)
   53241             :                             ereport(ERROR,
   53242             :                                     (errcode(ERRCODE_SYNTAX_ERROR),
   53243             :                                      errmsg("WITH TIES cannot be specified without ORDER BY clause"),
   53244             :                                      parser_errposition((yyvsp[-1].selectlimit)->optionLoc)));
   53245             :                         n->limitOption = (yyvsp[-1].selectlimit)->limitOption;
   53246             :                     }
   53247             :                     n->lockingClause = (yyvsp[0].list);
   53248             :                     (yyval.node) = (Node *) n;
   53249             :                 }
   53250             : #line 53251 "gram.c"
   53251       40264 :     break;
   53252             : 
   53253        7028 :   case 2465: /* PLAssignStmt: plassign_target opt_indirection plassign_equals PLpgSQL_Expr  */
   53254             : #line 17618 "gram.y"
   53255             :                                 {
   53256             :                     PLAssignStmt *n = makeNode(PLAssignStmt);
   53257             : 
   53258             :                     n->name = (yyvsp[-3].str);
   53259             :                     n->indirection = check_indirection((yyvsp[-2].list), yyscanner);
   53260             :                     /* nnames will be filled by calling production */
   53261             :                     n->val = (SelectStmt *) (yyvsp[0].node);
   53262             :                     n->location = (yylsp[-3]);
   53263             :                     (yyval.node) = (Node *) n;
   53264             :                 }
   53265             : #line 53266 "gram.c"
   53266        7028 :     break;
   53267             : 
   53268        7004 :   case 2466: /* plassign_target: ColId  */
   53269             : #line 17630 "gram.y"
   53270             :                                                                         { (yyval.str) = (yyvsp[0].str); }
   53271             : #line 53272 "gram.c"
   53272        7004 :     break;
   53273             : 
   53274          24 :   case 2467: /* plassign_target: PARAM  */
   53275             : #line 17631 "gram.y"
   53276             :                                                                                         { (yyval.str) = psprintf("$%d", (yyvsp[0].ival)); }
   53277             : #line 53278 "gram.c"
   53278          24 :     break;
   53279             : 
   53280     3480108 :   case 2470: /* ColId: IDENT  */
   53281             : #line 17652 "gram.y"
   53282             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   53283             : #line 53284 "gram.c"
   53284     3480108 :     break;
   53285             : 
   53286       59644 :   case 2471: /* ColId: unreserved_keyword  */
   53287             : #line 17653 "gram.y"
   53288             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53289             : #line 53290 "gram.c"
   53290       59644 :     break;
   53291             : 
   53292        6054 :   case 2472: /* ColId: col_name_keyword  */
   53293             : #line 17654 "gram.y"
   53294             :                                                                                         { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53295             : #line 53296 "gram.c"
   53296        6054 :     break;
   53297             : 
   53298      701428 :   case 2473: /* type_function_name: IDENT  */
   53299             : #line 17659 "gram.y"
   53300             :                                                                                 { (yyval.str) = (yyvsp[0].str); }
   53301             : #line 53302 "gram.c"
   53302      701428 :     break;
   53303             : 
   53304       75684 :   case 2474: /* type_function_name: unreserved_keyword  */
   53305             : #line 17660 "gram.y"
   53306             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53307             : #line 53308 "gram.c"
   53308       75684 :     break;
   53309             : 
   53310          66 :   case 2475: /* type_function_name: type_func_name_keyword  */
   53311             : #line 17661 "gram.y"
   53312             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53313             : #line 53314 "gram.c"
   53314          66 :     break;
   53315             : 
   53316       83866 :   case 2476: /* NonReservedWord: IDENT  */
   53317             : #line 17666 "gram.y"
   53318             :                                                                                 { (yyval.str) = (yyvsp[0].str); }
   53319             : #line 53320 "gram.c"
   53320       83866 :     break;
   53321             : 
   53322       29946 :   case 2477: /* NonReservedWord: unreserved_keyword  */
   53323             : #line 17667 "gram.y"
   53324             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53325             : #line 53326 "gram.c"
   53326       29946 :     break;
   53327             : 
   53328         178 :   case 2478: /* NonReservedWord: col_name_keyword  */
   53329             : #line 17668 "gram.y"
   53330             :                                                                                         { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53331             : #line 53332 "gram.c"
   53332         178 :     break;
   53333             : 
   53334        5156 :   case 2479: /* NonReservedWord: type_func_name_keyword  */
   53335             : #line 17669 "gram.y"
   53336             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53337             : #line 53338 "gram.c"
   53338        5156 :     break;
   53339             : 
   53340     1842670 :   case 2480: /* ColLabel: IDENT  */
   53341             : #line 17675 "gram.y"
   53342             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   53343             : #line 53344 "gram.c"
   53344     1842670 :     break;
   53345             : 
   53346       40814 :   case 2481: /* ColLabel: unreserved_keyword  */
   53347             : #line 17676 "gram.y"
   53348             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53349             : #line 53350 "gram.c"
   53350       40814 :     break;
   53351             : 
   53352         284 :   case 2482: /* ColLabel: col_name_keyword  */
   53353             : #line 17677 "gram.y"
   53354             :                                                                                         { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53355             : #line 53356 "gram.c"
   53356         284 :     break;
   53357             : 
   53358        1796 :   case 2483: /* ColLabel: type_func_name_keyword  */
   53359             : #line 17678 "gram.y"
   53360             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53361             : #line 53362 "gram.c"
   53362        1796 :     break;
   53363             : 
   53364        7510 :   case 2484: /* ColLabel: reserved_keyword  */
   53365             : #line 17679 "gram.y"
   53366             :                                                                                         { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53367             : #line 53368 "gram.c"
   53368        7510 :     break;
   53369             : 
   53370        3602 :   case 2485: /* BareColLabel: IDENT  */
   53371             : #line 17685 "gram.y"
   53372             :                                                                                 { (yyval.str) = (yyvsp[0].str); }
   53373             : #line 53374 "gram.c"
   53374        3602 :     break;
   53375             : 
   53376          14 :   case 2486: /* BareColLabel: bare_label_keyword  */
   53377             : #line 17686 "gram.y"
   53378             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53379             : #line 53380 "gram.c"
   53380          14 :     break;
   53381             : 
   53382             : 
   53383             : #line 53384 "gram.c"
   53384             : 
   53385     3573744 :       default: break;
   53386             :     }
   53387             :   /* User semantic actions sometimes alter yychar, and that requires
   53388             :      that yytoken be updated with the new translation.  We take the
   53389             :      approach of translating immediately before every use of yytoken.
   53390             :      One alternative is translating here after every semantic action,
   53391             :      but that translation would be missed if the semantic action invokes
   53392             :      YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
   53393             :      if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
   53394             :      incorrect destructor might then be invoked immediately.  In the
   53395             :      case of YYERROR or YYBACKUP, subsequent parser actions might lead
   53396             :      to an incorrect destructor call or verbose syntax error message
   53397             :      before the lookahead is translated.  */
   53398             :   YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc);
   53399             : 
   53400    54284336 :   YYPOPSTACK (yylen);
   53401    54284336 :   yylen = 0;
   53402             : 
   53403    54284336 :   *++yyvsp = yyval;
   53404    54284336 :   *++yylsp = yyloc;
   53405             : 
   53406             :   /* Now 'shift' the result of the reduction.  Determine what state
   53407             :      that goes to, based on the state we popped back to and the rule
   53408             :      number reduced by.  */
   53409             :   {
   53410    54284336 :     const int yylhs = yyr1[yyn] - YYNTOKENS;
   53411    54284336 :     const int yyi = yypgoto[yylhs] + *yyssp;
   53412    41493348 :     yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
   53413    24902260 :                ? yytable[yyi]
   53414    95777684 :                : yydefgoto[yylhs]);
   53415             :   }
   53416             : 
   53417    54284336 :   goto yynewstate;
   53418             : 
   53419             : 
   53420             : /*--------------------------------------.
   53421             : | yyerrlab -- here on detecting error.  |
   53422             : `--------------------------------------*/
   53423         696 : yyerrlab:
   53424             :   /* Make sure we have latest lookahead translation.  See comments at
   53425             :      user semantic actions for why this is necessary.  */
   53426         696 :   yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
   53427             :   /* If not already recovering from an error, report this error.  */
   53428         696 :   if (!yyerrstatus)
   53429             :     {
   53430         696 :       ++yynerrs;
   53431         696 :       yyerror (&yylloc, yyscanner, YY_("syntax error"));
   53432             :     }
   53433             : 
   53434           0 :   yyerror_range[1] = yylloc;
   53435           0 :   if (yyerrstatus == 3)
   53436             :     {
   53437             :       /* If just tried and failed to reuse lookahead token after an
   53438             :          error, discard it.  */
   53439             : 
   53440           0 :       if (yychar <= YYEOF)
   53441             :         {
   53442             :           /* Return failure if at end of input.  */
   53443           0 :           if (yychar == YYEOF)
   53444           0 :             YYABORT;
   53445             :         }
   53446             :       else
   53447             :         {
   53448           0 :           yydestruct ("Error: discarding",
   53449             :                       yytoken, &yylval, &yylloc, yyscanner);
   53450           0 :           yychar = YYEMPTY;
   53451             :         }
   53452             :     }
   53453             : 
   53454             :   /* Else will try to reuse lookahead token after shifting the error
   53455             :      token.  */
   53456           0 :   goto yyerrlab1;
   53457             : 
   53458             : 
   53459             : /*---------------------------------------------------.
   53460             : | yyerrorlab -- error raised explicitly by YYERROR.  |
   53461             : `---------------------------------------------------*/
   53462             : yyerrorlab:
   53463             :   /* Pacify compilers when the user code never invokes YYERROR and the
   53464             :      label yyerrorlab therefore never appears in user code.  */
   53465             :   if (0)
   53466             :     YYERROR;
   53467             : 
   53468             :   /* Do not reclaim the symbols of the rule whose action triggered
   53469             :      this YYERROR.  */
   53470             :   YYPOPSTACK (yylen);
   53471             :   yylen = 0;
   53472             :   YY_STACK_PRINT (yyss, yyssp);
   53473             :   yystate = *yyssp;
   53474             :   goto yyerrlab1;
   53475             : 
   53476             : 
   53477             : /*-------------------------------------------------------------.
   53478             : | yyerrlab1 -- common code for both syntax error and YYERROR.  |
   53479             : `-------------------------------------------------------------*/
   53480           0 : yyerrlab1:
   53481           0 :   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
   53482             : 
   53483             :   /* Pop stack until we find a state that shifts the error token.  */
   53484             :   for (;;)
   53485             :     {
   53486           0 :       yyn = yypact[yystate];
   53487           0 :       if (!yypact_value_is_default (yyn))
   53488             :         {
   53489           0 :           yyn += YYSYMBOL_YYerror;
   53490           0 :           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror)
   53491             :             {
   53492           0 :               yyn = yytable[yyn];
   53493           0 :               if (0 < yyn)
   53494           0 :                 break;
   53495             :             }
   53496             :         }
   53497             : 
   53498             :       /* Pop the current state because it cannot handle the error token.  */
   53499           0 :       if (yyssp == yyss)
   53500           0 :         YYABORT;
   53501             : 
   53502           0 :       yyerror_range[1] = *yylsp;
   53503           0 :       yydestruct ("Error: popping",
   53504           0 :                   YY_ACCESSING_SYMBOL (yystate), yyvsp, yylsp, yyscanner);
   53505           0 :       YYPOPSTACK (1);
   53506           0 :       yystate = *yyssp;
   53507             :       YY_STACK_PRINT (yyss, yyssp);
   53508             :     }
   53509             : 
   53510             :   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
   53511           0 :   *++yyvsp = yylval;
   53512             :   YY_IGNORE_MAYBE_UNINITIALIZED_END
   53513             : 
   53514           0 :   yyerror_range[2] = yylloc;
   53515           0 :   ++yylsp;
   53516           0 :   YYLLOC_DEFAULT (*yylsp, yyerror_range, 2);
   53517             : 
   53518             :   /* Shift the error token.  */
   53519             :   YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp);
   53520             : 
   53521           0 :   yystate = yyn;
   53522           0 :   goto yynewstate;
   53523             : 
   53524             : 
   53525             : /*-------------------------------------.
   53526             : | yyacceptlab -- YYACCEPT comes here.  |
   53527             : `-------------------------------------*/
   53528      791652 : yyacceptlab:
   53529      791652 :   yyresult = 0;
   53530      791652 :   goto yyreturn;
   53531             : 
   53532             : 
   53533             : /*-----------------------------------.
   53534             : | yyabortlab -- YYABORT comes here.  |
   53535             : `-----------------------------------*/
   53536           0 : yyabortlab:
   53537           0 :   yyresult = 1;
   53538           0 :   goto yyreturn;
   53539             : 
   53540             : 
   53541             : #if !defined yyoverflow
   53542             : /*-------------------------------------------------.
   53543             : | yyexhaustedlab -- memory exhaustion comes here.  |
   53544             : `-------------------------------------------------*/
   53545           0 : yyexhaustedlab:
   53546           0 :   yyerror (&yylloc, yyscanner, YY_("memory exhausted"));
   53547           0 :   yyresult = 2;
   53548           0 :   goto yyreturn;
   53549             : #endif
   53550             : 
   53551             : 
   53552             : /*-------------------------------------------------------.
   53553             : | yyreturn -- parsing is finished, clean up and return.  |
   53554             : `-------------------------------------------------------*/
   53555      791652 : yyreturn:
   53556      791652 :   if (yychar != YYEMPTY)
   53557             :     {
   53558             :       /* Make sure we have latest lookahead translation.  See comments at
   53559             :          user semantic actions for why this is necessary.  */
   53560           0 :       yytoken = YYTRANSLATE (yychar);
   53561           0 :       yydestruct ("Cleanup: discarding lookahead",
   53562             :                   yytoken, &yylval, &yylloc, yyscanner);
   53563             :     }
   53564             :   /* Do not reclaim the symbols of the rule whose action triggered
   53565             :      this YYABORT or YYACCEPT.  */
   53566      791652 :   YYPOPSTACK (yylen);
   53567             :   YY_STACK_PRINT (yyss, yyssp);
   53568     2374956 :   while (yyssp != yyss)
   53569             :     {
   53570     1583304 :       yydestruct ("Cleanup: popping",
   53571     1583304 :                   YY_ACCESSING_SYMBOL (+*yyssp), yyvsp, yylsp, yyscanner);
   53572     1583304 :       YYPOPSTACK (1);
   53573             :     }
   53574             : #ifndef yyoverflow
   53575      791652 :   if (yyss != yyssa)
   53576           0 :     YYSTACK_FREE (yyss);
   53577             : #endif
   53578             : 
   53579      791652 :   return yyresult;
   53580             : }
   53581             : 
   53582             : #line 18704 "gram.y"
   53583             : 
   53584             : 
   53585             : /*
   53586             :  * The signature of this function is required by bison.  However, we
   53587             :  * ignore the passed yylloc and instead use the last token position
   53588             :  * available from the scanner.
   53589             :  */
   53590             : static void
   53591             : base_yyerror(YYLTYPE *yylloc, core_yyscan_t yyscanner, const char *msg)
   53592             : {
   53593             :     parser_yyerror(msg);
   53594             : }
   53595             : 
   53596             : static RawStmt *
   53597             : makeRawStmt(Node *stmt, int stmt_location)
   53598             : {
   53599             :     RawStmt    *rs = makeNode(RawStmt);
   53600             : 
   53601             :     rs->stmt = stmt;
   53602             :     rs->stmt_location = stmt_location;
   53603             :     rs->stmt_len = 0;            /* might get changed later */
   53604             :     return rs;
   53605             : }
   53606             : 
   53607             : /* Adjust a RawStmt to reflect that it doesn't run to the end of the string */
   53608             : static void
   53609             : updateRawStmtEnd(RawStmt *rs, int end_location)
   53610             : {
   53611             :     /*
   53612             :      * If we already set the length, don't change it.  This is for situations
   53613             :      * like "select foo ;; select bar" where the same statement will be last
   53614             :      * in the string for more than one semicolon.
   53615             :      */
   53616             :     if (rs->stmt_len > 0)
   53617             :         return;
   53618             : 
   53619             :     /* OK, update length of RawStmt */
   53620             :     rs->stmt_len = end_location - rs->stmt_location;
   53621             : }
   53622             : 
   53623             : /*
   53624             :  * Adjust a PreparableStmt to reflect that it doesn't run to the end of the
   53625             :  * string.
   53626             :  */
   53627             : static void
   53628             : updatePreparableStmtEnd(Node *n, int end_location)
   53629             : {
   53630             :     if (IsA(n, SelectStmt))
   53631             :     {
   53632             :         SelectStmt *stmt = (SelectStmt *) n;
   53633             : 
   53634             :         stmt->stmt_len = end_location - stmt->stmt_location;
   53635             :     }
   53636             :     else if (IsA(n, InsertStmt))
   53637             :     {
   53638             :         InsertStmt *stmt = (InsertStmt *) n;
   53639             : 
   53640             :         stmt->stmt_len = end_location - stmt->stmt_location;
   53641             :     }
   53642             :     else if (IsA(n, UpdateStmt))
   53643             :     {
   53644             :         UpdateStmt *stmt = (UpdateStmt *) n;
   53645             : 
   53646             :         stmt->stmt_len = end_location - stmt->stmt_location;
   53647             :     }
   53648             :     else if (IsA(n, DeleteStmt))
   53649             :     {
   53650             :         DeleteStmt *stmt = (DeleteStmt *) n;
   53651             : 
   53652             :         stmt->stmt_len = end_location - stmt->stmt_location;
   53653             :     }
   53654             :     else if (IsA(n, MergeStmt))
   53655             :     {
   53656             :         MergeStmt  *stmt = (MergeStmt *) n;
   53657             : 
   53658             :         stmt->stmt_len = end_location - stmt->stmt_location;
   53659             :     }
   53660             :     else
   53661             :         elog(ERROR, "unexpected node type %d", (int) n->type);
   53662             : }
   53663             : 
   53664             : static Node *
   53665             : makeColumnRef(char *colname, List *indirection,
   53666             :               int location, core_yyscan_t yyscanner)
   53667             : {
   53668             :     /*
   53669             :      * Generate a ColumnRef node, with an A_Indirection node added if there is
   53670             :      * any subscripting in the specified indirection list.  However, any field
   53671             :      * selection at the start of the indirection list must be transposed into
   53672             :      * the "fields" part of the ColumnRef node.
   53673             :      */
   53674             :     ColumnRef  *c = makeNode(ColumnRef);
   53675             :     int         nfields = 0;
   53676             :     ListCell   *l;
   53677             : 
   53678             :     c->location = location;
   53679             :     foreach(l, indirection)
   53680             :     {
   53681             :         if (IsA(lfirst(l), A_Indices))
   53682             :         {
   53683             :             A_Indirection *i = makeNode(A_Indirection);
   53684             : 
   53685             :             if (nfields == 0)
   53686             :             {
   53687             :                 /* easy case - all indirection goes to A_Indirection */
   53688             :                 c->fields = list_make1(makeString(colname));
   53689             :                 i->indirection = check_indirection(indirection, yyscanner);
   53690             :             }
   53691             :             else
   53692             :             {
   53693             :                 /* got to split the list in two */
   53694             :                 i->indirection = check_indirection(list_copy_tail(indirection,
   53695             :                                                                   nfields),
   53696             :                                                    yyscanner);
   53697             :                 indirection = list_truncate(indirection, nfields);
   53698             :                 c->fields = lcons(makeString(colname), indirection);
   53699             :             }
   53700             :             i->arg = (Node *) c;
   53701             :             return (Node *) i;
   53702             :         }
   53703             :         else if (IsA(lfirst(l), A_Star))
   53704             :         {
   53705             :             /* We only allow '*' at the end of a ColumnRef */
   53706             :             if (lnext(indirection, l) != NULL)
   53707             :                 parser_yyerror("improper use of \"*\"");
   53708             :         }
   53709             :         nfields++;
   53710             :     }
   53711             :     /* No subscripting, so all indirection gets added to field list */
   53712             :     c->fields = lcons(makeString(colname), indirection);
   53713             :     return (Node *) c;
   53714             : }
   53715             : 
   53716             : static Node *
   53717             : makeTypeCast(Node *arg, TypeName *typename, int location)
   53718             : {
   53719             :     TypeCast   *n = makeNode(TypeCast);
   53720             : 
   53721             :     n->arg = arg;
   53722             :     n->typeName = typename;
   53723             :     n->location = location;
   53724             :     return (Node *) n;
   53725             : }
   53726             : 
   53727             : static Node *
   53728             : makeStringConstCast(char *str, int location, TypeName *typename)
   53729             : {
   53730             :     Node       *s = makeStringConst(str, location);
   53731             : 
   53732             :     return makeTypeCast(s, typename, -1);
   53733             : }
   53734             : 
   53735             : static Node *
   53736             : makeIntConst(int val, int location)
   53737             : {
   53738             :     A_Const    *n = makeNode(A_Const);
   53739             : 
   53740             :     n->val.ival.type = T_Integer;
   53741             :     n->val.ival.ival = val;
   53742             :     n->location = location;
   53743             : 
   53744             :     return (Node *) n;
   53745             : }
   53746             : 
   53747             : static Node *
   53748             : makeFloatConst(char *str, int location)
   53749             : {
   53750             :     A_Const    *n = makeNode(A_Const);
   53751             : 
   53752             :     n->val.fval.type = T_Float;
   53753             :     n->val.fval.fval = str;
   53754             :     n->location = location;
   53755             : 
   53756             :     return (Node *) n;
   53757             : }
   53758             : 
   53759             : static Node *
   53760             : makeBoolAConst(bool state, int location)
   53761             : {
   53762             :     A_Const    *n = makeNode(A_Const);
   53763             : 
   53764             :     n->val.boolval.type = T_Boolean;
   53765             :     n->val.boolval.boolval = state;
   53766             :     n->location = location;
   53767             : 
   53768             :     return (Node *) n;
   53769             : }
   53770             : 
   53771             : static Node *
   53772             : makeBitStringConst(char *str, int location)
   53773             : {
   53774             :     A_Const    *n = makeNode(A_Const);
   53775             : 
   53776             :     n->val.bsval.type = T_BitString;
   53777             :     n->val.bsval.bsval = str;
   53778             :     n->location = location;
   53779             : 
   53780             :     return (Node *) n;
   53781             : }
   53782             : 
   53783             : static Node *
   53784             : makeNullAConst(int location)
   53785             : {
   53786             :     A_Const    *n = makeNode(A_Const);
   53787             : 
   53788             :     n->isnull = true;
   53789             :     n->location = location;
   53790             : 
   53791             :     return (Node *) n;
   53792             : }
   53793             : 
   53794             : static Node *
   53795             : makeAConst(Node *v, int location)
   53796             : {
   53797             :     Node       *n;
   53798             : 
   53799             :     switch (v->type)
   53800             :     {
   53801             :         case T_Float:
   53802             :             n = makeFloatConst(castNode(Float, v)->fval, location);
   53803             :             break;
   53804             : 
   53805             :         case T_Integer:
   53806             :             n = makeIntConst(castNode(Integer, v)->ival, location);
   53807             :             break;
   53808             : 
   53809             :         default:
   53810             :             /* currently not used */
   53811             :             Assert(false);
   53812             :             n = NULL;
   53813             :     }
   53814             : 
   53815             :     return n;
   53816             : }
   53817             : 
   53818             : /* makeRoleSpec
   53819             :  * Create a RoleSpec with the given type
   53820             :  */
   53821             : static RoleSpec *
   53822             : makeRoleSpec(RoleSpecType type, int location)
   53823             : {
   53824             :     RoleSpec   *spec = makeNode(RoleSpec);
   53825             : 
   53826             :     spec->roletype = type;
   53827             :     spec->location = location;
   53828             : 
   53829             :     return spec;
   53830             : }
   53831             : 
   53832             : /* check_qualified_name --- check the result of qualified_name production
   53833             :  *
   53834             :  * It's easiest to let the grammar production for qualified_name allow
   53835             :  * subscripts and '*', which we then must reject here.
   53836             :  */
   53837             : static void
   53838             : check_qualified_name(List *names, core_yyscan_t yyscanner)
   53839             : {
   53840             :     ListCell   *i;
   53841             : 
   53842             :     foreach(i, names)
   53843             :     {
   53844             :         if (!IsA(lfirst(i), String))
   53845             :             parser_yyerror("syntax error");
   53846             :     }
   53847             : }
   53848             : 
   53849             : /* check_func_name --- check the result of func_name production
   53850             :  *
   53851             :  * It's easiest to let the grammar production for func_name allow subscripts
   53852             :  * and '*', which we then must reject here.
   53853             :  */
   53854             : static List *
   53855             : check_func_name(List *names, core_yyscan_t yyscanner)
   53856             : {
   53857             :     ListCell   *i;
   53858             : 
   53859             :     foreach(i, names)
   53860             :     {
   53861             :         if (!IsA(lfirst(i), String))
   53862             :             parser_yyerror("syntax error");
   53863             :     }
   53864             :     return names;
   53865             : }
   53866             : 
   53867             : /* check_indirection --- check the result of indirection production
   53868             :  *
   53869             :  * We only allow '*' at the end of the list, but it's hard to enforce that
   53870             :  * in the grammar, so do it here.
   53871             :  */
   53872             : static List *
   53873             : check_indirection(List *indirection, core_yyscan_t yyscanner)
   53874             : {
   53875             :     ListCell   *l;
   53876             : 
   53877             :     foreach(l, indirection)
   53878             :     {
   53879             :         if (IsA(lfirst(l), A_Star))
   53880             :         {
   53881             :             if (lnext(indirection, l) != NULL)
   53882             :                 parser_yyerror("improper use of \"*\"");
   53883             :         }
   53884             :     }
   53885             :     return indirection;
   53886             : }
   53887             : 
   53888             : /* extractArgTypes()
   53889             :  * Given a list of FunctionParameter nodes, extract a list of just the
   53890             :  * argument types (TypeNames) for input parameters only.  This is what
   53891             :  * is needed to look up an existing function, which is what is wanted by
   53892             :  * the productions that use this call.
   53893             :  */
   53894             : static List *
   53895             : extractArgTypes(List *parameters)
   53896             : {
   53897             :     List       *result = NIL;
   53898             :     ListCell   *i;
   53899             : 
   53900             :     foreach(i, parameters)
   53901             :     {
   53902             :         FunctionParameter *p = (FunctionParameter *) lfirst(i);
   53903             : 
   53904             :         if (p->mode != FUNC_PARAM_OUT && p->mode != FUNC_PARAM_TABLE)
   53905             :             result = lappend(result, p->argType);
   53906             :     }
   53907             :     return result;
   53908             : }
   53909             : 
   53910             : /* extractAggrArgTypes()
   53911             :  * As above, but work from the output of the aggr_args production.
   53912             :  */
   53913             : static List *
   53914             : extractAggrArgTypes(List *aggrargs)
   53915             : {
   53916             :     Assert(list_length(aggrargs) == 2);
   53917             :     return extractArgTypes((List *) linitial(aggrargs));
   53918             : }
   53919             : 
   53920             : /* makeOrderedSetArgs()
   53921             :  * Build the result of the aggr_args production (which see the comments for).
   53922             :  * This handles only the case where both given lists are nonempty, so that
   53923             :  * we have to deal with multiple VARIADIC arguments.
   53924             :  */
   53925             : static List *
   53926             : makeOrderedSetArgs(List *directargs, List *orderedargs,
   53927             :                    core_yyscan_t yyscanner)
   53928             : {
   53929             :     FunctionParameter *lastd = (FunctionParameter *) llast(directargs);
   53930             :     Integer    *ndirectargs;
   53931             : 
   53932             :     /* No restriction unless last direct arg is VARIADIC */
   53933             :     if (lastd->mode == FUNC_PARAM_VARIADIC)
   53934             :     {
   53935             :         FunctionParameter *firsto = (FunctionParameter *) linitial(orderedargs);
   53936             : 
   53937             :         /*
   53938             :          * We ignore the names, though the aggr_arg production allows them; it
   53939             :          * doesn't allow default values, so those need not be checked.
   53940             :          */
   53941             :         if (list_length(orderedargs) != 1 ||
   53942             :             firsto->mode != FUNC_PARAM_VARIADIC ||
   53943             :             !equal(lastd->argType, firsto->argType))
   53944             :             ereport(ERROR,
   53945             :                     (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   53946             :                      errmsg("an ordered-set aggregate with a VARIADIC direct argument must have one VARIADIC aggregated argument of the same data type"),
   53947             :                      parser_errposition(firsto->location)));
   53948             : 
   53949             :         /* OK, drop the duplicate VARIADIC argument from the internal form */
   53950             :         orderedargs = NIL;
   53951             :     }
   53952             : 
   53953             :     /* don't merge into the next line, as list_concat changes directargs */
   53954             :     ndirectargs = makeInteger(list_length(directargs));
   53955             : 
   53956             :     return list_make2(list_concat(directargs, orderedargs),
   53957             :                       ndirectargs);
   53958             : }
   53959             : 
   53960             : /* insertSelectOptions()
   53961             :  * Insert ORDER BY, etc into an already-constructed SelectStmt.
   53962             :  *
   53963             :  * This routine is just to avoid duplicating code in SelectStmt productions.
   53964             :  */
   53965             : static void
   53966             : insertSelectOptions(SelectStmt *stmt,
   53967             :                     List *sortClause, List *lockingClause,
   53968             :                     SelectLimit *limitClause,
   53969             :                     WithClause *withClause,
   53970             :                     core_yyscan_t yyscanner)
   53971             : {
   53972             :     Assert(IsA(stmt, SelectStmt));
   53973             : 
   53974             :     /*
   53975             :      * Tests here are to reject constructs like
   53976             :      *  (SELECT foo ORDER BY bar) ORDER BY baz
   53977             :      */
   53978             :     if (sortClause)
   53979             :     {
   53980             :         if (stmt->sortClause)
   53981             :             ereport(ERROR,
   53982             :                     (errcode(ERRCODE_SYNTAX_ERROR),
   53983             :                      errmsg("multiple ORDER BY clauses not allowed"),
   53984             :                      parser_errposition(exprLocation((Node *) sortClause))));
   53985             :         stmt->sortClause = sortClause;
   53986             :     }
   53987             :     /* We can handle multiple locking clauses, though */
   53988             :     stmt->lockingClause = list_concat(stmt->lockingClause, lockingClause);
   53989             :     if (limitClause && limitClause->limitOffset)
   53990             :     {
   53991             :         if (stmt->limitOffset)
   53992             :             ereport(ERROR,
   53993             :                     (errcode(ERRCODE_SYNTAX_ERROR),
   53994             :                      errmsg("multiple OFFSET clauses not allowed"),
   53995             :                      parser_errposition(limitClause->offsetLoc)));
   53996             :         stmt->limitOffset = limitClause->limitOffset;
   53997             :     }
   53998             :     if (limitClause && limitClause->limitCount)
   53999             :     {
   54000             :         if (stmt->limitCount)
   54001             :             ereport(ERROR,
   54002             :                     (errcode(ERRCODE_SYNTAX_ERROR),
   54003             :                      errmsg("multiple LIMIT clauses not allowed"),
   54004             :                      parser_errposition(limitClause->countLoc)));
   54005             :         stmt->limitCount = limitClause->limitCount;
   54006             :     }
   54007             :     if (limitClause)
   54008             :     {
   54009             :         /* If there was a conflict, we must have detected it above */
   54010             :         Assert(!stmt->limitOption);
   54011             :         if (!stmt->sortClause && limitClause->limitOption == LIMIT_OPTION_WITH_TIES)
   54012             :             ereport(ERROR,
   54013             :                     (errcode(ERRCODE_SYNTAX_ERROR),
   54014             :                      errmsg("WITH TIES cannot be specified without ORDER BY clause"),
   54015             :                      parser_errposition(limitClause->optionLoc)));
   54016             :         if (limitClause->limitOption == LIMIT_OPTION_WITH_TIES && stmt->lockingClause)
   54017             :         {
   54018             :             ListCell   *lc;
   54019             : 
   54020             :             foreach(lc, stmt->lockingClause)
   54021             :             {
   54022             :                 LockingClause *lock = lfirst_node(LockingClause, lc);
   54023             : 
   54024             :                 if (lock->waitPolicy == LockWaitSkip)
   54025             :                     ereport(ERROR,
   54026             :                             (errcode(ERRCODE_SYNTAX_ERROR),
   54027             :                              errmsg("%s and %s options cannot be used together",
   54028             :                                     "SKIP LOCKED", "WITH TIES"),
   54029             :                              parser_errposition(limitClause->optionLoc)));
   54030             :             }
   54031             :         }
   54032             :         stmt->limitOption = limitClause->limitOption;
   54033             :     }
   54034             :     if (withClause)
   54035             :     {
   54036             :         if (stmt->withClause)
   54037             :             ereport(ERROR,
   54038             :                     (errcode(ERRCODE_SYNTAX_ERROR),
   54039             :                      errmsg("multiple WITH clauses not allowed"),
   54040             :                      parser_errposition(exprLocation((Node *) withClause))));
   54041             :         stmt->withClause = withClause;
   54042             : 
   54043             :         /* Update SelectStmt's location to the start of the WITH clause */
   54044             :         stmt->stmt_location = withClause->location;
   54045             :     }
   54046             : }
   54047             : 
   54048             : static Node *
   54049             : makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg, int location)
   54050             : {
   54051             :     SelectStmt *n = makeNode(SelectStmt);
   54052             : 
   54053             :     n->op = op;
   54054             :     n->all = all;
   54055             :     n->larg = (SelectStmt *) larg;
   54056             :     n->rarg = (SelectStmt *) rarg;
   54057             :     n->stmt_location = location;
   54058             :     return (Node *) n;
   54059             : }
   54060             : 
   54061             : /* SystemFuncName()
   54062             :  * Build a properly-qualified reference to a built-in function.
   54063             :  */
   54064             : List *
   54065             : SystemFuncName(char *name)
   54066             : {
   54067             :     return list_make2(makeString("pg_catalog"), makeString(name));
   54068             : }
   54069             : 
   54070             : /* SystemTypeName()
   54071             :  * Build a properly-qualified reference to a built-in type.
   54072             :  *
   54073             :  * typmod is defaulted, but may be changed afterwards by caller.
   54074             :  * Likewise for the location.
   54075             :  */
   54076             : TypeName *
   54077             : SystemTypeName(char *name)
   54078             : {
   54079             :     return makeTypeNameFromNameList(list_make2(makeString("pg_catalog"),
   54080             :                                                makeString(name)));
   54081             : }
   54082             : 
   54083             : /* doNegate()
   54084             :  * Handle negation of a numeric constant.
   54085             :  *
   54086             :  * Formerly, we did this here because the optimizer couldn't cope with
   54087             :  * indexquals that looked like "var = -4" --- it wants "var = const"
   54088             :  * and a unary minus operator applied to a constant didn't qualify.
   54089             :  * As of Postgres 7.0, that problem doesn't exist anymore because there
   54090             :  * is a constant-subexpression simplifier in the optimizer.  However,
   54091             :  * there's still a good reason for doing this here, which is that we can
   54092             :  * postpone committing to a particular internal representation for simple
   54093             :  * negative constants.  It's better to leave "-123.456" in string form
   54094             :  * until we know what the desired type is.
   54095             :  */
   54096             : static Node *
   54097             : doNegate(Node *n, int location)
   54098             : {
   54099             :     if (IsA(n, A_Const))
   54100             :     {
   54101             :         A_Const    *con = (A_Const *) n;
   54102             : 
   54103             :         /* report the constant's location as that of the '-' sign */
   54104             :         con->location = location;
   54105             : 
   54106             :         if (IsA(&con->val, Integer))
   54107             :         {
   54108             :             con->val.ival.ival = -con->val.ival.ival;
   54109             :             return n;
   54110             :         }
   54111             :         if (IsA(&con->val, Float))
   54112             :         {
   54113             :             doNegateFloat(&con->val.fval);
   54114             :             return n;
   54115             :         }
   54116             :     }
   54117             : 
   54118             :     return (Node *) makeSimpleA_Expr(AEXPR_OP, "-", NULL, n, location);
   54119             : }
   54120             : 
   54121             : static void
   54122             : doNegateFloat(Float *v)
   54123             : {
   54124             :     char       *oldval = v->fval;
   54125             : 
   54126             :     if (*oldval == '+')
   54127             :         oldval++;
   54128             :     if (*oldval == '-')
   54129             :         v->fval = oldval + 1;    /* just strip the '-' */
   54130             :     else
   54131             :         v->fval = psprintf("-%s", oldval);
   54132             : }
   54133             : 
   54134             : static Node *
   54135             : makeAndExpr(Node *lexpr, Node *rexpr, int location)
   54136             : {
   54137             :     /* Flatten "a AND b AND c ..." to a single BoolExpr on sight */
   54138             :     if (IsA(lexpr, BoolExpr))
   54139             :     {
   54140             :         BoolExpr   *blexpr = (BoolExpr *) lexpr;
   54141             : 
   54142             :         if (blexpr->boolop == AND_EXPR)
   54143             :         {
   54144             :             blexpr->args = lappend(blexpr->args, rexpr);
   54145             :             return (Node *) blexpr;
   54146             :         }
   54147             :     }
   54148             :     return (Node *) makeBoolExpr(AND_EXPR, list_make2(lexpr, rexpr), location);
   54149             : }
   54150             : 
   54151             : static Node *
   54152             : makeOrExpr(Node *lexpr, Node *rexpr, int location)
   54153             : {
   54154             :     /* Flatten "a OR b OR c ..." to a single BoolExpr on sight */
   54155             :     if (IsA(lexpr, BoolExpr))
   54156             :     {
   54157             :         BoolExpr   *blexpr = (BoolExpr *) lexpr;
   54158             : 
   54159             :         if (blexpr->boolop == OR_EXPR)
   54160             :         {
   54161             :             blexpr->args = lappend(blexpr->args, rexpr);
   54162             :             return (Node *) blexpr;
   54163             :         }
   54164             :     }
   54165             :     return (Node *) makeBoolExpr(OR_EXPR, list_make2(lexpr, rexpr), location);
   54166             : }
   54167             : 
   54168             : static Node *
   54169             : makeNotExpr(Node *expr, int location)
   54170             : {
   54171             :     return (Node *) makeBoolExpr(NOT_EXPR, list_make1(expr), location);
   54172             : }
   54173             : 
   54174             : static Node *
   54175             : makeAArrayExpr(List *elements, int location)
   54176             : {
   54177             :     A_ArrayExpr *n = makeNode(A_ArrayExpr);
   54178             : 
   54179             :     n->elements = elements;
   54180             :     n->location = location;
   54181             :     return (Node *) n;
   54182             : }
   54183             : 
   54184             : static Node *
   54185             : makeSQLValueFunction(SQLValueFunctionOp op, int32 typmod, int location)
   54186             : {
   54187             :     SQLValueFunction *svf = makeNode(SQLValueFunction);
   54188             : 
   54189             :     svf->op = op;
   54190             :     /* svf->type will be filled during parse analysis */
   54191             :     svf->typmod = typmod;
   54192             :     svf->location = location;
   54193             :     return (Node *) svf;
   54194             : }
   54195             : 
   54196             : static Node *
   54197             : makeXmlExpr(XmlExprOp op, char *name, List *named_args, List *args,
   54198             :             int location)
   54199             : {
   54200             :     XmlExpr    *x = makeNode(XmlExpr);
   54201             : 
   54202             :     x->op = op;
   54203             :     x->name = name;
   54204             : 
   54205             :     /*
   54206             :      * named_args is a list of ResTarget; it'll be split apart into separate
   54207             :      * expression and name lists in transformXmlExpr().
   54208             :      */
   54209             :     x->named_args = named_args;
   54210             :     x->arg_names = NIL;
   54211             :     x->args = args;
   54212             :     /* xmloption, if relevant, must be filled in by caller */
   54213             :     /* type and typmod will be filled in during parse analysis */
   54214             :     x->type = InvalidOid;        /* marks the node as not analyzed */
   54215             :     x->location = location;
   54216             :     return (Node *) x;
   54217             : }
   54218             : 
   54219             : /*
   54220             :  * Merge the input and output parameters of a table function.
   54221             :  */
   54222             : static List *
   54223             : mergeTableFuncParameters(List *func_args, List *columns, core_yyscan_t yyscanner)
   54224             : {
   54225             :     ListCell   *lc;
   54226             : 
   54227             :     /* Explicit OUT and INOUT parameters shouldn't be used in this syntax */
   54228             :     foreach(lc, func_args)
   54229             :     {
   54230             :         FunctionParameter *p = (FunctionParameter *) lfirst(lc);
   54231             : 
   54232             :         if (p->mode != FUNC_PARAM_DEFAULT &&
   54233             :             p->mode != FUNC_PARAM_IN &&
   54234             :             p->mode != FUNC_PARAM_VARIADIC)
   54235             :             ereport(ERROR,
   54236             :                     (errcode(ERRCODE_SYNTAX_ERROR),
   54237             :                      errmsg("OUT and INOUT arguments aren't allowed in TABLE functions"),
   54238             :                      parser_errposition(p->location)));
   54239             :     }
   54240             : 
   54241             :     return list_concat(func_args, columns);
   54242             : }
   54243             : 
   54244             : /*
   54245             :  * Determine return type of a TABLE function.  A single result column
   54246             :  * returns setof that column's type; otherwise return setof record.
   54247             :  */
   54248             : static TypeName *
   54249             : TableFuncTypeName(List *columns)
   54250             : {
   54251             :     TypeName   *result;
   54252             : 
   54253             :     if (list_length(columns) == 1)
   54254             :     {
   54255             :         FunctionParameter *p = (FunctionParameter *) linitial(columns);
   54256             : 
   54257             :         result = copyObject(p->argType);
   54258             :     }
   54259             :     else
   54260             :         result = SystemTypeName("record");
   54261             : 
   54262             :     result->setof = true;
   54263             : 
   54264             :     return result;
   54265             : }
   54266             : 
   54267             : /*
   54268             :  * Convert a list of (dotted) names to a RangeVar (like
   54269             :  * makeRangeVarFromNameList, but with position support).  The
   54270             :  * "AnyName" refers to the any_name production in the grammar.
   54271             :  */
   54272             : static RangeVar *
   54273             : makeRangeVarFromAnyName(List *names, int position, core_yyscan_t yyscanner)
   54274             : {
   54275             :     RangeVar   *r = makeNode(RangeVar);
   54276             : 
   54277             :     switch (list_length(names))
   54278             :     {
   54279             :         case 1:
   54280             :             r->catalogname = NULL;
   54281             :             r->schemaname = NULL;
   54282             :             r->relname = strVal(linitial(names));
   54283             :             break;
   54284             :         case 2:
   54285             :             r->catalogname = NULL;
   54286             :             r->schemaname = strVal(linitial(names));
   54287             :             r->relname = strVal(lsecond(names));
   54288             :             break;
   54289             :         case 3:
   54290             :             r->catalogname = strVal(linitial(names));
   54291             :             r->schemaname = strVal(lsecond(names));
   54292             :             r->relname = strVal(lthird(names));
   54293             :             break;
   54294             :         default:
   54295             :             ereport(ERROR,
   54296             :                     (errcode(ERRCODE_SYNTAX_ERROR),
   54297             :                      errmsg("improper qualified name (too many dotted names): %s",
   54298             :                             NameListToString(names)),
   54299             :                      parser_errposition(position)));
   54300             :             break;
   54301             :     }
   54302             : 
   54303             :     r->relpersistence = RELPERSISTENCE_PERMANENT;
   54304             :     r->location = position;
   54305             : 
   54306             :     return r;
   54307             : }
   54308             : 
   54309             : /*
   54310             :  * Convert a relation_name with name and namelist to a RangeVar using
   54311             :  * makeRangeVar.
   54312             :  */
   54313             : static RangeVar *
   54314             : makeRangeVarFromQualifiedName(char *name, List *namelist, int location,
   54315             :                               core_yyscan_t yyscanner)
   54316             : {
   54317             :     RangeVar   *r;
   54318             : 
   54319             :     check_qualified_name(namelist, yyscanner);
   54320             :     r = makeRangeVar(NULL, NULL, location);
   54321             : 
   54322             :     switch (list_length(namelist))
   54323             :     {
   54324             :         case 1:
   54325             :             r->catalogname = NULL;
   54326             :             r->schemaname = name;
   54327             :             r->relname = strVal(linitial(namelist));
   54328             :             break;
   54329             :         case 2:
   54330             :             r->catalogname = name;
   54331             :             r->schemaname = strVal(linitial(namelist));
   54332             :             r->relname = strVal(lsecond(namelist));
   54333             :             break;
   54334             :         default:
   54335             :             ereport(ERROR,
   54336             :                     errcode(ERRCODE_SYNTAX_ERROR),
   54337             :                     errmsg("improper qualified name (too many dotted names): %s",
   54338             :                            NameListToString(lcons(makeString(name), namelist))),
   54339             :                     parser_errposition(location));
   54340             :             break;
   54341             :     }
   54342             : 
   54343             :     return r;
   54344             : }
   54345             : 
   54346             : /* Separate Constraint nodes from COLLATE clauses in a ColQualList */
   54347             : static void
   54348             : SplitColQualList(List *qualList,
   54349             :                  List **constraintList, CollateClause **collClause,
   54350             :                  core_yyscan_t yyscanner)
   54351             : {
   54352             :     ListCell   *cell;
   54353             : 
   54354             :     *collClause = NULL;
   54355             :     foreach(cell, qualList)
   54356             :     {
   54357             :         Node       *n = (Node *) lfirst(cell);
   54358             : 
   54359             :         if (IsA(n, Constraint))
   54360             :         {
   54361             :             /* keep it in list */
   54362             :             continue;
   54363             :         }
   54364             :         if (IsA(n, CollateClause))
   54365             :         {
   54366             :             CollateClause *c = (CollateClause *) n;
   54367             : 
   54368             :             if (*collClause)
   54369             :                 ereport(ERROR,
   54370             :                         (errcode(ERRCODE_SYNTAX_ERROR),
   54371             :                          errmsg("multiple COLLATE clauses not allowed"),
   54372             :                          parser_errposition(c->location)));
   54373             :             *collClause = c;
   54374             :         }
   54375             :         else
   54376             :             elog(ERROR, "unexpected node type %d", (int) n->type);
   54377             :         /* remove non-Constraint nodes from qualList */
   54378             :         qualList = foreach_delete_current(qualList, cell);
   54379             :     }
   54380             :     *constraintList = qualList;
   54381             : }
   54382             : 
   54383             : /*
   54384             :  * Process result of ConstraintAttributeSpec, and set appropriate bool flags
   54385             :  * in the output command node.  Pass NULL for any flags the particular
   54386             :  * command doesn't support.
   54387             :  */
   54388             : static void
   54389             : processCASbits(int cas_bits, int location, const char *constrType,
   54390             :                bool *deferrable, bool *initdeferred, bool *is_enforced,
   54391             :                bool *not_valid, bool *no_inherit, core_yyscan_t yyscanner)
   54392             : {
   54393             :     /* defaults */
   54394             :     if (deferrable)
   54395             :         *deferrable = false;
   54396             :     if (initdeferred)
   54397             :         *initdeferred = false;
   54398             :     if (not_valid)
   54399             :         *not_valid = false;
   54400             :     if (is_enforced)
   54401             :         *is_enforced = true;
   54402             : 
   54403             :     if (cas_bits & (CAS_DEFERRABLE | CAS_INITIALLY_DEFERRED))
   54404             :     {
   54405             :         if (deferrable)
   54406             :             *deferrable = true;
   54407             :         else
   54408             :             ereport(ERROR,
   54409             :                     (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   54410             :             /* translator: %s is CHECK, UNIQUE, or similar */
   54411             :                      errmsg("%s constraints cannot be marked DEFERRABLE",
   54412             :                             constrType),
   54413             :                      parser_errposition(location)));
   54414             :     }
   54415             : 
   54416             :     if (cas_bits & CAS_INITIALLY_DEFERRED)
   54417             :     {
   54418             :         if (initdeferred)
   54419             :             *initdeferred = true;
   54420             :         else
   54421             :             ereport(ERROR,
   54422             :                     (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   54423             :             /* translator: %s is CHECK, UNIQUE, or similar */
   54424             :                      errmsg("%s constraints cannot be marked DEFERRABLE",
   54425             :                             constrType),
   54426             :                      parser_errposition(location)));
   54427             :     }
   54428             : 
   54429             :     if (cas_bits & CAS_NOT_VALID)
   54430             :     {
   54431             :         if (not_valid)
   54432             :             *not_valid = true;
   54433             :         else
   54434             :             ereport(ERROR,
   54435             :                     (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   54436             :             /* translator: %s is CHECK, UNIQUE, or similar */
   54437             :                      errmsg("%s constraints cannot be marked NOT VALID",
   54438             :                             constrType),
   54439             :                      parser_errposition(location)));
   54440             :     }
   54441             : 
   54442             :     if (cas_bits & CAS_NO_INHERIT)
   54443             :     {
   54444             :         if (no_inherit)
   54445             :             *no_inherit = true;
   54446             :         else
   54447             :             ereport(ERROR,
   54448             :                     (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   54449             :             /* translator: %s is CHECK, UNIQUE, or similar */
   54450             :                      errmsg("%s constraints cannot be marked NO INHERIT",
   54451             :                             constrType),
   54452             :                      parser_errposition(location)));
   54453             :     }
   54454             : 
   54455             :     if (cas_bits & CAS_NOT_ENFORCED)
   54456             :     {
   54457             :         if (is_enforced)
   54458             :             *is_enforced = false;
   54459             :         else
   54460             :             ereport(ERROR,
   54461             :                     (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   54462             :                      /* translator: %s is CHECK, UNIQUE, or similar */
   54463             :                      errmsg("%s constraints cannot be marked NOT ENFORCED",
   54464             :                             constrType),
   54465             :                      parser_errposition(location)));
   54466             : 
   54467             :         /*
   54468             :          * NB: The validated status is irrelevant when the constraint is set to
   54469             :          * NOT ENFORCED, but for consistency, it should be set accordingly.
   54470             :          * This ensures that if the constraint is later changed to ENFORCED, it
   54471             :          * will automatically be in the correct NOT VALIDATED state.
   54472             :          */
   54473             :         if (not_valid)
   54474             :             *not_valid = true;
   54475             :     }
   54476             : 
   54477             :     if (cas_bits & CAS_ENFORCED)
   54478             :     {
   54479             :         if (is_enforced)
   54480             :             *is_enforced = true;
   54481             :         else
   54482             :             ereport(ERROR,
   54483             :                     (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   54484             :                      /* translator: %s is CHECK, UNIQUE, or similar */
   54485             :                      errmsg("%s constraints cannot be marked ENFORCED",
   54486             :                             constrType),
   54487             :                      parser_errposition(location)));
   54488             :     }
   54489             : }
   54490             : 
   54491             : /*
   54492             :  * Parse a user-supplied partition strategy string into parse node
   54493             :  * PartitionStrategy representation, or die trying.
   54494             :  */
   54495             : static PartitionStrategy
   54496             : parsePartitionStrategy(char *strategy, int location, core_yyscan_t yyscanner)
   54497             : {
   54498             :     if (pg_strcasecmp(strategy, "list") == 0)
   54499             :         return PARTITION_STRATEGY_LIST;
   54500             :     else if (pg_strcasecmp(strategy, "range") == 0)
   54501             :         return PARTITION_STRATEGY_RANGE;
   54502             :     else if (pg_strcasecmp(strategy, "hash") == 0)
   54503             :         return PARTITION_STRATEGY_HASH;
   54504             : 
   54505             :     ereport(ERROR,
   54506             :             (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
   54507             :              errmsg("unrecognized partitioning strategy \"%s\"", strategy),
   54508             :              parser_errposition(location)));
   54509             :     return PARTITION_STRATEGY_LIST; /* keep compiler quiet */
   54510             : 
   54511             : }
   54512             : 
   54513             : /*
   54514             :  * Process pubobjspec_list to check for errors in any of the objects and
   54515             :  * convert PUBLICATIONOBJ_CONTINUATION into appropriate PublicationObjSpecType.
   54516             :  */
   54517             : static void
   54518             : preprocess_pubobj_list(List *pubobjspec_list, core_yyscan_t yyscanner)
   54519             : {
   54520             :     ListCell   *cell;
   54521             :     PublicationObjSpec *pubobj;
   54522             :     PublicationObjSpecType prevobjtype = PUBLICATIONOBJ_CONTINUATION;
   54523             : 
   54524             :     if (!pubobjspec_list)
   54525             :         return;
   54526             : 
   54527             :     pubobj = (PublicationObjSpec *) linitial(pubobjspec_list);
   54528             :     if (pubobj->pubobjtype == PUBLICATIONOBJ_CONTINUATION)
   54529             :         ereport(ERROR,
   54530             :                 errcode(ERRCODE_SYNTAX_ERROR),
   54531             :                 errmsg("invalid publication object list"),
   54532             :                 errdetail("One of TABLE or TABLES IN SCHEMA must be specified before a standalone table or schema name."),
   54533             :                 parser_errposition(pubobj->location));
   54534             : 
   54535             :     foreach(cell, pubobjspec_list)
   54536             :     {
   54537             :         pubobj = (PublicationObjSpec *) lfirst(cell);
   54538             : 
   54539             :         if (pubobj->pubobjtype == PUBLICATIONOBJ_CONTINUATION)
   54540             :             pubobj->pubobjtype = prevobjtype;
   54541             : 
   54542             :         if (pubobj->pubobjtype == PUBLICATIONOBJ_TABLE)
   54543             :         {
   54544             :             /* relation name or pubtable must be set for this type of object */
   54545             :             if (!pubobj->name && !pubobj->pubtable)
   54546             :                 ereport(ERROR,
   54547             :                         errcode(ERRCODE_SYNTAX_ERROR),
   54548             :                         errmsg("invalid table name"),
   54549             :                         parser_errposition(pubobj->location));
   54550             : 
   54551             :             if (pubobj->name)
   54552             :             {
   54553             :                 /* convert it to PublicationTable */
   54554             :                 PublicationTable *pubtable = makeNode(PublicationTable);
   54555             : 
   54556             :                 pubtable->relation =
   54557             :                     makeRangeVar(NULL, pubobj->name, pubobj->location);
   54558             :                 pubobj->pubtable = pubtable;
   54559             :                 pubobj->name = NULL;
   54560             :             }
   54561             :         }
   54562             :         else if (pubobj->pubobjtype == PUBLICATIONOBJ_TABLES_IN_SCHEMA ||
   54563             :                  pubobj->pubobjtype == PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA)
   54564             :         {
   54565             :             /* WHERE clause is not allowed on a schema object */
   54566             :             if (pubobj->pubtable && pubobj->pubtable->whereClause)
   54567             :                 ereport(ERROR,
   54568             :                         errcode(ERRCODE_SYNTAX_ERROR),
   54569             :                         errmsg("WHERE clause not allowed for schema"),
   54570             :                         parser_errposition(pubobj->location));
   54571             : 
   54572             :             /* Column list is not allowed on a schema object */
   54573             :             if (pubobj->pubtable && pubobj->pubtable->columns)
   54574             :                 ereport(ERROR,
   54575             :                         errcode(ERRCODE_SYNTAX_ERROR),
   54576             :                         errmsg("column specification not allowed for schema"),
   54577             :                         parser_errposition(pubobj->location));
   54578             : 
   54579             :             /*
   54580             :              * We can distinguish between the different type of schema objects
   54581             :              * based on whether name and pubtable is set.
   54582             :              */
   54583             :             if (pubobj->name)
   54584             :                 pubobj->pubobjtype = PUBLICATIONOBJ_TABLES_IN_SCHEMA;
   54585             :             else if (!pubobj->name && !pubobj->pubtable)
   54586             :                 pubobj->pubobjtype = PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA;
   54587             :             else
   54588             :                 ereport(ERROR,
   54589             :                         errcode(ERRCODE_SYNTAX_ERROR),
   54590             :                         errmsg("invalid schema name"),
   54591             :                         parser_errposition(pubobj->location));
   54592             :         }
   54593             : 
   54594             :         prevobjtype = pubobj->pubobjtype;
   54595             :     }
   54596             : }
   54597             : 
   54598             : /*----------
   54599             :  * Recursive view transformation
   54600             :  *
   54601             :  * Convert
   54602             :  *
   54603             :  *     CREATE RECURSIVE VIEW relname (aliases) AS query
   54604             :  *
   54605             :  * to
   54606             :  *
   54607             :  *     CREATE VIEW relname (aliases) AS
   54608             :  *         WITH RECURSIVE relname (aliases) AS (query)
   54609             :  *         SELECT aliases FROM relname
   54610             :  *
   54611             :  * Actually, just the WITH ... part, which is then inserted into the original
   54612             :  * view definition as the query.
   54613             :  * ----------
   54614             :  */
   54615             : static Node *
   54616             : makeRecursiveViewSelect(char *relname, List *aliases, Node *query)
   54617             : {
   54618             :     SelectStmt *s = makeNode(SelectStmt);
   54619             :     WithClause *w = makeNode(WithClause);
   54620             :     CommonTableExpr *cte = makeNode(CommonTableExpr);
   54621             :     List       *tl = NIL;
   54622             :     ListCell   *lc;
   54623             : 
   54624             :     /* create common table expression */
   54625             :     cte->ctename = relname;
   54626             :     cte->aliascolnames = aliases;
   54627             :     cte->ctematerialized = CTEMaterializeDefault;
   54628             :     cte->ctequery = query;
   54629             :     cte->location = -1;
   54630             : 
   54631             :     /* create WITH clause and attach CTE */
   54632             :     w->recursive = true;
   54633             :     w->ctes = list_make1(cte);
   54634             :     w->location = -1;
   54635             : 
   54636             :     /*
   54637             :      * create target list for the new SELECT from the alias list of the
   54638             :      * recursive view specification
   54639             :      */
   54640             :     foreach(lc, aliases)
   54641             :     {
   54642             :         ResTarget  *rt = makeNode(ResTarget);
   54643             : 
   54644             :         rt->name = NULL;
   54645             :         rt->indirection = NIL;
   54646             :         rt->val = makeColumnRef(strVal(lfirst(lc)), NIL, -1, 0);
   54647             :         rt->location = -1;
   54648             : 
   54649             :         tl = lappend(tl, rt);
   54650             :     }
   54651             : 
   54652             :     /*
   54653             :      * create new SELECT combining WITH clause, target list, and fake FROM
   54654             :      * clause
   54655             :      */
   54656             :     s->withClause = w;
   54657             :     s->targetList = tl;
   54658             :     s->fromClause = list_make1(makeRangeVar(NULL, relname, -1));
   54659             : 
   54660             :     return (Node *) s;
   54661             : }
   54662             : 
   54663             : /* parser_init()
   54664             :  * Initialize to parse one query string
   54665             :  */
   54666             : void
   54667             : parser_init(base_yy_extra_type *yyext)
   54668             : {
   54669             :     yyext->parsetree = NIL;      /* in case grammar forgets to set it */
   54670             : }

Generated by: LCOV version 1.14