LCOV - code coverage report
Current view: top level - src/backend/parser - gram.c (source / functions) Hit Total Coverage
Test: PostgreSQL 17devel Lines: 4221 4686 90.1 %
Date: 2024-04-20 12:11:36 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-2024, 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 "access/tableam.h"
     127             : #include "catalog/index.h"
     128             : #include "catalog/namespace.h"
     129             : #include "catalog/pg_am.h"
     130             : #include "catalog/pg_trigger.h"
     131             : #include "commands/defrem.h"
     132             : #include "commands/trigger.h"
     133             : #include "gramparse.h"
     134             : #include "nodes/makefuncs.h"
     135             : #include "nodes/nodeFuncs.h"
     136             : #include "parser/parser.h"
     137             : #include "storage/lmgr.h"
     138             : #include "utils/date.h"
     139             : #include "utils/datetime.h"
     140             : #include "utils/numeric.h"
     141             : #include "utils/xml.h"
     142             : 
     143             : 
     144             : /*
     145             :  * Location tracking support --- simpler than bison's default, since we only
     146             :  * want to track the start position not the end position of each nonterminal.
     147             :  */
     148             : #define YYLLOC_DEFAULT(Current, Rhs, N) \
     149             :     do { \
     150             :         if ((N) > 0) \
     151             :             (Current) = (Rhs)[1]; \
     152             :         else \
     153             :             (Current) = (-1); \
     154             :     } while (0)
     155             : 
     156             : /*
     157             :  * The above macro assigns -1 (unknown) as the parse location of any
     158             :  * nonterminal that was reduced from an empty rule, or whose leftmost
     159             :  * component was reduced from an empty rule.  This is problematic
     160             :  * for nonterminals defined like
     161             :  *      OptFooList: / * EMPTY * / { ... } | OptFooList Foo { ... } ;
     162             :  * because we'll set -1 as the location during the first reduction and then
     163             :  * copy it during each subsequent reduction, leaving us with -1 for the
     164             :  * location even when the list is not empty.  To fix that, do this in the
     165             :  * action for the nonempty rule(s):
     166             :  *      if (@$ < 0) @$ = @2;
     167             :  * (Although we have many nonterminals that follow this pattern, we only
     168             :  * bother with fixing @$ like this when the nonterminal's parse location
     169             :  * is actually referenced in some rule.)
     170             :  *
     171             :  * A cleaner answer would be to make YYLLOC_DEFAULT scan all the Rhs
     172             :  * locations until it's found one that's not -1.  Then we'd get a correct
     173             :  * location for any nonterminal that isn't entirely empty.  But this way
     174             :  * would add overhead to every rule reduction, and so far there's not been
     175             :  * a compelling reason to pay that overhead.
     176             :  */
     177             : 
     178             : /*
     179             :  * Bison doesn't allocate anything that needs to live across parser calls,
     180             :  * so we can easily have it use palloc instead of malloc.  This prevents
     181             :  * memory leaks if we error out during parsing.
     182             :  */
     183             : #define YYMALLOC palloc
     184             : #define YYFREE   pfree
     185             : 
     186             : /* Private struct for the result of privilege_target production */
     187             : typedef struct PrivTarget
     188             : {
     189             :     GrantTargetType targtype;
     190             :     ObjectType  objtype;
     191             :     List       *objs;
     192             : } PrivTarget;
     193             : 
     194             : /* Private struct for the result of import_qualification production */
     195             : typedef struct ImportQual
     196             : {
     197             :     ImportForeignSchemaType type;
     198             :     List       *table_names;
     199             : } ImportQual;
     200             : 
     201             : /* Private struct for the result of opt_select_limit production */
     202             : typedef struct SelectLimit
     203             : {
     204             :     Node       *limitOffset;
     205             :     Node       *limitCount;
     206             :     LimitOption limitOption;
     207             : } SelectLimit;
     208             : 
     209             : /* Private struct for the result of group_clause production */
     210             : typedef struct GroupClause
     211             : {
     212             :     bool        distinct;
     213             :     List       *list;
     214             : } GroupClause;
     215             : 
     216             : /* Private structs for the result of key_actions and key_action productions */
     217             : typedef struct KeyAction
     218             : {
     219             :     char        action;
     220             :     List       *cols;
     221             : } KeyAction;
     222             : 
     223             : typedef struct KeyActions
     224             : {
     225             :     KeyAction *updateAction;
     226             :     KeyAction *deleteAction;
     227             : } KeyActions;
     228             : 
     229             : /* ConstraintAttributeSpec yields an integer bitmask of these flags: */
     230             : #define CAS_NOT_DEFERRABLE          0x01
     231             : #define CAS_DEFERRABLE              0x02
     232             : #define CAS_INITIALLY_IMMEDIATE     0x04
     233             : #define CAS_INITIALLY_DEFERRED      0x08
     234             : #define CAS_NOT_VALID               0x10
     235             : #define CAS_NO_INHERIT              0x20
     236             : 
     237             : 
     238             : #define parser_yyerror(msg)  scanner_yyerror(msg, yyscanner)
     239             : #define parser_errposition(pos)  scanner_errposition(pos, yyscanner)
     240             : 
     241             : static void base_yyerror(YYLTYPE *yylloc, core_yyscan_t yyscanner,
     242             :                          const char *msg);
     243             : static RawStmt *makeRawStmt(Node *stmt, int stmt_location);
     244             : static void updateRawStmtEnd(RawStmt *rs, int end_location);
     245             : static Node *makeColumnRef(char *colname, List *indirection,
     246             :                            int location, core_yyscan_t yyscanner);
     247             : static Node *makeTypeCast(Node *arg, TypeName *typename, int location);
     248             : static Node *makeStringConstCast(char *str, int location, TypeName *typename);
     249             : static Node *makeIntConst(int val, int location);
     250             : static Node *makeFloatConst(char *str, int location);
     251             : static Node *makeBoolAConst(bool state, int location);
     252             : static Node *makeBitStringConst(char *str, int location);
     253             : static Node *makeNullAConst(int location);
     254             : static Node *makeAConst(Node *v, int location);
     255             : static RoleSpec *makeRoleSpec(RoleSpecType type, int location);
     256             : static void check_qualified_name(List *names, core_yyscan_t yyscanner);
     257             : static List *check_func_name(List *names, core_yyscan_t yyscanner);
     258             : static List *check_indirection(List *indirection, core_yyscan_t yyscanner);
     259             : static List *extractArgTypes(List *parameters);
     260             : static List *extractAggrArgTypes(List *aggrargs);
     261             : static List *makeOrderedSetArgs(List *directargs, List *orderedargs,
     262             :                                 core_yyscan_t yyscanner);
     263             : static void insertSelectOptions(SelectStmt *stmt,
     264             :                                 List *sortClause, List *lockingClause,
     265             :                                 SelectLimit *limitClause,
     266             :                                 WithClause *withClause,
     267             :                                 core_yyscan_t yyscanner);
     268             : static Node *makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg);
     269             : static Node *doNegate(Node *n, int location);
     270             : static void doNegateFloat(Float *v);
     271             : static Node *makeAndExpr(Node *lexpr, Node *rexpr, int location);
     272             : static Node *makeOrExpr(Node *lexpr, Node *rexpr, int location);
     273             : static Node *makeNotExpr(Node *expr, int location);
     274             : static Node *makeAArrayExpr(List *elements, int location);
     275             : static Node *makeSQLValueFunction(SQLValueFunctionOp op, int32 typmod,
     276             :                                   int location);
     277             : static Node *makeXmlExpr(XmlExprOp op, char *name, List *named_args,
     278             :                          List *args, int location);
     279             : static List *mergeTableFuncParameters(List *func_args, List *columns);
     280             : static TypeName *TableFuncTypeName(List *columns);
     281             : static RangeVar *makeRangeVarFromAnyName(List *names, int position, core_yyscan_t yyscanner);
     282             : static RangeVar *makeRangeVarFromQualifiedName(char *name, List *namelist, int location,
     283             :                                                core_yyscan_t yyscanner);
     284             : static void SplitColQualList(List *qualList,
     285             :                              List **constraintList, CollateClause **collClause,
     286             :                              core_yyscan_t yyscanner);
     287             : static void processCASbits(int cas_bits, int location, const char *constrType,
     288             :                bool *deferrable, bool *initdeferred, bool *not_valid,
     289             :                bool *no_inherit, core_yyscan_t yyscanner);
     290             : static PartitionStrategy parsePartitionStrategy(char *strategy);
     291             : static void preprocess_pubobj_list(List *pubobjspec_list,
     292             :                                    core_yyscan_t yyscanner);
     293             : static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
     294             : 
     295             : 
     296             : #line 297 "gram.c"
     297             : 
     298             : # ifndef YY_CAST
     299             : #  ifdef __cplusplus
     300             : #   define YY_CAST(Type, Val) static_cast<Type> (Val)
     301             : #   define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
     302             : #  else
     303             : #   define YY_CAST(Type, Val) ((Type) (Val))
     304             : #   define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
     305             : #  endif
     306             : # endif
     307             : # ifndef YY_NULLPTR
     308             : #  if defined __cplusplus
     309             : #   if 201103L <= __cplusplus
     310             : #    define YY_NULLPTR nullptr
     311             : #   else
     312             : #    define YY_NULLPTR 0
     313             : #   endif
     314             : #  else
     315             : #   define YY_NULLPTR ((void*)0)
     316             : #  endif
     317             : # endif
     318             : 
     319             : #include "gram.h"
     320             : /* Symbol kind.  */
     321             : enum yysymbol_kind_t
     322             : {
     323             :   YYSYMBOL_YYEMPTY = -2,
     324             :   YYSYMBOL_YYEOF = 0,                      /* "end of file"  */
     325             :   YYSYMBOL_YYerror = 1,                    /* error  */
     326             :   YYSYMBOL_YYUNDEF = 2,                    /* "invalid token"  */
     327             :   YYSYMBOL_IDENT = 3,                      /* IDENT  */
     328             :   YYSYMBOL_UIDENT = 4,                     /* UIDENT  */
     329             :   YYSYMBOL_FCONST = 5,                     /* FCONST  */
     330             :   YYSYMBOL_SCONST = 6,                     /* SCONST  */
     331             :   YYSYMBOL_USCONST = 7,                    /* USCONST  */
     332             :   YYSYMBOL_BCONST = 8,                     /* BCONST  */
     333             :   YYSYMBOL_XCONST = 9,                     /* XCONST  */
     334             :   YYSYMBOL_Op = 10,                        /* Op  */
     335             :   YYSYMBOL_ICONST = 11,                    /* ICONST  */
     336             :   YYSYMBOL_PARAM = 12,                     /* PARAM  */
     337             :   YYSYMBOL_TYPECAST = 13,                  /* TYPECAST  */
     338             :   YYSYMBOL_DOT_DOT = 14,                   /* DOT_DOT  */
     339             :   YYSYMBOL_COLON_EQUALS = 15,              /* COLON_EQUALS  */
     340             :   YYSYMBOL_EQUALS_GREATER = 16,            /* EQUALS_GREATER  */
     341             :   YYSYMBOL_LESS_EQUALS = 17,               /* LESS_EQUALS  */
     342             :   YYSYMBOL_GREATER_EQUALS = 18,            /* GREATER_EQUALS  */
     343             :   YYSYMBOL_NOT_EQUALS = 19,                /* NOT_EQUALS  */
     344             :   YYSYMBOL_ABORT_P = 20,                   /* ABORT_P  */
     345             :   YYSYMBOL_ABSENT = 21,                    /* ABSENT  */
     346             :   YYSYMBOL_ABSOLUTE_P = 22,                /* ABSOLUTE_P  */
     347             :   YYSYMBOL_ACCESS = 23,                    /* ACCESS  */
     348             :   YYSYMBOL_ACTION = 24,                    /* ACTION  */
     349             :   YYSYMBOL_ADD_P = 25,                     /* ADD_P  */
     350             :   YYSYMBOL_ADMIN = 26,                     /* ADMIN  */
     351             :   YYSYMBOL_AFTER = 27,                     /* AFTER  */
     352             :   YYSYMBOL_AGGREGATE = 28,                 /* AGGREGATE  */
     353             :   YYSYMBOL_ALL = 29,                       /* ALL  */
     354             :   YYSYMBOL_ALSO = 30,                      /* ALSO  */
     355             :   YYSYMBOL_ALTER = 31,                     /* ALTER  */
     356             :   YYSYMBOL_ALWAYS = 32,                    /* ALWAYS  */
     357             :   YYSYMBOL_ANALYSE = 33,                   /* ANALYSE  */
     358             :   YYSYMBOL_ANALYZE = 34,                   /* ANALYZE  */
     359             :   YYSYMBOL_AND = 35,                       /* AND  */
     360             :   YYSYMBOL_ANY = 36,                       /* ANY  */
     361             :   YYSYMBOL_ARRAY = 37,                     /* ARRAY  */
     362             :   YYSYMBOL_AS = 38,                        /* AS  */
     363             :   YYSYMBOL_ASC = 39,                       /* ASC  */
     364             :   YYSYMBOL_ASENSITIVE = 40,                /* ASENSITIVE  */
     365             :   YYSYMBOL_ASSERTION = 41,                 /* ASSERTION  */
     366             :   YYSYMBOL_ASSIGNMENT = 42,                /* ASSIGNMENT  */
     367             :   YYSYMBOL_ASYMMETRIC = 43,                /* ASYMMETRIC  */
     368             :   YYSYMBOL_ATOMIC = 44,                    /* ATOMIC  */
     369             :   YYSYMBOL_AT = 45,                        /* AT  */
     370             :   YYSYMBOL_ATTACH = 46,                    /* ATTACH  */
     371             :   YYSYMBOL_ATTRIBUTE = 47,                 /* ATTRIBUTE  */
     372             :   YYSYMBOL_AUTHORIZATION = 48,             /* AUTHORIZATION  */
     373             :   YYSYMBOL_BACKWARD = 49,                  /* BACKWARD  */
     374             :   YYSYMBOL_BEFORE = 50,                    /* BEFORE  */
     375             :   YYSYMBOL_BEGIN_P = 51,                   /* BEGIN_P  */
     376             :   YYSYMBOL_BETWEEN = 52,                   /* BETWEEN  */
     377             :   YYSYMBOL_BIGINT = 53,                    /* BIGINT  */
     378             :   YYSYMBOL_BINARY = 54,                    /* BINARY  */
     379             :   YYSYMBOL_BIT = 55,                       /* BIT  */
     380             :   YYSYMBOL_BOOLEAN_P = 56,                 /* BOOLEAN_P  */
     381             :   YYSYMBOL_BOTH = 57,                      /* BOTH  */
     382             :   YYSYMBOL_BREADTH = 58,                   /* BREADTH  */
     383             :   YYSYMBOL_BY = 59,                        /* BY  */
     384             :   YYSYMBOL_CACHE = 60,                     /* CACHE  */
     385             :   YYSYMBOL_CALL = 61,                      /* CALL  */
     386             :   YYSYMBOL_CALLED = 62,                    /* CALLED  */
     387             :   YYSYMBOL_CASCADE = 63,                   /* CASCADE  */
     388             :   YYSYMBOL_CASCADED = 64,                  /* CASCADED  */
     389             :   YYSYMBOL_CASE = 65,                      /* CASE  */
     390             :   YYSYMBOL_CAST = 66,                      /* CAST  */
     391             :   YYSYMBOL_CATALOG_P = 67,                 /* CATALOG_P  */
     392             :   YYSYMBOL_CHAIN = 68,                     /* CHAIN  */
     393             :   YYSYMBOL_CHAR_P = 69,                    /* CHAR_P  */
     394             :   YYSYMBOL_CHARACTER = 70,                 /* CHARACTER  */
     395             :   YYSYMBOL_CHARACTERISTICS = 71,           /* CHARACTERISTICS  */
     396             :   YYSYMBOL_CHECK = 72,                     /* CHECK  */
     397             :   YYSYMBOL_CHECKPOINT = 73,                /* CHECKPOINT  */
     398             :   YYSYMBOL_CLASS = 74,                     /* CLASS  */
     399             :   YYSYMBOL_CLOSE = 75,                     /* CLOSE  */
     400             :   YYSYMBOL_CLUSTER = 76,                   /* CLUSTER  */
     401             :   YYSYMBOL_COALESCE = 77,                  /* COALESCE  */
     402             :   YYSYMBOL_COLLATE = 78,                   /* COLLATE  */
     403             :   YYSYMBOL_COLLATION = 79,                 /* COLLATION  */
     404             :   YYSYMBOL_COLUMN = 80,                    /* COLUMN  */
     405             :   YYSYMBOL_COLUMNS = 81,                   /* COLUMNS  */
     406             :   YYSYMBOL_COMMENT = 82,                   /* COMMENT  */
     407             :   YYSYMBOL_COMMENTS = 83,                  /* COMMENTS  */
     408             :   YYSYMBOL_COMMIT = 84,                    /* COMMIT  */
     409             :   YYSYMBOL_COMMITTED = 85,                 /* COMMITTED  */
     410             :   YYSYMBOL_COMPRESSION = 86,               /* COMPRESSION  */
     411             :   YYSYMBOL_CONCURRENTLY = 87,              /* CONCURRENTLY  */
     412             :   YYSYMBOL_CONDITIONAL = 88,               /* CONDITIONAL  */
     413             :   YYSYMBOL_CONFIGURATION = 89,             /* CONFIGURATION  */
     414             :   YYSYMBOL_CONFLICT = 90,                  /* CONFLICT  */
     415             :   YYSYMBOL_CONNECTION = 91,                /* CONNECTION  */
     416             :   YYSYMBOL_CONSTRAINT = 92,                /* CONSTRAINT  */
     417             :   YYSYMBOL_CONSTRAINTS = 93,               /* CONSTRAINTS  */
     418             :   YYSYMBOL_CONTENT_P = 94,                 /* CONTENT_P  */
     419             :   YYSYMBOL_CONTINUE_P = 95,                /* CONTINUE_P  */
     420             :   YYSYMBOL_CONVERSION_P = 96,              /* CONVERSION_P  */
     421             :   YYSYMBOL_COPY = 97,                      /* COPY  */
     422             :   YYSYMBOL_COST = 98,                      /* COST  */
     423             :   YYSYMBOL_CREATE = 99,                    /* CREATE  */
     424             :   YYSYMBOL_CROSS = 100,                    /* CROSS  */
     425             :   YYSYMBOL_CSV = 101,                      /* CSV  */
     426             :   YYSYMBOL_CUBE = 102,                     /* CUBE  */
     427             :   YYSYMBOL_CURRENT_P = 103,                /* CURRENT_P  */
     428             :   YYSYMBOL_CURRENT_CATALOG = 104,          /* CURRENT_CATALOG  */
     429             :   YYSYMBOL_CURRENT_DATE = 105,             /* CURRENT_DATE  */
     430             :   YYSYMBOL_CURRENT_ROLE = 106,             /* CURRENT_ROLE  */
     431             :   YYSYMBOL_CURRENT_SCHEMA = 107,           /* CURRENT_SCHEMA  */
     432             :   YYSYMBOL_CURRENT_TIME = 108,             /* CURRENT_TIME  */
     433             :   YYSYMBOL_CURRENT_TIMESTAMP = 109,        /* CURRENT_TIMESTAMP  */
     434             :   YYSYMBOL_CURRENT_USER = 110,             /* CURRENT_USER  */
     435             :   YYSYMBOL_CURSOR = 111,                   /* CURSOR  */
     436             :   YYSYMBOL_CYCLE = 112,                    /* CYCLE  */
     437             :   YYSYMBOL_DATA_P = 113,                   /* DATA_P  */
     438             :   YYSYMBOL_DATABASE = 114,                 /* DATABASE  */
     439             :   YYSYMBOL_DAY_P = 115,                    /* DAY_P  */
     440             :   YYSYMBOL_DEALLOCATE = 116,               /* DEALLOCATE  */
     441             :   YYSYMBOL_DEC = 117,                      /* DEC  */
     442             :   YYSYMBOL_DECIMAL_P = 118,                /* DECIMAL_P  */
     443             :   YYSYMBOL_DECLARE = 119,                  /* DECLARE  */
     444             :   YYSYMBOL_DEFAULT = 120,                  /* DEFAULT  */
     445             :   YYSYMBOL_DEFAULTS = 121,                 /* DEFAULTS  */
     446             :   YYSYMBOL_DEFERRABLE = 122,               /* DEFERRABLE  */
     447             :   YYSYMBOL_DEFERRED = 123,                 /* DEFERRED  */
     448             :   YYSYMBOL_DEFINER = 124,                  /* DEFINER  */
     449             :   YYSYMBOL_DELETE_P = 125,                 /* DELETE_P  */
     450             :   YYSYMBOL_DELIMITER = 126,                /* DELIMITER  */
     451             :   YYSYMBOL_DELIMITERS = 127,               /* DELIMITERS  */
     452             :   YYSYMBOL_DEPENDS = 128,                  /* DEPENDS  */
     453             :   YYSYMBOL_DEPTH = 129,                    /* DEPTH  */
     454             :   YYSYMBOL_DESC = 130,                     /* DESC  */
     455             :   YYSYMBOL_DETACH = 131,                   /* DETACH  */
     456             :   YYSYMBOL_DICTIONARY = 132,               /* DICTIONARY  */
     457             :   YYSYMBOL_DISABLE_P = 133,                /* DISABLE_P  */
     458             :   YYSYMBOL_DISCARD = 134,                  /* DISCARD  */
     459             :   YYSYMBOL_DISTINCT = 135,                 /* DISTINCT  */
     460             :   YYSYMBOL_DO = 136,                       /* DO  */
     461             :   YYSYMBOL_DOCUMENT_P = 137,               /* DOCUMENT_P  */
     462             :   YYSYMBOL_DOMAIN_P = 138,                 /* DOMAIN_P  */
     463             :   YYSYMBOL_DOUBLE_P = 139,                 /* DOUBLE_P  */
     464             :   YYSYMBOL_DROP = 140,                     /* DROP  */
     465             :   YYSYMBOL_EACH = 141,                     /* EACH  */
     466             :   YYSYMBOL_ELSE = 142,                     /* ELSE  */
     467             :   YYSYMBOL_EMPTY_P = 143,                  /* EMPTY_P  */
     468             :   YYSYMBOL_ENABLE_P = 144,                 /* ENABLE_P  */
     469             :   YYSYMBOL_ENCODING = 145,                 /* ENCODING  */
     470             :   YYSYMBOL_ENCRYPTED = 146,                /* ENCRYPTED  */
     471             :   YYSYMBOL_END_P = 147,                    /* END_P  */
     472             :   YYSYMBOL_ENUM_P = 148,                   /* ENUM_P  */
     473             :   YYSYMBOL_ERROR_P = 149,                  /* ERROR_P  */
     474             :   YYSYMBOL_ESCAPE = 150,                   /* ESCAPE  */
     475             :   YYSYMBOL_EVENT = 151,                    /* EVENT  */
     476             :   YYSYMBOL_EXCEPT = 152,                   /* EXCEPT  */
     477             :   YYSYMBOL_EXCLUDE = 153,                  /* EXCLUDE  */
     478             :   YYSYMBOL_EXCLUDING = 154,                /* EXCLUDING  */
     479             :   YYSYMBOL_EXCLUSIVE = 155,                /* EXCLUSIVE  */
     480             :   YYSYMBOL_EXECUTE = 156,                  /* EXECUTE  */
     481             :   YYSYMBOL_EXISTS = 157,                   /* EXISTS  */
     482             :   YYSYMBOL_EXPLAIN = 158,                  /* EXPLAIN  */
     483             :   YYSYMBOL_EXPRESSION = 159,               /* EXPRESSION  */
     484             :   YYSYMBOL_EXTENSION = 160,                /* EXTENSION  */
     485             :   YYSYMBOL_EXTERNAL = 161,                 /* EXTERNAL  */
     486             :   YYSYMBOL_EXTRACT = 162,                  /* EXTRACT  */
     487             :   YYSYMBOL_FALSE_P = 163,                  /* FALSE_P  */
     488             :   YYSYMBOL_FAMILY = 164,                   /* FAMILY  */
     489             :   YYSYMBOL_FETCH = 165,                    /* FETCH  */
     490             :   YYSYMBOL_FILTER = 166,                   /* FILTER  */
     491             :   YYSYMBOL_FINALIZE = 167,                 /* FINALIZE  */
     492             :   YYSYMBOL_FIRST_P = 168,                  /* FIRST_P  */
     493             :   YYSYMBOL_FLOAT_P = 169,                  /* FLOAT_P  */
     494             :   YYSYMBOL_FOLLOWING = 170,                /* FOLLOWING  */
     495             :   YYSYMBOL_FOR = 171,                      /* FOR  */
     496             :   YYSYMBOL_FORCE = 172,                    /* FORCE  */
     497             :   YYSYMBOL_FOREIGN = 173,                  /* FOREIGN  */
     498             :   YYSYMBOL_FORMAT = 174,                   /* FORMAT  */
     499             :   YYSYMBOL_FORWARD = 175,                  /* FORWARD  */
     500             :   YYSYMBOL_FREEZE = 176,                   /* FREEZE  */
     501             :   YYSYMBOL_FROM = 177,                     /* FROM  */
     502             :   YYSYMBOL_FULL = 178,                     /* FULL  */
     503             :   YYSYMBOL_FUNCTION = 179,                 /* FUNCTION  */
     504             :   YYSYMBOL_FUNCTIONS = 180,                /* FUNCTIONS  */
     505             :   YYSYMBOL_GENERATED = 181,                /* GENERATED  */
     506             :   YYSYMBOL_GLOBAL = 182,                   /* GLOBAL  */
     507             :   YYSYMBOL_GRANT = 183,                    /* GRANT  */
     508             :   YYSYMBOL_GRANTED = 184,                  /* GRANTED  */
     509             :   YYSYMBOL_GREATEST = 185,                 /* GREATEST  */
     510             :   YYSYMBOL_GROUP_P = 186,                  /* GROUP_P  */
     511             :   YYSYMBOL_GROUPING = 187,                 /* GROUPING  */
     512             :   YYSYMBOL_GROUPS = 188,                   /* GROUPS  */
     513             :   YYSYMBOL_HANDLER = 189,                  /* HANDLER  */
     514             :   YYSYMBOL_HAVING = 190,                   /* HAVING  */
     515             :   YYSYMBOL_HEADER_P = 191,                 /* HEADER_P  */
     516             :   YYSYMBOL_HOLD = 192,                     /* HOLD  */
     517             :   YYSYMBOL_HOUR_P = 193,                   /* HOUR_P  */
     518             :   YYSYMBOL_IDENTITY_P = 194,               /* IDENTITY_P  */
     519             :   YYSYMBOL_IF_P = 195,                     /* IF_P  */
     520             :   YYSYMBOL_ILIKE = 196,                    /* ILIKE  */
     521             :   YYSYMBOL_IMMEDIATE = 197,                /* IMMEDIATE  */
     522             :   YYSYMBOL_IMMUTABLE = 198,                /* IMMUTABLE  */
     523             :   YYSYMBOL_IMPLICIT_P = 199,               /* IMPLICIT_P  */
     524             :   YYSYMBOL_IMPORT_P = 200,                 /* IMPORT_P  */
     525             :   YYSYMBOL_IN_P = 201,                     /* IN_P  */
     526             :   YYSYMBOL_INCLUDE = 202,                  /* INCLUDE  */
     527             :   YYSYMBOL_INCLUDING = 203,                /* INCLUDING  */
     528             :   YYSYMBOL_INCREMENT = 204,                /* INCREMENT  */
     529             :   YYSYMBOL_INDENT = 205,                   /* INDENT  */
     530             :   YYSYMBOL_INDEX = 206,                    /* INDEX  */
     531             :   YYSYMBOL_INDEXES = 207,                  /* INDEXES  */
     532             :   YYSYMBOL_INHERIT = 208,                  /* INHERIT  */
     533             :   YYSYMBOL_INHERITS = 209,                 /* INHERITS  */
     534             :   YYSYMBOL_INITIALLY = 210,                /* INITIALLY  */
     535             :   YYSYMBOL_INLINE_P = 211,                 /* INLINE_P  */
     536             :   YYSYMBOL_INNER_P = 212,                  /* INNER_P  */
     537             :   YYSYMBOL_INOUT = 213,                    /* INOUT  */
     538             :   YYSYMBOL_INPUT_P = 214,                  /* INPUT_P  */
     539             :   YYSYMBOL_INSENSITIVE = 215,              /* INSENSITIVE  */
     540             :   YYSYMBOL_INSERT = 216,                   /* INSERT  */
     541             :   YYSYMBOL_INSTEAD = 217,                  /* INSTEAD  */
     542             :   YYSYMBOL_INT_P = 218,                    /* INT_P  */
     543             :   YYSYMBOL_INTEGER = 219,                  /* INTEGER  */
     544             :   YYSYMBOL_INTERSECT = 220,                /* INTERSECT  */
     545             :   YYSYMBOL_INTERVAL = 221,                 /* INTERVAL  */
     546             :   YYSYMBOL_INTO = 222,                     /* INTO  */
     547             :   YYSYMBOL_INVOKER = 223,                  /* INVOKER  */
     548             :   YYSYMBOL_IS = 224,                       /* IS  */
     549             :   YYSYMBOL_ISNULL = 225,                   /* ISNULL  */
     550             :   YYSYMBOL_ISOLATION = 226,                /* ISOLATION  */
     551             :   YYSYMBOL_JOIN = 227,                     /* JOIN  */
     552             :   YYSYMBOL_JSON = 228,                     /* JSON  */
     553             :   YYSYMBOL_JSON_ARRAY = 229,               /* JSON_ARRAY  */
     554             :   YYSYMBOL_JSON_ARRAYAGG = 230,            /* JSON_ARRAYAGG  */
     555             :   YYSYMBOL_JSON_EXISTS = 231,              /* JSON_EXISTS  */
     556             :   YYSYMBOL_JSON_OBJECT = 232,              /* JSON_OBJECT  */
     557             :   YYSYMBOL_JSON_OBJECTAGG = 233,           /* JSON_OBJECTAGG  */
     558             :   YYSYMBOL_JSON_QUERY = 234,               /* JSON_QUERY  */
     559             :   YYSYMBOL_JSON_SCALAR = 235,              /* JSON_SCALAR  */
     560             :   YYSYMBOL_JSON_SERIALIZE = 236,           /* JSON_SERIALIZE  */
     561             :   YYSYMBOL_JSON_TABLE = 237,               /* JSON_TABLE  */
     562             :   YYSYMBOL_JSON_VALUE = 238,               /* JSON_VALUE  */
     563             :   YYSYMBOL_KEEP = 239,                     /* KEEP  */
     564             :   YYSYMBOL_KEY = 240,                      /* KEY  */
     565             :   YYSYMBOL_KEYS = 241,                     /* KEYS  */
     566             :   YYSYMBOL_LABEL = 242,                    /* LABEL  */
     567             :   YYSYMBOL_LANGUAGE = 243,                 /* LANGUAGE  */
     568             :   YYSYMBOL_LARGE_P = 244,                  /* LARGE_P  */
     569             :   YYSYMBOL_LAST_P = 245,                   /* LAST_P  */
     570             :   YYSYMBOL_LATERAL_P = 246,                /* LATERAL_P  */
     571             :   YYSYMBOL_LEADING = 247,                  /* LEADING  */
     572             :   YYSYMBOL_LEAKPROOF = 248,                /* LEAKPROOF  */
     573             :   YYSYMBOL_LEAST = 249,                    /* LEAST  */
     574             :   YYSYMBOL_LEFT = 250,                     /* LEFT  */
     575             :   YYSYMBOL_LEVEL = 251,                    /* LEVEL  */
     576             :   YYSYMBOL_LIKE = 252,                     /* LIKE  */
     577             :   YYSYMBOL_LIMIT = 253,                    /* LIMIT  */
     578             :   YYSYMBOL_LISTEN = 254,                   /* LISTEN  */
     579             :   YYSYMBOL_LOAD = 255,                     /* LOAD  */
     580             :   YYSYMBOL_LOCAL = 256,                    /* LOCAL  */
     581             :   YYSYMBOL_LOCALTIME = 257,                /* LOCALTIME  */
     582             :   YYSYMBOL_LOCALTIMESTAMP = 258,           /* LOCALTIMESTAMP  */
     583             :   YYSYMBOL_LOCATION = 259,                 /* LOCATION  */
     584             :   YYSYMBOL_LOCK_P = 260,                   /* LOCK_P  */
     585             :   YYSYMBOL_LOCKED = 261,                   /* LOCKED  */
     586             :   YYSYMBOL_LOGGED = 262,                   /* LOGGED  */
     587             :   YYSYMBOL_MAPPING = 263,                  /* MAPPING  */
     588             :   YYSYMBOL_MATCH = 264,                    /* MATCH  */
     589             :   YYSYMBOL_MATCHED = 265,                  /* MATCHED  */
     590             :   YYSYMBOL_MATERIALIZED = 266,             /* MATERIALIZED  */
     591             :   YYSYMBOL_MAXVALUE = 267,                 /* MAXVALUE  */
     592             :   YYSYMBOL_MERGE = 268,                    /* MERGE  */
     593             :   YYSYMBOL_MERGE_ACTION = 269,             /* MERGE_ACTION  */
     594             :   YYSYMBOL_METHOD = 270,                   /* METHOD  */
     595             :   YYSYMBOL_MINUTE_P = 271,                 /* MINUTE_P  */
     596             :   YYSYMBOL_MINVALUE = 272,                 /* MINVALUE  */
     597             :   YYSYMBOL_MODE = 273,                     /* MODE  */
     598             :   YYSYMBOL_MONTH_P = 274,                  /* MONTH_P  */
     599             :   YYSYMBOL_MOVE = 275,                     /* MOVE  */
     600             :   YYSYMBOL_NAME_P = 276,                   /* NAME_P  */
     601             :   YYSYMBOL_NAMES = 277,                    /* NAMES  */
     602             :   YYSYMBOL_NATIONAL = 278,                 /* NATIONAL  */
     603             :   YYSYMBOL_NATURAL = 279,                  /* NATURAL  */
     604             :   YYSYMBOL_NCHAR = 280,                    /* NCHAR  */
     605             :   YYSYMBOL_NESTED = 281,                   /* NESTED  */
     606             :   YYSYMBOL_NEW = 282,                      /* NEW  */
     607             :   YYSYMBOL_NEXT = 283,                     /* NEXT  */
     608             :   YYSYMBOL_NFC = 284,                      /* NFC  */
     609             :   YYSYMBOL_NFD = 285,                      /* NFD  */
     610             :   YYSYMBOL_NFKC = 286,                     /* NFKC  */
     611             :   YYSYMBOL_NFKD = 287,                     /* NFKD  */
     612             :   YYSYMBOL_NO = 288,                       /* NO  */
     613             :   YYSYMBOL_NONE = 289,                     /* NONE  */
     614             :   YYSYMBOL_NORMALIZE = 290,                /* NORMALIZE  */
     615             :   YYSYMBOL_NORMALIZED = 291,               /* NORMALIZED  */
     616             :   YYSYMBOL_NOT = 292,                      /* NOT  */
     617             :   YYSYMBOL_NOTHING = 293,                  /* NOTHING  */
     618             :   YYSYMBOL_NOTIFY = 294,                   /* NOTIFY  */
     619             :   YYSYMBOL_NOTNULL = 295,                  /* NOTNULL  */
     620             :   YYSYMBOL_NOWAIT = 296,                   /* NOWAIT  */
     621             :   YYSYMBOL_NULL_P = 297,                   /* NULL_P  */
     622             :   YYSYMBOL_NULLIF = 298,                   /* NULLIF  */
     623             :   YYSYMBOL_NULLS_P = 299,                  /* NULLS_P  */
     624             :   YYSYMBOL_NUMERIC = 300,                  /* NUMERIC  */
     625             :   YYSYMBOL_OBJECT_P = 301,                 /* OBJECT_P  */
     626             :   YYSYMBOL_OF = 302,                       /* OF  */
     627             :   YYSYMBOL_OFF = 303,                      /* OFF  */
     628             :   YYSYMBOL_OFFSET = 304,                   /* OFFSET  */
     629             :   YYSYMBOL_OIDS = 305,                     /* OIDS  */
     630             :   YYSYMBOL_OLD = 306,                      /* OLD  */
     631             :   YYSYMBOL_OMIT = 307,                     /* OMIT  */
     632             :   YYSYMBOL_ON = 308,                       /* ON  */
     633             :   YYSYMBOL_ONLY = 309,                     /* ONLY  */
     634             :   YYSYMBOL_OPERATOR = 310,                 /* OPERATOR  */
     635             :   YYSYMBOL_OPTION = 311,                   /* OPTION  */
     636             :   YYSYMBOL_OPTIONS = 312,                  /* OPTIONS  */
     637             :   YYSYMBOL_OR = 313,                       /* OR  */
     638             :   YYSYMBOL_ORDER = 314,                    /* ORDER  */
     639             :   YYSYMBOL_ORDINALITY = 315,               /* ORDINALITY  */
     640             :   YYSYMBOL_OTHERS = 316,                   /* OTHERS  */
     641             :   YYSYMBOL_OUT_P = 317,                    /* OUT_P  */
     642             :   YYSYMBOL_OUTER_P = 318,                  /* OUTER_P  */
     643             :   YYSYMBOL_OVER = 319,                     /* OVER  */
     644             :   YYSYMBOL_OVERLAPS = 320,                 /* OVERLAPS  */
     645             :   YYSYMBOL_OVERLAY = 321,                  /* OVERLAY  */
     646             :   YYSYMBOL_OVERRIDING = 322,               /* OVERRIDING  */
     647             :   YYSYMBOL_OWNED = 323,                    /* OWNED  */
     648             :   YYSYMBOL_OWNER = 324,                    /* OWNER  */
     649             :   YYSYMBOL_PARALLEL = 325,                 /* PARALLEL  */
     650             :   YYSYMBOL_PARAMETER = 326,                /* PARAMETER  */
     651             :   YYSYMBOL_PARSER = 327,                   /* PARSER  */
     652             :   YYSYMBOL_PARTIAL = 328,                  /* PARTIAL  */
     653             :   YYSYMBOL_PARTITION = 329,                /* PARTITION  */
     654             :   YYSYMBOL_PARTITIONS = 330,               /* PARTITIONS  */
     655             :   YYSYMBOL_PASSING = 331,                  /* PASSING  */
     656             :   YYSYMBOL_PASSWORD = 332,                 /* PASSWORD  */
     657             :   YYSYMBOL_PATH = 333,                     /* PATH  */
     658             :   YYSYMBOL_PERIOD = 334,                   /* PERIOD  */
     659             :   YYSYMBOL_PLACING = 335,                  /* PLACING  */
     660             :   YYSYMBOL_PLAN = 336,                     /* PLAN  */
     661             :   YYSYMBOL_PLANS = 337,                    /* PLANS  */
     662             :   YYSYMBOL_POLICY = 338,                   /* POLICY  */
     663             :   YYSYMBOL_POSITION = 339,                 /* POSITION  */
     664             :   YYSYMBOL_PRECEDING = 340,                /* PRECEDING  */
     665             :   YYSYMBOL_PRECISION = 341,                /* PRECISION  */
     666             :   YYSYMBOL_PRESERVE = 342,                 /* PRESERVE  */
     667             :   YYSYMBOL_PREPARE = 343,                  /* PREPARE  */
     668             :   YYSYMBOL_PREPARED = 344,                 /* PREPARED  */
     669             :   YYSYMBOL_PRIMARY = 345,                  /* PRIMARY  */
     670             :   YYSYMBOL_PRIOR = 346,                    /* PRIOR  */
     671             :   YYSYMBOL_PRIVILEGES = 347,               /* PRIVILEGES  */
     672             :   YYSYMBOL_PROCEDURAL = 348,               /* PROCEDURAL  */
     673             :   YYSYMBOL_PROCEDURE = 349,                /* PROCEDURE  */
     674             :   YYSYMBOL_PROCEDURES = 350,               /* PROCEDURES  */
     675             :   YYSYMBOL_PROGRAM = 351,                  /* PROGRAM  */
     676             :   YYSYMBOL_PUBLICATION = 352,              /* PUBLICATION  */
     677             :   YYSYMBOL_QUOTE = 353,                    /* QUOTE  */
     678             :   YYSYMBOL_QUOTES = 354,                   /* QUOTES  */
     679             :   YYSYMBOL_RANGE = 355,                    /* RANGE  */
     680             :   YYSYMBOL_READ = 356,                     /* READ  */
     681             :   YYSYMBOL_REAL = 357,                     /* REAL  */
     682             :   YYSYMBOL_REASSIGN = 358,                 /* REASSIGN  */
     683             :   YYSYMBOL_RECHECK = 359,                  /* RECHECK  */
     684             :   YYSYMBOL_RECURSIVE = 360,                /* RECURSIVE  */
     685             :   YYSYMBOL_REF_P = 361,                    /* REF_P  */
     686             :   YYSYMBOL_REFERENCES = 362,               /* REFERENCES  */
     687             :   YYSYMBOL_REFERENCING = 363,              /* REFERENCING  */
     688             :   YYSYMBOL_REFRESH = 364,                  /* REFRESH  */
     689             :   YYSYMBOL_REINDEX = 365,                  /* REINDEX  */
     690             :   YYSYMBOL_RELATIVE_P = 366,               /* RELATIVE_P  */
     691             :   YYSYMBOL_RELEASE = 367,                  /* RELEASE  */
     692             :   YYSYMBOL_RENAME = 368,                   /* RENAME  */
     693             :   YYSYMBOL_REPEATABLE = 369,               /* REPEATABLE  */
     694             :   YYSYMBOL_REPLACE = 370,                  /* REPLACE  */
     695             :   YYSYMBOL_REPLICA = 371,                  /* REPLICA  */
     696             :   YYSYMBOL_RESET = 372,                    /* RESET  */
     697             :   YYSYMBOL_RESTART = 373,                  /* RESTART  */
     698             :   YYSYMBOL_RESTRICT = 374,                 /* RESTRICT  */
     699             :   YYSYMBOL_RETURN = 375,                   /* RETURN  */
     700             :   YYSYMBOL_RETURNING = 376,                /* RETURNING  */
     701             :   YYSYMBOL_RETURNS = 377,                  /* RETURNS  */
     702             :   YYSYMBOL_REVOKE = 378,                   /* REVOKE  */
     703             :   YYSYMBOL_RIGHT = 379,                    /* RIGHT  */
     704             :   YYSYMBOL_ROLE = 380,                     /* ROLE  */
     705             :   YYSYMBOL_ROLLBACK = 381,                 /* ROLLBACK  */
     706             :   YYSYMBOL_ROLLUP = 382,                   /* ROLLUP  */
     707             :   YYSYMBOL_ROUTINE = 383,                  /* ROUTINE  */
     708             :   YYSYMBOL_ROUTINES = 384,                 /* ROUTINES  */
     709             :   YYSYMBOL_ROW = 385,                      /* ROW  */
     710             :   YYSYMBOL_ROWS = 386,                     /* ROWS  */
     711             :   YYSYMBOL_RULE = 387,                     /* RULE  */
     712             :   YYSYMBOL_SAVEPOINT = 388,                /* SAVEPOINT  */
     713             :   YYSYMBOL_SCALAR = 389,                   /* SCALAR  */
     714             :   YYSYMBOL_SCHEMA = 390,                   /* SCHEMA  */
     715             :   YYSYMBOL_SCHEMAS = 391,                  /* SCHEMAS  */
     716             :   YYSYMBOL_SCROLL = 392,                   /* SCROLL  */
     717             :   YYSYMBOL_SEARCH = 393,                   /* SEARCH  */
     718             :   YYSYMBOL_SECOND_P = 394,                 /* SECOND_P  */
     719             :   YYSYMBOL_SECURITY = 395,                 /* SECURITY  */
     720             :   YYSYMBOL_SELECT = 396,                   /* SELECT  */
     721             :   YYSYMBOL_SEQUENCE = 397,                 /* SEQUENCE  */
     722             :   YYSYMBOL_SEQUENCES = 398,                /* SEQUENCES  */
     723             :   YYSYMBOL_SERIALIZABLE = 399,             /* SERIALIZABLE  */
     724             :   YYSYMBOL_SERVER = 400,                   /* SERVER  */
     725             :   YYSYMBOL_SESSION = 401,                  /* SESSION  */
     726             :   YYSYMBOL_SESSION_USER = 402,             /* SESSION_USER  */
     727             :   YYSYMBOL_SET = 403,                      /* SET  */
     728             :   YYSYMBOL_SETS = 404,                     /* SETS  */
     729             :   YYSYMBOL_SETOF = 405,                    /* SETOF  */
     730             :   YYSYMBOL_SHARE = 406,                    /* SHARE  */
     731             :   YYSYMBOL_SHOW = 407,                     /* SHOW  */
     732             :   YYSYMBOL_SIMILAR = 408,                  /* SIMILAR  */
     733             :   YYSYMBOL_SIMPLE = 409,                   /* SIMPLE  */
     734             :   YYSYMBOL_SKIP = 410,                     /* SKIP  */
     735             :   YYSYMBOL_SMALLINT = 411,                 /* SMALLINT  */
     736             :   YYSYMBOL_SNAPSHOT = 412,                 /* SNAPSHOT  */
     737             :   YYSYMBOL_SOME = 413,                     /* SOME  */
     738             :   YYSYMBOL_SPLIT = 414,                    /* SPLIT  */
     739             :   YYSYMBOL_SOURCE = 415,                   /* SOURCE  */
     740             :   YYSYMBOL_SQL_P = 416,                    /* SQL_P  */
     741             :   YYSYMBOL_STABLE = 417,                   /* STABLE  */
     742             :   YYSYMBOL_STANDALONE_P = 418,             /* STANDALONE_P  */
     743             :   YYSYMBOL_START = 419,                    /* START  */
     744             :   YYSYMBOL_STATEMENT = 420,                /* STATEMENT  */
     745             :   YYSYMBOL_STATISTICS = 421,               /* STATISTICS  */
     746             :   YYSYMBOL_STDIN = 422,                    /* STDIN  */
     747             :   YYSYMBOL_STDOUT = 423,                   /* STDOUT  */
     748             :   YYSYMBOL_STORAGE = 424,                  /* STORAGE  */
     749             :   YYSYMBOL_STORED = 425,                   /* STORED  */
     750             :   YYSYMBOL_STRICT_P = 426,                 /* STRICT_P  */
     751             :   YYSYMBOL_STRING_P = 427,                 /* STRING_P  */
     752             :   YYSYMBOL_STRIP_P = 428,                  /* STRIP_P  */
     753             :   YYSYMBOL_SUBSCRIPTION = 429,             /* SUBSCRIPTION  */
     754             :   YYSYMBOL_SUBSTRING = 430,                /* SUBSTRING  */
     755             :   YYSYMBOL_SUPPORT = 431,                  /* SUPPORT  */
     756             :   YYSYMBOL_SYMMETRIC = 432,                /* SYMMETRIC  */
     757             :   YYSYMBOL_SYSID = 433,                    /* SYSID  */
     758             :   YYSYMBOL_SYSTEM_P = 434,                 /* SYSTEM_P  */
     759             :   YYSYMBOL_SYSTEM_USER = 435,              /* SYSTEM_USER  */
     760             :   YYSYMBOL_TABLE = 436,                    /* TABLE  */
     761             :   YYSYMBOL_TABLES = 437,                   /* TABLES  */
     762             :   YYSYMBOL_TABLESAMPLE = 438,              /* TABLESAMPLE  */
     763             :   YYSYMBOL_TABLESPACE = 439,               /* TABLESPACE  */
     764             :   YYSYMBOL_TARGET = 440,                   /* TARGET  */
     765             :   YYSYMBOL_TEMP = 441,                     /* TEMP  */
     766             :   YYSYMBOL_TEMPLATE = 442,                 /* TEMPLATE  */
     767             :   YYSYMBOL_TEMPORARY = 443,                /* TEMPORARY  */
     768             :   YYSYMBOL_TEXT_P = 444,                   /* TEXT_P  */
     769             :   YYSYMBOL_THEN = 445,                     /* THEN  */
     770             :   YYSYMBOL_TIES = 446,                     /* TIES  */
     771             :   YYSYMBOL_TIME = 447,                     /* TIME  */
     772             :   YYSYMBOL_TIMESTAMP = 448,                /* TIMESTAMP  */
     773             :   YYSYMBOL_TO = 449,                       /* TO  */
     774             :   YYSYMBOL_TRAILING = 450,                 /* TRAILING  */
     775             :   YYSYMBOL_TRANSACTION = 451,              /* TRANSACTION  */
     776             :   YYSYMBOL_TRANSFORM = 452,                /* TRANSFORM  */
     777             :   YYSYMBOL_TREAT = 453,                    /* TREAT  */
     778             :   YYSYMBOL_TRIGGER = 454,                  /* TRIGGER  */
     779             :   YYSYMBOL_TRIM = 455,                     /* TRIM  */
     780             :   YYSYMBOL_TRUE_P = 456,                   /* TRUE_P  */
     781             :   YYSYMBOL_TRUNCATE = 457,                 /* TRUNCATE  */
     782             :   YYSYMBOL_TRUSTED = 458,                  /* TRUSTED  */
     783             :   YYSYMBOL_TYPE_P = 459,                   /* TYPE_P  */
     784             :   YYSYMBOL_TYPES_P = 460,                  /* TYPES_P  */
     785             :   YYSYMBOL_UESCAPE = 461,                  /* UESCAPE  */
     786             :   YYSYMBOL_UNBOUNDED = 462,                /* UNBOUNDED  */
     787             :   YYSYMBOL_UNCONDITIONAL = 463,            /* UNCONDITIONAL  */
     788             :   YYSYMBOL_UNCOMMITTED = 464,              /* UNCOMMITTED  */
     789             :   YYSYMBOL_UNENCRYPTED = 465,              /* UNENCRYPTED  */
     790             :   YYSYMBOL_UNION = 466,                    /* UNION  */
     791             :   YYSYMBOL_UNIQUE = 467,                   /* UNIQUE  */
     792             :   YYSYMBOL_UNKNOWN = 468,                  /* UNKNOWN  */
     793             :   YYSYMBOL_UNLISTEN = 469,                 /* UNLISTEN  */
     794             :   YYSYMBOL_UNLOGGED = 470,                 /* UNLOGGED  */
     795             :   YYSYMBOL_UNTIL = 471,                    /* UNTIL  */
     796             :   YYSYMBOL_UPDATE = 472,                   /* UPDATE  */
     797             :   YYSYMBOL_USER = 473,                     /* USER  */
     798             :   YYSYMBOL_USING = 474,                    /* USING  */
     799             :   YYSYMBOL_VACUUM = 475,                   /* VACUUM  */
     800             :   YYSYMBOL_VALID = 476,                    /* VALID  */
     801             :   YYSYMBOL_VALIDATE = 477,                 /* VALIDATE  */
     802             :   YYSYMBOL_VALIDATOR = 478,                /* VALIDATOR  */
     803             :   YYSYMBOL_VALUE_P = 479,                  /* VALUE_P  */
     804             :   YYSYMBOL_VALUES = 480,                   /* VALUES  */
     805             :   YYSYMBOL_VARCHAR = 481,                  /* VARCHAR  */
     806             :   YYSYMBOL_VARIADIC = 482,                 /* VARIADIC  */
     807             :   YYSYMBOL_VARYING = 483,                  /* VARYING  */
     808             :   YYSYMBOL_VERBOSE = 484,                  /* VERBOSE  */
     809             :   YYSYMBOL_VERSION_P = 485,                /* VERSION_P  */
     810             :   YYSYMBOL_VIEW = 486,                     /* VIEW  */
     811             :   YYSYMBOL_VIEWS = 487,                    /* VIEWS  */
     812             :   YYSYMBOL_VOLATILE = 488,                 /* VOLATILE  */
     813             :   YYSYMBOL_WHEN = 489,                     /* WHEN  */
     814             :   YYSYMBOL_WHERE = 490,                    /* WHERE  */
     815             :   YYSYMBOL_WHITESPACE_P = 491,             /* WHITESPACE_P  */
     816             :   YYSYMBOL_WINDOW = 492,                   /* WINDOW  */
     817             :   YYSYMBOL_WITH = 493,                     /* WITH  */
     818             :   YYSYMBOL_WITHIN = 494,                   /* WITHIN  */
     819             :   YYSYMBOL_WITHOUT = 495,                  /* WITHOUT  */
     820             :   YYSYMBOL_WORK = 496,                     /* WORK  */
     821             :   YYSYMBOL_WRAPPER = 497,                  /* WRAPPER  */
     822             :   YYSYMBOL_WRITE = 498,                    /* WRITE  */
     823             :   YYSYMBOL_XML_P = 499,                    /* XML_P  */
     824             :   YYSYMBOL_XMLATTRIBUTES = 500,            /* XMLATTRIBUTES  */
     825             :   YYSYMBOL_XMLCONCAT = 501,                /* XMLCONCAT  */
     826             :   YYSYMBOL_XMLELEMENT = 502,               /* XMLELEMENT  */
     827             :   YYSYMBOL_XMLEXISTS = 503,                /* XMLEXISTS  */
     828             :   YYSYMBOL_XMLFOREST = 504,                /* XMLFOREST  */
     829             :   YYSYMBOL_XMLNAMESPACES = 505,            /* XMLNAMESPACES  */
     830             :   YYSYMBOL_XMLPARSE = 506,                 /* XMLPARSE  */
     831             :   YYSYMBOL_XMLPI = 507,                    /* XMLPI  */
     832             :   YYSYMBOL_XMLROOT = 508,                  /* XMLROOT  */
     833             :   YYSYMBOL_XMLSERIALIZE = 509,             /* XMLSERIALIZE  */
     834             :   YYSYMBOL_XMLTABLE = 510,                 /* XMLTABLE  */
     835             :   YYSYMBOL_YEAR_P = 511,                   /* YEAR_P  */
     836             :   YYSYMBOL_YES_P = 512,                    /* YES_P  */
     837             :   YYSYMBOL_ZONE = 513,                     /* ZONE  */
     838             :   YYSYMBOL_FORMAT_LA = 514,                /* FORMAT_LA  */
     839             :   YYSYMBOL_NOT_LA = 515,                   /* NOT_LA  */
     840             :   YYSYMBOL_NULLS_LA = 516,                 /* NULLS_LA  */
     841             :   YYSYMBOL_WITH_LA = 517,                  /* WITH_LA  */
     842             :   YYSYMBOL_WITHOUT_LA = 518,               /* WITHOUT_LA  */
     843             :   YYSYMBOL_MODE_TYPE_NAME = 519,           /* MODE_TYPE_NAME  */
     844             :   YYSYMBOL_MODE_PLPGSQL_EXPR = 520,        /* MODE_PLPGSQL_EXPR  */
     845             :   YYSYMBOL_MODE_PLPGSQL_ASSIGN1 = 521,     /* MODE_PLPGSQL_ASSIGN1  */
     846             :   YYSYMBOL_MODE_PLPGSQL_ASSIGN2 = 522,     /* MODE_PLPGSQL_ASSIGN2  */
     847             :   YYSYMBOL_MODE_PLPGSQL_ASSIGN3 = 523,     /* MODE_PLPGSQL_ASSIGN3  */
     848             :   YYSYMBOL_524_ = 524,                     /* '<'  */
     849             :   YYSYMBOL_525_ = 525,                     /* '>'  */
     850             :   YYSYMBOL_526_ = 526,                     /* '='  */
     851             :   YYSYMBOL_527_ = 527,                     /* '+'  */
     852             :   YYSYMBOL_528_ = 528,                     /* '-'  */
     853             :   YYSYMBOL_529_ = 529,                     /* '*'  */
     854             :   YYSYMBOL_530_ = 530,                     /* '/'  */
     855             :   YYSYMBOL_531_ = 531,                     /* '%'  */
     856             :   YYSYMBOL_532_ = 532,                     /* '^'  */
     857             :   YYSYMBOL_UMINUS = 533,                   /* UMINUS  */
     858             :   YYSYMBOL_534_ = 534,                     /* '['  */
     859             :   YYSYMBOL_535_ = 535,                     /* ']'  */
     860             :   YYSYMBOL_536_ = 536,                     /* '('  */
     861             :   YYSYMBOL_537_ = 537,                     /* ')'  */
     862             :   YYSYMBOL_538_ = 538,                     /* '.'  */
     863             :   YYSYMBOL_539_ = 539,                     /* ';'  */
     864             :   YYSYMBOL_540_ = 540,                     /* ','  */
     865             :   YYSYMBOL_541_ = 541,                     /* ':'  */
     866             :   YYSYMBOL_YYACCEPT = 542,                 /* $accept  */
     867             :   YYSYMBOL_parse_toplevel = 543,           /* parse_toplevel  */
     868             :   YYSYMBOL_stmtmulti = 544,                /* stmtmulti  */
     869             :   YYSYMBOL_toplevel_stmt = 545,            /* toplevel_stmt  */
     870             :   YYSYMBOL_stmt = 546,                     /* stmt  */
     871             :   YYSYMBOL_opt_single_name = 547,          /* opt_single_name  */
     872             :   YYSYMBOL_opt_qualified_name = 548,       /* opt_qualified_name  */
     873             :   YYSYMBOL_opt_concurrently = 549,         /* opt_concurrently  */
     874             :   YYSYMBOL_opt_drop_behavior = 550,        /* opt_drop_behavior  */
     875             :   YYSYMBOL_CallStmt = 551,                 /* CallStmt  */
     876             :   YYSYMBOL_CreateRoleStmt = 552,           /* CreateRoleStmt  */
     877             :   YYSYMBOL_opt_with = 553,                 /* opt_with  */
     878             :   YYSYMBOL_OptRoleList = 554,              /* OptRoleList  */
     879             :   YYSYMBOL_AlterOptRoleList = 555,         /* AlterOptRoleList  */
     880             :   YYSYMBOL_AlterOptRoleElem = 556,         /* AlterOptRoleElem  */
     881             :   YYSYMBOL_CreateOptRoleElem = 557,        /* CreateOptRoleElem  */
     882             :   YYSYMBOL_CreateUserStmt = 558,           /* CreateUserStmt  */
     883             :   YYSYMBOL_AlterRoleStmt = 559,            /* AlterRoleStmt  */
     884             :   YYSYMBOL_opt_in_database = 560,          /* opt_in_database  */
     885             :   YYSYMBOL_AlterRoleSetStmt = 561,         /* AlterRoleSetStmt  */
     886             :   YYSYMBOL_DropRoleStmt = 562,             /* DropRoleStmt  */
     887             :   YYSYMBOL_CreateGroupStmt = 563,          /* CreateGroupStmt  */
     888             :   YYSYMBOL_AlterGroupStmt = 564,           /* AlterGroupStmt  */
     889             :   YYSYMBOL_add_drop = 565,                 /* add_drop  */
     890             :   YYSYMBOL_CreateSchemaStmt = 566,         /* CreateSchemaStmt  */
     891             :   YYSYMBOL_OptSchemaEltList = 567,         /* OptSchemaEltList  */
     892             :   YYSYMBOL_schema_stmt = 568,              /* schema_stmt  */
     893             :   YYSYMBOL_VariableSetStmt = 569,          /* VariableSetStmt  */
     894             :   YYSYMBOL_set_rest = 570,                 /* set_rest  */
     895             :   YYSYMBOL_generic_set = 571,              /* generic_set  */
     896             :   YYSYMBOL_set_rest_more = 572,            /* set_rest_more  */
     897             :   YYSYMBOL_var_name = 573,                 /* var_name  */
     898             :   YYSYMBOL_var_list = 574,                 /* var_list  */
     899             :   YYSYMBOL_var_value = 575,                /* var_value  */
     900             :   YYSYMBOL_iso_level = 576,                /* iso_level  */
     901             :   YYSYMBOL_opt_boolean_or_string = 577,    /* opt_boolean_or_string  */
     902             :   YYSYMBOL_zone_value = 578,               /* zone_value  */
     903             :   YYSYMBOL_opt_encoding = 579,             /* opt_encoding  */
     904             :   YYSYMBOL_NonReservedWord_or_Sconst = 580, /* NonReservedWord_or_Sconst  */
     905             :   YYSYMBOL_VariableResetStmt = 581,        /* VariableResetStmt  */
     906             :   YYSYMBOL_reset_rest = 582,               /* reset_rest  */
     907             :   YYSYMBOL_generic_reset = 583,            /* generic_reset  */
     908             :   YYSYMBOL_SetResetClause = 584,           /* SetResetClause  */
     909             :   YYSYMBOL_FunctionSetResetClause = 585,   /* FunctionSetResetClause  */
     910             :   YYSYMBOL_VariableShowStmt = 586,         /* VariableShowStmt  */
     911             :   YYSYMBOL_ConstraintsSetStmt = 587,       /* ConstraintsSetStmt  */
     912             :   YYSYMBOL_constraints_set_list = 588,     /* constraints_set_list  */
     913             :   YYSYMBOL_constraints_set_mode = 589,     /* constraints_set_mode  */
     914             :   YYSYMBOL_CheckPointStmt = 590,           /* CheckPointStmt  */
     915             :   YYSYMBOL_DiscardStmt = 591,              /* DiscardStmt  */
     916             :   YYSYMBOL_AlterTableStmt = 592,           /* AlterTableStmt  */
     917             :   YYSYMBOL_alter_table_cmds = 593,         /* alter_table_cmds  */
     918             :   YYSYMBOL_partitions_list = 594,          /* partitions_list  */
     919             :   YYSYMBOL_SinglePartitionSpec = 595,      /* SinglePartitionSpec  */
     920             :   YYSYMBOL_partition_cmd = 596,            /* partition_cmd  */
     921             :   YYSYMBOL_index_partition_cmd = 597,      /* index_partition_cmd  */
     922             :   YYSYMBOL_alter_table_cmd = 598,          /* alter_table_cmd  */
     923             :   YYSYMBOL_alter_column_default = 599,     /* alter_column_default  */
     924             :   YYSYMBOL_opt_collate_clause = 600,       /* opt_collate_clause  */
     925             :   YYSYMBOL_alter_using = 601,              /* alter_using  */
     926             :   YYSYMBOL_replica_identity = 602,         /* replica_identity  */
     927             :   YYSYMBOL_reloptions = 603,               /* reloptions  */
     928             :   YYSYMBOL_opt_reloptions = 604,           /* opt_reloptions  */
     929             :   YYSYMBOL_reloption_list = 605,           /* reloption_list  */
     930             :   YYSYMBOL_reloption_elem = 606,           /* reloption_elem  */
     931             :   YYSYMBOL_alter_identity_column_option_list = 607, /* alter_identity_column_option_list  */
     932             :   YYSYMBOL_alter_identity_column_option = 608, /* alter_identity_column_option  */
     933             :   YYSYMBOL_set_statistics_value = 609,     /* set_statistics_value  */
     934             :   YYSYMBOL_set_access_method_name = 610,   /* set_access_method_name  */
     935             :   YYSYMBOL_PartitionBoundSpec = 611,       /* PartitionBoundSpec  */
     936             :   YYSYMBOL_hash_partbound_elem = 612,      /* hash_partbound_elem  */
     937             :   YYSYMBOL_hash_partbound = 613,           /* hash_partbound  */
     938             :   YYSYMBOL_AlterCompositeTypeStmt = 614,   /* AlterCompositeTypeStmt  */
     939             :   YYSYMBOL_alter_type_cmds = 615,          /* alter_type_cmds  */
     940             :   YYSYMBOL_alter_type_cmd = 616,           /* alter_type_cmd  */
     941             :   YYSYMBOL_ClosePortalStmt = 617,          /* ClosePortalStmt  */
     942             :   YYSYMBOL_CopyStmt = 618,                 /* CopyStmt  */
     943             :   YYSYMBOL_copy_from = 619,                /* copy_from  */
     944             :   YYSYMBOL_opt_program = 620,              /* opt_program  */
     945             :   YYSYMBOL_copy_file_name = 621,           /* copy_file_name  */
     946             :   YYSYMBOL_copy_options = 622,             /* copy_options  */
     947             :   YYSYMBOL_copy_opt_list = 623,            /* copy_opt_list  */
     948             :   YYSYMBOL_copy_opt_item = 624,            /* copy_opt_item  */
     949             :   YYSYMBOL_opt_binary = 625,               /* opt_binary  */
     950             :   YYSYMBOL_copy_delimiter = 626,           /* copy_delimiter  */
     951             :   YYSYMBOL_opt_using = 627,                /* opt_using  */
     952             :   YYSYMBOL_copy_generic_opt_list = 628,    /* copy_generic_opt_list  */
     953             :   YYSYMBOL_copy_generic_opt_elem = 629,    /* copy_generic_opt_elem  */
     954             :   YYSYMBOL_copy_generic_opt_arg = 630,     /* copy_generic_opt_arg  */
     955             :   YYSYMBOL_copy_generic_opt_arg_list = 631, /* copy_generic_opt_arg_list  */
     956             :   YYSYMBOL_copy_generic_opt_arg_list_item = 632, /* copy_generic_opt_arg_list_item  */
     957             :   YYSYMBOL_CreateStmt = 633,               /* CreateStmt  */
     958             :   YYSYMBOL_OptTemp = 634,                  /* OptTemp  */
     959             :   YYSYMBOL_OptTableElementList = 635,      /* OptTableElementList  */
     960             :   YYSYMBOL_OptTypedTableElementList = 636, /* OptTypedTableElementList  */
     961             :   YYSYMBOL_TableElementList = 637,         /* TableElementList  */
     962             :   YYSYMBOL_TypedTableElementList = 638,    /* TypedTableElementList  */
     963             :   YYSYMBOL_TableElement = 639,             /* TableElement  */
     964             :   YYSYMBOL_TypedTableElement = 640,        /* TypedTableElement  */
     965             :   YYSYMBOL_columnDef = 641,                /* columnDef  */
     966             :   YYSYMBOL_columnOptions = 642,            /* columnOptions  */
     967             :   YYSYMBOL_column_compression = 643,       /* column_compression  */
     968             :   YYSYMBOL_opt_column_compression = 644,   /* opt_column_compression  */
     969             :   YYSYMBOL_column_storage = 645,           /* column_storage  */
     970             :   YYSYMBOL_opt_column_storage = 646,       /* opt_column_storage  */
     971             :   YYSYMBOL_ColQualList = 647,              /* ColQualList  */
     972             :   YYSYMBOL_ColConstraint = 648,            /* ColConstraint  */
     973             :   YYSYMBOL_ColConstraintElem = 649,        /* ColConstraintElem  */
     974             :   YYSYMBOL_opt_unique_null_treatment = 650, /* opt_unique_null_treatment  */
     975             :   YYSYMBOL_generated_when = 651,           /* generated_when  */
     976             :   YYSYMBOL_ConstraintAttr = 652,           /* ConstraintAttr  */
     977             :   YYSYMBOL_TableLikeClause = 653,          /* TableLikeClause  */
     978             :   YYSYMBOL_TableLikeOptionList = 654,      /* TableLikeOptionList  */
     979             :   YYSYMBOL_TableLikeOption = 655,          /* TableLikeOption  */
     980             :   YYSYMBOL_TableConstraint = 656,          /* TableConstraint  */
     981             :   YYSYMBOL_ConstraintElem = 657,           /* ConstraintElem  */
     982             :   YYSYMBOL_DomainConstraint = 658,         /* DomainConstraint  */
     983             :   YYSYMBOL_DomainConstraintElem = 659,     /* DomainConstraintElem  */
     984             :   YYSYMBOL_opt_no_inherit = 660,           /* opt_no_inherit  */
     985             :   YYSYMBOL_opt_without_overlaps = 661,     /* opt_without_overlaps  */
     986             :   YYSYMBOL_opt_column_list = 662,          /* opt_column_list  */
     987             :   YYSYMBOL_columnList = 663,               /* columnList  */
     988             :   YYSYMBOL_optionalPeriodName = 664,       /* optionalPeriodName  */
     989             :   YYSYMBOL_opt_column_and_period_list = 665, /* opt_column_and_period_list  */
     990             :   YYSYMBOL_columnElem = 666,               /* columnElem  */
     991             :   YYSYMBOL_opt_c_include = 667,            /* opt_c_include  */
     992             :   YYSYMBOL_key_match = 668,                /* key_match  */
     993             :   YYSYMBOL_ExclusionConstraintList = 669,  /* ExclusionConstraintList  */
     994             :   YYSYMBOL_ExclusionConstraintElem = 670,  /* ExclusionConstraintElem  */
     995             :   YYSYMBOL_OptWhereClause = 671,           /* OptWhereClause  */
     996             :   YYSYMBOL_key_actions = 672,              /* key_actions  */
     997             :   YYSYMBOL_key_update = 673,               /* key_update  */
     998             :   YYSYMBOL_key_delete = 674,               /* key_delete  */
     999             :   YYSYMBOL_key_action = 675,               /* key_action  */
    1000             :   YYSYMBOL_OptInherit = 676,               /* OptInherit  */
    1001             :   YYSYMBOL_OptPartitionSpec = 677,         /* OptPartitionSpec  */
    1002             :   YYSYMBOL_PartitionSpec = 678,            /* PartitionSpec  */
    1003             :   YYSYMBOL_part_params = 679,              /* part_params  */
    1004             :   YYSYMBOL_part_elem = 680,                /* part_elem  */
    1005             :   YYSYMBOL_table_access_method_clause = 681, /* table_access_method_clause  */
    1006             :   YYSYMBOL_OptWith = 682,                  /* OptWith  */
    1007             :   YYSYMBOL_OnCommitOption = 683,           /* OnCommitOption  */
    1008             :   YYSYMBOL_OptTableSpace = 684,            /* OptTableSpace  */
    1009             :   YYSYMBOL_OptConsTableSpace = 685,        /* OptConsTableSpace  */
    1010             :   YYSYMBOL_ExistingIndex = 686,            /* ExistingIndex  */
    1011             :   YYSYMBOL_CreateStatsStmt = 687,          /* CreateStatsStmt  */
    1012             :   YYSYMBOL_stats_params = 688,             /* stats_params  */
    1013             :   YYSYMBOL_stats_param = 689,              /* stats_param  */
    1014             :   YYSYMBOL_AlterStatsStmt = 690,           /* AlterStatsStmt  */
    1015             :   YYSYMBOL_CreateAsStmt = 691,             /* CreateAsStmt  */
    1016             :   YYSYMBOL_create_as_target = 692,         /* create_as_target  */
    1017             :   YYSYMBOL_opt_with_data = 693,            /* opt_with_data  */
    1018             :   YYSYMBOL_CreateMatViewStmt = 694,        /* CreateMatViewStmt  */
    1019             :   YYSYMBOL_create_mv_target = 695,         /* create_mv_target  */
    1020             :   YYSYMBOL_OptNoLog = 696,                 /* OptNoLog  */
    1021             :   YYSYMBOL_RefreshMatViewStmt = 697,       /* RefreshMatViewStmt  */
    1022             :   YYSYMBOL_CreateSeqStmt = 698,            /* CreateSeqStmt  */
    1023             :   YYSYMBOL_AlterSeqStmt = 699,             /* AlterSeqStmt  */
    1024             :   YYSYMBOL_OptSeqOptList = 700,            /* OptSeqOptList  */
    1025             :   YYSYMBOL_OptParenthesizedSeqOptList = 701, /* OptParenthesizedSeqOptList  */
    1026             :   YYSYMBOL_SeqOptList = 702,               /* SeqOptList  */
    1027             :   YYSYMBOL_SeqOptElem = 703,               /* SeqOptElem  */
    1028             :   YYSYMBOL_opt_by = 704,                   /* opt_by  */
    1029             :   YYSYMBOL_NumericOnly = 705,              /* NumericOnly  */
    1030             :   YYSYMBOL_NumericOnly_list = 706,         /* NumericOnly_list  */
    1031             :   YYSYMBOL_CreatePLangStmt = 707,          /* CreatePLangStmt  */
    1032             :   YYSYMBOL_opt_trusted = 708,              /* opt_trusted  */
    1033             :   YYSYMBOL_handler_name = 709,             /* handler_name  */
    1034             :   YYSYMBOL_opt_inline_handler = 710,       /* opt_inline_handler  */
    1035             :   YYSYMBOL_validator_clause = 711,         /* validator_clause  */
    1036             :   YYSYMBOL_opt_validator = 712,            /* opt_validator  */
    1037             :   YYSYMBOL_opt_procedural = 713,           /* opt_procedural  */
    1038             :   YYSYMBOL_CreateTableSpaceStmt = 714,     /* CreateTableSpaceStmt  */
    1039             :   YYSYMBOL_OptTableSpaceOwner = 715,       /* OptTableSpaceOwner  */
    1040             :   YYSYMBOL_DropTableSpaceStmt = 716,       /* DropTableSpaceStmt  */
    1041             :   YYSYMBOL_CreateExtensionStmt = 717,      /* CreateExtensionStmt  */
    1042             :   YYSYMBOL_create_extension_opt_list = 718, /* create_extension_opt_list  */
    1043             :   YYSYMBOL_create_extension_opt_item = 719, /* create_extension_opt_item  */
    1044             :   YYSYMBOL_AlterExtensionStmt = 720,       /* AlterExtensionStmt  */
    1045             :   YYSYMBOL_alter_extension_opt_list = 721, /* alter_extension_opt_list  */
    1046             :   YYSYMBOL_alter_extension_opt_item = 722, /* alter_extension_opt_item  */
    1047             :   YYSYMBOL_AlterExtensionContentsStmt = 723, /* AlterExtensionContentsStmt  */
    1048             :   YYSYMBOL_CreateFdwStmt = 724,            /* CreateFdwStmt  */
    1049             :   YYSYMBOL_fdw_option = 725,               /* fdw_option  */
    1050             :   YYSYMBOL_fdw_options = 726,              /* fdw_options  */
    1051             :   YYSYMBOL_opt_fdw_options = 727,          /* opt_fdw_options  */
    1052             :   YYSYMBOL_AlterFdwStmt = 728,             /* AlterFdwStmt  */
    1053             :   YYSYMBOL_create_generic_options = 729,   /* create_generic_options  */
    1054             :   YYSYMBOL_generic_option_list = 730,      /* generic_option_list  */
    1055             :   YYSYMBOL_alter_generic_options = 731,    /* alter_generic_options  */
    1056             :   YYSYMBOL_alter_generic_option_list = 732, /* alter_generic_option_list  */
    1057             :   YYSYMBOL_alter_generic_option_elem = 733, /* alter_generic_option_elem  */
    1058             :   YYSYMBOL_generic_option_elem = 734,      /* generic_option_elem  */
    1059             :   YYSYMBOL_generic_option_name = 735,      /* generic_option_name  */
    1060             :   YYSYMBOL_generic_option_arg = 736,       /* generic_option_arg  */
    1061             :   YYSYMBOL_CreateForeignServerStmt = 737,  /* CreateForeignServerStmt  */
    1062             :   YYSYMBOL_opt_type = 738,                 /* opt_type  */
    1063             :   YYSYMBOL_foreign_server_version = 739,   /* foreign_server_version  */
    1064             :   YYSYMBOL_opt_foreign_server_version = 740, /* opt_foreign_server_version  */
    1065             :   YYSYMBOL_AlterForeignServerStmt = 741,   /* AlterForeignServerStmt  */
    1066             :   YYSYMBOL_CreateForeignTableStmt = 742,   /* CreateForeignTableStmt  */
    1067             :   YYSYMBOL_ImportForeignSchemaStmt = 743,  /* ImportForeignSchemaStmt  */
    1068             :   YYSYMBOL_import_qualification_type = 744, /* import_qualification_type  */
    1069             :   YYSYMBOL_import_qualification = 745,     /* import_qualification  */
    1070             :   YYSYMBOL_CreateUserMappingStmt = 746,    /* CreateUserMappingStmt  */
    1071             :   YYSYMBOL_auth_ident = 747,               /* auth_ident  */
    1072             :   YYSYMBOL_DropUserMappingStmt = 748,      /* DropUserMappingStmt  */
    1073             :   YYSYMBOL_AlterUserMappingStmt = 749,     /* AlterUserMappingStmt  */
    1074             :   YYSYMBOL_CreatePolicyStmt = 750,         /* CreatePolicyStmt  */
    1075             :   YYSYMBOL_AlterPolicyStmt = 751,          /* AlterPolicyStmt  */
    1076             :   YYSYMBOL_RowSecurityOptionalExpr = 752,  /* RowSecurityOptionalExpr  */
    1077             :   YYSYMBOL_RowSecurityOptionalWithCheck = 753, /* RowSecurityOptionalWithCheck  */
    1078             :   YYSYMBOL_RowSecurityDefaultToRole = 754, /* RowSecurityDefaultToRole  */
    1079             :   YYSYMBOL_RowSecurityOptionalToRole = 755, /* RowSecurityOptionalToRole  */
    1080             :   YYSYMBOL_RowSecurityDefaultPermissive = 756, /* RowSecurityDefaultPermissive  */
    1081             :   YYSYMBOL_RowSecurityDefaultForCmd = 757, /* RowSecurityDefaultForCmd  */
    1082             :   YYSYMBOL_row_security_cmd = 758,         /* row_security_cmd  */
    1083             :   YYSYMBOL_CreateAmStmt = 759,             /* CreateAmStmt  */
    1084             :   YYSYMBOL_am_type = 760,                  /* am_type  */
    1085             :   YYSYMBOL_CreateTrigStmt = 761,           /* CreateTrigStmt  */
    1086             :   YYSYMBOL_TriggerActionTime = 762,        /* TriggerActionTime  */
    1087             :   YYSYMBOL_TriggerEvents = 763,            /* TriggerEvents  */
    1088             :   YYSYMBOL_TriggerOneEvent = 764,          /* TriggerOneEvent  */
    1089             :   YYSYMBOL_TriggerReferencing = 765,       /* TriggerReferencing  */
    1090             :   YYSYMBOL_TriggerTransitions = 766,       /* TriggerTransitions  */
    1091             :   YYSYMBOL_TriggerTransition = 767,        /* TriggerTransition  */
    1092             :   YYSYMBOL_TransitionOldOrNew = 768,       /* TransitionOldOrNew  */
    1093             :   YYSYMBOL_TransitionRowOrTable = 769,     /* TransitionRowOrTable  */
    1094             :   YYSYMBOL_TransitionRelName = 770,        /* TransitionRelName  */
    1095             :   YYSYMBOL_TriggerForSpec = 771,           /* TriggerForSpec  */
    1096             :   YYSYMBOL_TriggerForOptEach = 772,        /* TriggerForOptEach  */
    1097             :   YYSYMBOL_TriggerForType = 773,           /* TriggerForType  */
    1098             :   YYSYMBOL_TriggerWhen = 774,              /* TriggerWhen  */
    1099             :   YYSYMBOL_FUNCTION_or_PROCEDURE = 775,    /* FUNCTION_or_PROCEDURE  */
    1100             :   YYSYMBOL_TriggerFuncArgs = 776,          /* TriggerFuncArgs  */
    1101             :   YYSYMBOL_TriggerFuncArg = 777,           /* TriggerFuncArg  */
    1102             :   YYSYMBOL_OptConstrFromTable = 778,       /* OptConstrFromTable  */
    1103             :   YYSYMBOL_ConstraintAttributeSpec = 779,  /* ConstraintAttributeSpec  */
    1104             :   YYSYMBOL_ConstraintAttributeElem = 780,  /* ConstraintAttributeElem  */
    1105             :   YYSYMBOL_CreateEventTrigStmt = 781,      /* CreateEventTrigStmt  */
    1106             :   YYSYMBOL_event_trigger_when_list = 782,  /* event_trigger_when_list  */
    1107             :   YYSYMBOL_event_trigger_when_item = 783,  /* event_trigger_when_item  */
    1108             :   YYSYMBOL_event_trigger_value_list = 784, /* event_trigger_value_list  */
    1109             :   YYSYMBOL_AlterEventTrigStmt = 785,       /* AlterEventTrigStmt  */
    1110             :   YYSYMBOL_enable_trigger = 786,           /* enable_trigger  */
    1111             :   YYSYMBOL_CreateAssertionStmt = 787,      /* CreateAssertionStmt  */
    1112             :   YYSYMBOL_DefineStmt = 788,               /* DefineStmt  */
    1113             :   YYSYMBOL_definition = 789,               /* definition  */
    1114             :   YYSYMBOL_def_list = 790,                 /* def_list  */
    1115             :   YYSYMBOL_def_elem = 791,                 /* def_elem  */
    1116             :   YYSYMBOL_def_arg = 792,                  /* def_arg  */
    1117             :   YYSYMBOL_old_aggr_definition = 793,      /* old_aggr_definition  */
    1118             :   YYSYMBOL_old_aggr_list = 794,            /* old_aggr_list  */
    1119             :   YYSYMBOL_old_aggr_elem = 795,            /* old_aggr_elem  */
    1120             :   YYSYMBOL_opt_enum_val_list = 796,        /* opt_enum_val_list  */
    1121             :   YYSYMBOL_enum_val_list = 797,            /* enum_val_list  */
    1122             :   YYSYMBOL_AlterEnumStmt = 798,            /* AlterEnumStmt  */
    1123             :   YYSYMBOL_opt_if_not_exists = 799,        /* opt_if_not_exists  */
    1124             :   YYSYMBOL_CreateOpClassStmt = 800,        /* CreateOpClassStmt  */
    1125             :   YYSYMBOL_opclass_item_list = 801,        /* opclass_item_list  */
    1126             :   YYSYMBOL_opclass_item = 802,             /* opclass_item  */
    1127             :   YYSYMBOL_opt_default = 803,              /* opt_default  */
    1128             :   YYSYMBOL_opt_opfamily = 804,             /* opt_opfamily  */
    1129             :   YYSYMBOL_opclass_purpose = 805,          /* opclass_purpose  */
    1130             :   YYSYMBOL_opt_recheck = 806,              /* opt_recheck  */
    1131             :   YYSYMBOL_CreateOpFamilyStmt = 807,       /* CreateOpFamilyStmt  */
    1132             :   YYSYMBOL_AlterOpFamilyStmt = 808,        /* AlterOpFamilyStmt  */
    1133             :   YYSYMBOL_opclass_drop_list = 809,        /* opclass_drop_list  */
    1134             :   YYSYMBOL_opclass_drop = 810,             /* opclass_drop  */
    1135             :   YYSYMBOL_DropOpClassStmt = 811,          /* DropOpClassStmt  */
    1136             :   YYSYMBOL_DropOpFamilyStmt = 812,         /* DropOpFamilyStmt  */
    1137             :   YYSYMBOL_DropOwnedStmt = 813,            /* DropOwnedStmt  */
    1138             :   YYSYMBOL_ReassignOwnedStmt = 814,        /* ReassignOwnedStmt  */
    1139             :   YYSYMBOL_DropStmt = 815,                 /* DropStmt  */
    1140             :   YYSYMBOL_object_type_any_name = 816,     /* object_type_any_name  */
    1141             :   YYSYMBOL_object_type_name = 817,         /* object_type_name  */
    1142             :   YYSYMBOL_drop_type_name = 818,           /* drop_type_name  */
    1143             :   YYSYMBOL_object_type_name_on_any_name = 819, /* object_type_name_on_any_name  */
    1144             :   YYSYMBOL_any_name_list = 820,            /* any_name_list  */
    1145             :   YYSYMBOL_any_name = 821,                 /* any_name  */
    1146             :   YYSYMBOL_attrs = 822,                    /* attrs  */
    1147             :   YYSYMBOL_type_name_list = 823,           /* type_name_list  */
    1148             :   YYSYMBOL_TruncateStmt = 824,             /* TruncateStmt  */
    1149             :   YYSYMBOL_opt_restart_seqs = 825,         /* opt_restart_seqs  */
    1150             :   YYSYMBOL_CommentStmt = 826,              /* CommentStmt  */
    1151             :   YYSYMBOL_comment_text = 827,             /* comment_text  */
    1152             :   YYSYMBOL_SecLabelStmt = 828,             /* SecLabelStmt  */
    1153             :   YYSYMBOL_opt_provider = 829,             /* opt_provider  */
    1154             :   YYSYMBOL_security_label = 830,           /* security_label  */
    1155             :   YYSYMBOL_FetchStmt = 831,                /* FetchStmt  */
    1156             :   YYSYMBOL_fetch_args = 832,               /* fetch_args  */
    1157             :   YYSYMBOL_from_in = 833,                  /* from_in  */
    1158             :   YYSYMBOL_opt_from_in = 834,              /* opt_from_in  */
    1159             :   YYSYMBOL_GrantStmt = 835,                /* GrantStmt  */
    1160             :   YYSYMBOL_RevokeStmt = 836,               /* RevokeStmt  */
    1161             :   YYSYMBOL_privileges = 837,               /* privileges  */
    1162             :   YYSYMBOL_privilege_list = 838,           /* privilege_list  */
    1163             :   YYSYMBOL_privilege = 839,                /* privilege  */
    1164             :   YYSYMBOL_parameter_name_list = 840,      /* parameter_name_list  */
    1165             :   YYSYMBOL_parameter_name = 841,           /* parameter_name  */
    1166             :   YYSYMBOL_privilege_target = 842,         /* privilege_target  */
    1167             :   YYSYMBOL_grantee_list = 843,             /* grantee_list  */
    1168             :   YYSYMBOL_grantee = 844,                  /* grantee  */
    1169             :   YYSYMBOL_opt_grant_grant_option = 845,   /* opt_grant_grant_option  */
    1170             :   YYSYMBOL_GrantRoleStmt = 846,            /* GrantRoleStmt  */
    1171             :   YYSYMBOL_RevokeRoleStmt = 847,           /* RevokeRoleStmt  */
    1172             :   YYSYMBOL_grant_role_opt_list = 848,      /* grant_role_opt_list  */
    1173             :   YYSYMBOL_grant_role_opt = 849,           /* grant_role_opt  */
    1174             :   YYSYMBOL_grant_role_opt_value = 850,     /* grant_role_opt_value  */
    1175             :   YYSYMBOL_opt_granted_by = 851,           /* opt_granted_by  */
    1176             :   YYSYMBOL_AlterDefaultPrivilegesStmt = 852, /* AlterDefaultPrivilegesStmt  */
    1177             :   YYSYMBOL_DefACLOptionList = 853,         /* DefACLOptionList  */
    1178             :   YYSYMBOL_DefACLOption = 854,             /* DefACLOption  */
    1179             :   YYSYMBOL_DefACLAction = 855,             /* DefACLAction  */
    1180             :   YYSYMBOL_defacl_privilege_target = 856,  /* defacl_privilege_target  */
    1181             :   YYSYMBOL_IndexStmt = 857,                /* IndexStmt  */
    1182             :   YYSYMBOL_opt_unique = 858,               /* opt_unique  */
    1183             :   YYSYMBOL_access_method_clause = 859,     /* access_method_clause  */
    1184             :   YYSYMBOL_index_params = 860,             /* index_params  */
    1185             :   YYSYMBOL_index_elem_options = 861,       /* index_elem_options  */
    1186             :   YYSYMBOL_index_elem = 862,               /* index_elem  */
    1187             :   YYSYMBOL_opt_include = 863,              /* opt_include  */
    1188             :   YYSYMBOL_index_including_params = 864,   /* index_including_params  */
    1189             :   YYSYMBOL_opt_collate = 865,              /* opt_collate  */
    1190             :   YYSYMBOL_opt_asc_desc = 866,             /* opt_asc_desc  */
    1191             :   YYSYMBOL_opt_nulls_order = 867,          /* opt_nulls_order  */
    1192             :   YYSYMBOL_CreateFunctionStmt = 868,       /* CreateFunctionStmt  */
    1193             :   YYSYMBOL_opt_or_replace = 869,           /* opt_or_replace  */
    1194             :   YYSYMBOL_func_args = 870,                /* func_args  */
    1195             :   YYSYMBOL_func_args_list = 871,           /* func_args_list  */
    1196             :   YYSYMBOL_function_with_argtypes_list = 872, /* function_with_argtypes_list  */
    1197             :   YYSYMBOL_function_with_argtypes = 873,   /* function_with_argtypes  */
    1198             :   YYSYMBOL_func_args_with_defaults = 874,  /* func_args_with_defaults  */
    1199             :   YYSYMBOL_func_args_with_defaults_list = 875, /* func_args_with_defaults_list  */
    1200             :   YYSYMBOL_func_arg = 876,                 /* func_arg  */
    1201             :   YYSYMBOL_arg_class = 877,                /* arg_class  */
    1202             :   YYSYMBOL_param_name = 878,               /* param_name  */
    1203             :   YYSYMBOL_func_return = 879,              /* func_return  */
    1204             :   YYSYMBOL_func_type = 880,                /* func_type  */
    1205             :   YYSYMBOL_func_arg_with_default = 881,    /* func_arg_with_default  */
    1206             :   YYSYMBOL_aggr_arg = 882,                 /* aggr_arg  */
    1207             :   YYSYMBOL_aggr_args = 883,                /* aggr_args  */
    1208             :   YYSYMBOL_aggr_args_list = 884,           /* aggr_args_list  */
    1209             :   YYSYMBOL_aggregate_with_argtypes = 885,  /* aggregate_with_argtypes  */
    1210             :   YYSYMBOL_aggregate_with_argtypes_list = 886, /* aggregate_with_argtypes_list  */
    1211             :   YYSYMBOL_opt_createfunc_opt_list = 887,  /* opt_createfunc_opt_list  */
    1212             :   YYSYMBOL_createfunc_opt_list = 888,      /* createfunc_opt_list  */
    1213             :   YYSYMBOL_common_func_opt_item = 889,     /* common_func_opt_item  */
    1214             :   YYSYMBOL_createfunc_opt_item = 890,      /* createfunc_opt_item  */
    1215             :   YYSYMBOL_func_as = 891,                  /* func_as  */
    1216             :   YYSYMBOL_ReturnStmt = 892,               /* ReturnStmt  */
    1217             :   YYSYMBOL_opt_routine_body = 893,         /* opt_routine_body  */
    1218             :   YYSYMBOL_routine_body_stmt_list = 894,   /* routine_body_stmt_list  */
    1219             :   YYSYMBOL_routine_body_stmt = 895,        /* routine_body_stmt  */
    1220             :   YYSYMBOL_transform_type_list = 896,      /* transform_type_list  */
    1221             :   YYSYMBOL_opt_definition = 897,           /* opt_definition  */
    1222             :   YYSYMBOL_table_func_column = 898,        /* table_func_column  */
    1223             :   YYSYMBOL_table_func_column_list = 899,   /* table_func_column_list  */
    1224             :   YYSYMBOL_AlterFunctionStmt = 900,        /* AlterFunctionStmt  */
    1225             :   YYSYMBOL_alterfunc_opt_list = 901,       /* alterfunc_opt_list  */
    1226             :   YYSYMBOL_opt_restrict = 902,             /* opt_restrict  */
    1227             :   YYSYMBOL_RemoveFuncStmt = 903,           /* RemoveFuncStmt  */
    1228             :   YYSYMBOL_RemoveAggrStmt = 904,           /* RemoveAggrStmt  */
    1229             :   YYSYMBOL_RemoveOperStmt = 905,           /* RemoveOperStmt  */
    1230             :   YYSYMBOL_oper_argtypes = 906,            /* oper_argtypes  */
    1231             :   YYSYMBOL_any_operator = 907,             /* any_operator  */
    1232             :   YYSYMBOL_operator_with_argtypes_list = 908, /* operator_with_argtypes_list  */
    1233             :   YYSYMBOL_operator_with_argtypes = 909,   /* operator_with_argtypes  */
    1234             :   YYSYMBOL_DoStmt = 910,                   /* DoStmt  */
    1235             :   YYSYMBOL_dostmt_opt_list = 911,          /* dostmt_opt_list  */
    1236             :   YYSYMBOL_dostmt_opt_item = 912,          /* dostmt_opt_item  */
    1237             :   YYSYMBOL_CreateCastStmt = 913,           /* CreateCastStmt  */
    1238             :   YYSYMBOL_cast_context = 914,             /* cast_context  */
    1239             :   YYSYMBOL_DropCastStmt = 915,             /* DropCastStmt  */
    1240             :   YYSYMBOL_opt_if_exists = 916,            /* opt_if_exists  */
    1241             :   YYSYMBOL_CreateTransformStmt = 917,      /* CreateTransformStmt  */
    1242             :   YYSYMBOL_transform_element_list = 918,   /* transform_element_list  */
    1243             :   YYSYMBOL_DropTransformStmt = 919,        /* DropTransformStmt  */
    1244             :   YYSYMBOL_ReindexStmt = 920,              /* ReindexStmt  */
    1245             :   YYSYMBOL_reindex_target_relation = 921,  /* reindex_target_relation  */
    1246             :   YYSYMBOL_reindex_target_all = 922,       /* reindex_target_all  */
    1247             :   YYSYMBOL_opt_reindex_option_list = 923,  /* opt_reindex_option_list  */
    1248             :   YYSYMBOL_AlterTblSpcStmt = 924,          /* AlterTblSpcStmt  */
    1249             :   YYSYMBOL_RenameStmt = 925,               /* RenameStmt  */
    1250             :   YYSYMBOL_opt_column = 926,               /* opt_column  */
    1251             :   YYSYMBOL_opt_set_data = 927,             /* opt_set_data  */
    1252             :   YYSYMBOL_AlterObjectDependsStmt = 928,   /* AlterObjectDependsStmt  */
    1253             :   YYSYMBOL_opt_no = 929,                   /* opt_no  */
    1254             :   YYSYMBOL_AlterObjectSchemaStmt = 930,    /* AlterObjectSchemaStmt  */
    1255             :   YYSYMBOL_AlterOperatorStmt = 931,        /* AlterOperatorStmt  */
    1256             :   YYSYMBOL_operator_def_list = 932,        /* operator_def_list  */
    1257             :   YYSYMBOL_operator_def_elem = 933,        /* operator_def_elem  */
    1258             :   YYSYMBOL_operator_def_arg = 934,         /* operator_def_arg  */
    1259             :   YYSYMBOL_AlterTypeStmt = 935,            /* AlterTypeStmt  */
    1260             :   YYSYMBOL_AlterOwnerStmt = 936,           /* AlterOwnerStmt  */
    1261             :   YYSYMBOL_CreatePublicationStmt = 937,    /* CreatePublicationStmt  */
    1262             :   YYSYMBOL_PublicationObjSpec = 938,       /* PublicationObjSpec  */
    1263             :   YYSYMBOL_pub_obj_list = 939,             /* pub_obj_list  */
    1264             :   YYSYMBOL_AlterPublicationStmt = 940,     /* AlterPublicationStmt  */
    1265             :   YYSYMBOL_CreateSubscriptionStmt = 941,   /* CreateSubscriptionStmt  */
    1266             :   YYSYMBOL_AlterSubscriptionStmt = 942,    /* AlterSubscriptionStmt  */
    1267             :   YYSYMBOL_DropSubscriptionStmt = 943,     /* DropSubscriptionStmt  */
    1268             :   YYSYMBOL_RuleStmt = 944,                 /* RuleStmt  */
    1269             :   YYSYMBOL_RuleActionList = 945,           /* RuleActionList  */
    1270             :   YYSYMBOL_RuleActionMulti = 946,          /* RuleActionMulti  */
    1271             :   YYSYMBOL_RuleActionStmt = 947,           /* RuleActionStmt  */
    1272             :   YYSYMBOL_RuleActionStmtOrEmpty = 948,    /* RuleActionStmtOrEmpty  */
    1273             :   YYSYMBOL_event = 949,                    /* event  */
    1274             :   YYSYMBOL_opt_instead = 950,              /* opt_instead  */
    1275             :   YYSYMBOL_NotifyStmt = 951,               /* NotifyStmt  */
    1276             :   YYSYMBOL_notify_payload = 952,           /* notify_payload  */
    1277             :   YYSYMBOL_ListenStmt = 953,               /* ListenStmt  */
    1278             :   YYSYMBOL_UnlistenStmt = 954,             /* UnlistenStmt  */
    1279             :   YYSYMBOL_TransactionStmt = 955,          /* TransactionStmt  */
    1280             :   YYSYMBOL_TransactionStmtLegacy = 956,    /* TransactionStmtLegacy  */
    1281             :   YYSYMBOL_opt_transaction = 957,          /* opt_transaction  */
    1282             :   YYSYMBOL_transaction_mode_item = 958,    /* transaction_mode_item  */
    1283             :   YYSYMBOL_transaction_mode_list = 959,    /* transaction_mode_list  */
    1284             :   YYSYMBOL_transaction_mode_list_or_empty = 960, /* transaction_mode_list_or_empty  */
    1285             :   YYSYMBOL_opt_transaction_chain = 961,    /* opt_transaction_chain  */
    1286             :   YYSYMBOL_ViewStmt = 962,                 /* ViewStmt  */
    1287             :   YYSYMBOL_opt_check_option = 963,         /* opt_check_option  */
    1288             :   YYSYMBOL_LoadStmt = 964,                 /* LoadStmt  */
    1289             :   YYSYMBOL_CreatedbStmt = 965,             /* CreatedbStmt  */
    1290             :   YYSYMBOL_createdb_opt_list = 966,        /* createdb_opt_list  */
    1291             :   YYSYMBOL_createdb_opt_items = 967,       /* createdb_opt_items  */
    1292             :   YYSYMBOL_createdb_opt_item = 968,        /* createdb_opt_item  */
    1293             :   YYSYMBOL_createdb_opt_name = 969,        /* createdb_opt_name  */
    1294             :   YYSYMBOL_opt_equal = 970,                /* opt_equal  */
    1295             :   YYSYMBOL_AlterDatabaseStmt = 971,        /* AlterDatabaseStmt  */
    1296             :   YYSYMBOL_AlterDatabaseSetStmt = 972,     /* AlterDatabaseSetStmt  */
    1297             :   YYSYMBOL_DropdbStmt = 973,               /* DropdbStmt  */
    1298             :   YYSYMBOL_drop_option_list = 974,         /* drop_option_list  */
    1299             :   YYSYMBOL_drop_option = 975,              /* drop_option  */
    1300             :   YYSYMBOL_AlterCollationStmt = 976,       /* AlterCollationStmt  */
    1301             :   YYSYMBOL_AlterSystemStmt = 977,          /* AlterSystemStmt  */
    1302             :   YYSYMBOL_CreateDomainStmt = 978,         /* CreateDomainStmt  */
    1303             :   YYSYMBOL_AlterDomainStmt = 979,          /* AlterDomainStmt  */
    1304             :   YYSYMBOL_opt_as = 980,                   /* opt_as  */
    1305             :   YYSYMBOL_AlterTSDictionaryStmt = 981,    /* AlterTSDictionaryStmt  */
    1306             :   YYSYMBOL_AlterTSConfigurationStmt = 982, /* AlterTSConfigurationStmt  */
    1307             :   YYSYMBOL_any_with = 983,                 /* any_with  */
    1308             :   YYSYMBOL_CreateConversionStmt = 984,     /* CreateConversionStmt  */
    1309             :   YYSYMBOL_ClusterStmt = 985,              /* ClusterStmt  */
    1310             :   YYSYMBOL_cluster_index_specification = 986, /* cluster_index_specification  */
    1311             :   YYSYMBOL_VacuumStmt = 987,               /* VacuumStmt  */
    1312             :   YYSYMBOL_AnalyzeStmt = 988,              /* AnalyzeStmt  */
    1313             :   YYSYMBOL_utility_option_list = 989,      /* utility_option_list  */
    1314             :   YYSYMBOL_analyze_keyword = 990,          /* analyze_keyword  */
    1315             :   YYSYMBOL_utility_option_elem = 991,      /* utility_option_elem  */
    1316             :   YYSYMBOL_utility_option_name = 992,      /* utility_option_name  */
    1317             :   YYSYMBOL_utility_option_arg = 993,       /* utility_option_arg  */
    1318             :   YYSYMBOL_opt_analyze = 994,              /* opt_analyze  */
    1319             :   YYSYMBOL_opt_verbose = 995,              /* opt_verbose  */
    1320             :   YYSYMBOL_opt_full = 996,                 /* opt_full  */
    1321             :   YYSYMBOL_opt_freeze = 997,               /* opt_freeze  */
    1322             :   YYSYMBOL_opt_name_list = 998,            /* opt_name_list  */
    1323             :   YYSYMBOL_vacuum_relation = 999,          /* vacuum_relation  */
    1324             :   YYSYMBOL_vacuum_relation_list = 1000,    /* vacuum_relation_list  */
    1325             :   YYSYMBOL_opt_vacuum_relation_list = 1001, /* opt_vacuum_relation_list  */
    1326             :   YYSYMBOL_ExplainStmt = 1002,             /* ExplainStmt  */
    1327             :   YYSYMBOL_ExplainableStmt = 1003,         /* ExplainableStmt  */
    1328             :   YYSYMBOL_PrepareStmt = 1004,             /* PrepareStmt  */
    1329             :   YYSYMBOL_prep_type_clause = 1005,        /* prep_type_clause  */
    1330             :   YYSYMBOL_PreparableStmt = 1006,          /* PreparableStmt  */
    1331             :   YYSYMBOL_ExecuteStmt = 1007,             /* ExecuteStmt  */
    1332             :   YYSYMBOL_execute_param_clause = 1008,    /* execute_param_clause  */
    1333             :   YYSYMBOL_DeallocateStmt = 1009,          /* DeallocateStmt  */
    1334             :   YYSYMBOL_InsertStmt = 1010,              /* InsertStmt  */
    1335             :   YYSYMBOL_insert_target = 1011,           /* insert_target  */
    1336             :   YYSYMBOL_insert_rest = 1012,             /* insert_rest  */
    1337             :   YYSYMBOL_override_kind = 1013,           /* override_kind  */
    1338             :   YYSYMBOL_insert_column_list = 1014,      /* insert_column_list  */
    1339             :   YYSYMBOL_insert_column_item = 1015,      /* insert_column_item  */
    1340             :   YYSYMBOL_opt_on_conflict = 1016,         /* opt_on_conflict  */
    1341             :   YYSYMBOL_opt_conf_expr = 1017,           /* opt_conf_expr  */
    1342             :   YYSYMBOL_returning_clause = 1018,        /* returning_clause  */
    1343             :   YYSYMBOL_DeleteStmt = 1019,              /* DeleteStmt  */
    1344             :   YYSYMBOL_using_clause = 1020,            /* using_clause  */
    1345             :   YYSYMBOL_LockStmt = 1021,                /* LockStmt  */
    1346             :   YYSYMBOL_opt_lock = 1022,                /* opt_lock  */
    1347             :   YYSYMBOL_lock_type = 1023,               /* lock_type  */
    1348             :   YYSYMBOL_opt_nowait = 1024,              /* opt_nowait  */
    1349             :   YYSYMBOL_opt_nowait_or_skip = 1025,      /* opt_nowait_or_skip  */
    1350             :   YYSYMBOL_UpdateStmt = 1026,              /* UpdateStmt  */
    1351             :   YYSYMBOL_set_clause_list = 1027,         /* set_clause_list  */
    1352             :   YYSYMBOL_set_clause = 1028,              /* set_clause  */
    1353             :   YYSYMBOL_set_target = 1029,              /* set_target  */
    1354             :   YYSYMBOL_set_target_list = 1030,         /* set_target_list  */
    1355             :   YYSYMBOL_MergeStmt = 1031,               /* MergeStmt  */
    1356             :   YYSYMBOL_merge_when_list = 1032,         /* merge_when_list  */
    1357             :   YYSYMBOL_merge_when_clause = 1033,       /* merge_when_clause  */
    1358             :   YYSYMBOL_merge_when_tgt_matched = 1034,  /* merge_when_tgt_matched  */
    1359             :   YYSYMBOL_merge_when_tgt_not_matched = 1035, /* merge_when_tgt_not_matched  */
    1360             :   YYSYMBOL_opt_merge_when_condition = 1036, /* opt_merge_when_condition  */
    1361             :   YYSYMBOL_merge_update = 1037,            /* merge_update  */
    1362             :   YYSYMBOL_merge_delete = 1038,            /* merge_delete  */
    1363             :   YYSYMBOL_merge_insert = 1039,            /* merge_insert  */
    1364             :   YYSYMBOL_merge_values_clause = 1040,     /* merge_values_clause  */
    1365             :   YYSYMBOL_DeclareCursorStmt = 1041,       /* DeclareCursorStmt  */
    1366             :   YYSYMBOL_cursor_name = 1042,             /* cursor_name  */
    1367             :   YYSYMBOL_cursor_options = 1043,          /* cursor_options  */
    1368             :   YYSYMBOL_opt_hold = 1044,                /* opt_hold  */
    1369             :   YYSYMBOL_SelectStmt = 1045,              /* SelectStmt  */
    1370             :   YYSYMBOL_select_with_parens = 1046,      /* select_with_parens  */
    1371             :   YYSYMBOL_select_no_parens = 1047,        /* select_no_parens  */
    1372             :   YYSYMBOL_select_clause = 1048,           /* select_clause  */
    1373             :   YYSYMBOL_simple_select = 1049,           /* simple_select  */
    1374             :   YYSYMBOL_with_clause = 1050,             /* with_clause  */
    1375             :   YYSYMBOL_cte_list = 1051,                /* cte_list  */
    1376             :   YYSYMBOL_common_table_expr = 1052,       /* common_table_expr  */
    1377             :   YYSYMBOL_opt_materialized = 1053,        /* opt_materialized  */
    1378             :   YYSYMBOL_opt_search_clause = 1054,       /* opt_search_clause  */
    1379             :   YYSYMBOL_opt_cycle_clause = 1055,        /* opt_cycle_clause  */
    1380             :   YYSYMBOL_opt_with_clause = 1056,         /* opt_with_clause  */
    1381             :   YYSYMBOL_into_clause = 1057,             /* into_clause  */
    1382             :   YYSYMBOL_OptTempTableName = 1058,        /* OptTempTableName  */
    1383             :   YYSYMBOL_opt_table = 1059,               /* opt_table  */
    1384             :   YYSYMBOL_set_quantifier = 1060,          /* set_quantifier  */
    1385             :   YYSYMBOL_distinct_clause = 1061,         /* distinct_clause  */
    1386             :   YYSYMBOL_opt_all_clause = 1062,          /* opt_all_clause  */
    1387             :   YYSYMBOL_opt_distinct_clause = 1063,     /* opt_distinct_clause  */
    1388             :   YYSYMBOL_opt_sort_clause = 1064,         /* opt_sort_clause  */
    1389             :   YYSYMBOL_sort_clause = 1065,             /* sort_clause  */
    1390             :   YYSYMBOL_sortby_list = 1066,             /* sortby_list  */
    1391             :   YYSYMBOL_sortby = 1067,                  /* sortby  */
    1392             :   YYSYMBOL_select_limit = 1068,            /* select_limit  */
    1393             :   YYSYMBOL_opt_select_limit = 1069,        /* opt_select_limit  */
    1394             :   YYSYMBOL_limit_clause = 1070,            /* limit_clause  */
    1395             :   YYSYMBOL_offset_clause = 1071,           /* offset_clause  */
    1396             :   YYSYMBOL_select_limit_value = 1072,      /* select_limit_value  */
    1397             :   YYSYMBOL_select_offset_value = 1073,     /* select_offset_value  */
    1398             :   YYSYMBOL_select_fetch_first_value = 1074, /* select_fetch_first_value  */
    1399             :   YYSYMBOL_I_or_F_const = 1075,            /* I_or_F_const  */
    1400             :   YYSYMBOL_row_or_rows = 1076,             /* row_or_rows  */
    1401             :   YYSYMBOL_first_or_next = 1077,           /* first_or_next  */
    1402             :   YYSYMBOL_group_clause = 1078,            /* group_clause  */
    1403             :   YYSYMBOL_group_by_list = 1079,           /* group_by_list  */
    1404             :   YYSYMBOL_group_by_item = 1080,           /* group_by_item  */
    1405             :   YYSYMBOL_empty_grouping_set = 1081,      /* empty_grouping_set  */
    1406             :   YYSYMBOL_rollup_clause = 1082,           /* rollup_clause  */
    1407             :   YYSYMBOL_cube_clause = 1083,             /* cube_clause  */
    1408             :   YYSYMBOL_grouping_sets_clause = 1084,    /* grouping_sets_clause  */
    1409             :   YYSYMBOL_having_clause = 1085,           /* having_clause  */
    1410             :   YYSYMBOL_for_locking_clause = 1086,      /* for_locking_clause  */
    1411             :   YYSYMBOL_opt_for_locking_clause = 1087,  /* opt_for_locking_clause  */
    1412             :   YYSYMBOL_for_locking_items = 1088,       /* for_locking_items  */
    1413             :   YYSYMBOL_for_locking_item = 1089,        /* for_locking_item  */
    1414             :   YYSYMBOL_for_locking_strength = 1090,    /* for_locking_strength  */
    1415             :   YYSYMBOL_locked_rels_list = 1091,        /* locked_rels_list  */
    1416             :   YYSYMBOL_values_clause = 1092,           /* values_clause  */
    1417             :   YYSYMBOL_from_clause = 1093,             /* from_clause  */
    1418             :   YYSYMBOL_from_list = 1094,               /* from_list  */
    1419             :   YYSYMBOL_table_ref = 1095,               /* table_ref  */
    1420             :   YYSYMBOL_joined_table = 1096,            /* joined_table  */
    1421             :   YYSYMBOL_alias_clause = 1097,            /* alias_clause  */
    1422             :   YYSYMBOL_opt_alias_clause = 1098,        /* opt_alias_clause  */
    1423             :   YYSYMBOL_opt_alias_clause_for_join_using = 1099, /* opt_alias_clause_for_join_using  */
    1424             :   YYSYMBOL_func_alias_clause = 1100,       /* func_alias_clause  */
    1425             :   YYSYMBOL_join_type = 1101,               /* join_type  */
    1426             :   YYSYMBOL_opt_outer = 1102,               /* opt_outer  */
    1427             :   YYSYMBOL_join_qual = 1103,               /* join_qual  */
    1428             :   YYSYMBOL_relation_expr = 1104,           /* relation_expr  */
    1429             :   YYSYMBOL_extended_relation_expr = 1105,  /* extended_relation_expr  */
    1430             :   YYSYMBOL_relation_expr_list = 1106,      /* relation_expr_list  */
    1431             :   YYSYMBOL_relation_expr_opt_alias = 1107, /* relation_expr_opt_alias  */
    1432             :   YYSYMBOL_tablesample_clause = 1108,      /* tablesample_clause  */
    1433             :   YYSYMBOL_opt_repeatable_clause = 1109,   /* opt_repeatable_clause  */
    1434             :   YYSYMBOL_func_table = 1110,              /* func_table  */
    1435             :   YYSYMBOL_rowsfrom_item = 1111,           /* rowsfrom_item  */
    1436             :   YYSYMBOL_rowsfrom_list = 1112,           /* rowsfrom_list  */
    1437             :   YYSYMBOL_opt_col_def_list = 1113,        /* opt_col_def_list  */
    1438             :   YYSYMBOL_opt_ordinality = 1114,          /* opt_ordinality  */
    1439             :   YYSYMBOL_where_clause = 1115,            /* where_clause  */
    1440             :   YYSYMBOL_where_or_current_clause = 1116, /* where_or_current_clause  */
    1441             :   YYSYMBOL_OptTableFuncElementList = 1117, /* OptTableFuncElementList  */
    1442             :   YYSYMBOL_TableFuncElementList = 1118,    /* TableFuncElementList  */
    1443             :   YYSYMBOL_TableFuncElement = 1119,        /* TableFuncElement  */
    1444             :   YYSYMBOL_xmltable = 1120,                /* xmltable  */
    1445             :   YYSYMBOL_xmltable_column_list = 1121,    /* xmltable_column_list  */
    1446             :   YYSYMBOL_xmltable_column_el = 1122,      /* xmltable_column_el  */
    1447             :   YYSYMBOL_xmltable_column_option_list = 1123, /* xmltable_column_option_list  */
    1448             :   YYSYMBOL_xmltable_column_option_el = 1124, /* xmltable_column_option_el  */
    1449             :   YYSYMBOL_xml_namespace_list = 1125,      /* xml_namespace_list  */
    1450             :   YYSYMBOL_xml_namespace_el = 1126,        /* xml_namespace_el  */
    1451             :   YYSYMBOL_json_table = 1127,              /* json_table  */
    1452             :   YYSYMBOL_json_table_path_name_opt = 1128, /* json_table_path_name_opt  */
    1453             :   YYSYMBOL_json_table_column_definition_list = 1129, /* json_table_column_definition_list  */
    1454             :   YYSYMBOL_json_table_column_definition = 1130, /* json_table_column_definition  */
    1455             :   YYSYMBOL_path_opt = 1131,                /* path_opt  */
    1456             :   YYSYMBOL_json_table_column_path_clause_opt = 1132, /* json_table_column_path_clause_opt  */
    1457             :   YYSYMBOL_Typename = 1133,                /* Typename  */
    1458             :   YYSYMBOL_opt_array_bounds = 1134,        /* opt_array_bounds  */
    1459             :   YYSYMBOL_SimpleTypename = 1135,          /* SimpleTypename  */
    1460             :   YYSYMBOL_ConstTypename = 1136,           /* ConstTypename  */
    1461             :   YYSYMBOL_GenericType = 1137,             /* GenericType  */
    1462             :   YYSYMBOL_opt_type_modifiers = 1138,      /* opt_type_modifiers  */
    1463             :   YYSYMBOL_Numeric = 1139,                 /* Numeric  */
    1464             :   YYSYMBOL_opt_float = 1140,               /* opt_float  */
    1465             :   YYSYMBOL_Bit = 1141,                     /* Bit  */
    1466             :   YYSYMBOL_ConstBit = 1142,                /* ConstBit  */
    1467             :   YYSYMBOL_BitWithLength = 1143,           /* BitWithLength  */
    1468             :   YYSYMBOL_BitWithoutLength = 1144,        /* BitWithoutLength  */
    1469             :   YYSYMBOL_Character = 1145,               /* Character  */
    1470             :   YYSYMBOL_ConstCharacter = 1146,          /* ConstCharacter  */
    1471             :   YYSYMBOL_CharacterWithLength = 1147,     /* CharacterWithLength  */
    1472             :   YYSYMBOL_CharacterWithoutLength = 1148,  /* CharacterWithoutLength  */
    1473             :   YYSYMBOL_character = 1149,               /* character  */
    1474             :   YYSYMBOL_opt_varying = 1150,             /* opt_varying  */
    1475             :   YYSYMBOL_ConstDatetime = 1151,           /* ConstDatetime  */
    1476             :   YYSYMBOL_ConstInterval = 1152,           /* ConstInterval  */
    1477             :   YYSYMBOL_opt_timezone = 1153,            /* opt_timezone  */
    1478             :   YYSYMBOL_opt_interval = 1154,            /* opt_interval  */
    1479             :   YYSYMBOL_interval_second = 1155,         /* interval_second  */
    1480             :   YYSYMBOL_JsonType = 1156,                /* JsonType  */
    1481             :   YYSYMBOL_a_expr = 1157,                  /* a_expr  */
    1482             :   YYSYMBOL_b_expr = 1158,                  /* b_expr  */
    1483             :   YYSYMBOL_c_expr = 1159,                  /* c_expr  */
    1484             :   YYSYMBOL_func_application = 1160,        /* func_application  */
    1485             :   YYSYMBOL_func_expr = 1161,               /* func_expr  */
    1486             :   YYSYMBOL_func_expr_windowless = 1162,    /* func_expr_windowless  */
    1487             :   YYSYMBOL_func_expr_common_subexpr = 1163, /* func_expr_common_subexpr  */
    1488             :   YYSYMBOL_xml_root_version = 1164,        /* xml_root_version  */
    1489             :   YYSYMBOL_opt_xml_root_standalone = 1165, /* opt_xml_root_standalone  */
    1490             :   YYSYMBOL_xml_attributes = 1166,          /* xml_attributes  */
    1491             :   YYSYMBOL_xml_attribute_list = 1167,      /* xml_attribute_list  */
    1492             :   YYSYMBOL_xml_attribute_el = 1168,        /* xml_attribute_el  */
    1493             :   YYSYMBOL_document_or_content = 1169,     /* document_or_content  */
    1494             :   YYSYMBOL_xml_indent_option = 1170,       /* xml_indent_option  */
    1495             :   YYSYMBOL_xml_whitespace_option = 1171,   /* xml_whitespace_option  */
    1496             :   YYSYMBOL_xmlexists_argument = 1172,      /* xmlexists_argument  */
    1497             :   YYSYMBOL_xml_passing_mech = 1173,        /* xml_passing_mech  */
    1498             :   YYSYMBOL_within_group_clause = 1174,     /* within_group_clause  */
    1499             :   YYSYMBOL_filter_clause = 1175,           /* filter_clause  */
    1500             :   YYSYMBOL_window_clause = 1176,           /* window_clause  */
    1501             :   YYSYMBOL_window_definition_list = 1177,  /* window_definition_list  */
    1502             :   YYSYMBOL_window_definition = 1178,       /* window_definition  */
    1503             :   YYSYMBOL_over_clause = 1179,             /* over_clause  */
    1504             :   YYSYMBOL_window_specification = 1180,    /* window_specification  */
    1505             :   YYSYMBOL_opt_existing_window_name = 1181, /* opt_existing_window_name  */
    1506             :   YYSYMBOL_opt_partition_clause = 1182,    /* opt_partition_clause  */
    1507             :   YYSYMBOL_opt_frame_clause = 1183,        /* opt_frame_clause  */
    1508             :   YYSYMBOL_frame_extent = 1184,            /* frame_extent  */
    1509             :   YYSYMBOL_frame_bound = 1185,             /* frame_bound  */
    1510             :   YYSYMBOL_opt_window_exclusion_clause = 1186, /* opt_window_exclusion_clause  */
    1511             :   YYSYMBOL_row = 1187,                     /* row  */
    1512             :   YYSYMBOL_explicit_row = 1188,            /* explicit_row  */
    1513             :   YYSYMBOL_implicit_row = 1189,            /* implicit_row  */
    1514             :   YYSYMBOL_sub_type = 1190,                /* sub_type  */
    1515             :   YYSYMBOL_all_Op = 1191,                  /* all_Op  */
    1516             :   YYSYMBOL_MathOp = 1192,                  /* MathOp  */
    1517             :   YYSYMBOL_qual_Op = 1193,                 /* qual_Op  */
    1518             :   YYSYMBOL_qual_all_Op = 1194,             /* qual_all_Op  */
    1519             :   YYSYMBOL_subquery_Op = 1195,             /* subquery_Op  */
    1520             :   YYSYMBOL_expr_list = 1196,               /* expr_list  */
    1521             :   YYSYMBOL_func_arg_list = 1197,           /* func_arg_list  */
    1522             :   YYSYMBOL_func_arg_expr = 1198,           /* func_arg_expr  */
    1523             :   YYSYMBOL_func_arg_list_opt = 1199,       /* func_arg_list_opt  */
    1524             :   YYSYMBOL_type_list = 1200,               /* type_list  */
    1525             :   YYSYMBOL_array_expr = 1201,              /* array_expr  */
    1526             :   YYSYMBOL_array_expr_list = 1202,         /* array_expr_list  */
    1527             :   YYSYMBOL_extract_list = 1203,            /* extract_list  */
    1528             :   YYSYMBOL_extract_arg = 1204,             /* extract_arg  */
    1529             :   YYSYMBOL_unicode_normal_form = 1205,     /* unicode_normal_form  */
    1530             :   YYSYMBOL_overlay_list = 1206,            /* overlay_list  */
    1531             :   YYSYMBOL_position_list = 1207,           /* position_list  */
    1532             :   YYSYMBOL_substr_list = 1208,             /* substr_list  */
    1533             :   YYSYMBOL_trim_list = 1209,               /* trim_list  */
    1534             :   YYSYMBOL_in_expr = 1210,                 /* in_expr  */
    1535             :   YYSYMBOL_case_expr = 1211,               /* case_expr  */
    1536             :   YYSYMBOL_when_clause_list = 1212,        /* when_clause_list  */
    1537             :   YYSYMBOL_when_clause = 1213,             /* when_clause  */
    1538             :   YYSYMBOL_case_default = 1214,            /* case_default  */
    1539             :   YYSYMBOL_case_arg = 1215,                /* case_arg  */
    1540             :   YYSYMBOL_columnref = 1216,               /* columnref  */
    1541             :   YYSYMBOL_indirection_el = 1217,          /* indirection_el  */
    1542             :   YYSYMBOL_opt_slice_bound = 1218,         /* opt_slice_bound  */
    1543             :   YYSYMBOL_indirection = 1219,             /* indirection  */
    1544             :   YYSYMBOL_opt_indirection = 1220,         /* opt_indirection  */
    1545             :   YYSYMBOL_opt_asymmetric = 1221,          /* opt_asymmetric  */
    1546             :   YYSYMBOL_json_passing_clause_opt = 1222, /* json_passing_clause_opt  */
    1547             :   YYSYMBOL_json_arguments = 1223,          /* json_arguments  */
    1548             :   YYSYMBOL_json_argument = 1224,           /* json_argument  */
    1549             :   YYSYMBOL_json_wrapper_behavior = 1225,   /* json_wrapper_behavior  */
    1550             :   YYSYMBOL_json_behavior = 1226,           /* json_behavior  */
    1551             :   YYSYMBOL_json_behavior_type = 1227,      /* json_behavior_type  */
    1552             :   YYSYMBOL_json_behavior_clause_opt = 1228, /* json_behavior_clause_opt  */
    1553             :   YYSYMBOL_json_on_error_clause_opt = 1229, /* json_on_error_clause_opt  */
    1554             :   YYSYMBOL_json_value_expr = 1230,         /* json_value_expr  */
    1555             :   YYSYMBOL_json_format_clause = 1231,      /* json_format_clause  */
    1556             :   YYSYMBOL_json_format_clause_opt = 1232,  /* json_format_clause_opt  */
    1557             :   YYSYMBOL_json_quotes_clause_opt = 1233,  /* json_quotes_clause_opt  */
    1558             :   YYSYMBOL_json_returning_clause_opt = 1234, /* json_returning_clause_opt  */
    1559             :   YYSYMBOL_json_predicate_type_constraint = 1235, /* json_predicate_type_constraint  */
    1560             :   YYSYMBOL_json_key_uniqueness_constraint_opt = 1236, /* json_key_uniqueness_constraint_opt  */
    1561             :   YYSYMBOL_json_name_and_value_list = 1237, /* json_name_and_value_list  */
    1562             :   YYSYMBOL_json_name_and_value = 1238,     /* json_name_and_value  */
    1563             :   YYSYMBOL_json_object_constructor_null_clause_opt = 1239, /* json_object_constructor_null_clause_opt  */
    1564             :   YYSYMBOL_json_array_constructor_null_clause_opt = 1240, /* json_array_constructor_null_clause_opt  */
    1565             :   YYSYMBOL_json_value_expr_list = 1241,    /* json_value_expr_list  */
    1566             :   YYSYMBOL_json_aggregate_func = 1242,     /* json_aggregate_func  */
    1567             :   YYSYMBOL_json_array_aggregate_order_by_clause_opt = 1243, /* json_array_aggregate_order_by_clause_opt  */
    1568             :   YYSYMBOL_opt_target_list = 1244,         /* opt_target_list  */
    1569             :   YYSYMBOL_target_list = 1245,             /* target_list  */
    1570             :   YYSYMBOL_target_el = 1246,               /* target_el  */
    1571             :   YYSYMBOL_qualified_name_list = 1247,     /* qualified_name_list  */
    1572             :   YYSYMBOL_qualified_name = 1248,          /* qualified_name  */
    1573             :   YYSYMBOL_name_list = 1249,               /* name_list  */
    1574             :   YYSYMBOL_name = 1250,                    /* name  */
    1575             :   YYSYMBOL_attr_name = 1251,               /* attr_name  */
    1576             :   YYSYMBOL_file_name = 1252,               /* file_name  */
    1577             :   YYSYMBOL_func_name = 1253,               /* func_name  */
    1578             :   YYSYMBOL_AexprConst = 1254,              /* AexprConst  */
    1579             :   YYSYMBOL_Iconst = 1255,                  /* Iconst  */
    1580             :   YYSYMBOL_Sconst = 1256,                  /* Sconst  */
    1581             :   YYSYMBOL_SignedIconst = 1257,            /* SignedIconst  */
    1582             :   YYSYMBOL_RoleId = 1258,                  /* RoleId  */
    1583             :   YYSYMBOL_RoleSpec = 1259,                /* RoleSpec  */
    1584             :   YYSYMBOL_role_list = 1260,               /* role_list  */
    1585             :   YYSYMBOL_PLpgSQL_Expr = 1261,            /* PLpgSQL_Expr  */
    1586             :   YYSYMBOL_PLAssignStmt = 1262,            /* PLAssignStmt  */
    1587             :   YYSYMBOL_plassign_target = 1263,         /* plassign_target  */
    1588             :   YYSYMBOL_plassign_equals = 1264,         /* plassign_equals  */
    1589             :   YYSYMBOL_ColId = 1265,                   /* ColId  */
    1590             :   YYSYMBOL_type_function_name = 1266,      /* type_function_name  */
    1591             :   YYSYMBOL_NonReservedWord = 1267,         /* NonReservedWord  */
    1592             :   YYSYMBOL_ColLabel = 1268,                /* ColLabel  */
    1593             :   YYSYMBOL_BareColLabel = 1269,            /* BareColLabel  */
    1594             :   YYSYMBOL_unreserved_keyword = 1270,      /* unreserved_keyword  */
    1595             :   YYSYMBOL_col_name_keyword = 1271,        /* col_name_keyword  */
    1596             :   YYSYMBOL_type_func_name_keyword = 1272,  /* type_func_name_keyword  */
    1597             :   YYSYMBOL_reserved_keyword = 1273,        /* reserved_keyword  */
    1598             :   YYSYMBOL_bare_label_keyword = 1274       /* bare_label_keyword  */
    1599             : };
    1600             : typedef enum yysymbol_kind_t yysymbol_kind_t;
    1601             : 
    1602             : 
    1603             : 
    1604             : 
    1605             : #ifdef short
    1606             : # undef short
    1607             : #endif
    1608             : 
    1609             : /* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
    1610             :    <limits.h> and (if available) <stdint.h> are included
    1611             :    so that the code can choose integer types of a good width.  */
    1612             : 
    1613             : #ifndef __PTRDIFF_MAX__
    1614             : # include <limits.h> /* INFRINGES ON USER NAME SPACE */
    1615             : # if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
    1616             : #  include <stdint.h> /* INFRINGES ON USER NAME SPACE */
    1617             : #  define YY_STDINT_H
    1618             : # endif
    1619             : #endif
    1620             : 
    1621             : /* Narrow types that promote to a signed type and that can represent a
    1622             :    signed or unsigned integer of at least N bits.  In tables they can
    1623             :    save space and decrease cache pressure.  Promoting to a signed type
    1624             :    helps avoid bugs in integer arithmetic.  */
    1625             : 
    1626             : #ifdef __INT_LEAST8_MAX__
    1627             : typedef __INT_LEAST8_TYPE__ yytype_int8;
    1628             : #elif defined YY_STDINT_H
    1629             : typedef int_least8_t yytype_int8;
    1630             : #else
    1631             : typedef signed char yytype_int8;
    1632             : #endif
    1633             : 
    1634             : #ifdef __INT_LEAST16_MAX__
    1635             : typedef __INT_LEAST16_TYPE__ yytype_int16;
    1636             : #elif defined YY_STDINT_H
    1637             : typedef int_least16_t yytype_int16;
    1638             : #else
    1639             : typedef short yytype_int16;
    1640             : #endif
    1641             : 
    1642             : /* Work around bug in HP-UX 11.23, which defines these macros
    1643             :    incorrectly for preprocessor constants.  This workaround can likely
    1644             :    be removed in 2023, as HPE has promised support for HP-UX 11.23
    1645             :    (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of
    1646             :    <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>.  */
    1647             : #ifdef __hpux
    1648             : # undef UINT_LEAST8_MAX
    1649             : # undef UINT_LEAST16_MAX
    1650             : # define UINT_LEAST8_MAX 255
    1651             : # define UINT_LEAST16_MAX 65535
    1652             : #endif
    1653             : 
    1654             : #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
    1655             : typedef __UINT_LEAST8_TYPE__ yytype_uint8;
    1656             : #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
    1657             :        && UINT_LEAST8_MAX <= INT_MAX)
    1658             : typedef uint_least8_t yytype_uint8;
    1659             : #elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
    1660             : typedef unsigned char yytype_uint8;
    1661             : #else
    1662             : typedef short yytype_uint8;
    1663             : #endif
    1664             : 
    1665             : #if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
    1666             : typedef __UINT_LEAST16_TYPE__ yytype_uint16;
    1667             : #elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
    1668             :        && UINT_LEAST16_MAX <= INT_MAX)
    1669             : typedef uint_least16_t yytype_uint16;
    1670             : #elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
    1671             : typedef unsigned short yytype_uint16;
    1672             : #else
    1673             : typedef int yytype_uint16;
    1674             : #endif
    1675             : 
    1676             : #ifndef YYPTRDIFF_T
    1677             : # if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
    1678             : #  define YYPTRDIFF_T __PTRDIFF_TYPE__
    1679             : #  define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
    1680             : # elif defined PTRDIFF_MAX
    1681             : #  ifndef ptrdiff_t
    1682             : #   include <stddef.h> /* INFRINGES ON USER NAME SPACE */
    1683             : #  endif
    1684             : #  define YYPTRDIFF_T ptrdiff_t
    1685             : #  define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
    1686             : # else
    1687             : #  define YYPTRDIFF_T long
    1688             : #  define YYPTRDIFF_MAXIMUM LONG_MAX
    1689             : # endif
    1690             : #endif
    1691             : 
    1692             : #ifndef YYSIZE_T
    1693             : # ifdef __SIZE_TYPE__
    1694             : #  define YYSIZE_T __SIZE_TYPE__
    1695             : # elif defined size_t
    1696             : #  define YYSIZE_T size_t
    1697             : # elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
    1698             : #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
    1699             : #  define YYSIZE_T size_t
    1700             : # else
    1701             : #  define YYSIZE_T unsigned
    1702             : # endif
    1703             : #endif
    1704             : 
    1705             : #define YYSIZE_MAXIMUM                                  \
    1706             :   YY_CAST (YYPTRDIFF_T,                                 \
    1707             :            (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1)  \
    1708             :             ? YYPTRDIFF_MAXIMUM                         \
    1709             :             : YY_CAST (YYSIZE_T, -1)))
    1710             : 
    1711             : #define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
    1712             : 
    1713             : 
    1714             : /* Stored state numbers (used for stacks). */
    1715             : typedef yytype_int16 yy_state_t;
    1716             : 
    1717             : /* State numbers in computations.  */
    1718             : typedef int yy_state_fast_t;
    1719             : 
    1720             : #ifndef YY_
    1721             : # if defined YYENABLE_NLS && YYENABLE_NLS
    1722             : #  if ENABLE_NLS
    1723             : #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
    1724             : #   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
    1725             : #  endif
    1726             : # endif
    1727             : # ifndef YY_
    1728             : #  define YY_(Msgid) Msgid
    1729             : # endif
    1730             : #endif
    1731             : 
    1732             : 
    1733             : #ifndef YY_ATTRIBUTE_PURE
    1734             : # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
    1735             : #  define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
    1736             : # else
    1737             : #  define YY_ATTRIBUTE_PURE
    1738             : # endif
    1739             : #endif
    1740             : 
    1741             : #ifndef YY_ATTRIBUTE_UNUSED
    1742             : # if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
    1743             : #  define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
    1744             : # else
    1745             : #  define YY_ATTRIBUTE_UNUSED
    1746             : # endif
    1747             : #endif
    1748             : 
    1749             : /* Suppress unused-variable warnings by "using" E.  */
    1750             : #if ! defined lint || defined __GNUC__
    1751             : # define YY_USE(E) ((void) (E))
    1752             : #else
    1753             : # define YY_USE(E) /* empty */
    1754             : #endif
    1755             : 
    1756             : #if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
    1757             : /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
    1758             : # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN                            \
    1759             :     _Pragma ("GCC diagnostic push")                                     \
    1760             :     _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")              \
    1761             :     _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
    1762             : # define YY_IGNORE_MAYBE_UNINITIALIZED_END      \
    1763             :     _Pragma ("GCC diagnostic pop")
    1764             : #else
    1765             : # define YY_INITIAL_VALUE(Value) Value
    1766             : #endif
    1767             : #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
    1768             : # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
    1769             : # define YY_IGNORE_MAYBE_UNINITIALIZED_END
    1770             : #endif
    1771             : #ifndef YY_INITIAL_VALUE
    1772             : # define YY_INITIAL_VALUE(Value) /* Nothing. */
    1773             : #endif
    1774             : 
    1775             : #if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
    1776             : # define YY_IGNORE_USELESS_CAST_BEGIN                          \
    1777             :     _Pragma ("GCC diagnostic push")                            \
    1778             :     _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
    1779             : # define YY_IGNORE_USELESS_CAST_END            \
    1780             :     _Pragma ("GCC diagnostic pop")
    1781             : #endif
    1782             : #ifndef YY_IGNORE_USELESS_CAST_BEGIN
    1783             : # define YY_IGNORE_USELESS_CAST_BEGIN
    1784             : # define YY_IGNORE_USELESS_CAST_END
    1785             : #endif
    1786             : 
    1787             : 
    1788             : #define YY_ASSERT(E) ((void) (0 && (E)))
    1789             : 
    1790             : #if !defined yyoverflow
    1791             : 
    1792             : /* The parser invokes alloca or malloc; define the necessary symbols.  */
    1793             : 
    1794             : # ifdef YYSTACK_USE_ALLOCA
    1795             : #  if YYSTACK_USE_ALLOCA
    1796             : #   ifdef __GNUC__
    1797             : #    define YYSTACK_ALLOC __builtin_alloca
    1798             : #   elif defined __BUILTIN_VA_ARG_INCR
    1799             : #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
    1800             : #   elif defined _AIX
    1801             : #    define YYSTACK_ALLOC __alloca
    1802             : #   elif defined _MSC_VER
    1803             : #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
    1804             : #    define alloca _alloca
    1805             : #   else
    1806             : #    define YYSTACK_ALLOC alloca
    1807             : #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
    1808             : #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
    1809             :       /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
    1810             : #     ifndef EXIT_SUCCESS
    1811             : #      define EXIT_SUCCESS 0
    1812             : #     endif
    1813             : #    endif
    1814             : #   endif
    1815             : #  endif
    1816             : # endif
    1817             : 
    1818             : # ifdef YYSTACK_ALLOC
    1819             :    /* Pacify GCC's 'empty if-body' warning.  */
    1820             : #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
    1821             : #  ifndef YYSTACK_ALLOC_MAXIMUM
    1822             :     /* The OS might guarantee only one guard page at the bottom of the stack,
    1823             :        and a page size can be as small as 4096 bytes.  So we cannot safely
    1824             :        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
    1825             :        to allow for a few compiler-allocated temporary stack slots.  */
    1826             : #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
    1827             : #  endif
    1828             : # else
    1829             : #  define YYSTACK_ALLOC YYMALLOC
    1830             : #  define YYSTACK_FREE YYFREE
    1831             : #  ifndef YYSTACK_ALLOC_MAXIMUM
    1832             : #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
    1833             : #  endif
    1834             : #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
    1835             :        && ! ((defined YYMALLOC || defined malloc) \
    1836             :              && (defined YYFREE || defined free)))
    1837             : #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
    1838             : #   ifndef EXIT_SUCCESS
    1839             : #    define EXIT_SUCCESS 0
    1840             : #   endif
    1841             : #  endif
    1842             : #  ifndef YYMALLOC
    1843             : #   define YYMALLOC malloc
    1844             : #   if ! defined malloc && ! defined EXIT_SUCCESS
    1845             : void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
    1846             : #   endif
    1847             : #  endif
    1848             : #  ifndef YYFREE
    1849             : #   define YYFREE free
    1850             : #   if ! defined free && ! defined EXIT_SUCCESS
    1851             : void free (void *); /* INFRINGES ON USER NAME SPACE */
    1852             : #   endif
    1853             : #  endif
    1854             : # endif
    1855             : #endif /* !defined yyoverflow */
    1856             : 
    1857             : #if (! defined yyoverflow \
    1858             :      && (! defined __cplusplus \
    1859             :          || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
    1860             :              && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
    1861             : 
    1862             : /* A type that is properly aligned for any stack member.  */
    1863             : union yyalloc
    1864             : {
    1865             :   yy_state_t yyss_alloc;
    1866             :   YYSTYPE yyvs_alloc;
    1867             :   YYLTYPE yyls_alloc;
    1868             : };
    1869             : 
    1870             : /* The size of the maximum gap between one aligned stack and the next.  */
    1871             : # define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
    1872             : 
    1873             : /* The size of an array large to enough to hold all stacks, each with
    1874             :    N elements.  */
    1875             : # define YYSTACK_BYTES(N) \
    1876             :      ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE) \
    1877             :              + YYSIZEOF (YYLTYPE)) \
    1878             :       + 2 * YYSTACK_GAP_MAXIMUM)
    1879             : 
    1880             : # define YYCOPY_NEEDED 1
    1881             : 
    1882             : /* Relocate STACK from its old location to the new one.  The
    1883             :    local variables YYSIZE and YYSTACKSIZE give the old and new number of
    1884             :    elements in the stack, and YYPTR gives the new location of the
    1885             :    stack.  Advance YYPTR to a properly aligned location for the next
    1886             :    stack.  */
    1887             : # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
    1888             :     do                                                                  \
    1889             :       {                                                                 \
    1890             :         YYPTRDIFF_T yynewbytes;                                         \
    1891             :         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
    1892             :         Stack = &yyptr->Stack_alloc;                                    \
    1893             :         yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
    1894             :         yyptr += yynewbytes / YYSIZEOF (*yyptr);                        \
    1895             :       }                                                                 \
    1896             :     while (0)
    1897             : 
    1898             : #endif
    1899             : 
    1900             : #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
    1901             : /* Copy COUNT objects from SRC to DST.  The source and destination do
    1902             :    not overlap.  */
    1903             : # ifndef YYCOPY
    1904             : #  if defined __GNUC__ && 1 < __GNUC__
    1905             : #   define YYCOPY(Dst, Src, Count) \
    1906             :       __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
    1907             : #  else
    1908             : #   define YYCOPY(Dst, Src, Count)              \
    1909             :       do                                        \
    1910             :         {                                       \
    1911             :           YYPTRDIFF_T yyi;                      \
    1912             :           for (yyi = 0; yyi < (Count); yyi++)   \
    1913             :             (Dst)[yyi] = (Src)[yyi];            \
    1914             :         }                                       \
    1915             :       while (0)
    1916             : #  endif
    1917             : # endif
    1918             : #endif /* !YYCOPY_NEEDED */
    1919             : 
    1920             : /* YYFINAL -- State number of the termination state.  */
    1921             : #define YYFINAL  931
    1922             : /* YYLAST -- Last index in YYTABLE.  */
    1923             : #define YYLAST   124553
    1924             : 
    1925             : /* YYNTOKENS -- Number of terminals.  */
    1926             : #define YYNTOKENS  542
    1927             : /* YYNNTS -- Number of nonterminals.  */
    1928             : #define YYNNTS  733
    1929             : /* YYNRULES -- Number of rules.  */
    1930             : #define YYNRULES  3424
    1931             : /* YYNSTATES -- Number of states.  */
    1932             : #define YYNSTATES  6499
    1933             : 
    1934             : /* YYMAXUTOK -- Last valid token kind.  */
    1935             : #define YYMAXUTOK   779
    1936             : 
    1937             : 
    1938             : /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
    1939             :    as returned by yylex, with out-of-bounds checking.  */
    1940             : #define YYTRANSLATE(YYX)                                \
    1941             :   (0 <= (YYX) && (YYX) <= YYMAXUTOK                     \
    1942             :    ? YY_CAST (yysymbol_kind_t, yytranslate[YYX])        \
    1943             :    : YYSYMBOL_YYUNDEF)
    1944             : 
    1945             : /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
    1946             :    as returned by yylex.  */
    1947             : static const yytype_int16 yytranslate[] =
    1948             : {
    1949             :        0,     2,     2,     2,     2,     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,   531,     2,     2,
    1953             :      536,   537,   529,   527,   540,   528,   538,   530,     2,     2,
    1954             :        2,     2,     2,     2,     2,     2,     2,     2,   541,   539,
    1955             :      524,   526,   525,     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,   534,     2,   535,   532,     2,     2,     2,     2,     2,
    1959             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1960             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1961             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1962             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1963             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1964             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1965             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1966             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1967             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1968             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1969             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1970             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1971             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1972             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1973             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1974             :        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
    1975             :        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    1976             :       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    1977             :       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
    1978             :       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
    1979             :       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    1980             :       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
    1981             :       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
    1982             :       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
    1983             :       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
    1984             :       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
    1985             :      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
    1986             :      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
    1987             :      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
    1988             :      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
    1989             :      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
    1990             :      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
    1991             :      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
    1992             :      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
    1993             :      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
    1994             :      195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
    1995             :      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
    1996             :      215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
    1997             :      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
    1998             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
    1999             :      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
    2000             :      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
    2001             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
    2002             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
    2003             :      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
    2004             :      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
    2005             :      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
    2006             :      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
    2007             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
    2008             :      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
    2009             :      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
    2010             :      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
    2011             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
    2012             :      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
    2013             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
    2014             :      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
    2015             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
    2016             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
    2017             :      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
    2018             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
    2019             :      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
    2020             :      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
    2021             :      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
    2022             :      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
    2023             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
    2024             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
    2025             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
    2026             :      515,   516,   517,   518,   519,   520,   521,   522,   523,   533
    2027             : };
    2028             : 
    2029             : #if YYDEBUG
    2030             :   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
    2031             : static const yytype_int16 yyrline[] =
    2032             : {
    2033             :        0,   925,   925,   930,   934,   939,   947,   955,   975,   987,
    2034             :     1001,  1002,  1006,  1007,  1008,  1009,  1010,  1011,  1012,  1013,
    2035             :     1014,  1015,  1016,  1017,  1018,  1019,  1020,  1021,  1022,  1023,
    2036             :     1024,  1025,  1026,  1027,  1028,  1029,  1030,  1031,  1032,  1033,
    2037             :     1034,  1035,  1036,  1037,  1038,  1039,  1040,  1041,  1042,  1043,
    2038             :     1044,  1045,  1046,  1047,  1048,  1049,  1050,  1051,  1052,  1053,
    2039             :     1054,  1055,  1056,  1057,  1058,  1059,  1060,  1061,  1062,  1063,
    2040             :     1064,  1065,  1066,  1067,  1068,  1069,  1070,  1071,  1072,  1073,
    2041             :     1074,  1075,  1076,  1077,  1078,  1079,  1080,  1081,  1082,  1083,
    2042             :     1084,  1085,  1086,  1087,  1088,  1089,  1090,  1091,  1092,  1093,
    2043             :     1094,  1095,  1096,  1097,  1098,  1099,  1100,  1101,  1102,  1103,
    2044             :     1104,  1105,  1106,  1107,  1108,  1109,  1110,  1111,  1112,  1113,
    2045             :     1114,  1115,  1116,  1117,  1118,  1119,  1120,  1121,  1122,  1123,
    2046             :     1124,  1125,  1126,  1127,  1128,  1129,  1131,  1138,  1139,  1143,
    2047             :     1144,  1148,  1149,  1153,  1154,  1155,  1164,  1180,  1192,  1193,
    2048             :     1194,  1203,  1204,  1208,  1209,  1213,  1218,  1222,  1232,  1240,
    2049             :     1244,  1248,  1253,  1257,  1305,  1307,  1311,  1315,  1319,  1323,
    2050             :     1337,  1356,  1365,  1377,  1378,  1382,  1391,  1400,  1409,  1431,
    2051             :     1439,  1447,  1455,  1463,  1471,  1489,  1508,  1520,  1521,  1532,
    2052             :     1543,  1554,  1570,  1589,  1596,  1604,  1605,  1606,  1607,  1608,
    2053             :     1609,  1623,  1630,  1637,  1647,  1656,  1665,  1669,  1678,  1687,
    2054             :     1695,  1706,  1707,  1716,  1728,  1736,  1745,  1757,  1766,  1775,
    2055             :     1783,  1793,  1804,  1805,  1809,  1810,  1813,  1815,  1819,  1820,
    2056             :     1821,  1822,  1826,  1827,  1828,  1834,  1846,  1850,  1854,  1871,
    2057             :     1879,  1880,  1881,  1885,  1886,  1887,  1891,  1892,  1896,  1900,
    2058             :     1901,  1909,  1917,  1928,  1936,  1947,  1948,  1953,  1954,  1959,
    2059             :     1966,  1973,  1980,  1987,  1998,  2009,  2010,  2014,  2015,  2023,
    2060             :     2039,  2046,  2053,  2060,  2067,  2087,  2097,  2107,  2117,  2127,
    2061             :     2139,  2151,  2161,  2171,  2181,  2193,  2205,  2215,  2225,  2235,
    2062             :     2245,  2255,  2265,  2277,  2289,  2299,  2312,  2313,  2317,  2318,
    2063             :     2322,  2335,  2350,  2364,  2378,  2392,  2409,  2427,  2437,  2447,
    2064             :     2457,  2467,  2477,  2486,  2495,  2505,  2514,  2524,  2534,  2550,
    2065             :     2560,  2570,  2580,  2590,  2607,  2617,  2627,  2637,  2648,  2662,
    2066             :     2678,  2688,  2697,  2713,  2722,  2733,  2744,  2752,  2761,  2770,
    2067             :     2778,  2786,  2795,  2804,  2813,  2821,  2829,  2838,  2846,  2854,
    2068             :     2863,  2872,  2881,  2890,  2899,  2908,  2919,  2927,  2936,  2945,
    2069             :     2954,  2963,  2972,  2981,  2989,  2997,  3005,  3012,  3023,  3024,
    2070             :     3028,  3037,  3041,  3042,  3046,  3054,  3062,  3070,  3081,  3084,
    2071             :     3085,  3089,  3090,  3095,  3099,  3103,  3108,  3115,  3117,  3122,
    2072             :     3126,  3130,  3141,  3148,  3149,  3153,  3154,  3159,  3212,  3225,
    2073             :     3239,  3251,  3258,  3262,  3276,  3289,  3290,  3295,  3305,  3316,
    2074             :     3327,  3354,  3361,  3395,  3431,  3454,  3455,  3459,  3460,  3469,
    2075             :     3470,  3471,  3474,  3475,  3480,  3481,  3485,  3489,  3493,  3497,
    2076             :     3501,  3505,  3509,  3513,  3517,  3521,  3525,  3529,  3533,  3537,
    2077             :     3541,  3550,  3554,  3558,  3562,  3566,  3567,  3572,  3576,  3583,
    2078             :     3590,  3591,  3592,  3593,  3594,  3595,  3599,  3603,  3611,  3622,
    2079             :     3642,  3662,  3683,  3704,  3725,  3759,  3760,  3761,  3762,  3763,
    2080             :     3770,  3777,  3778,  3782,  3783,  3787,  3788,  3792,  3796,  3803,
    2081             :     3807,  3814,  3815,  3816,  3820,  3821,  3824,  3848,  3867,  3889,
    2082             :     3890,  3894,  3895,  3899,  3900,  3904,  3905,  3909,  3910,  3914,
    2083             :     3922,  3923,  3924,  3956,  3967,  3975,  3988,  4000,  4013,  4023,
    2084             :     4033,  4057,  4077,  4078,  4079,  4083,  4084,  4103,  4111,  4119,
    2085             :     4127,  4139,  4151,  4152,  4153,  4157,  4158,  4159,  4160,  4161,
    2086             :     4162,  4163,  4164,  4165,  4166,  4175,  4183,  4187,  4201,  4215,
    2087             :     4234,  4250,  4268,  4284,  4304,  4349,  4357,  4361,  4375,  4391,
    2088             :     4392,  4396,  4397,  4401,  4402,  4406,  4407,  4411,  4412,  4416,
    2089             :     4417,  4420,  4426,  4427,  4430,  4434,  4442,  4447,  4453,  4454,
    2090             :     4458,  4463,  4470,  4471,  4475,  4485,  4495,  4503,  4512,  4525,
    2091             :     4537,  4544,  4552,  4560,  4568,  4576,  4586,  4587,  4591,  4592,
    2092             :     4595,  4607,  4608,  4611,  4622,  4633,  4647,  4648,  4653,  4654,
    2093             :     4655,  4658,  4659,  4660,  4661,  4664,  4665,  4668,  4669,  4672,
    2094             :     4692,  4705,  4727,  4728,  4731,  4737,  4743,  4760,  4769,  4791,
    2095             :     4805,  4822,  4838,  4839,  4840,  4852,  4866,  4883,  4897,  4898,
    2096             :     4910,  4931,  4942,  4956,  4965,  4977,  4978,  4981,  4982,  4985,
    2097             :     4986,  4989,  4993,  4997,  5001,  5005,  5009,  5013,  5017,  5021,
    2098             :     5025,  5029,  5034,  5038,  5042,  5048,  5049,  5053,  5054,  5055,
    2099             :     5062,  5065,  5066,  5078,  5094,  5110,  5111,  5119,  5120,  5124,
    2100             :     5125,  5129,  5130,  5134,  5135,  5139,  5140,  5150,  5162,  5163,
    2101             :     5176,  5184,  5202,  5211,  5223,  5226,  5230,  5234,  5238,  5245,
    2102             :     5257,  5268,  5271,  5275,  5288,  5298,  5308,  5318,  5328,  5338,
    2103             :     5348,  5358,  5368,  5378,  5388,  5398,  5408,  5427,  5439,  5440,
    2104             :     5441,  5442,  5446,  5447,  5451,  5452,  5462,  5471,  5484,  5485,
    2105             :     5489,  5493,  5501,  5505,  5509,  5516,  5520,  5525,  5530,  5537,
    2106             :     5544,  5549,  5559,  5572,  5588,  5589,  5594,  5595,  5599,  5600,
    2107             :     5610,  5620,  5629,  5647,  5668,  5689,  5711,  5745,  5761,  5762,
    2108             :     5766,  5775,  5790,  5800,  5813,  5814,  5826,  5835,  5853,  5878,
    2109             :     5896,  5911,  5912,  5916,  5917,  5921,  5922,  5926,  5927,  5931,
    2110             :     5945,  5949,  5950,  5954,  5955,  5956,  5957,  5958,  5968,  5980,
    2111             :     5981,  5992,  6015,  6047,  6048,  6049,  6053,  6055,  6077,  6079,
    2112             :     6081,  6083,  6085,  6090,  6091,  6095,  6096,  6100,  6112,  6113,
    2113             :     6117,  6126,  6130,  6134,  6139,  6149,  6150,  6154,  6155,  6159,
    2114             :     6160,  6164,  6165,  6169,  6170,  6171,  6175,  6179,  6180,  6181,
    2115             :     6185,  6186,  6191,  6192,  6219,  6220,  6221,  6222,  6223,  6224,
    2116             :     6237,  6248,  6263,  6265,  6270,  6275,  6277,  6282,  6293,  6294,
    2117             :     6295,  6296,  6307,  6326,  6338,  6351,  6362,  6373,  6385,  6394,
    2118             :     6402,  6410,  6420,  6430,  6440,  6450,  6460,  6471,  6481,  6494,
    2119             :     6497,  6498,  6501,  6505,  6512,  6513,  6514,  6515,  6516,  6517,
    2120             :     6520,  6523,  6524,  6532,  6539,  6540,  6543,  6545,  6556,  6568,
    2121             :     6580,  6592,  6604,  6633,  6634,  6650,  6666,  6667,  6671,  6684,
    2122             :     6695,  6704,  6714,  6724,  6725,  6728,  6729,  6732,  6733,  6734,
    2123             :     6737,  6751,  6756,  6767,  6777,  6790,  6791,  6795,  6804,  6817,
    2124             :     6828,  6842,  6853,  6876,  6887,  6906,  6917,  6928,  6939,  6950,
    2125             :     6961,  6972,  6983,  6994,  7005,  7016,  7027,  7042,  7043,  7044,
    2126             :     7045,  7046,  7047,  7048,  7049,  7050,  7051,  7052,  7053,  7054,
    2127             :     7064,  7065,  7066,  7067,  7068,  7072,  7073,  7074,  7075,  7076,
    2128             :     7077,  7078,  7079,  7084,  7085,  7086,  7090,  7091,  7094,  7095,
    2129             :     7098,  7100,  7105,  7106,  7117,  7129,  7130,  7131,  7141,  7150,
    2130             :     7159,  7168,  7177,  7186,  7195,  7204,  7213,  7222,  7236,  7245,
    2131             :     7254,  7263,  7272,  7281,  7290,  7299,  7311,  7312,  7326,  7337,
    2132             :     7348,  7359,  7370,  7381,  7392,  7403,  7414,  7425,  7438,  7439,
    2133             :     7442,  7443,  7453,  7460,  7469,  7478,  7487,  7496,  7505,  7514,
    2134             :     7523,  7532,  7541,  7550,  7559,  7568,  7577,  7586,  7595,  7604,
    2135             :     7615,  7616,  7619,  7620,  7630,  7648,  7664,  7692,  7694,  7696,
    2136             :     7698,  7706,  7716,  7717,  7720,  7728,  7736,  7744,  7751,  7762,
    2137             :     7766,  7773,  7777,  7788,  7797,  7806,  7815,  7824,  7833,  7842,
    2138             :     7851,  7860,  7869,  7878,  7887,  7896,  7904,  7913,  7922,  7931,
    2139             :     7940,  7949,  7958,  7967,  7980,  7981,  7985,  7986,  7991,  7992,
    2140             :     8002,  8013,  8027,  8039,  8057,  8058,  8062,  8069,  8070,  8071,
    2141             :     8074,  8075,  8085,  8096,  8097,  8101,  8105,  8109,  8120,  8134,
    2142             :     8149,  8167,  8168,  8169,  8170,  8171,  8172,  8184,  8216,  8251,
    2143             :     8252,  8256,  8257,  8260,  8261,  8266,  8278,  8297,  8302,  8307,
    2144             :     8314,  8315,  8318,  8319,  8322,  8323,  8327,  8328,  8329,  8332,
    2145             :     8333,  8334,  8350,  8364,  8379,  8393,  8410,  8411,  8414,  8415,
    2146             :     8419,  8420,  8424,  8425,  8430,  8444,  8452,  8460,  8476,  8477,
    2147             :     8481,  8482,  8497,  8507,  8517,  8527,  8537,  8550,  8551,  8552,
    2148             :     8553,  8554,  8560,  8564,  8579,  8580,  8586,  8596,  8600,  8605,
    2149             :     8613,  8655,  8659,  8663,  8667,  8675,  8676,  8680,  8692,  8693,
    2150             :     8698,  8699,  8704,  8705,  8712,  8716,  8720,  8724,  8728,  8732,
    2151             :     8736,  8740,  8744,  8748,  8752,  8756,  8760,  8764,  8768,  8772,
    2152             :     8777,  8784,  8788,  8792,  8796,  8800,  8806,  8807,  8813,  8823,
    2153             :     8827,  8838,  8844,  8853,  8859,  8860,  8864,  8865,  8869,  8870,
    2154             :     8873,  8886,  8890,  8905,  8914,  8923,  8936,  8937,  8942,  8943,
    2155             :     8960,  8971,  8982,  8993,  9004,  9015,  9029,  9040,  9054,  9065,
    2156             :     9079,  9087,  9089,  9091,  9096,  9098,  9103,  9104,  9109,  9128,
    2157             :     9138,  9139,  9143,  9147,  9159,  9171,  9183,  9197,  9198,  9199,
    2158             :     9203,  9216,  9217,  9227,  9240,  9244,  9248,  9252,  9259,  9281,
    2159             :     9294,  9307,  9322,  9323,  9326,  9327,  9330,  9331,  9341,  9351,
    2160             :     9369,  9379,  9389,  9399,  9409,  9419,  9429,  9439,  9449,  9459,
    2161             :     9469,  9479,  9489,  9500,  9511,  9521,  9531,  9541,  9551,  9561,
    2162             :     9571,  9582,  9593,  9604,  9615,  9626,  9637,  9648,  9659,  9670,
    2163             :     9681,  9692,  9703,  9715,  9727,  9739,  9751,  9763,  9775,  9786,
    2164             :     9797,  9809,  9821,  9832,  9843,  9852,  9862,  9872,  9882,  9892,
    2165             :     9902,  9912,  9922,  9932,  9942,  9957,  9958,  9961,  9962,  9972,
    2166             :     9982,  9992, 10002, 10013, 10023, 10035, 10036, 10046, 10056, 10066,
    2167             :    10076, 10086, 10096, 10106, 10116, 10126, 10136, 10146, 10156, 10166,
    2168             :    10176, 10186, 10196, 10206, 10216, 10226, 10236, 10246, 10256, 10266,
    2169             :    10276, 10286, 10296, 10306, 10325, 10335, 10336, 10339, 10341, 10343,
    2170             :    10349, 10350, 10351, 10352, 10353, 10365, 10381, 10390, 10399, 10408,
    2171             :    10417, 10426, 10435, 10444, 10453, 10462, 10471, 10480, 10489, 10498,
    2172             :    10507, 10516, 10525, 10534, 10543, 10552, 10561, 10570, 10579, 10588,
    2173             :    10616, 10624, 10633, 10659, 10668, 10675, 10681, 10708, 10719, 10728,
    2174             :    10736, 10738, 10760, 10768, 10778, 10788, 10807, 10826, 10836, 10846,
    2175             :    10856, 10867, 10878, 10889, 10900, 10911, 10929, 10938, 10955, 10973,
    2176             :    10974, 10975, 10980, 10986, 10995, 10996, 10997, 10998, 10999, 11003,
    2177             :    11004, 11007, 11008, 11009, 11010, 11014, 11015, 11016, 11028, 11039,
    2178             :    11040, 11043, 11053, 11060, 11080, 11090, 11099, 11109, 11119, 11128,
    2179             :    11137, 11146, 11155, 11164, 11173, 11182, 11194, 11203, 11215, 11216,
    2180             :    11217, 11221, 11224, 11227, 11230, 11233, 11240, 11242, 11244, 11249,
    2181             :    11251, 11255, 11256, 11257, 11269, 11283, 11297, 11316, 11338, 11339,
    2182             :    11340, 11341, 11351, 11368, 11379, 11380, 11384, 11385, 11389, 11393,
    2183             :    11397, 11415, 11416, 11417, 11418, 11419, 11420, 11421, 11428, 11429,
    2184             :    11440, 11448, 11456, 11465, 11475, 11493, 11502, 11511, 11520, 11532,
    2185             :    11536, 11547, 11559, 11577, 11584, 11601, 11615, 11625, 11634, 11643,
    2186             :    11653, 11665, 11677, 11688, 11689, 11700, 11711, 11723, 11735, 11747,
    2187             :    11759, 11769, 11782, 11783, 11797, 11821, 11830, 11840, 11852, 11864,
    2188             :    11878, 11879, 11891, 11912, 11923, 11935, 11947, 11951, 11958, 11959,
    2189             :    11963, 11970, 11971, 11972, 11976, 11977, 11978, 11982, 11983, 11987,
    2190             :    11988, 11991, 11992, 11995, 11996, 12000, 12001, 12005, 12012, 12014,
    2191             :    12019, 12020, 12033, 12041, 12052, 12060, 12071, 12072, 12073, 12074,
    2192             :    12075, 12076, 12077, 12078, 12079, 12080, 12090, 12101, 12102, 12106,
    2193             :    12107, 12108, 12109, 12110, 12120, 12128, 12146, 12166, 12167, 12177,
    2194             :    12186, 12195, 12204, 12223, 12241, 12245, 12253, 12259, 12266, 12272,
    2195             :    12279, 12288, 12289, 12293, 12295, 12300, 12311, 12321, 12331, 12337,
    2196             :    12346, 12355, 12361, 12362, 12373, 12388, 12389, 12400, 12411, 12412,
    2197             :    12415, 12416, 12417, 12418, 12419, 12420, 12421, 12422, 12425, 12426,
    2198             :    12430, 12431, 12432, 12443, 12462, 12463, 12467, 12472, 12496, 12507,
    2199             :    12508, 12520, 12540, 12541, 12551, 12558, 12565, 12572, 12582, 12595,
    2200             :    12596, 12600, 12601, 12605, 12606, 12610, 12623, 12636, 12645, 12654,
    2201             :    12663, 12672, 12684, 12696, 12708, 12711, 12712, 12713, 12714, 12715,
    2202             :    12716, 12719, 12720, 12721, 12769, 12770, 12774, 12775, 12790, 12791,
    2203             :    12798, 12806, 12814, 12822, 12830, 12838, 12849, 12850, 12882, 12898,
    2204             :    12915, 12916, 12935, 12939, 12943, 12958, 12965, 12972, 12982, 12983,
    2205             :    12986, 13002, 13003, 13004, 13008, 13018, 13029, 13035, 13047, 13060,
    2206             :    13066, 13067, 13071, 13083, 13091, 13096, 13101, 13106, 13111, 13119,
    2207             :    13127, 13132, 13137, 13144, 13145, 13149, 13150, 13151, 13158, 13159,
    2208             :    13163, 13164, 13168, 13169, 13173, 13174, 13178, 13182, 13183, 13186,
    2209             :    13195, 13208, 13213, 13218, 13222, 13234, 13235, 13239, 13248, 13264,
    2210             :    13273, 13282, 13291, 13303, 13306, 13311, 13312, 13320, 13340, 13341,
    2211             :    13343, 13348, 13349, 13353, 13354, 13357, 13358, 13383, 13392, 13402,
    2212             :    13403, 13407, 13408, 13409, 13410, 13411, 13415, 13428, 13435, 13442,
    2213             :    13449, 13450, 13454, 13455, 13459, 13460, 13464, 13465, 13469, 13481,
    2214             :    13482, 13483, 13484, 13488, 13489, 13499, 13506, 13525, 13526, 13530,
    2215             :    13531, 13537, 13542, 13551, 13559, 13568, 13575, 13583, 13592, 13601,
    2216             :    13605, 13610, 13617, 13646, 13650, 13664, 13685, 13707, 13720, 13737,
    2217             :    13743, 13748, 13754, 13761, 13762, 13772, 13778, 13786, 13790, 13794,
    2218             :    13801, 13809, 13814, 13815, 13816, 13817, 13821, 13822, 13837, 13841,
    2219             :    13849, 13856, 13863, 13870, 13877, 13888, 13889, 13902, 13906, 13914,
    2220             :    13928, 13942, 13943, 13958, 13969, 13982, 13987, 13988, 13991, 13992,
    2221             :    13995, 13996, 14001, 14002, 14007, 14008, 14017, 14022, 14023, 14027,
    2222             :    14031, 14037, 14062, 14073, 14087, 14088, 14092, 14106, 14163, 14177,
    2223             :    14179, 14184, 14186, 14188, 14190, 14192, 14197, 14199, 14204, 14212,
    2224             :    14223, 14251, 14252, 14256, 14258, 14263, 14272, 14292, 14312, 14330,
    2225             :    14342, 14357, 14358, 14362, 14365, 14378, 14383, 14390, 14395, 14401,
    2226             :    14406, 14415, 14417, 14420, 14424, 14425, 14426, 14427, 14428, 14429,
    2227             :    14434, 14440, 14455, 14456, 14457, 14458, 14459, 14470, 14476, 14484,
    2228             :    14485, 14491, 14496, 14501, 14506, 14511, 14516, 14521, 14526, 14532,
    2229             :    14538, 14544, 14551, 14573, 14582, 14586, 14594, 14598, 14606, 14618,
    2230             :    14639, 14643, 14649, 14653, 14666, 14674, 14684, 14686, 14688, 14690,
    2231             :    14692, 14694, 14699, 14700, 14707, 14716, 14724, 14733, 14744, 14752,
    2232             :    14753, 14754, 14758, 14760, 14762, 14764, 14766, 14768, 14770, 14775,
    2233             :    14780, 14786, 14794, 14799, 14806, 14813, 14817, 14821, 14829, 14864,
    2234             :    14865, 14867, 14876, 14883, 14899, 14901, 14903, 14905, 14907, 14909,
    2235             :    14911, 14913, 14915, 14917, 14919, 14921, 14923, 14925, 14928, 14930,
    2236             :    14933, 14935, 14937, 14939, 14942, 14947, 14956, 14961, 14970, 14975,
    2237             :    14984, 14989, 14999, 15008, 15017, 15026, 15045, 15054, 15063, 15072,
    2238             :    15081, 15098, 15107, 15116, 15125, 15134, 15143, 15152, 15156, 15160,
    2239             :    15168, 15176, 15184, 15192, 15213, 15236, 15248, 15255, 15271, 15276,
    2240             :    15282, 15289, 15296, 15304, 15312, 15329, 15348, 15374, 15376, 15378,
    2241             :    15380, 15382, 15384, 15386, 15388, 15390, 15392, 15394, 15396, 15398,
    2242             :    15400, 15402, 15404, 15406, 15408, 15410, 15414, 15418, 15423, 15439,
    2243             :    15440, 15441, 15458, 15471, 15473, 15475, 15487, 15512, 15524, 15536,
    2244             :    15544, 15555, 15566, 15576, 15582, 15591, 15601, 15611, 15624, 15634,
    2245             :    15665, 15701, 15711, 15722, 15723, 15724, 15731, 15738, 15742, 15746,
    2246             :    15750, 15754, 15758, 15762, 15766, 15770, 15774, 15778, 15782, 15786,
    2247             :    15793, 15797, 15801, 15805, 15807, 15814, 15821, 15828, 15835, 15846,
    2248             :    15860, 15870, 15881, 15897, 15907, 15914, 15921, 15928, 15932, 15940,
    2249             :    15949, 15958, 15962, 15966, 15970, 15974, 15978, 15987, 15991, 16001,
    2250             :    16005, 16009, 16014, 16025, 16031, 16045, 16056, 16070, 16086, 16098,
    2251             :    16108, 16117, 16126, 16134, 16156, 16172, 16196, 16198, 16202, 16204,
    2252             :    16206, 16209, 16212, 16215, 16216, 16219, 16227, 16237, 16238, 16241,
    2253             :    16242, 16243, 16246, 16247, 16248, 16253, 16257, 16261, 16265, 16272,
    2254             :    16273, 16281, 16282, 16286, 16287, 16295, 16296, 16300, 16301, 16306,
    2255             :    16315, 16317, 16332, 16335, 16363, 16364, 16367, 16368, 16376, 16384,
    2256             :    16392, 16401, 16411, 16429, 16475, 16484, 16493, 16502, 16511, 16523,
    2257             :    16524, 16525, 16526, 16527, 16541, 16542, 16543, 16546, 16547, 16550,
    2258             :    16553, 16554, 16555, 16558, 16559, 16562, 16563, 16564, 16565, 16566,
    2259             :    16567, 16568, 16569, 16570, 16571, 16572, 16573, 16576, 16578, 16583,
    2260             :    16585, 16590, 16592, 16594, 16596, 16598, 16600, 16612, 16616, 16623,
    2261             :    16627, 16633, 16637, 16647, 16659, 16660, 16663, 16664, 16667, 16671,
    2262             :    16675, 16681, 16682, 16687, 16697, 16698, 16699, 16700, 16701, 16702,
    2263             :    16703, 16704, 16708, 16709, 16710, 16711, 16716, 16721, 16730, 16751,
    2264             :    16755, 16760, 16771, 16788, 16794, 16795, 16796, 16799, 16807, 16817,
    2265             :    16832, 16833, 16837, 16849, 16850, 16853, 16854, 16857, 16861, 16868,
    2266             :    16872, 16876, 16885, 16897, 16898, 16902, 16903, 16907, 16908, 16911,
    2267             :    16912, 16917, 16918, 16922, 16923, 16927, 16939, 16940, 16941, 16942,
    2268             :    16943, 16944, 16945, 16946, 16947, 16951, 16953, 16958, 16959, 16960,
    2269             :    16961, 16962, 16963, 16964, 16966, 16970, 16972, 16974, 16977, 16981,
    2270             :    16984, 16988, 16997, 17014, 17021, 17026, 17032, 17033, 17034, 17035,
    2271             :    17036, 17040, 17049, 17063, 17064, 17065, 17066, 17067, 17076, 17077,
    2272             :    17078, 17079, 17080, 17084, 17086, 17096, 17099, 17105, 17106, 17107,
    2273             :    17111, 17112, 17113, 17117, 17118, 17122, 17140, 17160, 17161, 17170,
    2274             :    17171, 17175, 17176, 17179, 17187, 17195, 17203, 17226, 17227, 17238,
    2275             :    17242, 17248, 17250, 17255, 17257, 17259, 17269, 17271, 17282, 17286,
    2276             :    17290, 17294, 17298, 17307, 17315, 17347, 17351, 17358, 17366, 17370,
    2277             :    17374, 17380, 17381, 17383, 17384, 17385, 17389, 17430, 17458, 17462,
    2278             :    17466, 17472, 17474, 17488, 17524, 17537, 17538, 17541, 17542, 17559,
    2279             :    17560, 17561, 17566, 17567, 17568, 17573, 17574, 17575, 17576, 17582,
    2280             :    17583, 17584, 17585, 17586, 17592, 17593, 17613, 17614, 17615, 17616,
    2281             :    17617, 17618, 17619, 17620, 17621, 17622, 17623, 17624, 17625, 17626,
    2282             :    17627, 17628, 17629, 17630, 17631, 17632, 17633, 17634, 17635, 17636,
    2283             :    17637, 17638, 17639, 17640, 17641, 17642, 17643, 17644, 17645, 17646,
    2284             :    17647, 17648, 17649, 17650, 17651, 17652, 17653, 17654, 17655, 17656,
    2285             :    17657, 17658, 17659, 17660, 17661, 17662, 17663, 17664, 17665, 17666,
    2286             :    17667, 17668, 17669, 17670, 17671, 17672, 17673, 17674, 17675, 17676,
    2287             :    17677, 17678, 17679, 17680, 17681, 17682, 17683, 17684, 17685, 17686,
    2288             :    17687, 17688, 17689, 17690, 17691, 17692, 17693, 17694, 17695, 17696,
    2289             :    17697, 17698, 17699, 17700, 17701, 17702, 17703, 17704, 17705, 17706,
    2290             :    17707, 17708, 17709, 17710, 17711, 17712, 17713, 17714, 17715, 17716,
    2291             :    17717, 17718, 17719, 17720, 17721, 17722, 17723, 17724, 17725, 17726,
    2292             :    17727, 17728, 17729, 17730, 17731, 17732, 17733, 17734, 17735, 17736,
    2293             :    17737, 17738, 17739, 17740, 17741, 17742, 17743, 17744, 17745, 17746,
    2294             :    17747, 17748, 17749, 17750, 17751, 17752, 17753, 17754, 17755, 17756,
    2295             :    17757, 17758, 17759, 17760, 17761, 17762, 17763, 17764, 17765, 17766,
    2296             :    17767, 17768, 17769, 17770, 17771, 17772, 17773, 17774, 17775, 17776,
    2297             :    17777, 17778, 17779, 17780, 17781, 17782, 17783, 17784, 17785, 17786,
    2298             :    17787, 17788, 17789, 17790, 17791, 17792, 17793, 17794, 17795, 17796,
    2299             :    17797, 17798, 17799, 17800, 17801, 17802, 17803, 17804, 17805, 17806,
    2300             :    17807, 17808, 17809, 17810, 17811, 17812, 17813, 17814, 17815, 17816,
    2301             :    17817, 17818, 17819, 17820, 17821, 17822, 17823, 17824, 17825, 17826,
    2302             :    17827, 17828, 17829, 17830, 17831, 17832, 17833, 17834, 17835, 17836,
    2303             :    17837, 17838, 17839, 17840, 17841, 17842, 17843, 17844, 17845, 17846,
    2304             :    17847, 17848, 17849, 17850, 17851, 17852, 17853, 17854, 17855, 17856,
    2305             :    17857, 17858, 17859, 17860, 17861, 17862, 17863, 17864, 17865, 17866,
    2306             :    17867, 17868, 17869, 17870, 17871, 17872, 17873, 17874, 17875, 17876,
    2307             :    17877, 17878, 17879, 17880, 17881, 17882, 17883, 17884, 17885, 17886,
    2308             :    17887, 17888, 17889, 17890, 17891, 17892, 17893, 17894, 17895, 17896,
    2309             :    17897, 17898, 17899, 17900, 17901, 17902, 17903, 17904, 17905, 17906,
    2310             :    17907, 17908, 17909, 17910, 17911, 17912, 17913, 17914, 17915, 17916,
    2311             :    17917, 17918, 17919, 17920, 17921, 17922, 17923, 17924, 17925, 17926,
    2312             :    17927, 17928, 17929, 17930, 17931, 17932, 17933, 17934, 17935, 17936,
    2313             :    17937, 17938, 17939, 17940, 17941, 17942, 17956, 17957, 17958, 17959,
    2314             :    17960, 17961, 17962, 17963, 17964, 17965, 17966, 17967, 17968, 17969,
    2315             :    17970, 17971, 17972, 17973, 17974, 17975, 17976, 17977, 17978, 17979,
    2316             :    17980, 17981, 17982, 17983, 17984, 17985, 17986, 17987, 17988, 17989,
    2317             :    17990, 17991, 17992, 17993, 17994, 17995, 17996, 17997, 17998, 17999,
    2318             :    18000, 18001, 18002, 18003, 18004, 18005, 18006, 18007, 18008, 18009,
    2319             :    18010, 18011, 18012, 18013, 18014, 18015, 18016, 18017, 18018, 18032,
    2320             :    18033, 18034, 18035, 18036, 18037, 18038, 18039, 18040, 18041, 18042,
    2321             :    18043, 18044, 18045, 18046, 18047, 18048, 18049, 18050, 18051, 18052,
    2322             :    18053, 18054, 18064, 18065, 18066, 18067, 18068, 18069, 18070, 18071,
    2323             :    18072, 18073, 18074, 18075, 18076, 18077, 18078, 18079, 18080, 18081,
    2324             :    18082, 18083, 18084, 18085, 18086, 18087, 18088, 18089, 18090, 18091,
    2325             :    18092, 18093, 18094, 18095, 18096, 18097, 18098, 18099, 18100, 18101,
    2326             :    18102, 18103, 18104, 18105, 18106, 18107, 18108, 18109, 18110, 18111,
    2327             :    18112, 18113, 18114, 18115, 18116, 18117, 18118, 18119, 18120, 18121,
    2328             :    18122, 18123, 18124, 18125, 18126, 18127, 18128, 18129, 18130, 18131,
    2329             :    18132, 18133, 18134, 18135, 18136, 18137, 18138, 18139, 18140, 18141,
    2330             :    18154, 18155, 18156, 18157, 18158, 18159, 18160, 18161, 18162, 18163,
    2331             :    18164, 18165, 18166, 18167, 18168, 18169, 18170, 18171, 18172, 18173,
    2332             :    18174, 18175, 18176, 18177, 18178, 18179, 18180, 18181, 18182, 18183,
    2333             :    18184, 18185, 18186, 18187, 18188, 18189, 18190, 18191, 18192, 18193,
    2334             :    18194, 18195, 18196, 18197, 18198, 18199, 18200, 18201, 18202, 18203,
    2335             :    18204, 18205, 18206, 18207, 18208, 18209, 18210, 18211, 18212, 18213,
    2336             :    18214, 18215, 18216, 18217, 18218, 18219, 18220, 18221, 18222, 18223,
    2337             :    18224, 18225, 18226, 18227, 18228, 18229, 18230, 18231, 18232, 18233,
    2338             :    18234, 18235, 18236, 18237, 18238, 18239, 18240, 18241, 18242, 18243,
    2339             :    18244, 18245, 18246, 18247, 18248, 18249, 18250, 18251, 18252, 18253,
    2340             :    18254, 18255, 18256, 18257, 18258, 18259, 18260, 18261, 18262, 18263,
    2341             :    18264, 18265, 18266, 18267, 18268, 18269, 18270, 18271, 18272, 18273,
    2342             :    18274, 18275, 18276, 18277, 18278, 18279, 18280, 18281, 18282, 18283,
    2343             :    18284, 18285, 18286, 18287, 18288, 18289, 18290, 18291, 18292, 18293,
    2344             :    18294, 18295, 18296, 18297, 18298, 18299, 18300, 18301, 18302, 18303,
    2345             :    18304, 18305, 18306, 18307, 18308, 18309, 18310, 18311, 18312, 18313,
    2346             :    18314, 18315, 18316, 18317, 18318, 18319, 18320, 18321, 18322, 18323,
    2347             :    18324, 18325, 18326, 18327, 18328, 18329, 18330, 18331, 18332, 18333,
    2348             :    18334, 18335, 18336, 18337, 18338, 18339, 18340, 18341, 18342, 18343,
    2349             :    18344, 18345, 18346, 18347, 18348, 18349, 18350, 18351, 18352, 18353,
    2350             :    18354, 18355, 18356, 18357, 18358, 18359, 18360, 18361, 18362, 18363,
    2351             :    18364, 18365, 18366, 18367, 18368, 18369, 18370, 18371, 18372, 18373,
    2352             :    18374, 18375, 18376, 18377, 18378, 18379, 18380, 18381, 18382, 18383,
    2353             :    18384, 18385, 18386, 18387, 18388, 18389, 18390, 18391, 18392, 18393,
    2354             :    18394, 18395, 18396, 18397, 18398, 18399, 18400, 18401, 18402, 18403,
    2355             :    18404, 18405, 18406, 18407, 18408, 18409, 18410, 18411, 18412, 18413,
    2356             :    18414, 18415, 18416, 18417, 18418, 18419, 18420, 18421, 18422, 18423,
    2357             :    18424, 18425, 18426, 18427, 18428, 18429, 18430, 18431, 18432, 18433,
    2358             :    18434, 18435, 18436, 18437, 18438, 18439, 18440, 18441, 18442, 18443,
    2359             :    18444, 18445, 18446, 18447, 18448, 18449, 18450, 18451, 18452, 18453,
    2360             :    18454, 18455, 18456, 18457, 18458, 18459, 18460, 18461, 18462, 18463,
    2361             :    18464, 18465, 18466, 18467, 18468, 18469, 18470, 18471, 18472, 18473,
    2362             :    18474, 18475, 18476, 18477, 18478, 18479, 18480, 18481, 18482, 18483,
    2363             :    18484, 18485, 18486, 18487, 18488, 18489, 18490, 18491, 18492, 18493,
    2364             :    18494, 18495, 18496, 18497, 18498, 18499, 18500, 18501, 18502, 18503,
    2365             :    18504, 18505, 18506, 18507, 18508, 18509, 18510, 18511, 18512, 18513,
    2366             :    18514, 18515, 18516, 18517, 18518, 18519, 18520, 18521, 18522, 18523,
    2367             :    18524, 18525, 18526, 18527, 18528, 18529, 18530, 18531, 18532, 18533,
    2368             :    18534, 18535, 18536, 18537, 18538, 18539, 18540, 18541, 18542, 18543,
    2369             :    18544, 18545, 18546, 18547, 18548, 18549, 18550, 18551, 18552, 18553,
    2370             :    18554, 18555, 18556, 18557, 18558, 18559, 18560, 18561, 18562, 18563,
    2371             :    18564, 18565, 18566, 18567, 18568, 18569, 18570, 18571, 18572, 18573,
    2372             :    18574, 18575, 18576, 18577, 18578, 18579, 18580, 18581, 18582, 18583,
    2373             :    18584, 18585, 18586, 18587, 18588, 18589, 18590, 18591, 18592, 18593,
    2374             :    18594, 18595, 18596, 18597, 18598, 18599, 18600, 18601, 18602, 18603,
    2375             :    18604, 18605, 18606, 18607, 18608
    2376             : };
    2377             : #endif
    2378             : 
    2379             : /** Accessing symbol of state STATE.  */
    2380             : #define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
    2381             : 
    2382             : #if YYDEBUG || 0
    2383             : /* The user-facing name of the symbol whose (internal) number is
    2384             :    YYSYMBOL.  No bounds checking.  */
    2385             : static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
    2386             : 
    2387             : /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
    2388             :    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
    2389             : static const char *const yytname[] =
    2390             : {
    2391             :   "\"end of file\"", "error", "\"invalid token\"", "IDENT", "UIDENT",
    2392             :   "FCONST", "SCONST", "USCONST", "BCONST", "XCONST", "Op", "ICONST",
    2393             :   "PARAM", "TYPECAST", "DOT_DOT", "COLON_EQUALS", "EQUALS_GREATER",
    2394             :   "LESS_EQUALS", "GREATER_EQUALS", "NOT_EQUALS", "ABORT_P", "ABSENT",
    2395             :   "ABSOLUTE_P", "ACCESS", "ACTION", "ADD_P", "ADMIN", "AFTER", "AGGREGATE",
    2396             :   "ALL", "ALSO", "ALTER", "ALWAYS", "ANALYSE", "ANALYZE", "AND", "ANY",
    2397             :   "ARRAY", "AS", "ASC", "ASENSITIVE", "ASSERTION", "ASSIGNMENT",
    2398             :   "ASYMMETRIC", "ATOMIC", "AT", "ATTACH", "ATTRIBUTE", "AUTHORIZATION",
    2399             :   "BACKWARD", "BEFORE", "BEGIN_P", "BETWEEN", "BIGINT", "BINARY", "BIT",
    2400             :   "BOOLEAN_P", "BOTH", "BREADTH", "BY", "CACHE", "CALL", "CALLED",
    2401             :   "CASCADE", "CASCADED", "CASE", "CAST", "CATALOG_P", "CHAIN", "CHAR_P",
    2402             :   "CHARACTER", "CHARACTERISTICS", "CHECK", "CHECKPOINT", "CLASS", "CLOSE",
    2403             :   "CLUSTER", "COALESCE", "COLLATE", "COLLATION", "COLUMN", "COLUMNS",
    2404             :   "COMMENT", "COMMENTS", "COMMIT", "COMMITTED", "COMPRESSION",
    2405             :   "CONCURRENTLY", "CONDITIONAL", "CONFIGURATION", "CONFLICT", "CONNECTION",
    2406             :   "CONSTRAINT", "CONSTRAINTS", "CONTENT_P", "CONTINUE_P", "CONVERSION_P",
    2407             :   "COPY", "COST", "CREATE", "CROSS", "CSV", "CUBE", "CURRENT_P",
    2408             :   "CURRENT_CATALOG", "CURRENT_DATE", "CURRENT_ROLE", "CURRENT_SCHEMA",
    2409             :   "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_USER", "CURSOR", "CYCLE",
    2410             :   "DATA_P", "DATABASE", "DAY_P", "DEALLOCATE", "DEC", "DECIMAL_P",
    2411             :   "DECLARE", "DEFAULT", "DEFAULTS", "DEFERRABLE", "DEFERRED", "DEFINER",
    2412             :   "DELETE_P", "DELIMITER", "DELIMITERS", "DEPENDS", "DEPTH", "DESC",
    2413             :   "DETACH", "DICTIONARY", "DISABLE_P", "DISCARD", "DISTINCT", "DO",
    2414             :   "DOCUMENT_P", "DOMAIN_P", "DOUBLE_P", "DROP", "EACH", "ELSE", "EMPTY_P",
    2415             :   "ENABLE_P", "ENCODING", "ENCRYPTED", "END_P", "ENUM_P", "ERROR_P",
    2416             :   "ESCAPE", "EVENT", "EXCEPT", "EXCLUDE", "EXCLUDING", "EXCLUSIVE",
    2417             :   "EXECUTE", "EXISTS", "EXPLAIN", "EXPRESSION", "EXTENSION", "EXTERNAL",
    2418             :   "EXTRACT", "FALSE_P", "FAMILY", "FETCH", "FILTER", "FINALIZE", "FIRST_P",
    2419             :   "FLOAT_P", "FOLLOWING", "FOR", "FORCE", "FOREIGN", "FORMAT", "FORWARD",
    2420             :   "FREEZE", "FROM", "FULL", "FUNCTION", "FUNCTIONS", "GENERATED", "GLOBAL",
    2421             :   "GRANT", "GRANTED", "GREATEST", "GROUP_P", "GROUPING", "GROUPS",
    2422             :   "HANDLER", "HAVING", "HEADER_P", "HOLD", "HOUR_P", "IDENTITY_P", "IF_P",
    2423             :   "ILIKE", "IMMEDIATE", "IMMUTABLE", "IMPLICIT_P", "IMPORT_P", "IN_P",
    2424             :   "INCLUDE", "INCLUDING", "INCREMENT", "INDENT", "INDEX", "INDEXES",
    2425             :   "INHERIT", "INHERITS", "INITIALLY", "INLINE_P", "INNER_P", "INOUT",
    2426             :   "INPUT_P", "INSENSITIVE", "INSERT", "INSTEAD", "INT_P", "INTEGER",
    2427             :   "INTERSECT", "INTERVAL", "INTO", "INVOKER", "IS", "ISNULL", "ISOLATION",
    2428             :   "JOIN", "JSON", "JSON_ARRAY", "JSON_ARRAYAGG", "JSON_EXISTS",
    2429             :   "JSON_OBJECT", "JSON_OBJECTAGG", "JSON_QUERY", "JSON_SCALAR",
    2430             :   "JSON_SERIALIZE", "JSON_TABLE", "JSON_VALUE", "KEEP", "KEY", "KEYS",
    2431             :   "LABEL", "LANGUAGE", "LARGE_P", "LAST_P", "LATERAL_P", "LEADING",
    2432             :   "LEAKPROOF", "LEAST", "LEFT", "LEVEL", "LIKE", "LIMIT", "LISTEN", "LOAD",
    2433             :   "LOCAL", "LOCALTIME", "LOCALTIMESTAMP", "LOCATION", "LOCK_P", "LOCKED",
    2434             :   "LOGGED", "MAPPING", "MATCH", "MATCHED", "MATERIALIZED", "MAXVALUE",
    2435             :   "MERGE", "MERGE_ACTION", "METHOD", "MINUTE_P", "MINVALUE", "MODE",
    2436             :   "MONTH_P", "MOVE", "NAME_P", "NAMES", "NATIONAL", "NATURAL", "NCHAR",
    2437             :   "NESTED", "NEW", "NEXT", "NFC", "NFD", "NFKC", "NFKD", "NO", "NONE",
    2438             :   "NORMALIZE", "NORMALIZED", "NOT", "NOTHING", "NOTIFY", "NOTNULL",
    2439             :   "NOWAIT", "NULL_P", "NULLIF", "NULLS_P", "NUMERIC", "OBJECT_P", "OF",
    2440             :   "OFF", "OFFSET", "OIDS", "OLD", "OMIT", "ON", "ONLY", "OPERATOR",
    2441             :   "OPTION", "OPTIONS", "OR", "ORDER", "ORDINALITY", "OTHERS", "OUT_P",
    2442             :   "OUTER_P", "OVER", "OVERLAPS", "OVERLAY", "OVERRIDING", "OWNED", "OWNER",
    2443             :   "PARALLEL", "PARAMETER", "PARSER", "PARTIAL", "PARTITION", "PARTITIONS",
    2444             :   "PASSING", "PASSWORD", "PATH", "PERIOD", "PLACING", "PLAN", "PLANS",
    2445             :   "POLICY", "POSITION", "PRECEDING", "PRECISION", "PRESERVE", "PREPARE",
    2446             :   "PREPARED", "PRIMARY", "PRIOR", "PRIVILEGES", "PROCEDURAL", "PROCEDURE",
    2447             :   "PROCEDURES", "PROGRAM", "PUBLICATION", "QUOTE", "QUOTES", "RANGE",
    2448             :   "READ", "REAL", "REASSIGN", "RECHECK", "RECURSIVE", "REF_P",
    2449             :   "REFERENCES", "REFERENCING", "REFRESH", "REINDEX", "RELATIVE_P",
    2450             :   "RELEASE", "RENAME", "REPEATABLE", "REPLACE", "REPLICA", "RESET",
    2451             :   "RESTART", "RESTRICT", "RETURN", "RETURNING", "RETURNS", "REVOKE",
    2452             :   "RIGHT", "ROLE", "ROLLBACK", "ROLLUP", "ROUTINE", "ROUTINES", "ROW",
    2453             :   "ROWS", "RULE", "SAVEPOINT", "SCALAR", "SCHEMA", "SCHEMAS", "SCROLL",
    2454             :   "SEARCH", "SECOND_P", "SECURITY", "SELECT", "SEQUENCE", "SEQUENCES",
    2455             :   "SERIALIZABLE", "SERVER", "SESSION", "SESSION_USER", "SET", "SETS",
    2456             :   "SETOF", "SHARE", "SHOW", "SIMILAR", "SIMPLE", "SKIP", "SMALLINT",
    2457             :   "SNAPSHOT", "SOME", "SPLIT", "SOURCE", "SQL_P", "STABLE", "STANDALONE_P",
    2458             :   "START", "STATEMENT", "STATISTICS", "STDIN", "STDOUT", "STORAGE",
    2459             :   "STORED", "STRICT_P", "STRING_P", "STRIP_P", "SUBSCRIPTION", "SUBSTRING",
    2460             :   "SUPPORT", "SYMMETRIC", "SYSID", "SYSTEM_P", "SYSTEM_USER", "TABLE",
    2461             :   "TABLES", "TABLESAMPLE", "TABLESPACE", "TARGET", "TEMP", "TEMPLATE",
    2462             :   "TEMPORARY", "TEXT_P", "THEN", "TIES", "TIME", "TIMESTAMP", "TO",
    2463             :   "TRAILING", "TRANSACTION", "TRANSFORM", "TREAT", "TRIGGER", "TRIM",
    2464             :   "TRUE_P", "TRUNCATE", "TRUSTED", "TYPE_P", "TYPES_P", "UESCAPE",
    2465             :   "UNBOUNDED", "UNCONDITIONAL", "UNCOMMITTED", "UNENCRYPTED", "UNION",
    2466             :   "UNIQUE", "UNKNOWN", "UNLISTEN", "UNLOGGED", "UNTIL", "UPDATE", "USER",
    2467             :   "USING", "VACUUM", "VALID", "VALIDATE", "VALIDATOR", "VALUE_P", "VALUES",
    2468             :   "VARCHAR", "VARIADIC", "VARYING", "VERBOSE", "VERSION_P", "VIEW",
    2469             :   "VIEWS", "VOLATILE", "WHEN", "WHERE", "WHITESPACE_P", "WINDOW", "WITH",
    2470             :   "WITHIN", "WITHOUT", "WORK", "WRAPPER", "WRITE", "XML_P",
    2471             :   "XMLATTRIBUTES", "XMLCONCAT", "XMLELEMENT", "XMLEXISTS", "XMLFOREST",
    2472             :   "XMLNAMESPACES", "XMLPARSE", "XMLPI", "XMLROOT", "XMLSERIALIZE",
    2473             :   "XMLTABLE", "YEAR_P", "YES_P", "ZONE", "FORMAT_LA", "NOT_LA", "NULLS_LA",
    2474             :   "WITH_LA", "WITHOUT_LA", "MODE_TYPE_NAME", "MODE_PLPGSQL_EXPR",
    2475             :   "MODE_PLPGSQL_ASSIGN1", "MODE_PLPGSQL_ASSIGN2", "MODE_PLPGSQL_ASSIGN3",
    2476             :   "'<'", "'>'", "'='", "'+'", "'-'", "'*'", "'/'", "'%'", "'^'", "UMINUS",
    2477             :   "'['", "']'", "'('", "')'", "'.'", "';'", "','", "':'", "$accept",
    2478             :   "parse_toplevel", "stmtmulti", "toplevel_stmt", "stmt",
    2479             :   "opt_single_name", "opt_qualified_name", "opt_concurrently",
    2480             :   "opt_drop_behavior", "CallStmt", "CreateRoleStmt", "opt_with",
    2481             :   "OptRoleList", "AlterOptRoleList", "AlterOptRoleElem",
    2482             :   "CreateOptRoleElem", "CreateUserStmt", "AlterRoleStmt",
    2483             :   "opt_in_database", "AlterRoleSetStmt", "DropRoleStmt", "CreateGroupStmt",
    2484             :   "AlterGroupStmt", "add_drop", "CreateSchemaStmt", "OptSchemaEltList",
    2485             :   "schema_stmt", "VariableSetStmt", "set_rest", "generic_set",
    2486             :   "set_rest_more", "var_name", "var_list", "var_value", "iso_level",
    2487             :   "opt_boolean_or_string", "zone_value", "opt_encoding",
    2488             :   "NonReservedWord_or_Sconst", "VariableResetStmt", "reset_rest",
    2489             :   "generic_reset", "SetResetClause", "FunctionSetResetClause",
    2490             :   "VariableShowStmt", "ConstraintsSetStmt", "constraints_set_list",
    2491             :   "constraints_set_mode", "CheckPointStmt", "DiscardStmt",
    2492             :   "AlterTableStmt", "alter_table_cmds", "partitions_list",
    2493             :   "SinglePartitionSpec", "partition_cmd", "index_partition_cmd",
    2494             :   "alter_table_cmd", "alter_column_default", "opt_collate_clause",
    2495             :   "alter_using", "replica_identity", "reloptions", "opt_reloptions",
    2496             :   "reloption_list", "reloption_elem", "alter_identity_column_option_list",
    2497             :   "alter_identity_column_option", "set_statistics_value",
    2498             :   "set_access_method_name", "PartitionBoundSpec", "hash_partbound_elem",
    2499             :   "hash_partbound", "AlterCompositeTypeStmt", "alter_type_cmds",
    2500             :   "alter_type_cmd", "ClosePortalStmt", "CopyStmt", "copy_from",
    2501             :   "opt_program", "copy_file_name", "copy_options", "copy_opt_list",
    2502             :   "copy_opt_item", "opt_binary", "copy_delimiter", "opt_using",
    2503             :   "copy_generic_opt_list", "copy_generic_opt_elem", "copy_generic_opt_arg",
    2504             :   "copy_generic_opt_arg_list", "copy_generic_opt_arg_list_item",
    2505             :   "CreateStmt", "OptTemp", "OptTableElementList",
    2506             :   "OptTypedTableElementList", "TableElementList", "TypedTableElementList",
    2507             :   "TableElement", "TypedTableElement", "columnDef", "columnOptions",
    2508             :   "column_compression", "opt_column_compression", "column_storage",
    2509             :   "opt_column_storage", "ColQualList", "ColConstraint",
    2510             :   "ColConstraintElem", "opt_unique_null_treatment", "generated_when",
    2511             :   "ConstraintAttr", "TableLikeClause", "TableLikeOptionList",
    2512             :   "TableLikeOption", "TableConstraint", "ConstraintElem",
    2513             :   "DomainConstraint", "DomainConstraintElem", "opt_no_inherit",
    2514             :   "opt_without_overlaps", "opt_column_list", "columnList",
    2515             :   "optionalPeriodName", "opt_column_and_period_list", "columnElem",
    2516             :   "opt_c_include", "key_match", "ExclusionConstraintList",
    2517             :   "ExclusionConstraintElem", "OptWhereClause", "key_actions", "key_update",
    2518             :   "key_delete", "key_action", "OptInherit", "OptPartitionSpec",
    2519             :   "PartitionSpec", "part_params", "part_elem",
    2520             :   "table_access_method_clause", "OptWith", "OnCommitOption",
    2521             :   "OptTableSpace", "OptConsTableSpace", "ExistingIndex", "CreateStatsStmt",
    2522             :   "stats_params", "stats_param", "AlterStatsStmt", "CreateAsStmt",
    2523             :   "create_as_target", "opt_with_data", "CreateMatViewStmt",
    2524             :   "create_mv_target", "OptNoLog", "RefreshMatViewStmt", "CreateSeqStmt",
    2525             :   "AlterSeqStmt", "OptSeqOptList", "OptParenthesizedSeqOptList",
    2526             :   "SeqOptList", "SeqOptElem", "opt_by", "NumericOnly", "NumericOnly_list",
    2527             :   "CreatePLangStmt", "opt_trusted", "handler_name", "opt_inline_handler",
    2528             :   "validator_clause", "opt_validator", "opt_procedural",
    2529             :   "CreateTableSpaceStmt", "OptTableSpaceOwner", "DropTableSpaceStmt",
    2530             :   "CreateExtensionStmt", "create_extension_opt_list",
    2531             :   "create_extension_opt_item", "AlterExtensionStmt",
    2532             :   "alter_extension_opt_list", "alter_extension_opt_item",
    2533             :   "AlterExtensionContentsStmt", "CreateFdwStmt", "fdw_option",
    2534             :   "fdw_options", "opt_fdw_options", "AlterFdwStmt",
    2535             :   "create_generic_options", "generic_option_list", "alter_generic_options",
    2536             :   "alter_generic_option_list", "alter_generic_option_elem",
    2537             :   "generic_option_elem", "generic_option_name", "generic_option_arg",
    2538             :   "CreateForeignServerStmt", "opt_type", "foreign_server_version",
    2539             :   "opt_foreign_server_version", "AlterForeignServerStmt",
    2540             :   "CreateForeignTableStmt", "ImportForeignSchemaStmt",
    2541             :   "import_qualification_type", "import_qualification",
    2542             :   "CreateUserMappingStmt", "auth_ident", "DropUserMappingStmt",
    2543             :   "AlterUserMappingStmt", "CreatePolicyStmt", "AlterPolicyStmt",
    2544             :   "RowSecurityOptionalExpr", "RowSecurityOptionalWithCheck",
    2545             :   "RowSecurityDefaultToRole", "RowSecurityOptionalToRole",
    2546             :   "RowSecurityDefaultPermissive", "RowSecurityDefaultForCmd",
    2547             :   "row_security_cmd", "CreateAmStmt", "am_type", "CreateTrigStmt",
    2548             :   "TriggerActionTime", "TriggerEvents", "TriggerOneEvent",
    2549             :   "TriggerReferencing", "TriggerTransitions", "TriggerTransition",
    2550             :   "TransitionOldOrNew", "TransitionRowOrTable", "TransitionRelName",
    2551             :   "TriggerForSpec", "TriggerForOptEach", "TriggerForType", "TriggerWhen",
    2552             :   "FUNCTION_or_PROCEDURE", "TriggerFuncArgs", "TriggerFuncArg",
    2553             :   "OptConstrFromTable", "ConstraintAttributeSpec",
    2554             :   "ConstraintAttributeElem", "CreateEventTrigStmt",
    2555             :   "event_trigger_when_list", "event_trigger_when_item",
    2556             :   "event_trigger_value_list", "AlterEventTrigStmt", "enable_trigger",
    2557             :   "CreateAssertionStmt", "DefineStmt", "definition", "def_list",
    2558             :   "def_elem", "def_arg", "old_aggr_definition", "old_aggr_list",
    2559             :   "old_aggr_elem", "opt_enum_val_list", "enum_val_list", "AlterEnumStmt",
    2560             :   "opt_if_not_exists", "CreateOpClassStmt", "opclass_item_list",
    2561             :   "opclass_item", "opt_default", "opt_opfamily", "opclass_purpose",
    2562             :   "opt_recheck", "CreateOpFamilyStmt", "AlterOpFamilyStmt",
    2563             :   "opclass_drop_list", "opclass_drop", "DropOpClassStmt",
    2564             :   "DropOpFamilyStmt", "DropOwnedStmt", "ReassignOwnedStmt", "DropStmt",
    2565             :   "object_type_any_name", "object_type_name", "drop_type_name",
    2566             :   "object_type_name_on_any_name", "any_name_list", "any_name", "attrs",
    2567             :   "type_name_list", "TruncateStmt", "opt_restart_seqs", "CommentStmt",
    2568             :   "comment_text", "SecLabelStmt", "opt_provider", "security_label",
    2569             :   "FetchStmt", "fetch_args", "from_in", "opt_from_in", "GrantStmt",
    2570             :   "RevokeStmt", "privileges", "privilege_list", "privilege",
    2571             :   "parameter_name_list", "parameter_name", "privilege_target",
    2572             :   "grantee_list", "grantee", "opt_grant_grant_option", "GrantRoleStmt",
    2573             :   "RevokeRoleStmt", "grant_role_opt_list", "grant_role_opt",
    2574             :   "grant_role_opt_value", "opt_granted_by", "AlterDefaultPrivilegesStmt",
    2575             :   "DefACLOptionList", "DefACLOption", "DefACLAction",
    2576             :   "defacl_privilege_target", "IndexStmt", "opt_unique",
    2577             :   "access_method_clause", "index_params", "index_elem_options",
    2578             :   "index_elem", "opt_include", "index_including_params", "opt_collate",
    2579             :   "opt_asc_desc", "opt_nulls_order", "CreateFunctionStmt",
    2580             :   "opt_or_replace", "func_args", "func_args_list",
    2581             :   "function_with_argtypes_list", "function_with_argtypes",
    2582             :   "func_args_with_defaults", "func_args_with_defaults_list", "func_arg",
    2583             :   "arg_class", "param_name", "func_return", "func_type",
    2584             :   "func_arg_with_default", "aggr_arg", "aggr_args", "aggr_args_list",
    2585             :   "aggregate_with_argtypes", "aggregate_with_argtypes_list",
    2586             :   "opt_createfunc_opt_list", "createfunc_opt_list", "common_func_opt_item",
    2587             :   "createfunc_opt_item", "func_as", "ReturnStmt", "opt_routine_body",
    2588             :   "routine_body_stmt_list", "routine_body_stmt", "transform_type_list",
    2589             :   "opt_definition", "table_func_column", "table_func_column_list",
    2590             :   "AlterFunctionStmt", "alterfunc_opt_list", "opt_restrict",
    2591             :   "RemoveFuncStmt", "RemoveAggrStmt", "RemoveOperStmt", "oper_argtypes",
    2592             :   "any_operator", "operator_with_argtypes_list", "operator_with_argtypes",
    2593             :   "DoStmt", "dostmt_opt_list", "dostmt_opt_item", "CreateCastStmt",
    2594             :   "cast_context", "DropCastStmt", "opt_if_exists", "CreateTransformStmt",
    2595             :   "transform_element_list", "DropTransformStmt", "ReindexStmt",
    2596             :   "reindex_target_relation", "reindex_target_all",
    2597             :   "opt_reindex_option_list", "AlterTblSpcStmt", "RenameStmt", "opt_column",
    2598             :   "opt_set_data", "AlterObjectDependsStmt", "opt_no",
    2599             :   "AlterObjectSchemaStmt", "AlterOperatorStmt", "operator_def_list",
    2600             :   "operator_def_elem", "operator_def_arg", "AlterTypeStmt",
    2601             :   "AlterOwnerStmt", "CreatePublicationStmt", "PublicationObjSpec",
    2602             :   "pub_obj_list", "AlterPublicationStmt", "CreateSubscriptionStmt",
    2603             :   "AlterSubscriptionStmt", "DropSubscriptionStmt", "RuleStmt",
    2604             :   "RuleActionList", "RuleActionMulti", "RuleActionStmt",
    2605             :   "RuleActionStmtOrEmpty", "event", "opt_instead", "NotifyStmt",
    2606             :   "notify_payload", "ListenStmt", "UnlistenStmt", "TransactionStmt",
    2607             :   "TransactionStmtLegacy", "opt_transaction", "transaction_mode_item",
    2608             :   "transaction_mode_list", "transaction_mode_list_or_empty",
    2609             :   "opt_transaction_chain", "ViewStmt", "opt_check_option", "LoadStmt",
    2610             :   "CreatedbStmt", "createdb_opt_list", "createdb_opt_items",
    2611             :   "createdb_opt_item", "createdb_opt_name", "opt_equal",
    2612             :   "AlterDatabaseStmt", "AlterDatabaseSetStmt", "DropdbStmt",
    2613             :   "drop_option_list", "drop_option", "AlterCollationStmt",
    2614             :   "AlterSystemStmt", "CreateDomainStmt", "AlterDomainStmt", "opt_as",
    2615             :   "AlterTSDictionaryStmt", "AlterTSConfigurationStmt", "any_with",
    2616             :   "CreateConversionStmt", "ClusterStmt", "cluster_index_specification",
    2617             :   "VacuumStmt", "AnalyzeStmt", "utility_option_list", "analyze_keyword",
    2618             :   "utility_option_elem", "utility_option_name", "utility_option_arg",
    2619             :   "opt_analyze", "opt_verbose", "opt_full", "opt_freeze", "opt_name_list",
    2620             :   "vacuum_relation", "vacuum_relation_list", "opt_vacuum_relation_list",
    2621             :   "ExplainStmt", "ExplainableStmt", "PrepareStmt", "prep_type_clause",
    2622             :   "PreparableStmt", "ExecuteStmt", "execute_param_clause",
    2623             :   "DeallocateStmt", "InsertStmt", "insert_target", "insert_rest",
    2624             :   "override_kind", "insert_column_list", "insert_column_item",
    2625             :   "opt_on_conflict", "opt_conf_expr", "returning_clause", "DeleteStmt",
    2626             :   "using_clause", "LockStmt", "opt_lock", "lock_type", "opt_nowait",
    2627             :   "opt_nowait_or_skip", "UpdateStmt", "set_clause_list", "set_clause",
    2628             :   "set_target", "set_target_list", "MergeStmt", "merge_when_list",
    2629             :   "merge_when_clause", "merge_when_tgt_matched",
    2630             :   "merge_when_tgt_not_matched", "opt_merge_when_condition", "merge_update",
    2631             :   "merge_delete", "merge_insert", "merge_values_clause",
    2632             :   "DeclareCursorStmt", "cursor_name", "cursor_options", "opt_hold",
    2633             :   "SelectStmt", "select_with_parens", "select_no_parens", "select_clause",
    2634             :   "simple_select", "with_clause", "cte_list", "common_table_expr",
    2635             :   "opt_materialized", "opt_search_clause", "opt_cycle_clause",
    2636             :   "opt_with_clause", "into_clause", "OptTempTableName", "opt_table",
    2637             :   "set_quantifier", "distinct_clause", "opt_all_clause",
    2638             :   "opt_distinct_clause", "opt_sort_clause", "sort_clause", "sortby_list",
    2639             :   "sortby", "select_limit", "opt_select_limit", "limit_clause",
    2640             :   "offset_clause", "select_limit_value", "select_offset_value",
    2641             :   "select_fetch_first_value", "I_or_F_const", "row_or_rows",
    2642             :   "first_or_next", "group_clause", "group_by_list", "group_by_item",
    2643             :   "empty_grouping_set", "rollup_clause", "cube_clause",
    2644             :   "grouping_sets_clause", "having_clause", "for_locking_clause",
    2645             :   "opt_for_locking_clause", "for_locking_items", "for_locking_item",
    2646             :   "for_locking_strength", "locked_rels_list", "values_clause",
    2647             :   "from_clause", "from_list", "table_ref", "joined_table", "alias_clause",
    2648             :   "opt_alias_clause", "opt_alias_clause_for_join_using",
    2649             :   "func_alias_clause", "join_type", "opt_outer", "join_qual",
    2650             :   "relation_expr", "extended_relation_expr", "relation_expr_list",
    2651             :   "relation_expr_opt_alias", "tablesample_clause", "opt_repeatable_clause",
    2652             :   "func_table", "rowsfrom_item", "rowsfrom_list", "opt_col_def_list",
    2653             :   "opt_ordinality", "where_clause", "where_or_current_clause",
    2654             :   "OptTableFuncElementList", "TableFuncElementList", "TableFuncElement",
    2655             :   "xmltable", "xmltable_column_list", "xmltable_column_el",
    2656             :   "xmltable_column_option_list", "xmltable_column_option_el",
    2657             :   "xml_namespace_list", "xml_namespace_el", "json_table",
    2658             :   "json_table_path_name_opt", "json_table_column_definition_list",
    2659             :   "json_table_column_definition", "path_opt",
    2660             :   "json_table_column_path_clause_opt", "Typename", "opt_array_bounds",
    2661             :   "SimpleTypename", "ConstTypename", "GenericType", "opt_type_modifiers",
    2662             :   "Numeric", "opt_float", "Bit", "ConstBit", "BitWithLength",
    2663             :   "BitWithoutLength", "Character", "ConstCharacter", "CharacterWithLength",
    2664             :   "CharacterWithoutLength", "character", "opt_varying", "ConstDatetime",
    2665             :   "ConstInterval", "opt_timezone", "opt_interval", "interval_second",
    2666             :   "JsonType", "a_expr", "b_expr", "c_expr", "func_application",
    2667             :   "func_expr", "func_expr_windowless", "func_expr_common_subexpr",
    2668             :   "xml_root_version", "opt_xml_root_standalone", "xml_attributes",
    2669             :   "xml_attribute_list", "xml_attribute_el", "document_or_content",
    2670             :   "xml_indent_option", "xml_whitespace_option", "xmlexists_argument",
    2671             :   "xml_passing_mech", "within_group_clause", "filter_clause",
    2672             :   "window_clause", "window_definition_list", "window_definition",
    2673             :   "over_clause", "window_specification", "opt_existing_window_name",
    2674             :   "opt_partition_clause", "opt_frame_clause", "frame_extent",
    2675             :   "frame_bound", "opt_window_exclusion_clause", "row", "explicit_row",
    2676             :   "implicit_row", "sub_type", "all_Op", "MathOp", "qual_Op", "qual_all_Op",
    2677             :   "subquery_Op", "expr_list", "func_arg_list", "func_arg_expr",
    2678             :   "func_arg_list_opt", "type_list", "array_expr", "array_expr_list",
    2679             :   "extract_list", "extract_arg", "unicode_normal_form", "overlay_list",
    2680             :   "position_list", "substr_list", "trim_list", "in_expr", "case_expr",
    2681             :   "when_clause_list", "when_clause", "case_default", "case_arg",
    2682             :   "columnref", "indirection_el", "opt_slice_bound", "indirection",
    2683             :   "opt_indirection", "opt_asymmetric", "json_passing_clause_opt",
    2684             :   "json_arguments", "json_argument", "json_wrapper_behavior",
    2685             :   "json_behavior", "json_behavior_type", "json_behavior_clause_opt",
    2686             :   "json_on_error_clause_opt", "json_value_expr", "json_format_clause",
    2687             :   "json_format_clause_opt", "json_quotes_clause_opt",
    2688             :   "json_returning_clause_opt", "json_predicate_type_constraint",
    2689             :   "json_key_uniqueness_constraint_opt", "json_name_and_value_list",
    2690             :   "json_name_and_value", "json_object_constructor_null_clause_opt",
    2691             :   "json_array_constructor_null_clause_opt", "json_value_expr_list",
    2692             :   "json_aggregate_func", "json_array_aggregate_order_by_clause_opt",
    2693             :   "opt_target_list", "target_list", "target_el", "qualified_name_list",
    2694             :   "qualified_name", "name_list", "name", "attr_name", "file_name",
    2695             :   "func_name", "AexprConst", "Iconst", "Sconst", "SignedIconst", "RoleId",
    2696             :   "RoleSpec", "role_list", "PLpgSQL_Expr", "PLAssignStmt",
    2697             :   "plassign_target", "plassign_equals", "ColId", "type_function_name",
    2698             :   "NonReservedWord", "ColLabel", "BareColLabel", "unreserved_keyword",
    2699             :   "col_name_keyword", "type_func_name_keyword", "reserved_keyword",
    2700             :   "bare_label_keyword", YY_NULLPTR
    2701             : };
    2702             : 
    2703             : static const char *
    2704             : yysymbol_name (yysymbol_kind_t yysymbol)
    2705             : {
    2706             :   return yytname[yysymbol];
    2707             : }
    2708             : #endif
    2709             : 
    2710             : #ifdef YYPRINT
    2711             : /* YYTOKNUM[NUM] -- (External) token number corresponding to the
    2712             :    (internal) symbol number NUM (which must be that of a token).  */
    2713             : static const yytype_int16 yytoknum[] =
    2714             : {
    2715             :        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
    2716             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
    2717             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
    2718             :      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
    2719             :      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
    2720             :      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
    2721             :      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
    2722             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
    2723             :      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
    2724             :      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
    2725             :      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
    2726             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
    2727             :      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
    2728             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
    2729             :      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
    2730             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
    2731             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
    2732             :      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
    2733             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
    2734             :      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
    2735             :      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
    2736             :      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
    2737             :      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
    2738             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
    2739             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
    2740             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
    2741             :      515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
    2742             :      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
    2743             :      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
    2744             :      545,   546,   547,   548,   549,   550,   551,   552,   553,   554,
    2745             :      555,   556,   557,   558,   559,   560,   561,   562,   563,   564,
    2746             :      565,   566,   567,   568,   569,   570,   571,   572,   573,   574,
    2747             :      575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
    2748             :      585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
    2749             :      595,   596,   597,   598,   599,   600,   601,   602,   603,   604,
    2750             :      605,   606,   607,   608,   609,   610,   611,   612,   613,   614,
    2751             :      615,   616,   617,   618,   619,   620,   621,   622,   623,   624,
    2752             :      625,   626,   627,   628,   629,   630,   631,   632,   633,   634,
    2753             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
    2754             :      645,   646,   647,   648,   649,   650,   651,   652,   653,   654,
    2755             :      655,   656,   657,   658,   659,   660,   661,   662,   663,   664,
    2756             :      665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
    2757             :      675,   676,   677,   678,   679,   680,   681,   682,   683,   684,
    2758             :      685,   686,   687,   688,   689,   690,   691,   692,   693,   694,
    2759             :      695,   696,   697,   698,   699,   700,   701,   702,   703,   704,
    2760             :      705,   706,   707,   708,   709,   710,   711,   712,   713,   714,
    2761             :      715,   716,   717,   718,   719,   720,   721,   722,   723,   724,
    2762             :      725,   726,   727,   728,   729,   730,   731,   732,   733,   734,
    2763             :      735,   736,   737,   738,   739,   740,   741,   742,   743,   744,
    2764             :      745,   746,   747,   748,   749,   750,   751,   752,   753,   754,
    2765             :      755,   756,   757,   758,   759,   760,   761,   762,   763,   764,
    2766             :      765,   766,   767,   768,   769,   770,   771,   772,   773,   774,
    2767             :      775,   776,   777,   778,    60,    62,    61,    43,    45,    42,
    2768             :       47,    37,    94,   779,    91,    93,    40,    41,    46,    59,
    2769             :       44,    58
    2770             : };
    2771             : #endif
    2772             : 
    2773             : #define YYPACT_NINF (-5959)
    2774             : 
    2775             : #define yypact_value_is_default(Yyn) \
    2776             :   ((Yyn) == YYPACT_NINF)
    2777             : 
    2778             : #define YYTABLE_NINF (-3001)
    2779             : 
    2780             : #define yytable_value_is_error(Yyn) \
    2781             :   ((Yyn) == YYTABLE_NINF)
    2782             : 
    2783             :   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    2784             :      STATE-NUM.  */
    2785             : static const int yypact[] =
    2786             : {
    2787             :     8961,  1858, 19990, -5959, -5959,  1858, 73605, -5959, 83314,  1457,
    2788             :      224,  1407,   226, 19802, 83825, 94556,   672,  1269, 20652,  1858,
    2789             :    94556,  3182, 63895, 79226,  1121, 94556,  1280,  1068, 63895, 94556,
    2790             :    95067,  1194,  1453,  1010, 95578, 84336, 78204,  1470, 94556,  1571,
    2791             :      423, 96089, 84847,  1419, 85358,  1068, 58796,   460,  1436, 96600,
    2792             :    94556,121555,   423, 85869, 85869, 85869,  2367,  1965,  1722, -5959,
    2793             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2794             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2795             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2796             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2797             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2798             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2799             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2800             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2801             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2802             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2803             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2804             :    -5959, -5959, -5959, -5959, -5959,  1475, -5959, -5959, -5959, -5959,
    2805             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959,  2358, -5959,  1083,
    2806             :     2881,    63,  1268,  1712, -5959, -5959,  2263, 73605, 94556, 94556,
    2807             :    94556,  1964, 94556,  1978, 94556,   944, 73605, 70028, 86380,  2171,
    2808             :     2045, 54592, 97111, -5959, 73605, 94556, 67473, 73605, 94556, 94556,
    2809             :    97622, 94556, 98133, 94556,  2020, 81781, 94556,  2142, 94556, 94556,
    2810             :    67984, 98644,  2300,  1625,   282, -5959, -5959, -5959, -5959, -5959,
    2811             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2812             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2813             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2814             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2815             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2816             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2817             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2818             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2819             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2820             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2821             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2822             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2823             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2824             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2825             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2826             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2827             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2828             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2829             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2830             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2831             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2832             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2833             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2834             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2835             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2836             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2837             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2838             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2839             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2840             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2841             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2842             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2843             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2844             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2845             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2846             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2847             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2848             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2849             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2850             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2851             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2852             :    -5959, -5959,  2014,  2047, -5959,   327, -5959, -5959, -5959, -5959,
    2853             :    -5959, -5959, -5959, -5959, -5959, 64406, 94556, 20975,  1280,  2263,
    2854             :    -5959,  2367, 94556,  2284, 94556,  2048, 99155, 94556, -5959, 94556,
    2855             :     2202, 99666,   975,  2152, 70028,  2188, 55122,  2237, 94556, 94556,
    2856             :    70028,100177,100688,101199, 94556, 94556, -5959, -5959,  2256, 94556,
    2857             :    -5959,  2398, 70539,  1274,  2413,  2602,  2508,  1366, -5959, 86891,
    2858             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, 73094,  1269,
    2859             :    -5959, -5959,  2424, 74116,  2575, -5959, -5959,101710,122052,  2297,
    2860             :    -5959,  1004, 74627, 71050,  2696,  2307, 55652,  2719, -5959, 75138,
    2861             :    -5959, 71561, 75649, -5959, -5959, -5959, -5959, -5959,102221, -5959,
    2862             :   102732,  2407,  2575, -5959,122549, 72072, -5959,  2577,103243,103754,
    2863             :   104265,  2263,  2335,  1510,  2031, 48863, -5959, -5959, -5959,  2352,
    2864             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,   389,
    2865             :      326,   312,   271,   319, -5959, -5959,   277,   278,   289,   389,
    2866             :     2857,  2857, -5959, 94556, -5959, -5959,   326,    90,  2527,  2342,
    2867             :     2342,  2342,  2618,  1593, -5959,  2342,  2549, -5959, -5959, -5959,
    2868             :    -5959, 85358, -5959,  2345,  1280,  2409,  2908,  2501, 64406,  1308,
    2869             :    94556, -5959, -5959,  2925,  2479,  2752,  2493, -5959, -5959, -5959,
    2870             :     2687,  2764,   169,   871,  1280,   310, -5959,  2834, -5959,  2768,
    2871             :    33648, 33648,  1280, 87402,104776,   345, 73094,  1280, 87913,  2568,
    2872             :     1513,  2751, -5959, -5959, -5959,   937, -5959,  3043,  2585,  2895,
    2873             :     2493,  1625, 50931, -5959, -5959,  2612,  2047, 85358, -5959, -5959,
    2874             :    -5959, 64406,  2951, 36822, 94556,  2615, -5959,  2630,  2615, -5959,
    2875             :    -5959,  2684, -5959,  2684,  2684,  2635,  2635,  2841,  2677, -5959,
    2876             :    -5959, -5959, -5959,  2053,  2684,  2635, -5959,123543, -5959,  2010,
    2877             :     2024, -5959, -5959,  3170, -5959, -5959, -5959, -5959, -5959, -5959,
    2878             :    -5959, -5959,  2683, -5959,  1393, -5959,  1909, -5959, -5959, -5959,
    2879             :    33648, -5959, -5959, -5959, -5959, -5959, -5959, -5959,  2693,  2712,
    2880             :       63, -5959, 11831, 64406, 94556,   459,   459,  3185,   459,  1956,
    2881             :     2041, -5959,  2992, -5959,  3087,  3053,  3060, 85358,  2758,  1159,
    2882             :    -5959,  1828,  2767,  1901,  2771,  1944,   293, -5959,  1378, 94556,
    2883             :      451,  2817, 88424,  5797,  2779,  2047,  2783, -5959, -5959, -5959,
    2884             :    -5959,  2955,  1170, -5959, -5959, -5959, -5959,  3126,  3177,  5147,
    2885             :      321, 88935, -5959, -5959, -5959, -5959, 94556, 94556, -5959, -5959,
    2886             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959,  2801,   156, -5959,
    2887             :    -5959,  2803,  3187,  3038,  6479,   322,  3148,  2983,  1427,  8373,
    2888             :     3044,   162,  3197,  7631,  1394,  3199,  1971,  3537, 89446, 94556,
    2889             :     3156,  3201,  8527,  1994,  1003,  3051,   347,  3148,  3189,  2996,
    2890             :     1427,  3208,  6085, 94556, -5959,  3116,  3246,   931, -5959,   386,
    2891             :    -5959, 26297, 36822, 58285, -5959,  2047, -5959,   -26, -5959, -5959,
    2892             :    63384, -5959,  2896,  3061,  1110, 73605,  2835, 94556, 94556, -5959,
    2893             :   121555, 73605, -5959,  3071, 56182, 73605, -5959, 73605, -5959, -5959,
    2894             :     3203,121555, 94556, 94556, -5959, 94556, -5959, -5959,  2838, -5959,
    2895             :    -5959, -5959, -5959, -5959,  2342, 94556,  3305,121555,  3086,   442,
    2896             :     1985,  3341, 94556,  3089,  1985,  2885,105287, -5959, -5959,  1985,
    2897             :    -5959, -5959, -5959, 94556, 94556,  2847,  1713,  3076,   861,  1985,
    2898             :     3094,  3340,  3342,  3100,  2936,  3105,  2630, -5959,  3307,  3075,
    2899             :     1180,   244,  2312,  1985,  2917,105798,106309, 94556,  2918, 94556,
    2900             :     3319, 73605,  2953, 73605, 73605, 94556,  3238, 94556, -5959,  3064,
    2901             :    -5959, -5959,  1558, -5959, -5959, -5959, -5959, -5959,  3257, -5959,
    2902             :      227,  3259,  2882,  3262,  1953,  3266,   241, -5959, -5959,  2928,
    2903             :    -5959,  3269,   364, -5959,  3271, -5959,  2887,106820, -5959,107331,
    2904             :   107842,  3272,   366, -5959, 70028,  3275,   364,  3276,  2887,  3278,
    2905             :      364,  3279,  1076,  3280, -5959,  1188,  3268,  3283,   241,  3285,
    2906             :     2314,  2887, -5959,  3286,   369, -5959,  3287,   373, -5959,  3289,
    2907             :     3139, -5959, 36822, -5959,  3012, -5959,  1436,  2108,  2031,   326,
    2908             :    -5959, 94556,   326, 94556,   326, 94556,   326, 94556,   326, 94556,
    2909             :    94556, 94556,   326, -5959, -5959, -5959, 94556,  2913, 94556, -5959,
    2910             :    94556, -5959, -5959, -5959, 80248, 70028, 80759, -5959, 94556, -5959,
    2911             :      827,  1280, -5959, -5959,121555,  3412, 70028,  3319,  2114, -5959,
    2912             :    -5959,  3319, -5959, -5959,  3319,  3319, -5959, -5959, -5959,  3202,
    2913             :    94556,  3281, 80248, 70028,  3284, -5959,108353, -5959, 73094,  3149,
    2914             :     2923, -5959, -5959, -5959, -5959, -5959,  2206,  3454,   261,  3457,
    2915             :    36822,  2930,   261,   261,  2931,  3293, -5959, -5959, -5959,   338,
    2916             :     2934,  2944, -5959,   262,   262, -5959,  2945,  2947, -5959,   286,
    2917             :     2950,  2952,  3481,  3487,   308,   309,  2959,  2960,  2962,  2963,
    2918             :     2966,  2967,  2970,  2972,  2973,  2974,  2978,  2979,  2980,  2053,
    2919             :      261,  2982, 36822, -5959,  2984,   262,  2986,  2989,  2995,  3522,
    2920             :     2997, -5959,  3528,  2999, -5959,   352,   358,  3001,  3002, -5959,
    2921             :     3233, -5959,   314,  3004,  3006,  3011,  3013,  3015,  3025,  3027,
    2922             :     3030, 36822, 36822, 36822, -5959, 30998,  2047,  1280, -5959, -5959,
    2923             :    -5959, -5959, -5959, -5959, -5959, -5959,   328, -5959, 53002, -5959,
    2924             :     3054, -5959, -5959,  3248, -5959, -5959, 36822, -5959, -5959,  3403,
    2925             :      143, -5959,   343, -5959, -5959, -5959,  2047,  3349,  3032, -5959,
    2926             :    -5959,  1934,  3033, -5959,  1230, -5959, -5959, -5959, -5959, -5959,
    2927             :    -5959, 72583,  3536, -5959,   371,  1280,   386,  2110,  3472, 61851,
    2928             :    62362, -5959, -5959,  3326, -5959, 94556, -5959, -5959,  2047,   260,
    2929             :     2133, -5959,  2352, 19686,  2134,  2615, 94556, 94556,  3541, -5959,
    2930             :     3046, -5959, -5959, 36822, -5959, -5959, -5959,  2857, -5959,  2684,
    2931             :     2684, -5959, -5959,  3544,  3136,  3137,  2857, -5959,  2857, -5959,
    2932             :     3052,  3055,  2857,  3138,  3141,  3142, -5959,  3049,  3144,  2857,
    2933             :    -5959, -5959, 65429,  2222, -5959,  3411,   234, -5959, -5959, -5959,
    2934             :     2141, -5959,  3056, -5959,  2630, -5959, -5959,    63,    63, 36822,
    2935             :       63,  1429,  1314, 34177, 37351,  3426,  3299,   316,  1891,  3433,
    2936             :    -5959,  3303,  1956,  2041, 85358, 94556, 85358,108864,  3205, 36822,
    2937             :    -5959,  3538,  3160,  3161,  3221, 60840, -5959,  3164,  3129,  3167,
    2938             :     3227,  3081,  3171,  3173,  3234, -5959,  3372, -5959, -5959,  3178,
    2939             :     3547,  3180,109375, -5959, -5959,  1233, -5959, -5959, -5959,  1233,
    2940             :    -5959,  3106,   240,  1568,  1497,  3188,   562,  1176,  3542, -5959,
    2941             :     1417, -5959, -5959,  3249, -5959,  6540, 94556,  3483,  6157,  3333,
    2942             :      321,  3247, -5959, -5959, -5959,  3395,  3195, 94556,  3196,  3350,
    2943             :      321,  1873,109886, -5959, -5959, 94556, -5959, -5959, -5959, -5959,
    2944             :     4973,  3518, 29473, -5959,  2080,  3200,  3186,  3211, 94556, 76671,
    2945             :     1215,  3322,  3352,  1904,  2154,   723,  3282, 94556,   332,  3359,
    2946             :    94556,  3128,  3216,  3219,  3475,  3135,   764,  3580,  3134, -5959,
    2947             :    -5959, -5959,  3550, -5959,  2243,  2344,  3355, -5959,  3479,  3530,
    2948             :     9146,  3209,  3217,119567, -5959,  3236,    59, 56712, 94556, 94556,
    2949             :     3241,  3245,110397,  4973,  3569, 81270, 81270,  3251,  3253, 50414,
    2950             :     3584,  2036,  3254, -5959, -5959, -5959,  2036,  3256,  3260,110908,
    2951             :     4973,  3578, 94556,  3264,  3274, 94556,123543,   321, -5959,  3649,
    2952             :      321,   321,  2016,  3652,  3277,   391,  3441,   711,  1985,  3134,
    2953             :     2292, -5959,  3291,  3292,   365, -5959,  3407, 94556,  3294,  3296,
    2954             :     2021,  3368,  1280, -5959,  3369, -5959,  3300,  3373,  3302,    74,
    2955             :     2847, -5959, -5959,  1466,  3288, 85358,  3400,  3401,  3394,   332,
    2956             :      307,  1123,  3413,  3134, -5959,  3308,  3309,  3135,  3135, 94556,
    2957             :    94556, 94556, 94556, 94556,   354,  3701,   381,  3310,   482,  1257,
    2958             :     3212, -5959,  2036, 68495,  3312, -5959,  2036, 94556,   259,  1168,
    2959             :     3134,   173,   154, -5959, -5959, -5959,  1625, -5959, 36822, 36822,
    2960             :    36822,  3226, -5959,  2690, 19686,   909, -5959,   350,  8085,  3213,
    2961             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2962             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2963             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2964             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2965             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2966             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2967             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2968             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    2969             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, 94556, 64406, -5959,
    2970             :    -5959, -5959, -5959, -5959, -5959, -5959, 94556, -5959, 94556,  3532,
    2971             :   121555,  3540,  3459,  3545,  3548,   321, 94556, 94556,  3549,  3551,
    2972             :     3552,121555,  3554,  3556,  3557,  3466,  3339,   215,  3331,  3273,
    2973             :     3753,  3636, 94556, 65429, -5959,  1233, -5959,121555,  3499,  3651,
    2974             :    -5959, 94556,  3520,    89, -5959,  3693,  3343, -5959, -5959,  1490,
    2975             :    94556, 79737,  2847, -5959, -5959,  3657, 70028,  1608,  3658,  1280,
    2976             :     3334,  3661,  3512,  1280, 70028,  3563, 94556, 94556, 94556, 94556,
    2977             :      221, -5959, 68495,  3531, -5959, 94556,  3533,  2292,  3534,  3786,
    2978             :       92,  2342,111419,  3656, -5959,111930,  3295, 94556,  3298,  3298,
    2979             :     3791,121555,  1740,  3587, -5959, -5959,  2281, -5959,  3448, -5959,
    2980             :    73605, -5959, -5959, 73605, -5959, -5959,121555, 94556,  3306,121555,
    2981             :   121555, -5959, -5959, 73605, 73605, -5959, 70028, 70028,  3684,   369,
    2982             :     3686,  3370,  3688,  3374, 56712, 56712, -5959,   390, 73605, -5959,
    2983             :    70028, 73605, -5959, 94556, -5959, 94556, -5959, -5959, -5959, -5959,
    2984             :   121555,121555, -5959, 70028, 68495,  3689, 94556, 94556, -5959, 94556,
    2985             :    94556, -5959, 94556, 94556,  2153,112441,  2031, -5959, 94556, -5959,
    2986             :    94556, -5959, 94556, -5959, 94556, -5959, 94556, -5959, -5959, -5959,
    2987             :    94556, -5959, 94556,  2173, -5959, -5959,  2181,  1604, 94556, 94556,
    2988             :     1034, 73605, 94556,  3546, 94556, 73605, 73605, 94556, 94556, 94556,
    2989             :    94556, 94556,  3402,  3033,   872, -5959,  1396,   718, 85358,  3553,
    2990             :    -5959, -5959,  2195,  2367,  1598, 94556, -5959, 94556, 94556, 94556,
    2991             :    -5959, -5959, 79226,  3675,   144, 80759, 94556, -5959, -5959, 15264,
    2992             :    36822,  2047, 33114, -5959, -5959, 19686,  3364, 36822, 36822,  3318,
    2993             :     2857,  2857, -5959,  1130, 36822, 36822, 36822, 30469, 36822, 36822,
    2994             :    34706, 36822, 36822, 36822, 36822, 36822, 36822,  2857,  2857,  3320,
    2995             :    36822,  6720, 36822, 56712, 36822, 42641, 27367, 36822, 36822, 31527,
    2996             :     1285,  2945, 36822,  3579, 43693, 36822,  2110,  3582, 36822,  2110,
    2997             :     6720,  3843,  3843,  2216,  7290,  3324,  2047, -5959,  2857,   994,
    2998             :    -5959,   480,121555, 36822, 36822, 36822, -5959, -5959, -5959, -5959,
    2999             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3000             :    -5959, 36822, -5959, 65429, -5959, -5959, -5959, -5959, -5959, -5959,
    3001             :      161, -5959, -5959, -5959, -5959, -5959, -5959,  3524, -5959, -5959,
    3002             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3003             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3004             :    -5959, 94556, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3005             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3006             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3007             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3008             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3009             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3010             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3011             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3012             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3013             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3014             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, 32056, -5959,
    3015             :    -5959, -5959, -5959,  3323, -5959, -5959, -5959, -5959, -5959, -5959,
    3016             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3017             :    -5959, -5959, -5959, -5959,  3519, -5959, -5959, -5959, -5959, -5959,
    3018             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3019             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3020             :    -5959, -5959, 32585, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3021             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3022             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3023             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3024             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3025             :    -5959, -5959, -5959, -5959, -5959,  3329, -5959, -5959, 36822, -5959,
    3026             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3027             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3028             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3029             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3030             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3031             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3032             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3033             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3034             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959,  3417, -5959, -5959,
    3035             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3036             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3037             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3038             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3039             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3040             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3041             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3042             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3043             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3044             :    -5959, -5959, -5959, -5959,   323, 36822, 36822, 36822, 36822, 36822,
    3045             :    36822, 36822, 36822, 36822, -5959, 36822,   525, -5959, -5959,  3676,
    3046             :     3403,    50,   488,  3332,  3555, 89957, 33648,  3411, 26297, -5959,
    3047             :      254,  3411, -5959, -5959, -5959, 94556,  3536, -5959, -5959,  3416,
    3048             :    -5959, -5959, -5959, -5959, -5959,   360, -5959, -5959, -5959, -5959,
    3049             :    -5959, -5959, -5959,  3330, -5959, -5959, -5959, -5959,  3330, -5959,
    3050             :     3335,  3677,  3681,  1076, 94556,  2754, 36822,   161,   243, 94556,
    3051             :    36822,  3323,  3519, 36822,  3329, 36822,  3417, -5959, 36822, -5959,
    3052             :     2197,  2146, 36822,  2215,  3344, -5959, -5959,  3345,  3055,  3356,
    3053             :     3367,  3347,  3348,  2857,   273,  3360,   947,  1590,  3488,  2857,
    3054             :     3612,  3361, -5959, 65429, -5959, 45761,  3406, -5959, -5959, -5959,
    3055             :      423, 94556, 94556, -5959,  3679, -5959,  3366, -5959, 12984,  3679,
    3056             :    -5959, -5959, 43167,  3497,  3680,  3607, -5959, -5959, -5959,  3377,
    3057             :    19686, 37880, 37880, -5959,  2299, 19686,  2465, -5959, -5959, -5959,
    3058             :    -5959, -5959, -5959,  1428, -5959, 94556,   167,  3426,  1891,  3447,
    3059             :     1871,  3884,  3449, 94556, -5959, 51448,  2227, -5959, 70028, 94556,
    3060             :    94556,  3608, -5959,  3867, -5959,123543, -5959,  3390, -5959,123046,
    3061             :   118573, -5959, -5959,   906, -5959,  1376, 70028, -5959, 94556, 94556,
    3062             :    70028, 94556, 94556, -5959, 70028,  3443, 94556, 94556, -5959, -5959,
    3063             :    -5959, -5959, -5959, 62873,  1449, 79226,  3539, 78715, -5959, -5959,
    3064             :     3397, 94556,  3633, -5959, -5959,112952, -5959,  3634, 70028, 94556,
    3065             :    94556, 36822,  3638, 94556, 94556, -5959,   682,  3490,  3492, -5959,
    3066             :    94556,  3494, 73605,  3408,121555, 73605, 57242, 73605, 73605,  3774,
    3067             :   121555, 94556, 94556,  1638, 85358,   290,  1239,  3134,  3653, -5959,
    3068             :     1980, -5959, 70028, -5959, 94556,  3640, -5959, -5959, -5959, 90468,
    3069             :     3898,  3543, -5959, -5959, -5959,113463, -5959, -5959,  3641, -5959,
    3070             :     2231, -5959, 70028, 70028, 94556,  9568,  3415,113974, 94556,  1327,
    3071             :     3712,  3666,  3671,  3713,   140, -5959, -5959, -5959,121555, -5959,
    3072             :    94556, 90979, 94556, 94556,  3718, 94556, 82292,114485,114996,   845,
    3073             :      883,  3719, 94556, 82803,  3720, -5959,  3588, 94556, -5959, -5959,
    3074             :    65940, 70028, 94556,   940, 65429, -5959,  3704, -5959, 94556, -5959,
    3075             :      966, -5959, 94556,  7141,  3668, -5959, -5959,  3529,  3558, 94556,
    3076             :      500,  1260,  3134,  3849, 94556, 94556,  3446,  2232, 70028, 94556,
    3077             :    65429, -5959,  3683,  1662, 70028, 94556, 90468, -5959,  3685, -5959,
    3078             :    85358,  3787, -5959,  3456,  2342,  2612,  2015,  3456, 70028, 94556,
    3079             :    -5959,  3456, 94556,104776, -5959, 70028,  1103, -5959, 70028, 94556,
    3080             :    90468, -5959,  3690,  3624, 70028, 94556, 10005, -5959, -5959, -5959,
    3081             :      321, -5959, -5959, -5959, -5959, -5959, 94556, 94556,   321, 94556,
    3082             :    94556,   321,  1336, -5959, 70028, 94556, -5959, -5959, -5959,  3591,
    3083             :    70028, 94556, 94556,   375, 94556, -5959, 94556, 70028,  3506, 94556,
    3084             :    94556, -5959, -5959, 94556, 10317, 94556, 94556,  3464, 94556, 94556,
    3085             :    94556, 94556, 94556, 70028, 94556, -5959, -5959,  1141,  1397,   134,
    3086             :     1972,   179, 94556,  3806, 94556,115507,  1280, 70028, 94556, 94556,
    3087             :     1280, 94556, 65429,  2126, -5959, -5959,  3602, -5959, 70028,  1103,
    3088             :    -5959, 10032, 94556, 94556, 94556,  3560,  3562,   408,  3647, -5959,
    3089             :    -5959, -5959,   939,   939,  3691, -5959, 36822, 36822, 35235,  3469,
    3090             :    -5959, -5959, 36822,  2896, -5959, -5959, -5959,  1139,  3974,  1139,
    3091             :   116018,  1139,  1139,  3789,  3559,  3565,  1139,  1139,  1139,  3775,
    3092             :     1139,  1139,  1139, 94556,  3669, -5959, -5959,  3669,   979, 36822,
    3093             :   121555, 94556, -5959,  2267, -5959,  3493, -5959, -5959, 65429, 94556,
    3094             :      268,   984,  3864,  3724, 77182,  2610,  3851, 94556,  3573, 94556,
    3095             :     3989,  3592,  1723, -5959,  2610, 94556, -5959,  2510, 79226, -5959,
    3096             :    -5959, -5959, -5959, -5959, -5959, -5959, 94556, -5959, -5959,  3855,
    3097             :    94556, 46278,  3678, -5959,  1280,  2847,  2847,  2847,  2847,  3496,
    3098             :     2847, 94556,  3637,  3877,  2610,  3500,  3883, -5959,  2292,  3885,
    3099             :     1342, 94556,  3739, 77182,  3570,  3567,  3751,  4008,  2342,  1280,
    3100             :     3757,  3754, -5959, 61340, -5959,  2847,  4038, 29971,  5645,  6971,
    3101             :     3758,  3827, -5959, -5959,  3769,  1113, 94556,  3880,  3881,  3903,
    3102             :    -5959,   227, -5959,  4037,  1953,  3905,   241, -5959,   364, -5959,
    3103             :     2887, -5959, 94556, -5959, 94556, 94556, 94556, 94556,   366, -5959,
    3104             :    -5959,   364,  2887,   364,  1076, -5959,  3835,   241,  2887,  3682,
    3105             :     3908,   369, -5959,   373, -5959,  3776,  1076, -5959,  3794,  2342,
    3106             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959,  2272, -5959, 94556,
    3107             :    -5959,  3886,  3887,  3888,  3890,  3891,  3568,  3571,  3596, 94556,
    3108             :     3574,  3568,   321,  3577,  3561, -5959,  3574,  3574,  3568,  3033,
    3109             :     3033,  3568,  3571, 69006,  4039, 65429, -5959, -5959,  3648,  3566,
    3110             :     3926,   235, -5959,   270,    76,  3837, -5959, -5959, -5959, -5959,
    3111             :   121555, -5959, 70028,  3627, -5959, -5959, -5959,  3814,  3599, 69006,
    3112             :     1076,   208, -5959, 73605, 94556,121555, 73605,  3826, 73605, 73605,
    3113             :   121555, 94556, 94556,  2285, -5959,  1947, -5959,  2012, 36822,   513,
    3114             :    -5959, 16432,  2295, 36822,  3603,  3604, -5959, -5959, -5959, -5959,
    3115             :    -5959, -5959, -5959,  3609,  3951, -5959,  2301,  2303, 16508,  2315,
    3116             :   121555,  2283,  3631, -5959,  3611,   266,  3836,  3613,  4419,  3670,
    3117             :     2322,  3614,   296, -5959,  4419,   370,  3615,  7887,  3778,  3616,
    3118             :     2326,  3622,  3625, -5959,  4440,  6977,  3626, 16896,  3630,  3628,
    3119             :     3629,  3635, 42641, 42641, 30998,  1157, -5959, 42641,  3642,  3847,
    3120             :     2330, 15796,  3643,  3644, 17303, 35764, 36822, 35764, 35764, 17660,
    3121             :     3646,  3650, -5959,  4040, -5959,  2332, 65429,  3842, 17681,  2336,
    3122             :    -5959, 36822, 65429,  7186, 36822, -5959, 36822,  3654, -5959, -5959,
    3123             :     2487,  2487,  2487,  6720, -5959, -5959,  3665, -5959, 42641, 42641,
    3124             :    -5959,  1793, 30998, -5959, -5959,  4006, -5959, -5959,   740, -5959,
    3125             :    -5959, -5959, -5959, -5959,  3984, -5959, -5959, -5959,  3893,  2315,
    3126             :     3026, 56712, 12790, 36822,   363, 36822,  3323, 36822,  3740,  2487,
    3127             :     2487,  2487,   543,   543,   295,   295,   295,  2331,   488, -5959,
    3128             :    -5959, -5959,  3659,  3660,  3555,  3664, 36822, -5959,  3698, 51965,
    3129             :    -5959,  2373,  2385, 94556,  5460,  6604,  6656, -5959, -5959, -5959,
    3130             :     3406,   909,  3406, -5959,  1625,  2857,   994, 63384, -5959, -5959,
    3131             :    -5959, -5959, -5959, -5959, 94556, 19686, -5959, -5959,  3931,  3672,
    3132             :     2340, -5959, -5959,  2857, -5959, -5959,  2397,  2397,  3667, -5959,
    3133             :     3674, -5959, -5959, -5959, -5959, -5959, -5959, -5959,  3655, -5959,
    3134             :    -5959, -5959,  3692,  3695, 46795,  4024,  3696, 45244, 91490,  3673,
    3135             :     2603, -5959, 91490, 92001, 91490, 91490, -5959,  3687, -5959, -5959,
    3136             :     2047, 36822,  4025, -5959, -5959, -5959, 36822, -5959, -5959,   685,
    3137             :     3694,    94,   946,  2481,  2481,  2299,  1290, -5959, -5959,  3746,
    3138             :    -5959, 36822,  2534, -5959,  2571, -5959, -5959, -5959, -5959,  3033,
    3139             :    -5959,  3958, -5959, -5959, -5959, 45761,  3730,  3741,  1952, 49897,
    3140             :     3914, -5959, 94556, 45761, -5959, 94556,   452, -5959,  3699, -5959,
    3141             :    -5959, -5959, -5959, -5959, -5959,118573,  1909, -5959,123046, -5959,
    3142             :   123046, -5959,  1909,  4168, -5959,118573,  2030, -5959, -5959, -5959,
    3143             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3144             :    70028, 70028,  3935, 94556,  3928,  3937, 36822,  1247, -5959,  4090,
    3145             :     1076, -5959, -5959,  3800, -5959, 19686, -5959, -5959, -5959, -5959,
    3146             :    -5959, 70028, 94556, -5959, 73094, -5959, -5959,121555, -5959, -5959,
    3147             :    94556, 94556, -5959, -5959, -5959,121555, -5959, -5959, -5959, 94556,
    3148             :      191,  3807,  3808, 94556, -5959,   874,  3407, 10370, 94556, 94556,
    3149             :    94556,  4041, -5959, -5959, -5959, -5959,  3962, -5959,  4100, -5959,
    3150             :   118573, -5959,  2887,   914,  3812,  3134, 36822,  3970, -5959,   916,
    3151             :    94556,  3727,  3736,  4116, 94556,  1720,  4068,  3743, -5959,  3852,
    3152             :    -5959,  3874,  1391, -5959, -5959,  3889, -5959, -5959, -5959, -5959,
    3153             :     4123,  1076,  4125,  1076, 94556, 94556, 94556, 94556,  3892, -5959,
    3154             :    -5959, -5959, -5959,  3896,  4035, -5959, 65429, 65429, 65429,  2349,
    3155             :    -5959, -5959,  1280, -5959, -5959, -5959, -5959, -5959, -5959,  4082,
    3156             :    -5959,  2361, -5959,  1987, 92512, -5959, -5959, -5959, -5959, -5959,
    3157             :     4132, 70028, 94556, 10467, 94556, 94556, 94556,  3985,  2017,  1053,
    3158             :   121555, -5959,120064, -5959, -5959,  2362, -5959,  3768, 94556,  3846,
    3159             :    70028,  3822, -5959, -5959, -5959,  4137,  2342,  3909, 81270,  3811,
    3160             :     3811,  2088, -5959, -5959, -5959, -5959, -5959,  4045,  3971, -5959,
    3161             :     1154,  3972, 70028,  3834, -5959, -5959, -5959, -5959,  4148,  3862,
    3162             :    -5959, -5959,  3863,  1261,  3134,  2292, -5959, -5959, -5959, -5959,
    3163             :    -5959, -5959, -5959, -5959, -5959,  3894, -5959, -5959, -5959, -5959,
    3164             :    -5959, -5959,  1843,  1843, -5959, -5959, -5959,  1843,  1529,   551,
    3165             :     1266,  3134, -5959,   378,  1859, 94556,  3865, -5959,  3868, -5959,
    3166             :     4091, -5959, -5959,  4053,  4055,  4060,  3875,  3876,  3936,  3878,
    3167             :     3879,  3941, -5959,  3895,  3943,  3897,  3944,  3900,  4207,  1076,
    3168             :   121555,  4044,  1280,  3934,  4181,  1076, -5959, -5959,  3901, -5959,
    3169             :     3902, -5959,  2384,  4292,  4294, -5959, 94556, -5959,   505,  1275,
    3170             :     3134, -5959,  3904, -5959, 70028, 94556, -5959, -5959, -5959, 36822,
    3171             :     3805,  3810,  3815, 19686, 19686, 36822, -5959, -5959, 19686,  3819,
    3172             :    -5959, -5959, -5959, -5959,121555, -5959, 94556,  4131, -5959, -5959,
    3173             :     1139, 94556, 94556, -5959, -5959, -5959, 94556, -5959, -5959, -5959,
    3174             :     4136, -5959,   529,   529, -5959, -5959,  4167,  8151,  3828,   467,
    3175             :    -5959, 65429, 53532,  2241,   838,  1985, -5959, 73094, 94556, 73094,
    3176             :    -5959,   984,  4051, 94556, 94556, 94556,  3830,  3829, -5959, -5959,
    3177             :    -5959, -5959, 70028,  1057, 70028,  2857, -5959, -5959,  3911, -5959,
    3178             :    94556,  2342,  4368,  4201,  3506, -5959,  4326,  3342,  1608,  1563,
    3179             :      265,  2936,  4263,  2630, 36822,   468, -5959, -5959,  2047, 94556,
    3180             :     3567, -5959, -5959, -5959, -5959,  1280, -5959,  3840,  3838, -5959,
    3181             :    94556,  4208, 94556, 94556, 94556, 94556,  3627,  3844, 94556,  3848,
    3182             :   121555, 94556,  2438,  3135,  4345,  4230,  2367,  3570,  3939,  4233,
    3183             :    85358,  3866,  2390, -5959, -5959,  1113, -5959,  2395,   201, -5959,
    3184             :     1280, 73094,119070,  4220, -5959,   997,  6971, -5959, -5959,   997,
    3185             :     1106, 94556, -5959, -5959, -5959, -5959,  4094,  2319, -5959,  4209,
    3186             :    -5959, -5959,  2367, -5959,121555,  3861, -5959,  2401, -5959, -5959,
    3187             :    -5959,   369,  3925,  1076,  3927,  1076, -5959, -5959, -5959, -5959,
    3188             :    94556, -5959, 94556, 68495, -5959, -5959, 94556, -5959,  4243, -5959,
    3189             :    -5959,  4012,  4013,  4014,  4015,  4016, 94556,  3568, -5959,  3869,
    3190             :    94556, 94556, 70028,  1866, -5959, -5959, 70028,   490, -5959,  1150,
    3191             :    -5959, 85358,  4007, -5959, -5959, -5959, -5959,  4255,  4257, -5959,
    3192             :    -5959, -5959,  1439, -5959, 80248,   493, -5959, 70028,  4190,  4192,
    3193             :     4194,  4195,   321,  4196,  4197,  4198,  4199,  4202, -5959, -5959,
    3194             :    -5959,  3899, 17930, 36822, -5959,  4278,121555, -5959,  8256, -5959,
    3195             :    -5959, -5959, 36822, -5959, -5959,  4203, -5959, -5959,  3960,  3963,
    3196             :     3906,  3631,  3778, -5959,  4126,  4127, 36822,  3778,  4382,  1186,
    3197             :    36822, 36822, 36822, -5959, -5959,  4138,  4139, 36822,  2315,  2315,
    3198             :    36822, -5959,  3907, 36822, -5959, -5959, -5959, -5959,  2444, 36822,
    3199             :    -5959, 36822, -5959, -5959, 27902,  4432,  4432,  3915,121555, 42641,
    3200             :    42641, 42641, 42641,  1642,  2986, 42641, 42641, 42641, 42641, 42641,
    3201             :    42641, 42641, 42641, 42641, 42641,   626, -5959,  4128, 36822, 36822,
    3202             :    36293, -5959, -5959,121555,  3912,  3646,  3919,  3923, 36822, -5959,
    3203             :    -5959, -5959,  2415, 44210,  3924, 65429, -5959, 36822, 15338,  2425,
    3204             :     3966, 18021,  2047,  8744,  1280, 36822,  1356,  2381, 36822,  2434,
    3205             :    36822, -5959, -5959, -5959, -5959,  4285, -5959, -5959, -5959, -5959,
    3206             :    -5959, -5959,  4174,  2315, -5959, -5959, 36822,  3929,  3255, 42641,
    3207             :    42641,  3363, -5959,  3452, 36822, 30998, -5959,  3691, -5959, 28437,
    3208             :     3930, 36822,118062, -5959, -5959,  1068,  1068,  1068,  1068, -5959,
    3209             :    94556, 94556, 94556,  4025,  3932,  4025,   386,  3940, -5959, -5959,
    3210             :    -5959, -5959,  2367, -5959,  3933, -5959, -5959, -5959, -5959, -5959,
    3211             :    36822, 91490, 92001, 91490, 91490,  3938, 44727, 28955,  2603,  3942,
    3212             :    94556, -5959, -5959,  3945, 45761,  4236,  4149, -5959, 45761,  4149,
    3213             :     1993,  4149,  4245,  4046, 52482, -5959, -5959,  3950, -5959, -5959,
    3214             :     4158, -5959,  2080, 19686,  4417,  4288, -5959,  3952, -5959,  3694,
    3215             :     1099, -5959, -5959, -5959,  1316, -5959,  4043, -5959, -5959, -5959,
    3216             :     3673, 38409,  4111, -5959, -5959, -5959,  4011,  2435, -5959, -5959,
    3217             :     4401,  4111, -5959,  3045, -5959,  2456, 51448,  3730, 36822,  2047,
    3218             :     2460,  2070, -5959, -5959,118573, -5959,  4036,  2887,  2887,  1577,
    3219             :     3568,  4327,  1577,  9295, -5959,  1806, 94556, -5959, 94556, -5959,
    3220             :    -5959, -5959,  4461,  4026,  4027,  4259, -5959,  2771, -5959, -5959,
    3221             :    70028, 94556, -5959, -5959, -5959,   523,  1353,  3134, -5959,  4054,
    3222             :    -5959, -5959,  4290, 94556, -5959,  4447,  4069, 94556,  9359,  4352,
    3223             :     4042, -5959, -5959, 47312, 94556, 94556, -5959, 94556, -5959, 94556,
    3224             :    94556,  1806, 93023, -5959,  4425,  1806,  4092,  4331,  2039,  3135,
    3225             :      391,  5009, -5959,  2040, -5959, -5959,  4056, -5959, 94556, -5959,
    3226             :    94556, -5959, -5959, -5959, -5959, -5959, -5959, -5959,  4119, -5959,
    3227             :    -5959, -5959, -5959, 65940, -5959, -5959, 94556, -5959, 65429, 53532,
    3228             :    65429, -5959, -5959, -5959, 94556, -5959,  1732,   544,  1369,  3134,
    3229             :    -5959,  4070, -5959,  4357,  4074,  4075,  4135,   218,   279,  4078,
    3230             :     4079,  4140,  3995,  3996,  3997, -5959, 65429, 54062,  4169, 94556,
    3231             :     2887,  4000,  4047, 94556,  3811, 93534, -5959,  4002, -5959, -5959,
    3232             :     3811,   389,  1280, -5959, -5959,  1280,  2887,  1280, 94556, 94556,
    3233             :    94556, 94556,   375, -5959, -5959, -5959,  4480,  4102, 94556, 94556,
    3234             :    94556, 94556, -5959,  4062, -5959, -5959, -5959,  2466, 94556, 94556,
    3235             :     4010,  4377,  1009,  2317, 70028, 94556, 94556, 70028, 94556, 94556,
    3236             :    94556, 94556, 94556, 94556, 94556,  4239, -5959,  4471,  4393,  2495,
    3237             :     4438,  4095, 94556, -5959, 94556,  1280, -5959,  3407, 94556, 94556,
    3238             :    94556, 94556, -5959, -5959, -5959, -5959, -5959,  3691, -5959,  4018,
    3239             :     4329,  1139, -5959,  4332,  4333,  4335,  1139, -5959, -5959,  1985,
    3240             :    -5959,   572, 94556, -5959,  2451, 94556, -5959, -5959, -5959,  3952,
    3241             :     2243,  2344, -5959, -5959, -5959, -5959, -5959, -5959,  4028, 94556,
    3242             :    94556, 42641, -5959,  1969,  2025,  1569, -5959,  4320, 94556,  3233,
    3243             :    -5959, -5959, -5959,   255, 94556, -5959, -5959, -5959, -5959,  4029,
    3244             :    -5959,   773,  3844, -5959,  4353, 77182,  2887, 70028, 70028,  2887,
    3245             :    -5959,121555,  4030,  3567, -5959,  1075,  4112, -5959, 70028,  1608,
    3246             :   116529,  3334,  4066,  4260,  9902, 45761, 46278,  1843, -5959,  4033,
    3247             :     4031, -5959, -5959, 94556,  4051, 68495,  2467,  2292,  4529,  1372,
    3248             :     2335, -5959, 77693,  4244,  3844,  4353, -5959,  3135,  4267,  4266,
    3249             :    -5959,  2367, 94556,  3627,  3567,  1280, 94556,  4042, 53532, -5959,
    3250             :     4572,  2327, -5959,118573, 36822, 36822, -5959,  4052, -5959,  4049,
    3251             :     6971, -5959,  4117,  4058,  4533, 36822, -5959, -5959, -5959, -5959,
    3252             :    -5959, -5959, -5959, -5959,  4129,  4050, 94556, 94556,  1113, 94556,
    3253             :    -5959,  4057,  3905, -5959,  3905, -5959, 94556, -5959, 94556, -5959,
    3254             :     1076, -5959,  4183,  1076, 94556, 94556, 94556, 94556, 94556, 94556,
    3255             :     3568,   321,  3561, -5959, -5959,  4404, 69006,  4409, -5959, 65429,
    3256             :    -5959, -5959, -5959, -5959, -5959,  2488, 94556, -5959, -5959, -5959,
    3257             :     4482,  4424,  1076,   144,  1162,  1162,  1162,  1162,  4372,  1162,
    3258             :     1162,  1162,  1162,  1162, -5959, 36822, 19686, -5959,  4065, -5959,
    3259             :    19686,  4458,  4363,  4364, -5959, -5959,  4071,  4310,  4312, -5959,
    3260             :     4073, 36822,  3778, 18105, -5959, -5959,  4314,  4315, -5959,  3778,
    3261             :     3778, 18105, -5959, 18105,  4076,  9938, 18521, -5959,  2490, 36822,
    3262             :    -5959,   555,   555,   555,  3526,  4437, -5959,  2707,   555,   555,
    3263             :      555,   492,   492,   325,   325,   325,  4432,   626, 18566, 18692,
    3264             :    19092,  4080, -5959, -5959, -5959,  3646, -5959, 38938,    99,  4559,
    3265             :    43693, -5959, -5959, -5959,  4130,  4133,  4085, -5959, 36822, 39467,
    3266             :     4083,123543,  4299, -5959,  2225, 36822, 36822,  4172, -5959, 15842,
    3267             :    36822, -5959, -5959,  4172,   554, 36822,  3207,  3270, 36822, 36822,
    3268             :     4330, 10981,  4088, -5959,  2492, 36822, 11173,  4297, -5959, 94556,
    3269             :    94556, 94556, 94556, -5959, -5959, -5959,  4288,  1280,  4288,  1280,
    3270             :     4093, -5959,  4097, -5959, -5959, -5959, -5959, 66451,  4096,  3842,
    3271             :    91490,  4098, 94556,  2603, 45761, -5959, -5959,  3242, -5959, 45761,
    3272             :     4406, -5959, 45761, 73605, -5959, 94556,  4099, 94556, -5959,   459,
    3273             :    36822,  4146, 56712, -5959, -5959, -5959, -5959,  4185, -5959,  4340,
    3274             :    19686, 33648, -5959,  2367,  2443, 94556,  2047,   804, -5959, 36822,
    3275             :     4121, 94556, -5959,  4111, 19686, -5959,  4186,  2498, -5959, -5959,
    3276             :    -5959, -5959, -5959, -5959, -5959,  4200, 79226,  4475, -5959, -5959,
    3277             :     2117,  4446,   424, -5959,  1076, -5959,121555, 94556, 94556, 94556,
    3278             :     3081, -5959, -5959, 94556, 94556, 94556, 94556, -5959, -5959, 70028,
    3279             :    94556, -5959, -5959, 94556, 36822,  2500, -5959,  4155,  4577,   231,
    3280             :     4118, -5959,  1806,  1884,  1806, -5959,  1884, -5959, -5959, 94045,
    3281             :    -5959,  4051,   375,  1969,  4464,  4465,  4365, -5959,   321, -5959,
    3282             :     4623,  1969,  4366,   375, -5959, -5959, -5959, -5959,  1545, -5959,
    3283             :   121555,  1076,  1076, -5959, -5959, -5959, -5959, -5959,  4141, -5959,
    3284             :     4607,  4231, 94556, 94556, 94556, 94556, 94556, 70028, 94556, 94556,
    3285             :     2857,  2857,121555,  4142, -5959,  2857,  2857,  4143, -5959, 70028,
    3286             :    94556, 94556, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3287             :    -5959, -5959, -5959,  4223, -5959, 36822,  4597, -5959, -5959, -5959,
    3288             :    -5959, -5959, 36822, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3289             :    -5959, -5959, -5959, 70028, 94556,  4224, -5959,  4226, -5959,  1062,
    3290             :     4456, -5959, -5959,  4350, 94556, 94556, 94556, 94556,  4523, -5959,
    3291             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3292             :     4521, 94556, -5959, -5959,  1280,  1280,121555,  1076,  1076, -5959,
    3293             :    -5959, -5959,  4235, -5959, -5959,  4151,  4466,  1139, -5959,  1139,
    3294             :     1139,  1139, -5959,  4153, -5959,  1985,  4558, -5959,  1806,  2192,
    3295             :     4514, -5959, 36822, -5959,   287,  3526, -5959,  4574,  4657, -5959,
    3296             :    -5959, -5959,  4408,  3506,  2342,  3506, -5959, -5959, 73605,  1465,
    3297             :    -5959,  4496,   268, 65429,  4396, 77182,   378,  2199,  4170,  4305,
    3298             :    -5959,  2887,  2887,  4237, 94556,  4669, -5959, -5959, -5959, -5959,
    3299             :    -5959, -5959, 70028,  3822, -5959,  4418,  1565,  4539, 94556, 46278,
    3300             :    -5959,  3673, -5959, -5959, -5959,  1280, -5959, -5959,  4313,  3567,
    3301             :    -5959,  1941, 94556,  4413, 77182,  3627,  2504, -5959, -5959, -5959,
    3302             :     4225,  4658,  3570, -5959,   378,  4244, -5959, -5959,  4632,  4280,
    3303             :     4227,  4683, -5959,  4280,  4545,  4415,  4188, -5959,  3866, -5959,
    3304             :    94556, -5959, 19686, 19686,  1280,124040,   997,121555,  4555, -5959,
    3305             :    19686, 94556,   953,  4187,  4367, -5959,  4517,  1076,  2505, -5959,
    3306             :     1076,  1076, -5959, 94556, -5959,  3568,  3568,  3568,  3568,  3568,
    3307             :    -5959,  4420, -5959, -5959, -5959, -5959,  4511, -5959, 69006, -5959,
    3308             :     1076, -5959, -5959, -5959, -5959, -5959, -5959,  1162, -5959, -5959,
    3309             :    -5959, -5959, -5959, 19686, -5959, 94556, -5959, -5959, -5959, -5959,
    3310             :    -5959, -5959,  3366,  4205, 36822,  1451, -5959, -5959,  4210,  4211,
    3311             :     3778,  3778, -5959, -5959, 36822, -5959, 11535, 42641,  4560, -5959,
    3312             :    36822, 36822, 36822, -5959,  4213,  2511,  2517, -5959, -5959,    99,
    3313             :    -5959,  4559, -5959, -5959, -5959, 11927,  4265, 19686,  4318,  4215,
    3314             :      269,  4172,  4172, 15842,  4172, 36822, 36822,  4172,  4172, 36822,
    3315             :    -5959, -5959, -5959, 12091, -5959,  4680,  3691, -5959, -5959, -5959,
    3316             :    -5959,  4146, -5959,  4146, -5959,  4370, 36822, -5959,  2519,  4707,
    3317             :    41583,  4675, -5959, 94556,  2523, -5959, 36822,  4221, -5959, -5959,
    3318             :    45761,  3242,  4228,  2524, 94556,  2529,121555, 39996, 19686, 94556,
    3319             :     3691,  4222, -5959, 94556,  3032, -5959,  1952, -5959, -5959,  4668,
    3320             :    47312,  4625, 19137, 36822, -5959, -5959, -5959, -5959, 69006,  4457,
    3321             :    69006,  1806, -5959, -5959, -5959, -5959, -5959, -5959,  4229, -5959,
    3322             :    -5959, -5959, -5959,  4319, -5959, -5959,   748,  3553,  1806, -5959,
    3323             :    12173,  4565, 47312, 57772, 94556, -5959, 94556, -5959,117040,  4232,
    3324             :     4450,  4238,  4240, -5959, -5959, -5959, -5959,  4734,  4616,  4619,
    3325             :    -5959, -5959,  4248, -5959, -5959, -5959,  4471, -5959, -5959, 53532,
    3326             :    70028, 94556, -5959,  4336, -5959, -5959, -5959, -5959, -5959, -5959,
    3327             :    49380, 56712, -5959,   218,  4251,  4252,   279, -5959, -5959, -5959,
    3328             :    94556, 12715,  4256, 12759,  1322,  3553, 94556, 94556,  4261,  4262,
    3329             :     4264, 94556, 94556,  2530, -5959,  1863,  1446,  1997,  3568,  4608,
    3330             :    94556, -5959, -5959, -5959,  4471, -5959, -5959, 94556, -5959,  1139,
    3331             :    -5959, -5959, -5959, -5959, 65429, -5959,  1681,  4153,  1280, 73605,
    3332             :     4742,  4742, 13704,  4484, -5959, -5959,   185,  4583, -5959,  4321,
    3333             :     4532,  4321,  4268, 94556,   255,  4269,  2540, -5959, 94556,  4270,
    3334             :     4410,  2526,  2526, 94556, 94556, 94556,  2550,  2367,  2887,  4047,
    3335             :     1608,  4636, 77182,  4688,  4051,   470, -5959, 94556,  4768, 94556,
    3336             :     3627,  3844, 94556,  4271, -5959, -5959, 77693,  4499,  2241, 94556,
    3337             :     2438,  4244,  3570,  1502, 94556, -5959,  1518, -5959,  2367, -5959,
    3338             :    94556, 85358, 47312,  4635, -5959,123046, -5959,  2552, -5959, -5959,
    3339             :    -5959,  4358, 20490,  3406,  4403,  4405,  4283,  2209,  4651, 94556,
    3340             :      142, -5959, -5959, -5959, -5959, -5959, -5959, 94556,   493, -5959,
    3341             :    -5959, -5959, -5959,  4284, -5959,  4785, 36822,  1097, -5959, -5959,
    3342             :    -5959, -5959, -5959,  4518, -5959,  4291, -5959, -5959,  2654,  1451,
    3343             :    19375, -5959,  4376, 42641, 19686, 19686, 19686, 36822, -5959, 36822,
    3344             :    -5959, -5959, -5959, -5959,   985, -5959, -5959,  4620,  4293,  4172,
    3345             :     4172,  4172, -5959, 36822,   216, -5959, -5959,  1767,  4717, 19517,
    3346             :     3687, 66451,  4296, -5959, 42641,  2556, -5959,  3383, 94556,  2560,
    3347             :    -5959, 19686, 94556, -5959, -5959, 36822, -5959,  2562, -5959,  4300,
    3348             :      821,  4301, 26832,  4295, -5959, -5959, -5959, -5959, -5959, 19686,
    3349             :     4302, -5959,  4795,  1891, -5959, -5959,  4360, 94556,  2566, -5959,
    3350             :      150,  1834,    71, -5959,  4806,  4806, 19686,  1866,  1577,   419,
    3351             :    -5959, 94556,  4411, -5959,  4577,  4308,  3506, -5959,  4316, -5959,
    3352             :    -5959,  1837,  3135, 94556,  4491, -5959,  4565,  4565,  2241,  4661,
    3353             :    -5959, -5959, 36822,  4389, -5959,  1325,  3553, 94556,121555, -5959,
    3354             :      396,  4693, -5959,121555,121555, -5959, -5959, -5959, 36822, -5959,
    3355             :     4427, -5959, -5959, -5959, 36822, 36822, 76160, -5959,   378, -5959,
    3356             :     4350, -5959, -5959, 94556, 94556, 94556, 94556, 94556, -5959,  1076,
    3357             :    -5959, -5959,  2570, -5959, 48346, -5959, -5959,  3341,  1280,  3341,
    3358             :     2073, -5959, -5959,  3341,  3341, -5959,  3406, -5959,  4742,  1444,
    3359             :    -5959, -5959,  4408,  4334, 36822, -5959,  4662, -5959,  1246,  4564,
    3360             :    -5959,  4339, -5959, 73605,  4871, -5959, 65429,  3844,  4353, 94556,
    3361             :    -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    3362             :    -5959, -5959,  2574,  4051,  4714,  3567,  4227, -5959, 94556,  4383,
    3363             :    -5959, 45761,  4051,  2367,  2335, -5959,  4244,  3844,  4353, -5959,
    3364             :    -5959,  4343,  4266,  3570,  2438,  4495, -5959,  4497, -5959,  4810,
    3365             :     4573,  4813,  3627, -5959,  4042,  2586, 94556, -5959, -5959,  6971,
    3366             :   124040,121555, -5959, -5959, -5959,  4347,  4752,  4398,  4399, -5959,
    3367             :    -5959, -5959,  2209, -5959,   100,  4753,  4407, -5959,  4421, 94556,
    3368             :    -5959, -5959,  4051,  1076, 36822, 65429, 19686, -5959, -5959,  4749,
    3369             :    -5959,   274,   292,   238,  4601,  4374, 36822,  4376,  2588,  2592,
    3370             :     4433, -5959, -5959, -5959,  3646, 40525, 40525, 40525,  4378,  4745,
    3371             :     4746, 94556, -5959, 94556,  4585, -5959, -5959, 94556,  3526,  4379,
    3372             :    41583, 65429,  2598, -5959,120561, -5959,  2600,  2606, -5959, 36822,
    3373             :     4384, 36822, -5959, 39996, 94556,  4385,  3426,  2367, -5959,  3406,
    3374             :    47312, -5959,  4519, -5959,  4659, -5959, -5959, 36822,  4478,  4481,
    3375             :    -5959,  4750, -5959, -5959, 94556, -5959, 94556,  4321, 56712,  3694,
    3376             :     1837, -5959, 94556,  3506,  3506,  4334, 13754, 36822, -5959,  4489,
    3377             :    -5959, -5959,  2613,  1833,  4570,  4570,  2614,  2622, 13806, 94556,
    3378             :     2624,  2628, -5959,  2640,  2857, -5959, -5959,  3571,  1997,  3571,
    3379             :    -5959,  3568, -5959, -5959, 65429, -5959, -5959, 69517, -5959, -5959,
    3380             :    -5959,  1280, -5959,  1280,  4633, 59307, 59818,  1280,  1280, -5959,
    3381             :    -5959, -5959, -5959, -5959,  2292, -5959, 13859,  4492, -5959, -5959,
    3382             :    -5959,   582, -5959,  4627,  4628, -5959,  4402, -5959,  2641, -5959,
    3383             :      378,  4537,  4051, -5959, -5959, 94556,  4901,  4902, -5959,  1654,
    3384             :    94556,  3673, -5959,  4227,  3627,  3570,   378,  4244,  2241, 47829,
    3385             :     4280,  2438,  4266, -5959, -5959,  4630, -5959,  4631, -5959,  4416,
    3386             :     4754, -5959,  1814,   997, -5959, -5959, -5959,   392,  4775,  4778,
    3387             :    -5959, -5959, -5959,  3341, -5959,  1854,  4422,  4803, -5959, -5959,
    3388             :    -5959, -5959, -5959, -5959, -5959,  4476,   299,   346, -5959,  4479,
    3389             :    -5959,  4609,  4621,  1451,  2391, -5959, 19686, -5959, -5959, -5959,
    3390             :    42112,  4576,  1440, 16262,  4809, -5959,  4809,  4809, -5959,  4919,
    3391             :     4920,  1395, -5959,  4900,  2646, 43693, -5959, -5959, -5959, 94556,
    3392             :     4673,  1312,  4945,  4615,  2647, 39996,  2652, -5959, -5959, -5959,
    3393             :    -5959, -5959, -5959, -5959, 51448,  4932, 19686,  1023,  1984, 69006,
    3394             :     3553,  2662,  3811,  4455, -5959,  3694,  4468,  4321,  4321, -5959,
    3395             :    -5959, 19686, 94556, 73605,  4934, -5959, -5959, -5959, -5959, -5959,
    3396             :    -5959, -5959,  3553,  4548, -5959, -5959, 76160, -5959, 94556, -5959,
    3397             :    -5959,  2663, -5959, -5959, -5959, 60329, -5959,  4187, -5959,  4187,
    3398             :    -5959, -5959,  2185,  4575, 94556,  1108,  1108,  4876, -5959,  4530,
    3399             :    -5959,  4470, -5959,  4999,  4610, 94556, -5959, -5959,   218,  2367,
    3400             :    77182,  4051, -5959, -5959,  2438,  4244,  3570, 36822,  2664, -5959,
    3401             :     4577,   231, -5959,  4266,  4280, -5959, -5959, 47312,  4473,  3233,
    3402             :     4872, -5959, -5959, -5959,  2187, 73605, 73605, 94556, -5959, -5959,
    3403             :    -5959, 36822,   255, -5959,  4515, -5959,  4520, -5959, -5959,  4706,
    3404             :     4708,  4483,  1451, -5959,  4980, -5959, -5959, -5959, -5959, -5959,
    3405             :      992, -5959, -5959, -5959, 94556, 94556, 94556,  4485, -5959,  3842,
    3406             :    -5959, -5959, 42641, 42641,  4721, -5959, 42641,  1312, -5959, 94556,
    3407             :    -5959,  4486, -5959, -5959,  2669, -5959,  1673,  2004, -5959,  4726,
    3408             :     4622, -5959, -5959,  4730,   662, -5959,   419, -5959, -5959, -5959,
    3409             :    -5959, -5959, 94556,  4532, -5959, -5959,  3553, -5959, 94556, -5959,
    3410             :     4488, -5959, -5959, -5959, 69517, -5959,  4187, -5959, -5959, -5959,
    3411             :    -5959,  5002, -5959,  1223, -5959, -5959, -5959, -5959, 94556,  4051,
    3412             :     4142,  4227, -5959,  4266,  3570,  2438, 13889, -5959, 47829, 94556,
    3413             :    94556,  4280, -5959,  2671, 47312,  3567,  4643, -5959,  1982, -5959,
    3414             :    -5959, -5959, -5959, -5959, -5959, -5959,  1116,  4493,  4494, -5959,
    3415             :    -5959, 14523, 73605, -5959, -5959,  4640,  4642, -5959,  4724, 41054,
    3416             :     4652, -5959,  4720, -5959,  1433,  1434,  1981,117551,  4957,  3526,
    3417             :     3526, -5959,  3526, -5959, -5959, 36822, -5959, -5959, -5959, -5959,
    3418             :    -5959, 51448, -5959,  4561,  1952,  4503, 94556, -5959, -5959,  1806,
    3419             :     4118,  4564,  1806,  1806, -5959, -5959, 36822, -5959, -5959,  2342,
    3420             :     2342,  4051, -5959, -5959,  4280,  2438,  4266,  4577, -5959, -5959,
    3421             :    -5959, -5959,  4754, -5959,  2681,  4280,  4407,  2446, -5959, -5959,
    3422             :     2651,  2712,  4591,  4865, -5959,  4508,  4624,  4626,  4899, -5959,
    3423             :    -5959, -5959, 94556, 94556, 66962, 94556,   383,  2691, -5959,121058,
    3424             :    94556, 14966,  4509, -5959,  4571, 36822,  2695,  4522, -5959,  2697,
    3425             :    -5959, -5959, -5959, -5959,  4266,  4280, 94556,  3233, -5959, 47312,
    3426             :     3406,  4896, -5959,  1982,  4638,  4641, 64918, -5959, -5959, -5959,
    3427             :    -5959, -5959,  5050,   361,  4938, -5959, -5959,  1280,  1451,117551,
    3428             :     4747,   857,  2699, -5959,  4581,  2701,   118, -5959,  1806, -5959,
    3429             :     4280, -5959, -5959,  3567, -5959, -5959,   255, -5959,  4579,  4582,
    3430             :    -5959,  2703, -5959, -5959, -5959, -5959, 36822, 66962,  2204,  4527,
    3431             :    -5959, -5959,  4732,  1280,  2654,  4732, -5959, -5959, -5959,  1952,
    3432             :    -5959, -5959,  4280, 73605,  4887,  4888, -5959, 64918,   939,  4594,
    3433             :    94556,  4534, -5959,  1451, -5959,   238,  2654,  4595,  3406,  4541,
    3434             :    73605, 73605, -5959,  4542, 94556,  4997,117551, -5959,  1451,   238,
    3435             :     4581, -5959, 64918, -5959, -5959,  1280, -5959,  4544,  2714, -5959,
    3436             :     1451, -5959,  2733,117551, -5959, -5959, -5959,  2734, -5959
    3437             : };
    3438             : 
    3439             :   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
    3440             :      Performed when YYTABLE does not specify something else to do.  Zero
    3441             :      means the default is an error.  */
    3442             : static const yytype_int16 yydefact[] =
    3443             : {
    3444             :     1731,  1470,   676,  1559,  1558,  1470,     0,   269,     0,  1570,
    3445             :        0,  1470,   442,  1127,     0,     0,     0,     0,   676,  1470,
    3446             :        0,  1731,     0,     0,     0,     0,     0,  1744,     0,     0,
    3447             :        0,     0,     0,  1267,     0,     0,     0,  1470,     0,     0,
    3448             :     1751,     0,     0,     0,     0,  1744,     0,  1572,     0,     0,
    3449             :        0,     0,  1751,     0,     0,     0,     0,     0,     2,     9,
    3450             :       10,    45,    80,    81,    38,    37,    98,    63,    24,    71,
    3451             :      133,   132,   134,    50,    46,    88,    33,    35,    47,    51,
    3452             :       73,    75,    40,    53,    64,   110,    72,    31,    70,    76,
    3453             :       96,    58,    19,    20,    59,    21,    60,    22,    61,   106,
    3454             :       82,    99,    43,    69,    30,    52,    78,    79,    12,    54,
    3455             :       86,    18,    65,    66,    68,    91,    92,    93,   116,    94,
    3456             :      128,    49,   125,   103,   104,   122,   105,   123,    16,   107,
    3457             :       62,    23,   119,   118,   120,    89,    55,    90,    77,    97,
    3458             :      117,    34,   121,    25,    26,    28,    29,    27,    67,    36,
    3459             :       74,    39,    95,   124,   114,   109,   129,   127,    11,   135,
    3460             :      111,    83,    14,    15,   100,    13,    32,    57,    17,    42,
    3461             :       41,    56,    48,   131,    44,  1570,   102,   115,   101,    84,
    3462             :      108,    87,   112,   130,   113,    85,   126,  1695,  1694,  1755,
    3463             :     1698,  1730,     0,  1710,  1469,  1468,  1483,     0,     0,     0,
    3464             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3465             :        0,     0,     0,   675,     0,     0,     0,     0,     0,     0,
    3466             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3467             :        0,     0,     0,  1480,  2459,  2476,  2477,  2478,  2479,  2480,
    3468             :     2481,  2482,  2483,  2484,  2485,  2486,  2487,  2488,  2489,  2490,
    3469             :     2492,  2491,  2493,  2494,  2869,  2495,  2496,  2497,  2806,  2807,
    3470             :     2870,  2808,  2809,  2498,  2499,  2500,  2501,  2502,  2503,  2504,
    3471             :     2505,  2506,  2810,  2811,  2507,  2508,  2509,  2510,  2511,  2812,
    3472             :     2871,  2512,  2513,  2514,  2515,  2516,  2517,  2872,  2518,  2519,
    3473             :     2520,  2521,  2522,  2523,  2524,  2525,  2526,  2527,  2873,  2528,
    3474             :     2529,  2530,  2874,  2531,  2532,  2533,  2534,  2535,  2536,  2813,
    3475             :     2814,  2537,  2538,  2539,  2540,  2541,  2542,  2543,  2544,  2545,
    3476             :     2546,  2547,  2548,  2549,  2550,  2551,  2552,  2553,  2554,  2555,
    3477             :     2556,  2557,  2558,  2559,  2560,  2561,  2562,  2563,  2564,  2565,
    3478             :     2566,  2815,  2567,  2568,  2569,  2570,  2816,  2571,  2572,  2573,
    3479             :     2574,  2817,  2575,  2576,  2577,  2578,  2875,  2876,  2579,  2580,
    3480             :     2581,  2582,  2583,  2818,  2819,  2584,  2585,  2586,  2587,  2588,
    3481             :     2589,  2590,  2877,  2591,  2592,  2593,  2594,  2595,  2596,  2597,
    3482             :     2598,  2599,  2600,  2601,  2602,  2603,  2878,  2820,  2604,  2605,
    3483             :     2606,  2607,  2821,  2822,  2823,  2608,  2879,  2880,  2609,  2881,
    3484             :     2824,  2825,  2826,  2827,  2828,  2829,  2830,  2831,  2832,  2833,
    3485             :     2834,  2610,  2611,  2612,  2613,  2614,  2615,  2616,  2617,  2835,
    3486             :     2882,  2618,  2883,  2619,  2620,  2621,  2622,  2623,  2624,  2625,
    3487             :     2626,  2627,  2628,  2629,  2630,  2631,  2836,  2632,  2633,  2634,
    3488             :     2635,  2636,  2637,  2638,  2639,  2837,  2884,  2838,  2640,  2641,
    3489             :     2642,  2643,  2644,  2645,  2646,  2647,  2839,  2840,  2648,  2649,
    3490             :     2650,  2885,  2651,  2841,  2652,  2842,  2653,  2654,  2655,  2656,
    3491             :     2657,  2658,  2659,  2660,  2661,  2662,  2663,  2843,  2886,  2664,
    3492             :     2887,  2844,  2665,  2666,  2667,  2668,  2669,  2670,  2671,  2672,
    3493             :     2673,  2674,  2675,  2676,  2677,  2678,  2679,  2680,  2845,  2681,
    3494             :     2846,  2684,  2682,  2683,  2685,  2686,  2687,  2688,  2689,  2690,
    3495             :     2691,  2692,  2693,  2694,  2695,  2847,  2696,  2697,  2698,  2699,
    3496             :     2700,  2701,  2702,  2703,  2704,  2705,  2706,  2707,  2708,  2709,
    3497             :     2710,  2711,  2712,  2713,  2714,  2888,  2715,  2716,  2717,  2718,
    3498             :     2719,  2848,  2720,  2721,  2722,  2723,  2724,  2725,  2726,  2727,
    3499             :     2728,  2729,  2730,  2731,  2732,  2733,  2734,  2735,  2736,  2849,
    3500             :     2737,  2738,  2889,  2739,  2740,  2850,  2741,  2743,  2742,  2744,
    3501             :     2745,  2746,  2747,  2748,  2749,  2750,  2751,  2752,  2753,  2754,
    3502             :     2755,  2756,  2757,  2851,  2758,  2759,  2760,  2761,  2890,  2762,
    3503             :     2763,  2764,  2765,  2766,  2767,  2768,  2852,  2853,  2769,  2770,
    3504             :     2854,  2771,  2855,  2772,  2773,  2774,  2775,  2776,  2777,  2779,
    3505             :     2778,  2780,  2781,  2782,  2783,  2784,  2785,  2786,  2787,  2788,
    3506             :     2789,  2790,  2856,  2857,  2791,  2891,  2792,  2793,  2794,  2795,
    3507             :     2796,  2797,  2798,  2799,  2800,  2801,  2802,  2858,  2859,  2860,
    3508             :     2861,  2862,  2863,  2864,  2865,  2866,  2867,  2868,  2803,  2804,
    3509             :     2805,   146,     0,     0,  2426,  2460,  2461,  2464,  2459,   412,
    3510             :      411,  1684,  2423,  2460,  1569,     0,  1548,   676,     0,  1483,
    3511             :      441,  1731,     0,     0,     0,     0,     0,     0,   893,     0,
    3512             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3513             :        0,   138,     0,   140,     0,     0,   466,   465,     0,     0,
    3514             :     1099,   471,     0,     0,     0,     0,     0,   666,  1611,  2682,
    3515             :     1609,  1685,   270,   273,   274,   271,   272,  2442,     0,  1239,
    3516             :     1240,  1242,     0,     0,  1252,   933,   934,     0,     0,     0,
    3517             :      947,     0,     0,     0,   931,     0,     0,     0,   953,     0,
    3518             :      950,     0,     0,   954,   951,   928,   952,   935,     0,   927,
    3519             :        0,     0,  1252,   955,     0,     0,   929,     0,     0,     0,
    3520             :        0,  1483,  1608,   472,  1731,     0,  1592,  1593,  1594,  1570,
    3521             :     1582,  1595,  1587,  1589,  1588,  1590,  1591,  1586,  2441,  2478,
    3522             :     1023,  1023,  1023,  1023,  1020,  1021,  1023,  1023,  1023,  2703,
    3523             :        0,     0,  1002,     0,  1004,  2443,  1023,  1028,  2486,   554,
    3524             :      554,   554,     0,  1027,  1032,   554,     0,  1451,  1492,  2425,
    3525             :     1743,     0,  1003,  1450,  2769,  1598,     0,     0,     0,     0,
    3526             :     2722,  1460,   254,  2734,  2852,  2769,   253,   248,   249,   222,
    3527             :        0,     0,  1027,   554,     0,  1483,  1458,   999,  1750,  1748,
    3528             :        0,  2410,  2505,  2522,  2621,   245,  2715,  2724,  2734,  2852,
    3529             :     2769,  2802,   201,   211,   206,     0,   263,  2734,  2852,  2769,
    3530             :      259,  1480,     0,  1711,  1861,  1860,  2419,     0,  1453,  1452,
    3531             :     1571,     0,  1574,     0,  2698,  1715,  1718,  1576,  1716,  2462,
    3532             :     1954,  1983,  1961,  1983,  1983,  1950,  1950,  2552,  1963,  1951,
    3533             :     1952,  1988,  2008,     0,  1983,  1950,  1955,     0,  1953,  1991,
    3534             :     1991,  1978,     3,  1933,  1934,  1935,  1936,  1964,  1965,  1937,
    3535             :     1970,  1971,  1975,  1938,  2005,  1941,  1950,  2463,  1752,  1753,
    3536             :     2410,     4,  2456,     5,  2337,  2455,     6,     7,  1707,     0,
    3537             :        0,     1,  1731,     0,  1581,  1747,  1747,     0,  1747,     0,
    3538             :     1699,  1707,  1702,  1706,     0,     0,     0,     0,     0,     0,
    3539             :     1454,     0,     0,     0,   958,     0,  1495,  1084,     0,     0,
    3540             :        0,     0,     0,  1336,     0,  1136,  1135,  2465,  2448,  2449,
    3541             :     2450,     0,  2446,  2447,  2466,  2467,  2468,     0,  2590,  1336,
    3542             :        0,     0,  2253,  2264,  2265,  2266,  2509,  2571,  2261,  2262,
    3543             :     2263,  2255,  2256,  2257,  2258,  2259,  2260,     0,     0,  1234,
    3544             :     2254,     0,  2590,     0,  1336,     0,   173,     0,   150,  1336,
    3545             :        0,     0,  2590,     0,     0,  2590,     0,     0,     0,     0,
    3546             :        0,  2590,     0,     0,     0,     0,     0,   173,  2626,     0,
    3547             :      150,  2590,     0,     0,  1474,     0,     0,     0,  1476,  1479,
    3548             :     1466,     0,  2334,     0,  2335,  2427,  1563,     0,  1562,  1556,
    3549             :     1566,  1561,  1551,     0,  2419,     0,     0,     0,     0,   941,
    3550             :        0,     0,   931,     0,     0,     0,   942,     0,   943,   944,
    3551             :        0,     0,     0,     0,   940,     0,  1464,  1456,     0,  1600,
    3552             :     1602,  1601,  1603,  1599,   554,     0,     0,     0,  2590,     0,
    3553             :      150,  1534,     0,  2590,   150,     0,     0,   470,   469,   150,
    3554             :     2446,   468,   467,  2509,  2571,     0,  1126,     0,  1209,   150,
    3555             :     2590,     0,   194,  2590,   735,  2590,  1576,   139,     0,   679,
    3556             :        0,   847,  2626,   150,     0,     0,     0,     0,     0,     0,
    3557             :      142,     0,     0,     0,     0,     0,     0,     0,   665,   676,
    3558             :     1612,  1610,     0,  1243,   247,   246,  1241,   945,  2590,  1168,
    3559             :      145,     0,     0,  2590,  1515,  2590,   145,   962,   946,     0,
    3560             :      932,  2590,   145,  1132,  2590,  2451,   183,     0,   930,  2509,
    3561             :     2571,  2590,   145,  1236,     0,  2590,   145,  2590,   179,  2590,
    3562             :      145,  2590,   145,  2590,   680,     0,     0,  2590,   145,  2590,
    3563             :     2626,   181,   949,  2590,   145,   956,  2590,   145,  2421,  2590,
    3564             :        0,  1467,     0,  1604,     0,  1584,  2856,     0,  1731,  1023,
    3565             :     1022,     0,  1023,     0,  1023,     0,  1023,     0,  1023,     0,
    3566             :        0,     0,  1023,  2444,  2445,  1005,     0,  1029,     0,  1037,
    3567             :        0,  1036,  1035,  1034,     0,     0,     0,  1038,     0,  1865,
    3568             :     1639,     0,  1448,  1463,     0,     0,     0,   142,     0,  1265,
    3569             :     1262,   142,  1264,  1263,   142,   142,  1459,   252,   250,     0,
    3570             :        0,     0,     0,     0,     0,  1465,     0,  1457,     0,     0,
    3571             :        0,  2429,  2431,  2432,  2267,  2337,     0,  2807,  2808,  2809,
    3572             :     2326,     0,  2810,  2811,  2812,  2871,  2141,  2127,  2136,  2142,
    3573             :     2128,  2130,  2137,  2813,  2814,  2076,  2815,  2816,  2439,  2817,
    3574             :     2818,  2819,  2821,  2822,  2823,  2824,  2825,  2826,  2827,  2828,
    3575             :     2829,  2830,  2831,  2832,  2834,  2835,  2132,  2134,  2836,  2837,
    3576             :     2838,  2840,     0,  2440,  2841,  2842,  2659,  2844,  2845,  2847,
    3577             :     2848,  2138,  2850,  2851,  2139,  2852,  2853,  2854,  2855,  2438,
    3578             :      514,  2140,  2857,  2859,  2860,  2861,  2862,  2864,  2865,  2866,
    3579             :     2867,     0,     0,     0,  2416,     0,  2105,     0,  1942,  1943,
    3580             :     1966,  1967,  1944,  1972,  1973,  1945,     0,  1946,  2415,  2009,
    3581             :     2212,  2104,  2122,     0,  2110,  2111,     0,  2103,  2099,  2214,
    3582             :     1733,  2411,     0,  2100,  2428,  2430,  2327,  1733,  2409,   214,
    3583             :      265,     0,   266,  2417,  2734,   202,   244,   216,   243,   217,
    3584             :      215,     0,  2507,   203,     0,     0,   204,     0,     0,     0,
    3585             :        0,   262,   260,     0,  1455,     0,  1863,  1862,  2420,   967,
    3586             :        0,  1573,  1570,  2277,     0,  1717,     0,     0,     0,  1982,
    3587             :     1969,  1977,  1976,     0,  1959,  1958,  1957,     0,  1956,  1983,
    3588             :     1983,  1981,  1960,  1933,     0,     0,     0,  1987,     0,  1985,
    3589             :     1929,  1925,     0,  1994,  1995,  1996,  1993,  2006,  1992,     0,
    3590             :     1939,  1997,     0,  1950,  1947,  1818,     0,  1697,  1696,     8,
    3591             :        0,  1578,  1580,  1554,  1576,  1745,  1746,     0,     0,     0,
    3592             :        0,     0,     0,     0,     0,  1805,  1763,  1764,  1766,  1802,
    3593             :     1806,  1814,     0,  1703,     0,     0,     0,  1867,     0,     0,
    3594             :     1481,     0,     0,     0,     0,     0,  1167,     0,     0,     0,
    3595             :        0,   959,     0,     0,     0,  1501,     0,  1503,  1504,  1505,
    3596             :        0,     0,     0,  1506,  1507,  1495,   256,  1514,  1511,  1494,
    3597             :     1496,  1509,     0,     0,     0,     0,     0,     0,     0,  1526,
    3598             :        0,   187,   188,     0,   692,   676,     0,  2590,     0,     0,
    3599             :        0,     0,  1177,  1184,  1335,     0,     0,     0,     0,     0,
    3600             :        0,     0,     0,  1178,  1176,     0,  1179,   258,  1189,  1216,
    3601             :     1219,     0,     0,  1134,  1137,     0,     0,     0,     0,     0,
    3602             :     1326,     0,     0,     0,  1326,     0,     0,     0,  1335,     0,
    3603             :        0,     0,     0,     0,     0,     0,     0,     0,   281,   283,
    3604             :      296,   367,     0,   657,     0,     0,     0,   660,     0,  2590,
    3605             :     1336,     0,     0,     0,  1238,     0,     0,     0,     0,     0,
    3606             :        0,     0,     0,  1219,     0,     0,     0,     0,     0,     0,
    3607             :        0,     0,     0,   148,   149,   154,     0,     0,     0,     0,
    3608             :     1219,     0,     0,     0,     0,     0,     0,     0,   643,   656,
    3609             :        0,     0,     0,     0,     0,   653,     0,     0,   150,   286,
    3610             :      633,   639,     0,     0,     0,   742,   741,     0,     0,     0,
    3611             :        0,     0,     0,  1424,     0,  1423,     0,     0,     0,     0,
    3612             :        0,  1524,  1523,     0,     0,     0,     0,     0,     0,     0,
    3613             :     1326,     0,     0,   275,   277,     0,     0,     0,     0,     0,
    3614             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3615             :      404,   405,     0,     0,     0,   154,     0,     0,  1326,     0,
    3616             :      288,     0,     0,  1475,  1472,  1473,     0,  1478,     0,     0,
    3617             :        0,     0,  2113,     0,  2281,  1755,  2279,  1152,  2333,     0,
    3618             :     2469,  2892,  2893,  2894,  2895,  2896,  2897,  2898,  2899,  2900,
    3619             :     2901,  2902,  2903,  2904,  2905,  2906,  2907,  2908,  2909,  2910,
    3620             :     2911,  2912,  2913,  2914,  2915,  2916,  2917,  2918,  2919,  2920,
    3621             :     2921,  2922,  2923,  2924,  2925,  2926,  2927,  2928,  2929,  2930,
    3622             :     2931,  2932,  2933,  2934,  2935,  2936,  2937,  2938,  2939,  2940,
    3623             :     2941,  2942,  2943,  2944,  2945,  2946,  2947,  2948,  2949,  2950,
    3624             :     2951,  2952,  2953,  2954,  2955,  2956,  2957,  2958,  2959,  2960,
    3625             :     2961,  2962,  2963,  2964,  2965,  2966,  2967,  2968,  2969,  2330,
    3626             :     2329,  2424,  2470,  2471,  2472,  2473,  2336,  1546,     0,   233,
    3627             :      234,   232,  1564,   235,  1565,  1560,     0,  1547,     0,     0,
    3628             :        0,     0,     0,     0,     0,     0,  2509,  2571,     0,     0,
    3629             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3630             :        0,     0,     0,     0,   855,  1495,  1533,     0,     0,     0,
    3631             :      685,     0,  2590,     0,   152,   894,     0,   845,   471,     0,
    3632             :        0,     0,     0,  1400,   152,     0,     0,   190,     0,     0,
    3633             :      739,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3634             :        0,   846,     0,     0,   152,     0,  2590,   636,  2590,     0,
    3635             :      554,   554,     0,     0,   141,   138,     0,     0,     0,     0,
    3636             :        0,     0,     0,     0,  1689,  1688,  1691,  1690,     0,  1687,
    3637             :        0,   143,   144,     0,  1226,  1251,     0,     0,     0,     0,
    3638             :        0,   923,   948,     0,     0,  1220,     0,     0,  2590,   145,
    3639             :     2590,     0,  2590,     0,     0,     0,  1228,   145,     0,  1222,
    3640             :        0,     0,  1224,     0,  1426,     0,   939,   937,   936,   938,
    3641             :        0,     0,   921,     0,     0,     0,     0,     0,   916,     0,
    3642             :        0,   918,     0,     0,     0,     0,  1731,  1583,     0,  1013,
    3643             :        0,  1017,     0,  1008,     0,  1014,     0,  1009,  1006,  1007,
    3644             :        0,  1012,     0,     0,   555,   561,     0,     0,  2534,  2551,
    3645             :        0,  2579,  2614,  2615,  2669,  2688,  2718,  2724,  2730,     0,
    3646             :     2762,  2774,     0,  1043,  1081,  1033,   751,     0,     0,  1649,
    3647             :     1449,  2286,     0,  1731,     0,     0,  1266,     0,     0,   138,
    3648             :      251,   223,     0,     0,  1081,     0,  2722,  1462,   998,   676,
    3649             :        0,  2101,     0,  2108,  2109,  2325,     0,     0,     0,     0,
    3650             :        0,     0,  2107,     0,     0,     0,     0,  2382,     0,     0,
    3651             :     2382,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3652             :        0,  2032,     0,     0,  2285,     0,     0,  2285,     0,     0,
    3653             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3654             :     2033,  2014,  2015,  2105,  2277,     0,  2106,  2435,     0,  2005,
    3655             :     2474,  2267,     0,  2264,  2265,  2266,  2970,  2971,  2972,  2973,
    3656             :     2974,  2975,  2976,  2977,  2978,  2979,  2980,  2981,  2982,  2983,
    3657             :     2984,  2985,  2986,     0,  2987,  2988,  2989,  2990,  2991,  2993,
    3658             :     2992,  2994,  2995,  2996,  2997,  2998,  2999,  2340,  3001,  3002,
    3659             :     3003,  3004,  3005,  3006,  3007,  3008,  3009,  3010,  3011,  3012,
    3660             :     3013,  3014,  3015,  3016,  3017,  3018,  3019,  3020,  3021,  3022,
    3661             :     3023,  3024,  3025,  3026,  3027,  3028,  3029,  3030,  3031,  3032,
    3662             :     3033,  3034,  3035,  3036,  3037,  3038,  3039,  3040,  3041,  3042,
    3663             :     3043,  3044,  3045,  3046,  3047,  3048,  3049,  3050,  3051,  3052,
    3664             :     3053,  3054,  3055,  3056,  3057,  3058,  3059,  3060,  3061,  3062,
    3665             :     3063,  3064,  3065,  3066,  3067,  3068,  3069,  3070,  3071,  3072,
    3666             :     3073,  3074,  3075,  3076,  3077,  3078,  3079,  3080,  3081,  3082,
    3667             :     3083,  3084,  3085,  3086,  3087,  3088,  3089,  3090,  3091,  3092,
    3668             :     3093,  3094,  3095,  3096,  3097,  3098,  3099,  3100,  3101,  3102,
    3669             :     3103,  3104,  3105,  3106,  3107,  3108,  3109,  3110,  3111,  3112,
    3670             :     3113,  3114,  3115,  3116,  3117,  3118,  3119,  3120,  3121,  3122,
    3671             :     3123,  3124,  3125,  3126,  3127,  3128,  3129,  3130,  3131,  3132,
    3672             :     3133,  3134,  3135,  3136,  3137,  3138,  3139,  3140,  3141,  3142,
    3673             :     3143,  3144,  3145,  3146,  3147,  3148,  3149,  3150,  3151,  3152,
    3674             :     3153,  3154,  3155,  3156,  3157,  2047,  3158,  3159,  3160,  3161,
    3675             :     3162,  3163,  3164,  3165,  3166,  3167,  3168,  3169,  3170,  3171,
    3676             :     3172,  3173,  3174,  3175,  3176,  3177,  3178,  3179,  3180,  3181,
    3677             :     3182,  3183,  3184,  3185,  3186,  3187,  3188,  3189,  3190,  3191,
    3678             :     3192,  3193,  3194,  3195,  3196,  3197,  3198,  3199,  3200,  3201,
    3679             :     3202,  3203,  3204,  3205,  3206,  3207,  3208,  3209,  3210,  3211,
    3680             :     3212,  3213,  3214,  3215,  3216,  3217,  3218,  3219,  3220,  3221,
    3681             :     3222,  3223,  2049,  3224,  3225,  3226,  3227,  3228,  3229,  3230,
    3682             :     3231,  3232,  3233,  3234,  3235,  3236,  3237,  3238,  3239,  3240,
    3683             :     3241,  3242,  3243,  3244,  3245,  3246,  3247,  3248,  3249,  3250,
    3684             :     3251,  3252,  3253,  3254,  3255,  3256,  3257,  3258,  3259,  3260,
    3685             :     3261,  3262,  3263,  3266,  3264,  3265,  3267,  3268,  3269,  3270,
    3686             :     3271,  3272,  3273,  3274,  3275,  3276,  3277,  3278,  3279,  3280,
    3687             :     3281,  3282,  3283,  3284,  3285,  3286,  3287,  3288,  3289,  3290,
    3688             :     3291,  3292,  3293,  3294,  3295,  3296,  3297,  3298,  3299,  3300,
    3689             :     3301,  3302,  3303,  3304,  3305,  3306,  3307,  3308,  3309,  3310,
    3690             :     3311,  3312,  3313,  3314,  3315,  3316,  3317,  3318,  3319,  3320,
    3691             :     3321,  3322,  3323,  3325,  3324,  3326,  3327,  3328,  3329,  3330,
    3692             :     3331,  3332,  3333,  3335,  3334,  3336,  3337,  3338,  3339,  3340,
    3693             :     3341,  3342,  3343,  3344,  3345,  3346,  3347,  3348,  3349,  3350,
    3694             :     3351,  3352,  3353,  3354,  3355,  3356,  3357,  3358,  3359,  3360,
    3695             :     3361,  3362,  3363,  3364,  3365,  3366,  3367,  3368,  3369,  3370,
    3696             :     3371,  3372,  3373,  3374,  3375,  3376,  3377,  3378,  3379,  3380,
    3697             :     3381,  3383,  3382,  3384,  3385,  3386,  3387,  3388,  3389,  3390,
    3698             :     3391,  3392,  3393,  3394,  3395,  3396,  3397,  3398,  3399,  3400,
    3699             :     3401,  3402,  3403,  3404,  3405,  3406,  3407,  3408,  3409,  3410,
    3700             :     3411,  3412,  3413,  3414,  3415,  3416,  3417,  3418,  3419,  3420,
    3701             :     3421,  3422,  3423,  3424,     0,  2261,  2262,  2263,  2255,  2256,
    3702             :     2257,  2258,  2259,  2260,  2271,     0,     0,  2414,  2475,     0,
    3703             :     2214,     0,  2029,     0,  2222,     0,     0,  1818,     0,  2433,
    3704             :     2328,  1818,   267,   268,   264,     0,     0,   219,   218,     0,
    3705             :      237,   241,   242,   213,   240,     0,   236,   221,  2198,  2197,
    3706             :      220,   212,   209,   207,   224,   226,   227,   210,   208,   261,
    3707             :        0,     0,     0,   145,  1581,  1568,     0,     0,  2340,     0,
    3708             :     2275,     0,     0,  2273,     0,     0,     0,  1815,     0,  1719,
    3709             :        0,  1723,     0,     0,     0,  1980,  1979,  1930,  1926,     0,
    3710             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3711             :        0,     0,   960,     0,  1948,     0,  1883,  2457,  2458,  2338,
    3712             :     1751,  1581,     0,  1577,  1714,  1713,  1756,  1757,  1118,  1712,
    3713             :     1785,  1786,     0,     0,     0,     0,  1811,  1809,  1776,  1767,
    3714             :     1775,     0,     0,  1773,     0,  1777,  2009,  1804,  1701,  1761,
    3715             :     1762,  1765,  1700,     0,  1807,     0,  1652,  1805,  1766,  1636,
    3716             :        0,  1614,     0,     0,  1868,     0,     0,  1482,     0,     0,
    3717             :        0,  1147,  1149,     0,  1148,     0,  1151,     0,  1160,     0,
    3718             :        0,  1146,  1165,     0,  1154,  1152,     0,  1522,     0,     0,
    3719             :        0,     0,     0,  1502,     0,     0,     0,  2762,   255,  1505,
    3720             :     1510,  1497,  1508,     0,     0,     0,     0,     0,  1083,  1082,
    3721             :        0,     0,     0,  1529,   546,     0,   369,     0,     0,     0,
    3722             :        0,     0,     0,     0,     0,   841,   838,     0,     0,   837,
    3723             :        0,   690,     0,     0,     0,     0,     0,     0,     0,     0,
    3724             :        0,     0,     0,   715,     0,  1326,     0,   294,     0,  1186,
    3725             :        0,  1185,     0,  1190,     0,     0,  1187,  1182,  1183,  2724,
    3726             :     2734,  2769,   257,  1188,  1218,     0,  1217,  1213,     0,  1129,
    3727             :        0,  1130,     0,     0,     0,     0,     0,     0,     0,  2563,
    3728             :        0,  2590,     0,     0,   514,   307,   331,   536,     0,  1325,
    3729             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3730             :        0,     0,     0,     0,     0,   353,     0,     0,   356,   355,
    3731             :        0,     0,     0,     0,     0,   361,     0,   339,     0,   340,
    3732             :        0,   360,     0,     0,     0,   658,   659,     0,     0,     0,
    3733             :     1326,     0,   290,     0,     0,     0,     0,     0,     0,     0,
    3734             :        0,  1235,     0,   768,     0,     0,  2724,  1214,     0,  1409,
    3735             :        0,  2761,  1410,  1413,   554,     0,   554,  1415,     0,     0,
    3736             :     1412,  1414,     0,     0,   176,     0,   171,   175,     0,     0,
    3737             :     2724,  1215,     0,     0,     0,     0,     0,   641,   642,   655,
    3738             :        0,   646,   647,   644,   648,   649,     0,     0,     0,     0,
    3739             :        0,     0,     0,   640,     0,     0,   737,   736,   740,     0,
    3740             :        0,     0,     0,     0,     0,  1418,     0,     0,  1209,     0,
    3741             :        0,  1417,  1425,     0,     0,     0,     0,     0,     0,     0,
    3742             :        0,     0,     0,     0,     0,  1269,  1268,     0,     0,     0,
    3743             :        0,  1336,     0,   884,     0,     0,     0,     0,     0,     0,
    3744             :        0,     0,     0,     0,   178,   755,     0,   754,     0,   172,
    3745             :      177,     0,     0,     0,     0,     0,     0,     0,     0,   231,
    3746             :     1471,  1477,  1755,  1755,  1755,  2119,     0,     0,     0,     0,
    3747             :     1754,  2331,  2334,  1551,  1557,  1550,  1549,     0,     0,     0,
    3748             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3749             :        0,     0,     0,     0,   418,   415,   416,   418,     0,     0,
    3750             :        0,     0,   857,     0,   860,   863,  1493,   498,     0,     0,
    3751             :      682,   715,     0,     0,   474,   185,     0,     0,     0,     0,
    3752             :      770,     0,  1209,  1208,   147,   138,   194,   472,     0,   193,
    3753             :      195,   197,   198,   199,   196,   200,     0,   734,   738,     0,
    3754             :        0,     0,     0,   678,     0,     0,     0,     0,     0,     0,
    3755             :        0,  1888,     0,     0,   170,     0,     0,   631,   635,     0,
    3756             :        0,     0,     0,   474,   597,   380,  2590,     0,   554,     0,
    3757             :     2590,     0,   137,     0,   844,     0,     0,     0,  1171,  1171,
    3758             :        0,     0,   784,   783,     0,     0,     0,     0,     0,     0,
    3759             :     1686,   145,  1169,     0,  1516,     0,   145,   963,   145,  1133,
    3760             :      184,  2452,     0,   925,     0,     0,     0,     0,   145,  1237,
    3761             :      913,   145,   180,   145,   145,   681,     0,   145,   182,     0,
    3762             :        0,   145,   957,   145,  2422,     0,   145,  1607,  2590,   554,
    3763             :     1585,  1010,  1019,  1018,  1016,  1015,  1011,     0,  1030,     0,
    3764             :      553,     0,     0,     0,     0,     0,  1051,  1052,     0,     0,
    3765             :     1048,  1053,     0,  1055,  1039,  1041,  1049,  1050,  1056,  1045,
    3766             :     1044,  1057,  1058,     0,     0,     0,  1070,   749,     0,     0,
    3767             :        0,     0,  1646,     0,  1644,     0,  1866,  1648,  1637,  1597,
    3768             :        0,  1596,     0,   624,  1260,  1259,  1261,     0,  1027,     0,
    3769             :      145,     0,  1461,     0,     0,     0,     0,     0,     0,     0,
    3770             :        0,     0,     0,     0,  2290,     0,  2291,     0,     0,  2324,
    3771             :     2320,     0,     0,     0,     0,     0,  2294,  2297,  2298,  2299,
    3772             :     2296,  2300,  2295,     0,     0,  2301,     0,     0,  2375,  2392,
    3773             :        0,  2105,  2375,  2403,     0,  2402,  2408,     0,  2281,  2009,
    3774             :        0,     0,  2399,  2393,     0,  2399,     0,     0,  2382,     0,
    3775             :        0,     0,     0,  2182,     0,     0,     0,  2281,  2284,     0,
    3776             :        0,  2848,     0,     0,     0,     0,  2077,     0,     0,  2248,
    3777             :        0,  2281,     0,     0,     0,     0,     0,     0,     0,  2277,
    3778             :     2316,     0,   512,     0,  2067,     0,     0,     0,  2196,     0,
    3779             :     2193,     0,     0,     0,     0,  2337,     0,     0,  2436,  2010,
    3780             :     2025,  2026,  2027,  2030,  2413,  2013,     0,  2339,     0,     0,
    3781             :     2011,  2038,     0,  2317,  2063,     0,  2068,  2053,  2383,  2302,
    3782             :     2303,  2304,  2305,  2070,     0,  2046,  2051,  2055,     0,  2392,
    3783             :     2034,     0,  2031,     0,  2340,  2276,     0,  2274,     0,  2022,
    3784             :     2023,  2024,  2016,  2017,  2018,  2019,  2020,  2021,  2028,  2252,
    3785             :     2250,  2251,     0,     0,  2222,     0,     0,  2050,     0,     0,
    3786             :     2121,  2582,  2621,     0,  1744,  1744,  1744,  1732,  1742,  2412,
    3787             :     1883,  1755,  1883,  2418,     0,     0,  2005,     0,  1864,   965,
    3788             :      966,   964,  1553,  1567,  1581,  2278,  1575,  1721,     0,     0,
    3789             :        0,  1949,  1962,     0,  1989,  1990,  1991,  1991,     0,  1931,
    3790             :        0,  1974,  1999,  2000,  2001,  2002,  2003,  2004,     0,  1998,
    3791             :     1940,   961,  2824,  2833,     0,  2720,  2868,     0,  1844,  1817,
    3792             :     1819,  1829,  1844,  1851,  1844,  1844,  2123,  1881,  2124,  2125,
    3793             :     2419,     0,  1788,  2454,  1555,  1579,     0,  1116,  1117,     0,
    3794             :     1121,  2848,  2720,     0,     0,     0,     0,  1778,  1812,     0,
    3795             :     1803,     0,  2429,  1779,  2428,  1780,  1783,  1784,  1774,  1813,
    3796             :     1650,     0,  1808,  1705,  1704,     0,  1886,     0,     0,     0,
    3797             :     1628,  1616,     0,     0,  1869,     0,  1818,  1654,     0,  2337,
    3798             :     1816,  1376,  1270,  1337,  1150,     0,  1950,  1161,     0,  1145,
    3799             :        0,  1144,  1950,     0,  1162,     0,  1950,  1377,  1271,  1338,
    3800             :     1378,  1272,  1339,  1379,  1513,  1273,  1512,  1500,  1499,  1498,
    3801             :        0,     0,     0,     0,     0,     0,     0,     0,   822,  2590,
    3802             :      145,  1527,  1380,     0,  1274,   368,  1528,  1340,  1532,   840,
    3803             :      839,     0,     0,  1341,     0,   691,   696,     0,   698,   699,
    3804             :     2509,  2571,   700,   703,   704,     0,   706,   695,   694,     0,
    3805             :        0,     0,     0,     0,   712,   717,     0,     0,     0,     0,
    3806             :        0,     0,  1180,  1181,  1381,  1277,     0,  1342,     0,  1128,
    3807             :        0,  1278,   186,     0,     0,   282,     0,  2590,   309,     0,
    3808             :        0,     0,     0,     0,     0,     0,     0,     0,   822,   496,
    3809             :      822,     0,  1328,   306,   337,     0,   352,   347,   348,   346,
    3810             :     2590,   145,  2590,   145,     0,     0,     0,     0,     0,   349,
    3811             :      344,   345,   341,     0,     0,   354,  2481,  2553,  2735,     0,
    3812             :      723,   725,     0,   730,   357,  1298,   376,   375,   374,     0,
    3813             :      362,     0,   381,   384,     0,   359,   338,   336,   333,   297,
    3814             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3815             :        0,  1230,     0,  1384,  1343,     0,  1365,  1369,     0,     0,
    3816             :        0,   762,  1387,  1284,  1346,     0,   554,     0,     0,   573,
    3817             :      573,   554,  1398,  1285,   174,  1315,   163,     0,     0,   159,
    3818             :        0,     0,     0,     0,   153,  1388,  1286,  1347,     0,     0,
    3819             :     1389,  1287,     0,     0,   287,   634,   645,   650,  1292,   654,
    3820             :      651,  1355,   652,  1396,  1288,     0,  1392,  1318,  1350,   394,
    3821             :      617,   393,  1209,  1209,  1399,  1419,  1289,  1209,     0,  1326,
    3822             :        0,   276,   278,     0,   142,     0,     0,  1290,     0,  1348,
    3823             :        0,  1391,  1317,     0,     0,     0,     0,     0,     0,     0,
    3824             :        0,     0,  1535,     0,     0,     0,     0,     0,     0,   145,
    3825             :        0,     0,     0,  1328,  2590,   145,   882,  1390,     0,  1323,
    3826             :        0,  1363,     0,     0,     0,   406,     0,  1316,  1326,     0,
    3827             :      289,  1294,     0,  1357,     0,     0,   229,   228,   230,     0,
    3828             :        0,     0,     0,  2282,  2283,     0,  2280,  2114,  2333,     0,
    3829             :     1545,   987,   973,   986,     0,   969,  2551,     0,   972,   974,
    3830             :        0,     0,     0,   975,   979,   980,     0,   971,   968,   970,
    3831             :        0,   417,     0,     0,   779,   780,     0,     0,     0,     0,
    3832             :      859,     0,     0,  1525,     0,   150,   689,     0,     0,     0,
    3833             :      684,   714,   719,     0,     0,     0,     0,   473,   477,   481,
    3834             :      482,   483,     0,     0,     0,     0,   164,   151,     0,   902,
    3835             :        0,   554,     0,   772,  1209,  1402,     0,   194,   189,     0,
    3836             :        0,   735,     0,  1576,     0,     0,   612,   615,   614,     0,
    3837             :      380,   854,   852,   851,   853,   875,   850,     0,  1887,  1889,
    3838             :        0,     0,     0,     0,     0,     0,   624,   476,     0,     0,
    3839             :      561,     0,   600,     0,     0,     0,     0,   597,     0,     0,
    3840             :        0,  2462,     0,   871,   843,     0,  1139,     0,  1157,  1140,
    3841             :        0,     0,     0,     0,  1194,  1201,  1170,  1195,  1172,  1201,
    3842             :        0,     0,   785,   789,   788,   792,   790,     0,   786,   663,
    3843             :     1692,  1693,     0,  1227,     0,     0,  1521,     0,  1519,   924,
    3844             :     1221,   145,     0,   145,     0,   145,  1229,  1223,  1225,  1427,
    3845             :        0,   922,     0,     0,   915,   917,     0,   919,     0,  1031,
    3846             :      556,     0,     0,     0,     0,     0,     0,  1047,   661,  1054,
    3847             :        0,     0,     0,  1069,  1064,  1066,     0,  1081,  1075,     0,
    3848             :      748,     0,     0,  1647,  1640,  1642,  1641,     0,     0,  1638,
    3849             :     2287,   914,     0,   630,     0,  1081,  1072,     0,     0,     0,
    3850             :        0,     0,     0,     0,     0,     0,     0,     0,  1749,  2288,
    3851             :     2289,     0,     0,     0,  2321,     0,     0,  2158,     0,  2129,
    3852             :     2131,  2144,     0,  2159,  2112,     0,  2374,  2371,     0,     0,
    3853             :        0,  2375,  2382,  2178,     0,     0,     0,  2382,     0,  2402,
    3854             :        0,     0,     0,  2173,  2175,     0,     0,     0,  2392,  2392,
    3855             :        0,  2180,     0,     0,  2160,  2133,  2135,  2145,     0,     0,
    3856             :     2268,     0,  2148,  2147,     0,  2079,  2080,     0,     0,     0,
    3857             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3858             :        0,     0,     0,     0,     0,  2094,  2149,  2247,     0,     0,
    3859             :        0,  2151,  2150,     0,     0,  2315,     0,     0,     0,  2156,
    3860             :      513,  2161,     0,     0,     0,     0,  2167,     0,  2204,     0,
    3861             :        0,     0,  2102,  2278,     0,     0,     0,     0,     0,     0,
    3862             :        0,  2385,  2386,  2387,  2384,     0,  2069,  2054,  2072,  2048,
    3863             :     2052,  2056,     0,  2392,  2071,  2074,     0,     0,  2042,     0,
    3864             :        0,  2040,  2064,  2036,     0,     0,  2065,     0,  2120,     0,
    3865             :        0,     0,  2225,  2220,  2221,  1744,  1744,  1744,  1744,  1741,
    3866             :        0,     0,     0,  1788,     0,  1788,   205,     0,   238,   225,
    3867             :     1552,  1722,  1731,  1968,     0,  1986,  1984,  1927,  1932,  2007,
    3868             :        0,  1844,  1851,  1844,  1844,     0,     0,  1707,     0,  1829,
    3869             :        0,  1843,  1827,  1842,     0,     0,  1857,  1855,     0,  1857,
    3870             :        0,  1857,     0,  1821,     0,  1847,  1823,  1842,  1825,  1831,
    3871             :        0,  1873,  2420,  1882,     0,  1801,  1758,     0,  2269,  1121,
    3872             :        0,  1760,  1782,  1781,     0,  1771,     0,  1810,  1768,  1651,
    3873             :     1635,     0,  1633,  1620,  1622,  1621,     0,     0,  1623,  2337,
    3874             :        0,  1633,  1615,     0,  1659,     0,     0,  1886,     0,  1658,
    3875             :        0,  1950,  1142,  1143,     0,  1166,     0,  1086,  1087,     0,
    3876             :     1085,     0,     0,     0,   545,   548,     0,  1530,     0,  1397,
    3877             :     1314,   693,     0,     0,     0,     0,   708,   667,   709,   711,
    3878             :        0,     0,   710,   713,   716,  1326,     0,   295,  1300,     0,
    3879             :     1361,  1174,     0,     0,  1131,     0,     0,     0,     0,     0,
    3880             :     1102,   535,  1101,     0,     0,     0,   822,     0,   822,     0,
    3881             :        0,   540,     0,   495,   492,   332,     0,     0,     0,     0,
    3882             :      389,     0,   311,   324,   387,   330,     0,   364,     0,   335,
    3883             :        0,   328,   350,   342,   351,   343,   363,   365,     0,   727,
    3884             :      728,   726,   722,     0,   729,   731,     0,   378,     0,     0,
    3885             :        0,   396,   358,   395,     0,  1383,     0,  1326,     0,   291,
    3886             :     1296,     0,  1359,     0,     0,     0,     0,     0,     0,     0,
    3887             :        0,     0,     0,     0,     0,  1364,     0,     0,     0,     0,
    3888             :      767,     0,   764,     0,   573,     0,  1411,     0,  1408,  1406,
    3889             :      573,     0,     0,   156,   155,     0,   162,     0,     0,     0,
    3890             :        0,     0,     0,  1420,  1421,  1422,     0,     0,     0,     0,
    3891             :        0,     0,   400,     0,   301,   303,   302,     0,     0,     0,
    3892             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3893             :        0,     0,     0,     0,     0,     0,   407,   371,     0,   878,
    3894             :        0,     0,     0,   409,     0,     0,  1375,     0,     0,     0,
    3895             :        0,     0,  1382,  1279,  2117,  2118,  2115,  1755,  2332,     0,
    3896             :        0,     0,   984,     0,     0,     0,     0,   420,   421,   150,
    3897             :      419,   444,     0,   822,     0,     0,   856,   861,   869,  2659,
    3898             :     2255,  2256,   867,   862,   864,   866,   868,   865,     0,     0,
    3899             :        0,     0,   517,     0,     0,     0,   504,     0,     0,   514,
    3900             :      497,   500,   501,     0,     0,   685,   688,   686,   687,     0,
    3901             :      707,     0,   476,   524,   587,     0,   166,     0,     0,   167,
    3902             :      165,     0,     0,   380,   769,     0,   766,  1401,     0,   192,
    3903             :        0,   739,     0,     0,     0,     0,     0,  1209,   677,     0,
    3904             :      874,   876,   848,     0,   719,     0,     0,   636,     0,   554,
    3905             :     1608,   619,     0,   589,   476,   587,   596,     0,     0,   604,
    3906             :      379,     0,     0,   624,   380,     0,     0,  1102,     0,   870,
    3907             :        0,     0,  1138,     0,     0,     0,  1191,  1196,  1192,     0,
    3908             :     1171,  1153,     0,  1193,     0,     0,  1199,  1124,  1173,  1125,
    3909             :     1443,  1444,  1441,  1442,     0,     0,     0,     0,     0,     0,
    3910             :     1683,     0,     0,  1517,     0,   926,     0,   909,     0,   911,
    3911             :      145,   756,     0,   145,     0,     0,     0,     0,     0,     0,
    3912             :     1046,     0,  1040,  1042,  1067,     0,     0,  1081,  1080,     0,
    3913             :     1071,  1079,  1077,  1078,  1076,     0,     0,  1645,  1643,   622,
    3914             :        0,     0,   145,  1081,     0,     0,     0,     0,     0,     0,
    3915             :        0,     0,     0,     0,  2292,     0,  2323,  2319,     0,  2126,
    3916             :     2293,  2373,  2389,  2391,  2179,  2381,     0,     0,     0,  2404,
    3917             :        0,     0,  2382,  2342,  2396,  2395,     0,     0,  2394,  2382,
    3918             :     2382,  2342,  2181,  2342,     0,     0,     0,  2248,     0,     0,
    3919             :     2078,  2090,  2091,  2092,  2308,     0,  2097,     0,  2087,  2088,
    3920             :     2089,  2081,  2082,  2083,  2084,  2085,  2086,  2093,  2312,  2311,
    3921             :        0,     0,  2153,  2154,  2155,  2314,  2162,     0,  2499,  2205,
    3922             :        0,  2166,  2195,  2194,     0,     0,     0,  2169,     0,     0,
    3923             :     2191,     0,  2249,  2437,  2012,     0,     0,  2039,  2318,  2057,
    3924             :        0,  2073,  2075,  2035,  2268,     0,     0,     0,     0,     0,
    3925             :     2044,     0,     0,  2245,     0,     0,     0,  2227,  2224,     0,
    3926             :        0,     0,     0,  1735,  1734,  1740,  1801,  2114,  1801,     0,
    3927             :        0,  1928,     0,  1828,  1824,  1826,  1832,     0,  2863,     0,
    3928             :     1833,  1840,     0,  1820,     0,  1856,  1852,     0,  1853,     0,
    3929             :        0,  1854,     0,     0,  1822,     0,  1840,     0,  1880,  1747,
    3930             :        0,  2216,     0,  1759,  1119,  1120,  1769,     0,  1772,  2530,
    3931             :     1884,     0,  1634,     0,     0,     0,  1625,  1631,  1613,     0,
    3932             :        0,     0,  1655,  1633,  1656,  1163,     0,     0,  1155,  1092,
    3933             :     1093,  1096,  1094,  1091,  1095,     0,     0,     0,   822,   825,
    3934             :        0,     0,     0,   823,   145,  1275,     0,     0,     0,     0,
    3935             :      668,  1395,  1276,     0,     0,     0,     0,  1175,  1329,     0,
    3936             :        0,  1299,   822,     0,     0,     0,   568,     0,  1115,  1115,
    3937             :      558,   308,   538,   552,   542,   609,   552,   494,   493,     0,
    3938             :      491,   719,     0,     0,   315,   325,     0,   320,     0,  1327,
    3939             :        0,     0,     0,     0,   319,   322,   321,   391,     0,   388,
    3940             :        0,   145,   145,   366,   724,   377,   382,   383,   386,  1334,
    3941             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3942             :        0,     0,     0,   903,   886,     0,     0,   904,   905,     0,
    3943             :        0,     0,  1232,  1233,  1231,  1366,  1367,  1373,  1370,  1368,
    3944             :     1372,  1374,  1371,     0,  1282,     0,     0,   760,  1330,  1403,
    3945             :     1405,  1404,     0,  1407,   160,   157,   158,   161,  1331,  1312,
    3946             :     1293,  1356,   618,     0,     0,     0,  1291,     0,  1349,     0,
    3947             :        0,  1308,  1302,     0,     0,     0,     0,     0,     0,  1394,
    3948             :     1322,  1354,  1393,  1320,  1352,  1319,  1351,  1321,  1353,  1313,
    3949             :        0,     0,  1891,   883,     0,     0,     0,   145,   145,   881,
    3950             :      758,  1295,     0,  1358,  1304,     0,     0,     0,   976,     0,
    3951             :        0,     0,   978,   425,   445,   150,     0,   778,   842,     0,
    3952             :        0,   858,     0,   502,     0,   508,   515,     0,     0,   519,
    3953             :      520,   518,   550,  1209,   554,  1209,   811,   812,     0,     0,
    3954             :      832,     0,   683,     0,     0,   474,     0,   521,     0,     0,
    3955             :      478,   169,   168,     0,     0,     0,   773,   777,   775,   774,
    3956             :      776,   771,     0,   762,   194,  2590,     0,     0,     0,     0,
    3957             :      616,   610,   613,  1416,   849,     0,  1890,   752,     0,   380,
    3958             :      632,     0,     0,     0,   474,   624,     0,   479,   484,   485,
    3959             :      498,     0,   597,   588,     0,   589,   598,   599,     0,   606,
    3960             :     1491,     0,   625,   606,     0,     0,     0,   873,     0,   872,
    3961             :        0,  1141,  1158,  1159,     0,     0,  1201,     0,     0,  1203,
    3962             :     1198,     0,     0,   791,   794,   787,   670,   145,     0,  1520,
    3963             :      145,   145,  1258,     0,   920,  1061,  1062,  1063,  1060,  1059,
    3964             :      662,     0,  1065,  1024,  1074,   750,     0,   623,     0,  1025,
    3965             :      145,  1001,   993,  1000,   989,   992,   994,     0,   996,   997,
    3966             :      991,   988,   990,  2322,  2143,     0,  2388,  2390,  2177,  2401,
    3967             :     2400,  2176,  2407,     0,     0,  2370,  2398,  2397,     0,     0,
    3968             :     2382,  2382,  2146,  2157,     0,  2247,  2278,     0,     0,  2098,
    3969             :        0,     0,     0,  2152,  2858,     0,     0,  2209,  2210,     0,
    3970             :     2206,  2207,  2202,  2203,  2168,     0,  2647,  2186,     0,     0,
    3971             :     2201,  2061,  2059,  2058,  2043,     0,     0,  2041,  2037,     0,
    3972             :     2066,  2211,  2244,  2278,  2213,     0,  1755,  1739,  1738,  1737,
    3973             :     1736,  2216,  2434,  2216,   239,  1726,     0,  1876,     0,  1879,
    3974             :        0,     0,  1830,     0,     0,  1834,     0,     0,  1836,  1838,
    3975             :        0,     0,     0,     0,     0,     0,  2423,     0,  1800,     0,
    3976             :     1755,     0,  1770,     0,  1632,  1617,     0,  1618,  1624,     0,
    3977             :        0,     0,     0,     0,  1660,  1653,  1156,  1164,     0,     0,
    3978             :        0,   547,   827,   826,   829,   824,   828,  1531,     0,   701,
    3979             :      702,   705,  1301,     0,  1362,  1310,     0,  1649,   537,   310,
    3980             :        0,   563,     0,     0,     0,  1108,   140,  1107,     0,     0,
    3981             :        0,     0,     0,   490,   489,   498,   318,     0,     0,     0,
    3982             :      312,   390,     0,   392,   313,   317,   371,   334,   327,     0,
    3983             :        0,     0,  1297,     0,  1360,  1306,  1333,  1385,  1280,  1344,
    3984             :        0,     0,   892,     0,     0,     0,     0,  1386,  1281,  1345,
    3985             :        0,     0,     0,     0,     0,  1649,     0,     0,     0,     0,
    3986             :        0,     0,     0,     0,   298,     0,     0,     0,  1540,     0,
    3987             :        0,   370,   880,   879,   371,   408,  1324,     0,  2116,     0,
    3988             :      977,   982,   983,   981,     0,   414,   422,   425,     0,     0,
    3989             :     1249,  1249,     0,     0,   499,   516,     0,     0,   503,   608,
    3990             :      567,   608,     0,     0,     0,     0,     0,   720,     0,     0,
    3991             :        0,     0,     0,     0,     0,     0,     0,     0,   765,   764,
    3992             :      191,     0,   474,     0,   719,     0,   877,     0,     0,     0,
    3993             :      624,   476,     0,     0,  1605,   475,     0,     0,   487,     0,
    3994             :      600,   589,   597,     0,     0,   621,     0,  1484,     0,   627,
    3995             :        0,     0,     0,   821,  1197,     0,  1211,     0,  1152,  1122,
    3996             :     1206,     0,  1731,  1883,     0,     0,     0,     0,   804,     0,
    3997             :      674,  1250,  1518,   910,   912,   757,  1068,     0,  1081,  1073,
    3998             :      995,  2372,  2406,  2341,  2343,     0,     0,  2364,  2357,  2360,
    3999             :     2358,  2359,  2361,     0,  2356,     0,  2174,  2405,  2354,  2368,
    4000             :     2307,  2249,  2095,     0,  2310,  2309,  2313,     0,  2163,     0,
    4001             :     2164,  2208,  2170,  2187,     0,  2171,  2199,     0,     0,  2062,
    4002             :     2060,  2045,  2246,     0,  2231,  1709,  1708,     0,  1729,  1912,
    4003             :     1881,     0,     0,  1875,     0,     0,  1906,     0,     0,     0,
    4004             :     1841,  1859,     0,  1837,  1835,     0,  1848,     0,  1850,  2529,
    4005             :     2819,  2717,     0,  1787,  1789,  1792,  1794,  1793,  1795,  1791,
    4006             :     2215,  2217,     0,  1766,  2270,  1885,     0,     0,     0,  1103,
    4007             :        0,     0,  1633,  1662,  1674,  1674,  1657,  1069,     0,   145,
    4008             :      697,     0,     0,   284,  1115,     0,  1209,   569,  2659,   570,
    4009             :     1114,  1118,   139,  2677,     0,   551,   563,   563,   486,     0,
    4010             :      316,   326,     0,   373,   385,     0,  1649,     0,     0,   890,
    4011             :      899,   899,   887,     0,     0,   906,  1283,   761,     0,   572,
    4012             :        0,   279,  1309,  1303,     0,     0,     0,   305,     0,   304,
    4013             :        0,  1542,  1543,     0,     0,     0,     0,     0,  1332,   145,
    4014             :     1305,   985,     0,   447,   455,   426,   430,  1534,     0,  1534,
    4015             :        0,   427,   431,  1534,  1534,   424,  1883,   443,  1249,     0,
    4016             :     1246,  1245,   550,   638,     0,   549,     0,   506,     0,   578,
    4017             :      505,     0,   833,     0,     0,   718,     0,   476,   587,     0,
    4018             :      534,   525,   526,   527,   528,   530,   529,   531,   532,   533,
    4019             :      523,   522,     0,   719,   896,   380,  1491,   759,     0,     0,
    4020             :      732,     0,   719,     0,  1608,   620,   589,   476,   587,   480,
    4021             :      498,     0,   604,   597,   600,     0,   601,     0,   605,     0,
    4022             :        0,     0,   624,  1544,  1102,     0,     0,   822,  1210,  1171,
    4023             :        0,     0,  1200,  1204,  1205,     0,     0,     0,     0,  1253,
    4024             :      798,   799,   793,   795,     0,   806,   810,   669,     0,     0,
    4025             :      673,   664,   719,   145,     0,     0,  2355,  2362,  2363,     0,
    4026             :     2184,     0,     0,  2380,     0,     0,     0,  2096,     0,     0,
    4027             :     2189,  2188,  2200,  2172,  2226,     0,     0,     0,     0,     0,
    4028             :        0,     0,  1720,     0,  2342,  1874,  1877,     0,  1909,     0,
    4029             :        0,     0,     0,  1894,     0,  1839,     0,     0,  1849,     0,
    4030             :        0,     0,  1796,     0,     0,     0,  1805,     0,  1630,  1883,
    4031             :        0,  1627,     0,  1669,     0,  1661,  1663,     0,     0,     0,
    4032             :     1088,     0,  1089,  1311,     0,  1109,     0,   608,     0,  1121,
    4033             :     1118,   557,     0,  1209,  1209,   638,     0,     0,   329,     0,
    4034             :      292,  1307,     0,     0,   901,   901,     0,     0,     0,     0,
    4035             :        0,     0,   402,     0,     0,   300,   299,  1536,     0,  1537,
    4036             :     1538,  1541,   410,   423,     0,   453,   452,     0,   450,   449,
    4037             :      451,     0,   440,     0,     0,     0,     0,     0,     0,   413,
    4038             :     1244,  1248,  1247,   507,     0,   509,     0,     0,   564,   565,
    4039             :      566,     0,   511,   574,   575,   830,     0,   835,     0,   721,
    4040             :        0,     0,   719,   586,   743,     0,     0,     0,  1485,     0,
    4041             :        0,   611,   753,  1491,   624,   597,     0,   589,   488,     0,
    4042             :      606,   600,   604,   602,   603,     0,  1488,     0,   626,     0,
    4043             :     1111,   820,     0,  1201,  1212,  1207,  1202,  1447,     0,     0,
    4044             :      796,   801,   800,  1534,   805,     0,     0,     0,   672,   671,
    4045             :      747,  1026,  2344,  2345,  2369,     0,     0,     0,  2348,     0,
    4046             :     2346,     0,     0,  2368,     0,  2185,  2306,  2192,  2165,  2190,
    4047             :     2806,  2530,  2777,     0,  2243,  2232,  2243,  2243,  2223,     0,
    4048             :        0,     0,  1911,     0,     0,     0,  1907,  1908,  1892,     0,
    4049             :        0,  1896,  1846,  1872,     0,     0,     0,  1790,  2218,  2219,
    4050             :     2453,  1619,  1629,  1104,     0,  1671,  1673,     0,     0,     0,
    4051             :     1649,     0,   573,     0,  1105,  1121,   560,   608,   608,   323,
    4052             :      314,   372,     0,     0,     0,   897,   900,   888,   889,   908,
    4053             :      907,   763,  1649,     0,   398,   397,     0,   401,     0,   448,
    4054             :      458,     0,   456,   428,   433,     0,   439,   438,   435,   434,
    4055             :      429,   432,     0,     0,     0,     0,     0,     0,   576,     0,
    4056             :      577,     0,   834,     0,     0,     0,   745,   895,     0,     0,
    4057             :      474,   719,  1486,  1606,   600,   589,   597,     0,     0,   591,
    4058             :     1115,  1115,   461,   604,   606,  1489,  1490,     0,     0,   514,
    4059             :        0,  1123,  1446,  1445,  1731,     0,     0,     0,   807,   808,
    4060             :      803,     0,     0,  2349,     0,  2352,     0,  2353,  2347,  2377,
    4061             :     2379,     0,  2365,  2366,     0,  2236,  2235,  2234,  2238,  2237,
    4062             :        0,  2230,  2228,  2229,     0,     0,     0,     0,  1878,     0,
    4063             :     1895,  1898,     0,     0,     0,  1904,     0,  1897,  1899,     0,
    4064             :     1858,     0,  1870,  1798,     0,  1797,  1883,     0,  1676,     0,
    4065             :        0,  1664,  1665,     0,     0,  1666,   145,   285,   562,   822,
    4066             :      571,  1106,     0,   567,   822,   822,  1649,   891,     0,   280,
    4067             :        0,   403,  1539,   454,     0,   437,   436,   637,   510,   607,
    4068             :      583,     0,   582,     0,   580,   579,   831,   836,     0,   719,
    4069             :      885,  1491,   733,   604,   597,   600,     0,   590,     0,   140,
    4070             :      140,   606,   459,     0,     0,   380,     0,  1429,  1731,  1428,
    4071             :     1430,  1438,  1435,  1437,  1436,  1434,     0,  1256,  1257,   797,
    4072             :      802,     0,     0,  2350,  2351,     0,     0,  2183,     0,     0,
    4073             :        0,  2240,     0,  2241,     0,     0,     0,     0,     0,  1901,
    4074             :     1902,  1903,  1905,  1900,  1845,     0,  1799,  1626,  1670,  1672,
    4075             :     1667,     0,  1668,     0,     0,     0,     0,  1677,  1090,   543,
    4076             :      558,   578,   541,   539,   293,   898,     0,   457,   581,   554,
    4077             :      554,   719,   744,  1487,   606,   600,   604,  1115,   592,   594,
    4078             :      593,   463,  1111,  1112,     0,   606,   810,     0,  1439,  1433,
    4079             :     1707,  1694,     0,     0,   809,     0,     0,     0,     0,  2233,
    4080             :     2239,  2242,     0,     0,     0,     0,  2640,     0,  1913,     0,
    4081             :        0,     0,  1675,  1681,     0,     0,     0,     0,   822,     0,
    4082             :      585,   584,   746,   462,   604,   606,   140,   514,  1110,     0,
    4083             :     1883,     0,  1431,  1731,     0,     0,   815,  2376,  2378,  2367,
    4084             :     1725,  1724,  2824,     0,     0,  1728,  1921,     0,  2370,     0,
    4085             :        0,  1924,     0,  1871,     0,     0,     0,   559,   544,   399,
    4086             :      606,   460,   595,   380,  1113,  1097,     0,  1432,     0,     0,
    4087             :      817,     0,   813,   816,   818,   819,     0,     0,     0,     0,
    4088             :     1914,  1915,  1924,     0,  2354,  1924,  1893,  1678,  1682,     0,
    4089             :     1679,   464,   606,     0,     0,     0,   781,     0,  1755,     0,
    4090             :        0,     0,  1910,  2368,  1923,  2380,  2354,     0,  1883,     0,
    4091             :        0,     0,   814,     0,     0,     0,     0,  1918,  2368,  2380,
    4092             :        0,  1098,   815,  1254,  1255,     0,  1727,     0,     0,  1916,
    4093             :     2368,  1680,     0,     0,  1919,  1917,   782,     0,  1920
    4094             : };
    4095             : 
    4096             :   /* YYPGOTO[NTERM-NUM].  */
    4097             : static const yytype_int16 yypgoto[] =
    4098             : {
    4099             :    -5959, -5959, -5959,  4152,  -441, -1729, -5160, -1131,  -881, -5959,
    4100             :    -5959,  -969,   533,  3371, -1727, -5959, -5959, -5959,  1471, -5959,
    4101             :    -5959, -5959, -5959,  4113, -5959, -2938, -5959, -5959,   181,  4064,
    4102             :    -1383,   186,  3697,  1650, -5959, -1030, -5959, -5959,  -628,     1,
    4103             :    -5959,  4072,   622, -5959, -5959, -5959, -5959, -5959, -5959, -5959,
    4104             :    -5959,  -695, -5959,  -599,  2119, -5959,  2205,  1442, -4892, -5959,
    4105             :    -5959, -1552, -3825, -5959,   688, -5959,   714, -4179, -5959, -4869,
    4106             :     -998, -5959, -5959, -5959,  2097, -5959, -5959, -5959,  2046,  1229,
    4107             :     -343, -5959, -5959, -5959, -5959, -5959, -5959,  -819, -5959, -5959,
    4108             :    -1128,     2,  -656, -2991, -4348, -5959, -5959,   534,  -386, -1501,
    4109             :    -5959,   730, -5959,   732, -5959, -4902, -5959,    30, -2788, -4426,
    4110             :    -5959, -5959, -5959,  -357, -1524,  1477, -5959,  1540,  -604,   183,
    4111             :     -732, -1195, -1200, -5959, -3097, -2647, -1099, -5959,  -237, -3619,
    4112             :    -1194,  -828,  -823,  -985, -4417, -4946, -5959, -5959, -1126, -3826,
    4113             :    -5268, -5507, -4995, -5187,  1488, -5959,     6,   541, -5959,     4,
    4114             :    -3700, -3782,     5,   517, -5959,     7,     8, -5959,   536,  -755,
    4115             :     -991, -1619, -5959,  -953, -5959, -5959, -5959, -3494, -5959, -5959,
    4116             :    -5959,   192, -5959, -5959, -5959, -5959,   576, -5959, -5959, -5959,
    4117             :    -5959, -5959, -5959, -2357,  2074,  2075, -5959, -4477, -5959,  -955,
    4118             :    -5959,   741, -3539,  1472, -5959, -5959,  1226,  4134,   559, -5959,
    4119             :    -5959, -5959, -5959, -5959, -5959, -1803, -5959, -5959, -5959, -5959,
    4120             :       28,  -327, -5959, -5959, -5959, -5959, -5959, -5959, -5959,    11,
    4121             :    -5959,  1189,   495, -5959, -5959,  -647, -5959, -5959, -5959, -5959,
    4122             :    -5959, -5959, -1190, -5238, -1325, -1299, -5959, -3481, -5959, -5959,
    4123             :    -5959,  -304, -5959, -5959, -5959, -5959, -5959,  -878, -5959,  1279,
    4124             :    -4197, -5959, -5959,   535, -5959, -5959, -5959, -5959, -5959,  -965,
    4125             :     -236,  3301, -5959,  -505,  -736, -5959, -5959, -5959,  -233, -5959,
    4126             :    -5959, -5959, -5959, -5959,  -506, -1273,  5152,  4512, -1114, 16696,
    4127             :     -846,  -584, -5959, -5959, -5959, -2789, -5959, -5959, -4297, -5959,
    4128             :     5153,  2572,  1678,    12, -5959,    29,   115,  3947, -5959,  1155,
    4129             :    -1173, -3121,   498,  -451, -5959, -5959, -5959,   499, -5959, -1962,
    4130             :    -5959, -5959, -5959, -5959, -4164,    13, -5959, -4451, -5265, -4674,
    4131             :    -4246, -1155, -5959, -4488, -5218, -4135, -5959,  2104, -5959, -5959,
    4132             :     -535,  -140,  3297, -5959, -1491,  2452, -1460, -5959, -2590,   561,
    4133             :     1640,  3304, -3309,  -105,  3317, -3044, -5959,  -641,  1231, -5959,
    4134             :     -320, -3838, -5959, -5959, -5959, -2809,  -585, -5959, -5959,  1616,
    4135             :      810, -5959, -5959, -5959, -5959,  -655,  3258,  -205, -5959, -5959,
    4136             :     4498, -5959, -5070, -5959,  4459, -5959, -5959, -5959, -5959, -5959,
    4137             :    -5959, -5959, -5959, -5959, -1480,  1401, -5959,  -827, -5959, -5959,
    4138             :     2208,   782, -5959, -5959, -5959, -5959,  1491, -1231, -5959, -5959,
    4139             :    -5959, -5959, -5959, -5959, -5959,  -930, -1168, -5959, -5959, -5734,
    4140             :    -5959, -5959, -5959, -5959, -5959,   507,  -960,  -757,  4373,  1289,
    4141             :       14, -5502, -5959, -5959, -1056, -5959,  3700, -5959, -5959, -5959,
    4142             :    -5959, -5959,   564,   563, -5959, -5959, -5959, -5959, -4188, -5959,
    4143             :    -5959, -5066, -5959, -5959,  2207, -5959, -5959,  1340,     3,  3409,
    4144             :    -5959, -5959, -5959,    22, -5959, -5959, -1032,  2553, -5959, -2417,
    4145             :    -5959,  -602, -5959, -5959, -1915,    15, -4422, -5959,    51, -5959,
    4146             :    -5959, -5131, -1077,   374, -5959, -5959, -4138,    57, -5959, -5959,
    4147             :    -5959, -5959, -5115, -5959,    58, -5024,   949, -3378, -5959,    10,
    4148             :    -5959,  -382, -5959, -5959,  -378, -5959, -5959, -5959, -4152,    16,
    4149             :       31, -5959, -5959,   113,   635,   -47,   -25,    -8,    21,   163,
    4150             :     3832, -5959, -5959, -5959, -5730,  3872, -5959,    49,  -874,  5213,
    4151             :     5221, -5959,  -905,  -139,   531,  1768,  -688, -2632,  3779,  3777,
    4152             :    -5959,  1756,  2576, -2461, -2471, -5959,  -932,  -784,  -591, -5959,
    4153             :    -5959, -5959, -5959, -1529,  -669, -2637, -5959,  3785, -5959, -5959,
    4154             :    -5959, -2367, -3411, -3257,  1798, -3330, -3179, -5959,  1035,  1019,
    4155             :     -957,   -29,    44, -1493,  -795,  1826, -5959, -5959,  1809,  -307,
    4156             :    -5959, -5959,  -305, -3332,   982, -5959, -4626, -2845,  1812, -1078,
    4157             :     -756, -5959,  -902, -5959,  -551,  1829, -5959, -4000, -1107, -5959,
    4158             :    -3779,  3261,  3871,  -834, -5959, -5959,  -810, 10541, -5959, -5959,
    4159             :    -5959, 10966, 12069, -5959, -5959, 12082, 13001, -5959,  -559, 13621,
    4160             :     9811,  -797, -1949,   189, 13937, 19692, -1963,  2450,   159, -5959,
    4161             :    -2995, -2381, -5959, -5959, -5959,  -261,  1140,   628, -5959, -5959,
    4162             :    -4683, -4486, -5959,  2720, -1965, -5959,  -552,  1902,  -550, -5959,
    4163             :    -5959, -5959, -2813, -5637, -2987,  2726, -5959, -5959, -5959,  -186,
    4164             :    -5959, 19983, -3300, -5959,  -523, -1023, -1595,  3231, -3111, -1910,
    4165             :    -5959, -5959, -5959, -3149, -5959, -5959, -5959,  -694,  1924, -5959,
    4166             :    -5959,  2052, -5959, -5959, -5959,  -974,  2290,  -775, -1166,  1929,
    4167             :    -4540, -5959,  -489, -4786, -5046, -5959, -5492, -1082, -1894, -1083,
    4168             :    -3047, -5958, -1955,  1945, -3143, -5959, -1945,  2026,  1234, -5959,
    4169             :    -1084, -5959,  4414,  -788,  2741,  -817, 17941,  -715, 10598, -1278,
    4170             :    -5959,   399, -4219,  5961,  6709,    32,  -120,  8126,  -612,  2650,
    4171             :     3058, -5959, -5959,    -6,  8794,  -631,  -573, -5959,  4992, 17514,
    4172             :    15953, -3727, -5959
    4173             : };
    4174             : 
    4175             :   /* YYDEFGOTO[NTERM-NUM].  */
    4176             : static const yytype_int16 yydefgoto[] =
    4177             : {
    4178             :        0,    57,    58,    59,    60,  1111,  1116,  1915,  1934,    61,
    4179             :       62,  1635,  3075,  2926,  3906,  3907,    63,    64,  1631,    65,
    4180             :       66,    67,    68,  1545,    69,  1887,  3089,    70,  2758,   853,
    4181             :      854,   855,  2623,  2624,  3020,  2625,  2613,  1397,  1833,  1567,
    4182             :      827,   828,  1527,  1568,    72,    73,  1391,  2604,    74,    75,
    4183             :       76,  1598,  5423,  5424,  1694,  1599,  1600,  1539,  5052,  5898,
    4184             :     3690,  2881,  3954,  3691,  3692,  4383,  4384,  3770,  4412,  4474,
    4185             :     5912,  5913,    77,  1710,  1711,    78,    79,  3057,  3872,  4529,
    4186             :     5445,  5446,  5715,   672,  5075,  5076,  5702,  5703,  5929,  6101,
    4187             :     6102,  3090,   703,  3949,  4613,  3897,  5146,  3898,  5147,  3899,
    4188             :     5148,  4940,  4941,  4373,  4374,  3883,  4560,  4561,  2091,  5088,
    4189             :     4562,  3900,  5107,  5750,  3901,  2847,  2773,  2774,  5458,  5371,
    4190             :     3124,  2006,  5369,  6223,  2004,  5646,  5729,  4925,  4926,  4448,
    4191             :     5952,  5953,  5954,  6244,  5109,  5152,  5153,  6138,  6139,  3952,
    4192             :     4619,  5159,  5505,  5727,  3648,    81,  3925,  3926,    82,   766,
    4193             :     1909,  4053,   767,  3127,   704,   768,  3091,    87,  3117,  5945,
    4194             :     3118,  1661,  2940,  4542,  4029,    88,  1139,  4336,  5530,  5810,
    4195             :     5811,   757,    89,  1895,    90,    91,  3070,  3890,    92,  2791,
    4196             :     3595,    93,    94,  3614,  3615,  3616,    95,  4570,  5466,  1601,
    4197             :     3679,  3680,  3681,  3682,  4404,    96,  1890,  3098,  3099,    97,
    4198             :       98,    99,  3229,  3230,   100,  3006,   101,   102,   103,   104,
    4199             :     4442,  5007,  5123,  3721,  3913,  4586,  5121,   105,  3876,  3092,
    4200             :     3145,  3987,  3988,  5528,  5802,  5803,  5804,  6003,  6279,  5806,
    4201             :     6005,  6160,  6007,  5098,  6431,  6432,  5787,  4325,  4903,   107,
    4202             :     5099,  5100,  5958,   108,  2789,   109,   110,  1864,  3063,  3064,
    4203             :     4543,  3134,  3962,  3963,  4599,  4600,   111,  3812,   112,  4983,
    4204             :     4984,   705,  5966,  5904,  6087,   113,   114,  4987,  4988,   115,
    4205             :      116,   117,   118,   119,   758,  1073,  1074,   760,  1194,  1195,
    4206             :     3556,  1156,   120,  2633,   121,  3852,   122,  1269,  5212,   123,
    4207             :      792,  1210,  1211,  3093,   125,   802,  3248,   804,  3213,  3214,
    4208             :     2022,  4033,  4034,  4687,   126,   127,  4037,  4038,  4694,  3226,
    4209             :      128,  1532,  2768,  2769,  4895,  3094,   706,  3641,  5628,  5365,
    4210             :     5629,  6149,  6344,  5366,  3500,  4281,   130,   707,  1573,  2830,
    4211             :     1162,  1163,  3138,  3967,  2738,  2739,  1733,  4640,  2741,  3969,
    4212             :     2742,  1506,  2743,  1149,  1150,  3975,  3976,  3977,  3978,  4636,
    4213             :     4646,  4647,  5522,  5795,  4643,  1883,  5516,  5517,   131,  1570,
    4214             :     2827,   132,   133,   134,  1614,   997,  1172,  1173,   135,   719,
    4215             :      720,   136,  5720,   137,  1152,   138,  5526,   139,   140,  1254,
    4216             :     1255,   819,   141,   142,  2851,  4386,   143,  1571,   144,   145,
    4217             :     3715,  3716,  4999,   146,   147,   148,  2912,  2913,   149,   150,
    4218             :      151,   152,   153,  6269,  6347,  6348,  6349,  4654,  6154,   154,
    4219             :     1242,   155,   156,   157,   158,   196,  1038,  1039,  1040,   950,
    4220             :     3095,  5507,   160,   161,  1528,  1529,  1530,  1531,  2763,   162,
    4221             :      163,   164,  3997,  3998,   165,   166,   167,   168,  1867,   169,
    4222             :      170,  5693,   171,   172,  1837,   173,   174,  1047,  1048,  1049,
    4223             :     1050,  1835,  3444,   666,   872,  1422,  1428,  1471,  1472,  1473,
    4224             :      176,   770,   177,  1245,  1078,   771,  1203,   179,   772,  2720,
    4225             :     3530,  4296,  4297,  4298,  4301,  5331,  4872,   773,  3526,   182,
    4226             :     2029,  3235,  3238,  3522,   774,  3536,  3537,  3538,  4305,   775,
    4227             :     5632,  5633,  5634,  5635,  5878,  6211,  6212,  6215,  6317,   776,
    4228             :      794,  1142,  3149,   777,  1356,   188,   189,   190,   930,   875,
    4229             :      876,  3449,  5588,  5842,   192,  2597,  3427,   811,  1477,   918,
    4230             :      919,   920,   939,  3030,  2686,  2687,  2711,  2712,  1486,  1487,
    4231             :     2699,  2703,  2704,  3513,  3506,  2692,  4275,  5613,  5614,  5615,
    4232             :     5616,  5617,  5618,  4861,  2707,  2708,  1489,  1490,  1491,  2716,
    4233             :      193,  2676,  3479,  3480,  3481,  4251,  4252,  6200,  4266,  4262,
    4234             :     4846,  5308,  3482,   864,  1240,  1498,  4854,  6202,  3483,  5297,
    4235             :     5298,  5593,  4271,  3492,  4292,  3937,  3938,  3939,  3484,  5852,
    4236             :     5853,  6197,  6198,  5595,  5596,  3485,  5844,  6367,  6368,  6407,
    4237             :     6444,  2744,  1451,   903,  1357,   904,  1464,  1358,  1438,   906,
    4238             :     1359,  1360,  1361,   909,  1362,  1363,  1364,   912,  1430,  1365,
    4239             :     1366,  1447,  1460,  1461,  1367,  1423,  5597,  1369,  1370,  1371,
    4240             :     3487,  1372,  4790,  5269,  5255,  3349,  3350,  2620,  5578,  4786,
    4241             :     4164,  4780,  2590,  2594,  5320,  5620,  5621,  3420,  4213,  4817,
    4242             :     5286,  5838,  6034,  6035,  6181,  1373,  1374,  1375,  3412,  2584,
    4243             :     1000,  1376,  4545,  2586,  3340,  3318,  1736,  3319,  2032,  2054,
    4244             :     3267,  3283,  3284,  3388,  3320,  3328,  3333,  3341,  3374,  1377,
    4245             :     3269,  3270,  4075,  2056,  1378,  1044,  1739,  1045,  1466,  3369,
    4246             :     5235,  5543,  5544,  5823,  5824,  5554,  5825,  5555,  5545,  4086,
    4247             :     4087,  6023,  3294,  3389,  4090,  3302,  3303,  4108,  4097,  3295,
    4248             :     1379,  4099,  1387,  1388,  1381,  2023,   865,  5304,  1198,  1820,
    4249             :      808,  1382,  1383,  1384,  1385,  1607,   971,  1165,  1166,   921,
    4250             :      923,   924,  2680,   662,   654,   973,  3683,  2587,   663,   656,
    4251             :      657,  1825,  2588
    4252             : };
    4253             : 
    4254             :   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
    4255             :      positive, shift that token.  If negative, reduce the rule whose
    4256             :      number is the opposite.  If YYTABLE_NINF, syntax error.  */
    4257             : static const yytype_int16 yytable[] =
    4258             : {
    4259             :      653,    71,    80,   175,    83,    84,   998,    85,    86,   929,
    4260             :      184,   106,   124,   129,   159,   178,   185,   805,  1735,   807,
    4261             :     1832,   191,  1660,   813,   769,   999,  1392,  1606,   821,   829,
    4262             :      833,  1105,   836,  2003,  1051,   829,   829,  1492,   866,   660,
    4263             :      869,  2953,   191,  2875,  1197,  2740,   711,   925,   925,   925,
    4264             :      940,   180,  1380,  1949,   796,  2846,  3647,   181,   183,  1665,
    4265             :      796,  1715,  1478,  1443,  1480,   831,   963,  1231,  1232,  1233,
    4266             :     1463,  1826,  1419,  1237,  1004,  1434,  1435,  1009,  2845,  1727,
    4267             :     3523,  2831,  3250,  3896,  1892,  1442,  3524,  1145,   863,  2043,
    4268             :     1143,  1418,   951,  1406,   867,  3979,  1007,  1834,  4223,  3112,
    4269             :     4225,  1237,  4020,  1449,  2858,  4598,  3927,  1204,  1511,  2051,
    4270             :     1029,  4449,  2740,   186,  4290,  3301,  2035,  4927,  3241,  4342,
    4271             :     2037,  1865,  3325,  2038,  2039,  1870,  3305,  5137,  4055,  1178,
    4272             :     1874,  4624,  2914,  2914,  1051,  3024,  2914,  4399,   803,  4401,
    4273             :     1884,  4649,  3266,  1191,  4863,  2985,  2986,  3809,  3918,  3549,
    4274             :     3551,   832,  1602,  4265,  1904,  4547,  5301,  4304,  4897,  3775,
    4275             :     3358,  1072,  1205,  4878,  4611,   651,   942,  4371,  5509,  4375,
    4276             :     1188,  3179,  3289,  3293,  3296,  3297,  5166,  1624,  3306,  2822,
    4277             :     3308,  3309,  1641,   943,  2672,  1938,  3131,  1051,  5145,  5553,
    4278             :     1574,   653,   954,   954,   232,  5626,   954,   934,  5155,  4279,
    4279             :      965,  5240,   866,  5241,  1176,  1001,  5651,  1180,   965,  5502,
    4280             :     2980,   965,  4967,   878,   866,  1145,   954,  3442,  1399,   866,
    4281             :     4248,   826,   852,   954,  5106,   866,  5733,  1877,   860,  5313,
    4282             :     3430,  5315,  5772,  3518,  3432,  4192,  4310,  5470,  3013,  2822,
    4283             :     1051,  3515,  5643,  1901,  4608,  4092,  4195,  5785,  5498,  2677,
    4284             :     3855,  1485,  3858,  3859,  5968,  5367,  2822,  3863,  3864,  3865,
    4285             :    -2427,  3867,  3868,  3869,  3494,  5980,  5154, -1983, -1950,  1022,
    4286             :     1488, -2574,  2802,  3915,  5730,  1941,  4303, -2616, -2642,  1418,
    4287             :      670,  1945,  1900,  5022,   778,  5501,  3367,  4094, -2462, -2685,
    4288             :     1931,  1956, -1963,  5260,  3488,  1959,  1515, -2462, -2462,  1962,
    4289             :     5681,  1964,  1051,  4263,  1931,  4268,  4269,  1972,  2112,  5364,
    4290             :     3246,  6015, -2495,  1978, -1988, -2008,  1981,  4105,  1659, -2578,
    4291             :    -1978,  4634,  1569,   778,  1431,  1432,  1603,  1693,  3224,  6019,
    4292             :      778,  3886,   778, -2463,   717,  1441,  6164,  1720,  4128,  2849,
    4293             :     2637,  1212, -2463, -2463, -2874,   949,  1263,  1625,  1216,   717,
    4294             :     1424,   717,  1857, -2874, -2874,  2631, -2426,  1132, -1991,  4548,
    4295             :     5695,  5696,  6016,  1569, -1991,  2595,   717,   717,  1569,  3109,
    4296             :     2849,   717,  1704,  2639,  2610,  3394,  1603,   717,  1705,  5723,
    4297             :     4338,  5721,   778,  6166,  1516,  4057,   778,  2849,  2914, -1922,
    4298             :     4043,  4105,  3055,  6174,  3121,  2917,  -150,  4980,  2921,  2978,
    4299             :      778,  2992,  -150, -1783,  5835,   652,  3367,  4551,  5214,  5215,
    4300             :     5216,  2764,  5218,  5219,  5220,  5221,  5222,  3365,  3073,  1145,
    4301             :     6271,  3122,  6152,  2765,  6276,  4045,  2970,  1931,  2995,  1931,
    4302             :     5808,  5167,  1931,  5889,  5096,  3415,  1931,  1227,  1517,  2090,
    4303             :     6449,  2766,  2683,  5871,  1826,  3887,  1727,  4871,   784,  2899,
    4304             :     1879,  2614,   838,  1931,   784,   784,  2626,  2626,  4985,    40,
    4305             :     5257,  4047,  1626,  3520,  5375,  1396,   784,  1554,  4553,  2760,
    4306             :     1821,  6132,   785,  5658,  5576,  6144,  1541,  6021,   785,   785,
    4307             :     1615,  1481,  1931,  1434,  1435,  6001,  1643,  1706,  1475,   784,
    4308             :      785,  2611,  2679,  3836,  5663,  3769,   784,  3015,  4472,    44,
    4309             :      999,  2112,  3803,   784,  2866,  4128,  5982,  6478,  1034, -2253,
    4310             :     3017,  1827,   233,   785,  1828,  1442, -2253,  5377,   669,  3395,
    4311             :      785,  6490, -2639,  3018,  3396,  5383,   761,   785,  4981,  2998,
    4312             :     1644,  6171,   667,  2637,  6271,   717,  6002,  3804,  6276,  1449,
    4313             :     2867,  3016,  5699,    48,   835,  6022,  5345,  3807,  4048,  4473,
    4314             :      999,  5900,  1518,  3019,  3409,  5773,  2112,  5577,   839,  1616,
    4315             :     5631,  3410,  1957,  4095,  1099,  1274,  2639,  5903,  4128,  1483,
    4316             :     1109,  5836, -3001, -3001, -3001,  3397,  3110,  3521,  5258,  5453,
    4317             :     2849,  2106,  1123, -2272,  4556,  2849,  3416, -1783,  2637,  4986,
    4318             :    -2272,  1542,   891,  4106,  1476,  2900,   952,  2809,  6315,    56,
    4319             :     1826,  1932,  5837,  2849,  5097,   964,  1987,  2816,  3366,  6153,
    4320             :     1863,  2600,  1035,   964,  3646,  1932,   964,  1519,  2767,  1862,
    4321             :     5809,  2639,  5872,  2024,  2849,  3074,  1228,  2612,  3123,  2675,
    4322             :     4124,  2849,  4557,  2632,  2034,   187,  6261,  1145,   870,  4128,
    4323             :     2048,  4044,  4982,  4468,  4535,  4595,  1627,  5761,  5940,  4558,
    4324             :     3082,  2044,  6359,  2674,  2779,  4073,   187,  1520,  3888,  6271,
    4325             :     1054,  1521,  2956,  6276,  3056,    35,   866,  4106,   954,  4339,
    4326             :      954,  1707,  6075,   954,  3224,  3368,  4046,  3224,  1036,  1984,
    4327             :     1001,  1082,  4547,  2596,  1947,  1112,  2948,   954,  5607,  2951,
    4328             :     1628,   928,   191,   954,  2938,   982,  1522,  2941,  2942,  -446,
    4329             :     6072,   712,   983,   984,   985,  3022,  3023,  6115,  3012,  1236,
    4330             :     5002,  2958,  2650,  6143,  3589,  1708,  6406,   653,   929,  1137,
    4331             :     3488,  5724,  1079,  1431,  1432,  1629,   965,  4635,  1080,  1081,
    4332             :     1001,  3398,  1523,   965,  2876,  1524,   965,  6017,  1932,  3618,
    4333             :     1932,  3231,  1037,  1932,  1429,  5335,  6334,  1932,  1236,  6333,
    4334             :     1709,  2920,   954,  3889,  4559,  2859,  2979,  3111,  5115,  1266,
    4335             :     2678,  1441,   671,  5376,  1932,  1042,  3021,  1933,  1042,  1043,
    4336             :     1145,  6018,  1043,  2608,  5385,  5571,  3262,  4181,  1145,  1145,
    4337             :     1863,  1940,  6313,  2893,  1083,   191,  1525,  2876,  1042,  6020,
    4338             :    -2427,  1208,  1043,  1932, -2639,  4199,  6165, -1983,  1433,  5163,
    4339             :     2028,  2971,  2972,  1493,  2717,   866,  4096,  3197,  3459,  3066,
    4340             :    -2574,  1209,  2937,  1214,  1256,  1218, -2616, -2642, -2462,  5915,
    4341             :     5975,  1222,  1437,  2718,  1225,  5009,   941,  2583, -2685,  6385,
    4342             :     3029,  5013,  2105,  2993,  1386,  1386,  4107,   866,   829,   790,
    4343             :      791,  5162,   829,  6167, -1988,  2066,   790,   791,  1604,  1605,
    4344             :    -1978, -2495,  6098,  2807,  1543,  1239,   866,  4143, -2578,  1848,
    4345             :     2996,   866,  3181, -2463,  2108,  4134,  6253,  1386,  5978,  1444,
    4346             :     1445, -2639,  3837,  3232, -2874,  1444,  1445,  6420,   999,  2598,
    4347             :     2655,  2656,  6263, -2639,  1633,  4932, -2426,  4934,  1446,  1821,
    4348             :     6224,  6225,  3043, -2253,  1448,  3207,  3435,  6436,  1604,  1605,
    4349             :     5346,  4547,   790,   791,  1944,   942,  1955,  3222,  1634,  1977,
    4350             :     2653,  1239,  4265,  1980,  1386,  2892,   790,   791,  -150,  -150,
    4351             :     5540,  1844,   943,  1544,  6282,  1849,  1726,  1850,   866,  2826,
    4352             :     1947,  2999,  1613,    71,    80,   175,    83,    84,  3411,    85,
    4353             :       86,   866,   184,   106,   124,   129,   159,   178,   185,  3704,
    4354             :     1839,  4527,  4528,   191,  4508,  6217,   866,  1526,  4312,  4686,
    4355             :     4313,  3000,  2901,  4463,  4464,  4739,  4740, -2272,  4465,  4744,
    4356             :     5885,  6477,  4913,  2877,  4608,   866,  2726,  6229,  1863,  4589,
    4357             :      954,   954,  2826,   180,  6314,  6142,  6489,  6336,  2836,   181,
    4358             :      183,  1497,  4306,  4972,  4563,  4277,   871,  4843,  6495,  2826,
    4359             :     4469,  4847,  3268,  1863,  3083,  4887,  1548,  5760,  4596,   713,
    4360             :     4596,  2780,   829,   829,  6442,  2578,  2579,  2580,  2581,  2582,
    4361             :     2583,  4140,  4141,  4142,  4143,  1395,  2877,  4230,  2027,  1403,
    4362             :     4689,  6136,  1881,  4686,  4284,  1386,  1386,  1425,  5077,  2801,
    4363             :     6206,  4182,  3696,  3515,  4725,   186,  5074,  3300,  4644,   653,
    4364             :     4802,   954,  5078,  3590,  6116,   965,  3224,   961,  1001,   965,
    4365             :     3686,   965,  4833,  3609,  4835,  4836,   954,  6384,  3163,  4360,
    4366             :      714,  4522,  2580,  2581,  2582,  2583,  3170,  2679,  4427, -3001,
    4367             :    -3001, -3001,  4138,  4139,  4140,  4141,  4142,  4143,  1095,  2840,
    4368             :      866,  6124,  1699,  3488,  2860,  6290,  3488,   954,   954,  6339,
    4369             :     6340,  2950,  5104,  3233,  5116,  4587,  3736,  6135,  2861,  1453,
    4370             :     2862,  6324,  5329,   715,  1408,   716,  4927,  1159,  3687,   866,
    4371             :      866,   866,   952,   954,  3234,   653,  6288,   653,   653,  4183,
    4372             :     5524,   964,  1826,  3276,  5817,  1700,   717,  5000,   964,  1931,
    4373             :     3462,   964,  6315,  5766,  3488,   717,  2876,  3208,  6208,  6262,
    4374             :     2878,  5642,  3488,  4138,  4139,  4140,  4141,  4142,  4143,  6209,
    4375             :      717,   954,  3610,   954,   954,  5186,  3793,  1274,   717,  4307,
    4376             :     4128,  6240,  3794,  3609,  4129,  4130,  4131,  2863,  6291,  3125,
    4377             :     5035,  2879,  1264,  6374,  5131,  3874,  -714,  1454,  6453,  6254,
    4378             :     6443,  2876,  5664,  4428,  3737,  1541,  1386,  1051,  6316,  3744,
    4379             :     5117,  3219,  3220,  2878,   826,  1683,  2880,  4094,  2842,   988,
    4380             :      989,   990,   991,   992,   993,   994,   995,   996,  3463,  4184,
    4381             :     3553,  6044,  2005,   937,  2005,  5860,  6422,  1500,   866,   191,
    4382             :      805,  4650,  3664,  3688,  2879,   935,  1515,  4355,  3983,  5418,
    4383             :     1724,   944,  1989,  4577,  1991,  3277,  1993,  2874,  1995,  3738,
    4384             :     1997,  1998,  1999,   937,  2041, -1784,   866,  2001,  4343,  2880,
    4385             :     2047,  2843,  2876,  5419,  3183,  1455,  6341,  4864,  1456,  1896,
    4386             :     3666,  3697,  3610,  5830,  1386,   717,  5964,  1966,  1401,  3548,
    4387             :     6292,  3795,  3744,  2876,  2876,  5972,   717,  6372,  1947,  2876,
    4388             :     3065,  5118,  4544,  3206,   806,  2849,  2781,  3211,  2876,  3665,
    4389             :     2874,  2606,  3218,   936,  6043,  3221,   187,  2850,   929,  5105,
    4390             :     1542,  3739,  1897,  4691,  5488,  6192,  1386,  4356,  6467,  2770,
    4391             :     1967,  5961,  4651,  3278,  1516,  3619,  5500,  4564,  2106,  3984,
    4392             :     1701,  1923,   945,  5989,  3160,  6010,  3638,  3667,  5519,  6383,
    4393             :     5330,  1457,  5974,  6329,  4865,  1386,  1386,  1386,  3172,  1386,
    4394             :     6390,  5977,  3613,  4112,  1882,  3156,  3916,  2065,  4132,  4125,
    4395             :     4126,  3178,  5553,  5494,  4145,  3225,  1274,  2028,  4928,  4128,
    4396             :     1386,  4085,  4645,  4129,  4130,  4131,  2876,  4429,  1517,  5036,
    4397             :      962,  4133,  4641,  2844,  3190,  2877,  1409,  3177,  1457,  5960,
    4398             :     6421,  4795,  2876,   944,  1131,  3471,  6241,   937,  5818,   187,
    4399             :      928,  3279,  5525,  1533,  3280,  4176,  4177,  1230,  3158,   866,
    4400             :     3705,  1096,  1947, -1950,  3689,  3875,  4377,  5341, -2423,  5976,
    4401             :     3342,  4430,  1249,  3171,  5948,  6451,  3173,  1386,  3316,  1725,
    4402             :     2877,   999,  6193,  3846,  3209,  3740,  3851,  4578,  6293, -1784,
    4403             :     1160,  5358,  2822,  3554,  2635,  1702,  3555,  1501,  2943,  3028,
    4404             :     1932,  4453,  2684,  2685,   952,  2689,  4431,  6468,  1132,  5211,
    4405             :      964,  4692,  3613,  1410,   964,  3796,   964,  4134,  2782,   943,
    4406             :      943,  5119,   943,  1386,  5881,  1260,  3210,  1386,  1386,  3839,
    4407             :     3216,  3217,  6242,  4095,   945,  6126,  5941,  4228,   866,   866,
    4408             :      866,  2724,  1518,  1386,  5875,  6210, -1950,  5831,  3945,  2953,
    4409             :     5463,  2877,  4652,  5334,   810,  1458,  6298,  1898,  1453,  3797,
    4410             :     5302,  6243,   718,  2981,  1250,  1968,   829,   816,  1534,  5931,
    4411             :     6330,  5933,  2877,  2877,  3281,  5937,  5938,  3263,  2877,  3265,
    4412             :     1916,  4378,  1918,  1919,  4343,  3272,   946,  2877,  1497,  2772,
    4413             :     1497,  3286,  3287,  3261,  3798,  1133,   818,  5120,  3227,   938,
    4414             :     2785,  2813,  4699,  3310,  2693,  5420,   829,  2759,  3014,   954,
    4415             :     3364,  2786,  2878,  3330,  5467,   941,  2783,   187,  3741,  3345,
    4416             :     3985,  5546,   866,  2848,  5949,  3431,  3742,  3343,  4653,  3743,
    4417             :     4133,   866,  5779,  1646,   954,  3986,  1454,  5305,   947,  2775,
    4418             :     5780,  3489,  5309,  2879,  5547,  5311,  5176,  2690,  1924,  4285,
    4419             :     5548,  3927,  2694,  2944,  6194,  1647,  4693,  2878,  2945,  6195,
    4420             :     6176,  1001,  1925,   866,  5549,  2877,   829,  2776,  2880,  2916,
    4421             :     2916,  5464,  1899,  2916,  6063,  4866,  1826,  5775,  1630,  3620,
    4422             :     1969,  2877,  1526,   829,  1124,  1034,   866,  1526,  2879,   866,
    4423             :     2770,  3282,  5776,  5942,  1042,  6196,  3968,  3001,  1043,  3228,
    4424             :     3706,  4461,  6259,  6260,  6252,  5950,  4471,  1648,  6465,  2874,
    4425             :     2771,   954,  4547,  2880,  1455,  4510,  4134,  1456,  2693,  1926,
    4426             :     2695,  1125,  1523,  2740,  5142,  1524,  5774,  2740,  2878,   866,
    4427             :     6479,  4135,  4136,  4137,  4138,  4139,  4140,  4141,  4142,  4143,
    4428             :    -1950,  5091,   683,   954,   954,   954,   954,   866,  1251,  2878,
    4429             :     2878,  5143,  1535,  1591,  2874,  2878,  1591,  3087,  5765,  2879,
    4430             :     1126,   866,  2691,  1526,  2878,  1134,  2694,  1526,  1662,   817,
    4431             :     2696,  3799,  1386,  1386,  1386,  5680,  4951,  4700,  5899,  2974,
    4432             :     2879,  2879,  5068,  3568,  2880,  5705,  2879,  5072,    40,  1035,
    4433             :      947,  2787,  1252,  4915,  1253,  2879,  1536,  1034,  5550,  1649,
    4434             :     3169,   668,  3441,  1135,  6074,  2880,  2880,  4889,  5136,  4974,
    4435             :     1127,  2880,  1663,  4379,  4380,  3800,   685,  3142,   999,   999,
    4436             :     2880,  5095,  6332,  1927,  5781,  2874,  -629,  4755,    44,  4756,
    4437             :     6177,  1537,  5706,  4286,  3201,  2788,  2697,  1457,  5133,  2777,
    4438             :     3143,  3088,  2878,  3002,  4381, -2446,  2874,  2874,  6186,  -173,
    4439             :     3801,  3640,  2874,  2111,  3159,  1036,  2112,  5707,  2878,  4867,
    4440             :     3569,  2874,  1650,   837,   834,  6157,  5694,  1651,  1136,  4544,
    4441             :     1137,   866,    48,  2879,  1138,  5839,  5708,  3609,  3152,  3570,
    4442             :     -173,  5709,   866,  2952,  2696,    49,  6362,  6363,  2637,  2879,
    4443             :      954,   954,  5299,   187,  5777, -3001,  1928,  4998,  2880,  6386,
    4444             :     3078,  1035,  4466,  5710,  6382,  1538,   954,  5711,   194,    50,
    4445             :     2772,  3465,  1947, -1102,  2880,  1947,  5092,  3121,  1653,  1037,
    4446             :      861,  2639,  5712,  3488,   866,  2916,  3497,  3488,    56,  1664,
    4447             :     4135,  4136,  4137,  4138,  4139,  4140,  4141,  4142,  4143,  2874,
    4448             :      954,   954,   954,   954,  3122,   683,  5840,   999,  3519,   866,
    4449             :     2697,  1443, -1950,   195,  1458,  2874,   866,  5551,  5144,  3132,
    4450             :    -1950,  2053,  1433, -1950,  1462,  1409, -1950,  1036,  1655,  5552,
    4451             :     1633,   194,  3571,  1124,   653,  1405,  3610,   653,  4899,  1459,
    4452             :     5967,  2062,  4467,  1863,  4757,  3199,  4899,   965,   965,  5691,
    4453             :     6221,   664,  1656,  4178,  1634,  3755,  1914,  5981,  1001,  1001,
    4454             :     1929,   696,   965,   697,  3202,   965,  5142,  3144,  1077,   664,
    4455             :     1125,  4890,  3611,  5692,  1658,   931,   195,  3498,  4891,   685,
    4456             :      954,   954,   873,  3199,  3199,  4892,  3079,   954,  5713,   866,
    4457             :      701,  1037,  3488,  5143,  1457,  6150,  1980,  3756,  3203, -3001,
    4458             :     2103,  3527,  1410,   665, -3001,  3759,  2005,  2817,  3762,  4590,
    4459             :     5988,  5086,  3204,   954,  1260,   965,  3612,   191,  3215,   965,
    4460             :      965,   933,   866,   866,  4893,   954,  4900,  3489,  6343,  3191,
    4461             :     3292,  3192,   866,  3193,  4900,  3194,  4475,  3195,  5087,   866,
    4462             :     3719,  3196,   866,  3132,  5714,  5807,   805,  4894,  4544,   805,
    4463             :     3252,  3205,  1235,  1082,  1386, -3001,  1386,  3242,  4001,  1127,
    4464             :     1201,  1386,  1386,  5603,   191,  4970,  1481,  2602,  1386,  1386,
    4465             :     1386,  1386,  1386,  1386,  1386,  1386,  1386,  1386,  1386,  1386,
    4466             :     1386,  3247,  3236,  -472,  1386,  4690,  1386,  1001,  1386,  1386,
    4467             :     1386,  1386,  1386,  1386,  1079,  2740,  1386,  5538,  1386,  1386,
    4468             :     1080,  1081,  1386,  4702,  4901,  2740,  2818,  5489,  4902,  5873,
    4469             :     1821,  5482,  4901,  2644,  3622,  1207,  4902,  1386,  1386,  1386,
    4470             :     3802,  3720,   941,   941,  5469,   941,  3613,  3840,  3841,  3842,
    4471             :     6213,  1481,  1439,  1440,  1267,  1386,  5874,  1482,  2943,  3450,
    4472             :      763,  2603,  1145,  1236,  3927,  4971,  2953,  4726,  1947,  4354,
    4473             :     3635,  3731,  4730,  6424,  1483,  6404,  1083,  6084,  5089,  6134,
    4474             :       15,  3823,  1502,  5493,   696,  6151,   697,  1705,  1248,  2776,
    4475             :     3251,  4714,  4738,  3491,  3808,   954,  4751,  4752,  4753,  4754,
    4476             :     2740,  4256,  4758,  4759,  4760,  4761,  4762,  4763,  4764,  4765,
    4477             :     4766,  4767,  3729,  1878,  3730,  3995,  5480,    20,  2866,  4172,
    4478             :     6130,  5796,  6133,  3528,  3646,  1484,  1503,  5959,  4944,  -472,
    4479             :     6214, -3001,  4729,  3623,  2618,  4257, -1754,  4734,  4735,  1483,
    4480             :     4672,  1420, -1754,  4306,  3488,  3488,  1882,  5637,  6459,  5639,
    4481             :     4849,  3632,  5090,  1646,  2867,  1507,  6085,  3931,  3932,  3933,
    4482             :     3934,  1504,  3936,  4945,  2849,  2914,  4806,  4807,  2112,  6158,
    4483             :     5342,  3754,  6460,  4259,  3846,  1647,  2857,  2619,  2885,  3772,
    4484             :     4517,  3773,   948,  2924,   778,  3777,  4367,  3964,  2927,  4028,
    4485             :     1484,   932,  6447,  3728,  6450,  1508,  3824,    40,  1512,  1509,
    4486             :     3993,  4020,  1386,  1470,  6159,  3999,    29,  4000,  5440,  3781,
    4487             :     5441,  5442,  5443,  2944,  5459,  6461,  5461,  4006,  2945,  2854,
    4488             :     4007,  2855,  4008,  4009, -1754,  1668,  4011,  1648,   949,  4470,
    4489             :     4014,  3693,  4015,  2639,  1510,  4017,  5992,    44, -3001,   194,
    4490             :     6255,   957,  1513,  4548,  5343,  6009,  3830,  4830,  1695,  4549,
    4491             :     2578,  2579,  2580,  2581,  2582,  2583,  1386,  3717,  6491,   952,
    4492             :     1646,  4946,   952,  4550,  3004,  4928,  1882,    40,  3010,  1669,
    4493             :     3805,  4424,   964,   964,  2112, -1754,  4832,  1514,  4509,  2886,
    4494             :     5971,    48,  1647,  5471,   195,   778,  5691,   964,  2856,  4685,
    4495             :      964,  4551,  1696,  4552,    49,  5934,  1697,  4928, -1707,  4056,
    4496             :     5935,  5449,  4261,  4309,  1670,  3806,  2637,    44,    40,  5370,
    4497             :     5692, -1707,  1386,  1980,  5939,  4425,  4294, -1707,    50,  1649,
    4498             :     3489,  1274,  1018,  3489,  4128,    32,  3957,  1698,  4129,  4130,
    4499             :     4131,  4620,  5472,  1980,  1648,  5450,  4686,  3529,    35,  2639,
    4500             :      964,  2962,  3447,  4380,   964,   964,  4796,  3084,    44,  6308,
    4501             :     4426,    48,  4553,  1019,  3199,  4295,  5936,    40,  6335,  3717,
    4502             :     6364,  3919,   959,  2907,    49, -1707, -1707,  3114,  3448,  2923,
    4503             :     6345,  3489,  2963,  4958,  6309,  1433,  1633,  1462, -1707,  3489,
    4504             :     2931,  4554,  1650,  6219, -1707,  6365,  3488,  1651,    50,  1213,
    4505             :     1215,  1217,    48,  3488,  1219,  1220,  1221,    44,  3488, -1707,
    4506             :     1634,  3488,   980,  2952,  1226,    49,  6488,    56,  1633,  1636,
    4507             :     6267,    29,  4069,  1902,  2626,  1974,  4282,  2648,  5037,  -150,
    4508             :     5691,  5800,   778,  6497,  4027,  3884,  1649,  2111,  1712,    50,
    4509             :     2112,  1716,  1634, -1707, -3001, -3001, -3001,  1903,  1653,  1975,
    4510             :    -1707,    48,  5038,  4409,  5692,  5801,  2106,  4928,    56, -1440,
    4511             :    -1707, -1440,  5054, -1707,    49,  4410,  4224,  1444,  1445, -1707,
    4512             :    -1707,   981,  2637,  4555,  6172,  1024, -1707,  6062,  4556,  2638,
    4513             :     6173,  1444,  1445,  1033, -2419,  5055,  1446,  4070,    50,  1042,
    4514             :     1041,  1230,  4071,  1043,  1085,  5740,  5891,  5902,  1655,  1650,
    4515             :     1448,  4316,  5906,  5907,  1651,  2639,  1433,    56,  2673,  1386,
    4516             :     1386,  1386,  1386,  1386,  1386,  1386,  1386,  1386, -1707,  1386,
    4517             :     2952,  1042,  1656,    40,  1087,  1043,  4557, -1707,  5085,   866,
    4518             :     1386,  3602,  1386,  1097,   793,  1098,  5299, -1707,  6452,   866,
    4519             :      793,  4886, -1127,  4558,  1658,  4133,  1433,  1106,  2673,  5741,
    4520             :      999, -1707,  5742,  3736,  1042,  1653, -2427, -2420,  1043,  5743,
    4521             :     1623,   187,  1042,    44,  1230,  1640,  1043,  4657,   866,  1101,
    4522             :     1386,  1102,  4658,   954,  1386,  5170,  3902,  1386,  3443,  1386,
    4523             :     4658,  4154,  1386,  4156,  4157,  1986,  1386,  5744,  1828,  1120,
    4524             :     5701,  2036,  4039,  4476,  1828,  3599,  1092,  3603,  3604,  4235,
    4525             :     4236,  4344, -1707,  6463,  -628,  1655,  6466,    48,   187,  3490,
    4526             :     2634,  2647, -1707,  1828,  2648,   866,   866,  4226,  2681,  1128,
    4527             :       49,  1828, -1707,  2640,  3516,  3517,  1386,  3596,  2641,  1656,
    4528             :     3187,  4134,   683,  2648,  1147,  1386,  1386,  4385,  1129,  4327,
    4529             :     4311,  3737,  3291,  4255,    50,  3026,  3027,  5745,  4559,   866,
    4530             :     3198,  1658,  3631,  3199,  1130,  4272, -1100,  3534,  3200,  3539,
    4531             :     5746,  3199,  6237,  6268,  3351,  5203,  3344,  3354,  3379,  3380,
    4532             :     3381,  3382,  3239,  5747,  3446,  3240,  4197,  1980,  6319,  2643,
    4533             :     2052,  5210,    56,  6322,  6323,  5993,  2674,  4606,  3488, -1707,
    4534             :     1042,  1158,  3451,  1467,  1043,  2648,  3738,  1826,  1433,   805,
    4535             :     2673,   805,  4957,    40,  3540,  5326,   685,  2648,  3629,  3711,
    4536             :     1151,  3630,  3712,  4162,  3147,  1386,  3148,  5233,  1174,  4169,
    4537             :     4389,  4256,  4391,  1167,  5238,  5239,   653,     3,     4,   965,
    4538             :     1001,   965,   965,  1168,  3572,   954,  3575,  2644,   866,  4544,
    4539             :     1185,  4127,  5138,    44,  3880,  3735,  1145,  3881,  4088,  4019,
    4540             :     4089,  3903,  3199,  4155,  4215,  4257,  4216,  1042,  3739,   829,
    4541             :     1192,  1043,  4068,   687, -1707,  2648,  4217,  4947,  4218,  4954,
    4542             :     4258,  2848,  4077,  3531,  3486,  2648,   664,  5887,  4083,    40,
    4543             :     4084,  2648,  5248,  2648,  5249,  3652,   866,    48,  3617,  4179,
    4544             :    -1778, -1778,  3663,  4259,  2740,  3464,  3466,  3467,  4320,  4103,
    4545             :       49,   866,  3839,  4114,  4931,  4914,  2648,  4147,   778,  4161,
    4546             :     2648,  1202,  2648,  4166,  6307,  4928,  4167,  4233,  1230,    44,
    4547             :     2648,  4701,  4260,   866,    50,  1241,  4402,  1988,  3827,  4403,
    4548             :     1990,  4593,  1992,  4210,  1994,  2646,  1996,  6418,  4407,  4435,
    4549             :     2000,  4408,  4436,    56,   866,  4135,  4136,  4137,  4138,  4139,
    4550             :     4140,  4141,  4142,  4143,  1444,  1445,  4565,   829,  3373, -1782,
    4551             :    -1782,  4506,  4347,    48,  4436,  5788,  1234,  4629,  4496,  3488,
    4552             :     4630,  4617,  4632,  4618,  4503,  4633,    49,  4973,  4663,  1238,
    4553             :      954,  4664,  3740,   954,  5079,  1244,  5080,  5748,  6216,  3488,
    4554             :     5749,   696,  4776,   697,  3726,  4777, -1781, -1781,  4317,  4318,
    4555             :       50,  1229,  4787,  1145, -1127,  4788,  4331,  1246,  4477,   866,
    4556             :      866,  4798,  4874,  1257,  2648,  4875,   866,   700,  1259,    56,
    4557             :     1878,  3488,  4261,  6392,  6140,  6393,  3810,  1247,  3813,  3815,
    4558             :     3904,  5866,  1258,  4880,  4444,  3771,  4881,  4885,  1261,  4450,
    4559             :     3555,  4536,  2574,  5030,  5139,  1268,  2605,  3199,  4419,  5893,
    4560             :     5894, -3001, -3001, -3001,  2578,  2579,  2580,  2581,  2582,  2583,
    4561             :     1386,  1386,  1386,  6036,  6037,  5205,  1386,  5245,  2028,  5282,
    4562             :     2648,  1260,  2648, -1706,   954,  5337,  2111,  5361,  3555,  2112,
    4563             :     5362,  5495,  5532,  3905,  5496,  4664, -1706,   954,  5568,  6182,
    4564             :     6183,  5569, -1706,  1386,  5570,   954,  5590,  2648,  6425,  5591,
    4565             :     5600,  5606,  1407,  1980,  4603,  5156,  5608,  5689,  2848,  4603,
    4566             :     5690,  2637,  1262,   866,   652,  3741,  1270,  5735, -3001,  3917,
    4567             :     5736,  1404,   805,  3742,  6077,  6078,  3743,  5755,  5149,  5789,
    4568             :     3199,  1411,  5790,  5849,   954,  3928,  5850,  5855,  1412,  5858,
    4569             :     1980, -1706,  4603,  5869,  2639,  3810,  5870,  5923,  4440,  4708,
    4570             :     5924,  5963,   926,   927,  2605,   954,  4061,  3950,  4063,  4064,
    4571             :     4665,  1413,  4667,  5990,  4669,  6027,  5870,  1421,  4167,  6028,
    4572             :     4456,  3488,  2648,  4876, -1706,  6048,  6481,  6052,  6049,  5493,
    4573             :     1980,  1417,  3968,  6053,   935,  4255,  2648,  5821,  4058,  5822,
    4574             :     6083,  6089,  4928,  3240,  3240,  1426,   954, -1755,   954,  6090,
    4575             :      954,  6093,  3240, -1755,  2648,  6094,  1427,  1429,  2648,  4930,
    4576             :     3489,  1433,  4933,  2740,  3489,  4936,  4196,  6095,  6122,  4583,
    4577             :     6096,  6123,  1436,  6188,  6203, -1706,  4603,  2648,  1467,  6205,
    4578             :    -1695,   952,  2648,  2005,   964, -1706,   964,   964,  2679,  6218,
    4579             :     6233,  6257,  3199,  6234,  6258,   999,  6306,  1450,  6342,  5863,
    4580             :     3488,  5870,   936,  1437,  4597,     3,     4,  1274,  6388,  1452,
    4581             :     4128,  6389, -3001,  4256,  4129,  4130,  4131, -3001,  6408,  6060,
    4582             :     1467,  6409,  6416,  3946,  6419,  4875,  6446,  2648,  6448,  6049,
    4583             :     6456,  2648,  5275,  6457,  1479, -1755,  4695,   653,   954,  1468,
    4584             :      965,  6494,   965,   965,  6409,   954,  1145,  4257,  1145,  4566,
    4585             :     3486,  4568,  1386,  6140,  1494,  2111,  1727,  1386,  2112,  4928,
    4586             :     6496,  6498,  4258,  6457,  6409,  1495,  3373,   929, -3001,  3489,
    4587             :     1274,   763,  1496,  4128,  5562,  5558,  5559,  4129,  4130,  4131,
    4588             :     4576,  4826,  4579,  4828,  1499,  4259, -1755,  5291,  1826,  5293,
    4589             :     2637,    15,  4848,  1505,  4851,  5276,   937, -3001,  3065,  1462,
    4590             :     3478,  4680,   902,  4278,  1546,  1572,  1386,  1386,  1386, -2464,
    4591             :     2719,  1386,  2722,  1575,  4260,   929,  5585,  1577,  5586,  1386,
    4592             :     1386,  1386,  1386,  2639,  1578,  2679,  2644,  1613,    20,  4957,
    4593             :     1145,  1617,  4255,  4638,  1618,  1386,  1619, -1706,  1386,  1630,
    4594             :     1386,  1632,  1642,  4879,  1645,   187,  1667,  1684,  1685,  1703,
    4595             :     1713,  6265,  1386,  1386,  1714,  1717,  1386,  1722,  1723,  1838,
    4596             :     1836,  1840,  1845,  2111,  1851,  1856,  2112,  1859,  1861,  1866,
    4597             :     3488,  1869,  1871,  1863,  1880,  1001,  1885,  1386,  1886,  1386,
    4598             :     -137,  1386,  1888,  1274,  4928,  1889,  4128,  1891,  1893,  1894,
    4599             :     4129,  4130,  4131,  1905,  1912,  4805,  1914,  1917,  2637,  1921,
    4600             :     1386,  4948,   213,  4214,  1930, -3001,  1935,   866,  1936,  1937,
    4601             :     4256,  5851,  5359,  1939,  4261,  1942,  1943,  1947,  1946,  1954,
    4602             :      929,  4133,  1958,  1960, -3001,  1961,  1963,  1965,   866,  1970,
    4603             :     1971,  2639,  1973,  1976,  1979,  4703,  1982,  1983,  1985,  2002,
    4604             :     2033, -3001,  2042,  2040,  4257,  2045, -3001,  2049,   938,  2050,
    4605             :    -1954,  5183,  2111, -1961,  2059,  2112,  2057,  2058,   653,  4258,
    4606             :     2060,  3490,  4253,  4220,  4221,  4222,  4253,  4267,  4253,  4253,
    4607             :     2061,    56,   929,  2063,  4997,  1386,  2064, -1951,  2065,  3488,
    4608             :     1386,  4910,  4259, -1952,  4133,  2067,  2068,  2637,  2069,  2070,
    4609             :      652,  2674,  2071,  2072, -3001,  1386,  2073, -3001,  2074,  2075,
    4610             :     2076,  3489,  3489,  4808,  2077,  2078,  2079,  4134,  2080,  3490,
    4611             :     2082,  4260,  2083,  4299, -3000,  2084,  4302,  3490, -1955,  3539,
    4612             :     2639,  2085,  2090,  2086, -1953,  2087,  1274,  2088,  2089,  4128,
    4613             :     2092, -3001,  2093,  4129,  4130,  4131,    32,  2094,  2589,  2095,
    4614             :     5306,  2096,  5060,  2578,  2579,  2580,  2581,  2582,  2583, -3001,
    4615             :     5073,  2097,  1671,  2098, -3001,  2644,  2099,  3367,  2591,  2593,
    4616             :     1386,  2595,  2596,  2605,  2609,  2621,  5813,  2629,    40,  2651,
    4617             :     4134,  2657,  2652,  2659,  2660,  2669,  2663,  2666,  2675,  2664,
    4618             :     2667,  2668,  4782,  2670,   954,   954,  2682,  1482,  3488,  6423,
    4619             :     5827,  4748,  4809,  1484,  2713,  2715,  2727,  4133,  2725,  2728,
    4620             :     2729,  2730,  5065,  2746,  2747, -3001,  2748,  2749,    44,  2673,
    4621             :     2750,  4261,  2751, -3000,  2752,  2753,  2755,  2754,  1672,  2756,
    4622             :     1386,  5848,  2762,  3486,  2784,  4775,  3486,  2778,  4366,  2790,
    4623             :     2804,  2808,  2810,  2811,  2812,  2814,  2828,  2815, -3001,  2832,
    4624             :     2834,  2852,   952, -3001,  3375,   964,  3376,   964,   964,  2833,
    4625             :     2853,  2868,    48, -3001,  2870,  2871,   764,  2864,  2872,  2873,
    4626             :     1673,  2874,  2882,  2644,  2883,    49, -3000,  1674,  2884,  2887,
    4627             :     2888,  1675,  3377,  2894,  3486,  2898,  4814,  2889,  4413, -3000,
    4628             :     2904,  2895,  3486,  4134,  2905, -3000,  4278,  2908,  2922,    50,
    4629             :     2918, -3000,  2919,  2925, -3001,  2928,  2932, -3000,  2939,  2929,
    4630             :    -3000,  2946,   866,  2934, -3000,  5515,  5307,  2949,   765,  1591,
    4631             :     2964,  2966,  2916,  2935,  2977,  2968,  2947,  2973,  5200,  2975,
    4632             :     2976,  4135,  4136,  4137,  4138,  4139,  4140,  4141,  4142,  4143,
    4633             :     2954,  2955,  2982,  2960, -3000,  2961, -3000,  3378,  2994,  2967,
    4634             :     4133,  2969,  3003,  3489,  3032,   187,  3037,  2983,  2984,  2997,
    4635             :     3489,  3008,  2644,  3025,  3039,  3489,  3488,  3040,  3489,  3041,
    4636             :    -3001, -3001,  3042,  3046,  3053,  3047,  3048, -3000,  3050,   866,
    4637             :     3051,  3052,  2578,  2579,  2580,  2581,  2582,  2583,  3054,  5192,
    4638             :     3058,  3060,  5194,  3061,  4135,  4136,  4137,  4138,  4139,  4140,
    4639             :     4141,  4142,  4143,  3379,  3380,  3381,  3382,  3068,  3069,  3059,
    4640             :     3383,  3384,  3072,   678,  3085,  3096,  3385,  3077,  3100,  1664,
    4641             :     3101,  5209,  3104,  3113,  3120,  3116,  3119,  3129, -3000,  3140,
    4642             :     3146,  3133, -3000,  1386,  3137,  3693,  4134,  4968, -3000,  1386,
    4643             :     3150,  3162,  3155,  3164,  3165,  3166,  3180,  3212,  3167,  3237,
    4644             :      954,  3223,  3249,  3268,  3273,  3346,  2112,  3313,  3352,  3372,
    4645             :    -3001,  1676,  3413,  3717,  3356,  3391,  3393,  3434,  3418,  3454,
    4646             :     3437,  3439,  3438,   652,  3419,  3440,   652,  3488, -3001,  3453,
    4647             :     3455,  3452,  1457,  3488,  3456,  3457,  3469,   866,   866,   866,
    4648             :     2578,  2579,  2580,  2581,  2582,  2583,  3491,  3461,  3470,   936,
    4649             :    -3000,  1677,  2679,  3508,   866,  1678,  3496,  4135,  4136,  4137,
    4650             :     4138,  4139,  4140,  4141,  4142,  4143,  3510,  3511,  1386,  5476,
    4651             :     3509,  3525,  3532,  3533,   652,  3544,  3545,  3547,  3564,  3573,
    4652             :     3578,  3581,   652,  3576,  2706,  3586,  2005,   866,   866,  3591,
    4653             :     1679,  3592,   866,  3594,  3597,  3605,  1401,  1680,  3626,  3628,
    4654             :     3621,  3636,  3642,  3645,   866,  1405,  3368,  5270,  3643,  2103,
    4655             :     5195,  5196,  5197,  5198,  5199,  5111,  5112, -3001,  3644,  3655,
    4656             :     3668,  3673,  5149,  3674,  3694,  3386,  3700,  3707,  3701,  2578,
    4657             :     2579,  2580,  2581,  2582,  2583,  5317,  3710,  3387,  3727,  1157,
    4658             :    -3000,  3718,  3749,  3725,  3765,  5381,  3728,  3702,  3748,  1882,
    4659             :     3785,  3811,  3826,  3838,  4627,   937,  3847,  2103,  3488,  3834,
    4660             :      954,  3835,  3854,  3860, -3000,  1157, -3000, -3000,  3866,  3882,
    4661             :     3871,  3893,  3908,  5347,  3215,  4683,  3894,  3912,  3922,  3914,
    4662             :     3929,  3373,  3935,  3861,  3941,   866,  3942,  3940, -3000,  3862,
    4663             :     3943,  3948,  3944,  3955,  3951,  3489,  3956,  4206,   866,  3959,
    4664             :     4135,  4136,  4137,  4138,  4139,  4140,  4141,  4142,  4143,  3910,
    4665             :     3953, -3000,  3960, -3000, -3000,  3965,  3980,  1386,  4812,  4623,
    4666             :     3981,  3982,  3990,  3991,  3992,  3994,  1386,  3996,  4010,  4013,
    4667             :     5387,  5388,  4012,  5324,  4016,  1239,  4018,  4021,  4022,  4023,
    4668             :     1386,  4024,  4025,  4026,  1386,  1386,  1386,  4040,  4036,  4031,
    4669             :     5890,  1386,  4041,  4042,  1386,  4660,  5447,  1386,  1980,  4241,
    4670             :     4049,  1977,  4247,  1386,  1944,  1386,  4039,  4030,  1386,  4185,
    4671             :     4052,  4186,  4054,  1386,  1386,  1386,  1386,  4062,  4082,  1386,
    4672             :     1386,  1386,  1386,  1386,  1386,  1386,  1386,  1386,  1386,  1236,
    4673             :     4079,  4080,  1386,  1386,  1386,  4085,  4081,  4187,  4093,  4102,
    4674             :     4098,  4104,  1386,  4100,  3290,  4110,  4113,  1386,   929,  4115,
    4675             :     3478,  1386,  4116,  4120,   928,  4122,  4123, -2245,  3478,  1386,
    4676             :     3839,  4124,  1386,  4163,  1386,  4160,  5435,  5436,  4175,  4146,
    4677             :     4151,  4152,  2111,  4180,  4194,  2112,  2648,  4159,  4211,  4204,
    4678             :     1386,  4174,  4239,  1386,  1386,  4205,  4207,  4231,  1386,  1386,
    4679             :     4209,  4245,  4237,  1386,  4270,  1386,  4818,  5321,  4232,  4238,
    4680             :     4280,  4274,  3378,  4254,   866,   866,   866,  2637,  4287,  4289,
    4681             :     4291,  4293,  4300,  4278, -3001,  4308,  3489,  4314,  2066,  6299,
    4682             :     6300,  4240,  4246,  6302,  1386,  4253,  4267,  4253,  4253,  4321,
    4683             :     1386,  4253,  1082,  4319,  4841,  4322,  3489,  4326,  3490,  4328,
    4684             :     2639,  4278,  3490,   191,  5256,  4351,  4340,  4341,  4856,  4352,
    4685             :     4353,  4357,  4359,  4363,  4819,  4820,  4821,  4822,  3379,  3380,
    4686             :     3381,  3382,  4364,  4365,  4369,  4188,  4372,  4376,  3489,  4370,
    4687             :     4388,  4189,  4390,  1079,  4387,  1386,  4398,  4396,  4406,  1080,
    4688             :     1081,  4397,  4414,  4423,  4437,  4439,  4441,  4443,  4451,  4445,
    4689             :     3539,  4447,  1386,  4452,  4455,  4457,  5531,  5356,  4458,  5533,
    4690             :     5534,  4459,  4460,  4480,  4478,  4462,  4481,  4479,  4482,  5425,
    4691             :     5426,  1843,  5428,  4483,  4484,  4485,  4486,  4487,  4488,  5539,
    4692             :     5515,  4489,  1852,  4491,  4493,  4495,  4498,  4500,  4502,  2992,
    4693             :     2111,  2995,  4514,  2112,  4490,  1083,  4492,  4515,  1860,  4494,
    4694             :     4504,  4505,  4516,  4511,  4518,  4521,  4532,  4929,  2005,  2848,
    4695             :     4526,  2005,  5460,  4569,  2005,  4534,  4938,  4574, -3001,  4575,
    4696             :     4581,  4584,  4585, -3001,  4588,  2637,  4592,  4602,  4603,  4605,
    4697             :     4612,  5584, -3001,  4621,  4962,  4615,  1274,  4622,  4625,  4128,
    4698             :     4626,  4642,  4628,  4129,  4130,  4131,  4656,  4662,  4659,  4666,
    4699             :     4674,  4668,  4675,  4676,  4677,  4678,  4679,  4696,  2639,  4681,
    4700             :     4697,  5414,  4698,  3486,  4704,  5623,  4705,  3486,  4706,  4707,
    4701             :     4709,  4710,  4711,  4712, -3001,  4717,  4713,  4722,  3489,  2111,
    4702             :     4723,  4721,  2112,  2052,  4727,  4728,  2113,  2114,  2115,  5011,
    4703             :     4190,  4731,  4278,  4724,  4742,  4128,  4736,  4737, -2244,  4772,
    4704             :     2111,  4789,  4191,  2112,  2636,  4749,  4773,  2113,  2114,  2115,
    4705             :     4774,  4781,  4800,  4844,  2637,  4801,  4804,  4845,  4831,  4827,
    4706             :     4815,  2638,  4852,  4858,  4837,  2636,  4859,  4829,  4860,  4840,
    4707             :     5279,  4842,  2644,  5014,  4853,  2637,  4857,  4871,  4862,  4868,
    4708             :     4873,  4877,  2638,  2953,  3771,  4888,  5057,  2639,  4896,  4906,
    4709             :     4907,  4908,  4909,  4916,  4917,  2031,  4919,  3489,  4920,  4923,
    4710             :     5478,  4939,  4943,  4942,  4963,  4960,  3640,  4976,  2639,  4975,
    4711             :     3299,  3299,  3486,  4977,  4978,  4979, -3001,  4989,  4990,   954,
    4712             :     4991, -3001,  4992,  4993,  4994,  3326,  5005,  5003,  5012,  5023,
    4713             :     5006,  5024,  5029,   954,  3347,  1386,  5033,  5050,  5034,  5051,
    4714             :     5053,  4949,   866,  5067,  5056,  5066,  5069,  5070,  5101,  5071,
    4715             :     5093,  5122,  5108,  5128,  5082,  5103,  5114,  5141,  5129,  2848,
    4716             :     5134,  5135,  5157,  5151,  5158,  5168,  5177,  5179,  5181,  5917,
    4717             :    -3001,  5919, -3001,  5193,   866,  5175,  5182,  5201,  5599,  3490,
    4718             :     3928,   187,  5174,  3224,  5187,  5207,  5217,  3810,  5178,  5599,
    4719             :    -3001,  5208,  5224,  5225,  5226,  5227,  5150,  5229,  5228,  5230,
    4720             :     5231,  5236,  5237,  5242,  5247,  2640,   866,  5253,  5259, -2246,
    4721             :     2641,  5262,  5264,  5268,  5263,  5281,  5285,   187,  1386,  1386,
    4722             :     5295,  5322,  5300,  5310,  5303,  5314,  2640,  5296,  5319,  1386,
    4723             :     2644,  2641,  5323,  2642,  2305,  5336,  6041,  5333,  5363,  5338,
    4724             :     2005,   866,  5340,   652,  5344,  5364,  5752,   652,  5368,  5378,
    4725             :     5379,  5382,  5380,  5384,  2642,  2305,  5390,  5389,   866,  5412,
    4726             :     5391,  2643,  5410,  5416,  5928,  5417,   999,  3489,  5421,  5422,
    4727             :     5429,  5430,  5403,  5406,  5437,  5448,  4134, -3001,  5438,  5444,
    4728             :     5439,  6071,  2643,  5451,  5455,  5456,  5457,  5465,  5468,  2578,
    4729             :     2579,  2580,  2581,  2582,  2583,  5474,  5473,  5477,  5649,  1386,
    4730             :     5481,  5475,  5483,  5487,  2372,  5492,  5503,  5499,  5497,  5504,
    4731             :     5506,  5508,  5510,  5511,  5512,  1386,  5521,  3199,  5529,  2644,
    4732             :     5527,  5536,  2645,  5537,  5160,  2372,  5574,  5563, -3001,  5583,
    4733             :     6107,  6109,  5542,  1386,  5573,  5592,  5670,  5556,  5557,  5567,
    4734             :     2644,  5930,  5575,  2645,  3486,  3486,  5598,  5602,  5882,  5624,
    4735             :     5627,  5630,   652,  5587,  5605,  5638,  5640,  5645,  5641,  5654,
    4736             :     5655,  1386,  5659,  5660,  1386,  5656,  5661,  5657,  5665,  5697,
    4737             :     5719,  5092,  1386,  1386,  5662,  5667,  3489,  5673,  5674,  1386,
    4738             :     1386,  5725,  5678,  5758,  1386,  5726,  5728,  5684,  5685,  1386,
    4739             :     5686,  5759,  1386,  1386,  5731,  5734,  5763,  5738,  5768,  1386,
    4740             :     5739,  5770,  5786,   866,   866,   866,   866,  5791,  5922,  5797,
    4741             :     5799,  5798,  5805,  5815,  5814,  5832,  5819,  2646,  5820,  5841,
    4742             :     5833,   653,  5847,  5865,  4253,  5863,  5859,  5861,  3490,  5867,
    4743             :     2103,  5877,  5864,  3490,  5886, -3001,  3490,   653,  2646,  3810,
    4744             :     5884,  5316,  5888,  5892,  1386,  5895,  1001,  2578,  2579,  2580,
    4745             :     2581,  2582,  2583,  5897,  5903,  1386,  5909,   187,  5947,  4299,
    4746             :     5944,  5704,  5951,  1386,  2897,  3539,  5955,  5957,  5965,  5979,
    4747             :     5970,  5983,  5985,  5984,  5986,  5987,  5996,  5856,  5997,  3478,
    4748             :      805,  5998,  5999,  3478,  6004,  3489,  6006,  6100,  6014,  6008,
    4749             :     4135,  4136,  4137,  4138,  4139,  4140,  4141,  4142,  4143,  6024,
    4750             :     6236,  6025,  6029,  6039,  6040,  6038,  5234,  2848,  1386,  6045,
    4751             :     6055,  4212,  6064,  6067,  6065,  5339,  6068,  6069,  6082,  6086,
    4752             :     6105,  6114,  6011,  5374,  2574,  6117,  6119,  6125,  6121,  6128,
    4753             :     6129,  6145,  6146,  2575,  2576,  2577,  2578,  2579,  2580,  2581,
    4754             :     2582,  2583,  6147,  6112,  6155,  2574,  6148,  6156,  6161,  6162,
    4755             :     4101,  6175,  6180,  6169,  2575,  2576,  2577,  2578,  2579,  2580,
    4756             :     2581,  2582,  2583,  6163,  3771,  6170,  6168,  4117,  6184,  6185,
    4757             :     4118,  6187,  5921,  6199,  6201,  3771,  5325,  5327,  6191,  6294,
    4758             :     6295,  6207,  6220,  6228,   652,   652,  3486,  6230,   655,  1386,
    4759             :     6238,  6115,  6116,  3486,  6222,  6247,  1386,  6246,  3486,  6264,
    4760             :     6248,  3486,  6283,  6266,  6285,  6289,  6286,  6284,  6301,  6310,
    4761             :     6287,  6297,  6305,  6312,  6326,  6311,  6328,  6320,  6346,  6356,
    4762             :      954,  6357,  6358,  6352,  6353,  1549,  6361,  6360,  6370,  6375,
    4763             :     6394,  6373,  6395,   917,  6396,   954,  5829,  1646,  6399,  4306,
    4764             :     6414,  6397,  6426,  6398,  6428,  5914, -2008,  6429,  6437,  6417,
    4765             :     5834,  6315,  6441,  3489,  6462,  6443,  6470,  6471,  6474,  1647,
    4766             :     6476,  1550,  6454,  1145,  6480,  6455,  1386,  6482,  6487,  6485,
    4767             :     6493,  5793,  5857,  1682,  1469,  1576,  3009,  4229,  3699,  2105,
    4768             :     1681,  5916,   653,  3782,  4382,  4939,  4966,  4959,  6231,  2848,
    4769             :     3825,  3038,  4531,  3873,  5716,  6099,  6327,  2628,  2005,  5110,
    4770             :     5769,  4955,  3049,  4956,  5454,  5751,  4361,  4324,  5943,  5372,
    4771             :     6377,  1648,  4949,  3928,  6321,  5647,  6120,  6378,  3067,  2781,
    4772             :     6118,  6245,  6338,  4368,  1551,  5485,   954,  5132,  3950,  5161,
    4773             :     6079,  5102,  3507,  5140,  4964,  3891,  3892,  4591,  1666,  4400,
    4774             :     5127,  5479,  5757,  5185,  4631,  6000,  6391,  6492,  6472,  5732,
    4775             :     4537,  5910,  5911,  6250,   866,  5169,  5905,  5672,  4950,  6088,
    4776             :      759,  1552,  1579,  5675,  3489,   866,  3076,   999,  1580,  1075,
    4777             :     3489,   812,  3141,  2025,  5202,  4682,  5880,  6387,  5204,   655,
    4778             :     4951,  3920,  3550,  1581,  5171,  4315,  5671,  3153,   655,   974,
    4779             :     1157,  3157,  5794,  4278,  6100,  5994,   655,  4648,   974,   655,
    4780             :     3822,  1186,  3168,  1649,  4501,   999,  3139,  1146,  4995,  4446,
    4781             :     3135,  1553,   974,  1582,  6270,  6427,  5188,  5189,  1386,  2761,
    4782             :     3478,  3176,  1157,  6073,  1414,  3495,   652,  3034,  1386,  6376,
    4783             :     3850,  1386,  6013,   652,  1386,  1386,  1386,  3151,   652,  5328,
    4784             :     5876,   652,  5312,   840,  5490,  4882,   187,  5879,  2649,  2601,
    4785             :     5669,   841,  5232,  2709,  4276,  1555,  2710,  4288,  3505,  1386,
    4786             :     1386,  6204,  6057,  1386,  2714,  4249,  1650,  4834,  6047,  4850,
    4787             :     1583,  1651,  5604,  4242,  5846,  5845,  4243,  1584,  3486,  4883,
    4788             :     1386,  1585,  6412,  6190,  1386,  6303,  1145,  2952,  1557,  6046,
    4789             :     1386,  4952,  6440,  4244,  3490,  3489,  5828,  4783,  5316,  5718,
    4790             :     3414,  1386,  6058,  5622,  2658,  6059,  4208,  3417,  3332,  1586,
    4791             :     4202,  4074,  3849,  4200,  4929,  6012,  6439,  1386,  6445,  4193,
    4792             :     3493,  4109,  1653,  4732,  1465,  6318,  6054,  3429,  6056,     0,
    4793             :        0,     0,     0,     0,     0,    35,     0,  2824,     0,     0,
    4794             :     1559,  5704,     0,     0,  5625,  1587,  4929,  1001,   954,  1560,
    4795             :      954,     0,  2005,     0,     0,     0,     0,     0,  1561,     0,
    4796             :        0,     0,     0,  3359,     0,     0,  2825,     0,     0,     0,
    4797             :        0,     0,  1655,     0,     0,     0,     0,     0,     0,     0,
    4798             :     1563,     0,     0,     0,   965,  1001,     0,     0,     0,  1564,
    4799             :        0,     0,     0,     0,  1565,     0,  1656,     0,     0,     0,
    4800             :        0,     0,     0,  6458,     0,   866,   866,     0,     0,     0,
    4801             :        0,     0,     0,     0,     0,     0,     0,     0,  1658,     0,
    4802             :     4953,     0,     0,  4372,     0,  1588,     0,     0,     0,  1589,
    4803             :        0,     0,     0,   965,     0,     0,     0,     0,     0,  1590,
    4804             :        0,     0,     0,     0,     0,     0,     0,  5101,     0,  1591,
    4805             :    -2764,  1566,   866,     0,     0,  5914,     0,   866,     0,  3486,
    4806             :        0,  1592,     0,     0,     0,     0,  2848,     0,     0,  3478,
    4807             :        0,     0,     0,     0,  3478,     0,   866,  3478,     0,  3486,
    4808             :     5150,     0,     0,  5771,     0,     0,     0,  5462,     0,     0,
    4809             :        0,     0,     0,     0,   954,   866,  4929,     0,   187,   187,
    4810             :        0,     0,     0,     0,     0,  1593,     0,     0,  1594,  1595,
    4811             :        0,  3486,     0,    71,    80,   175,    83,    84,   652,    85,
    4812             :       86,     0,   184,   106,   124,   129,   159,   178,   185,     0,
    4813             :     1386,     0,     0,   191,     0,  2874,     0,     0,     0,     0,
    4814             :     1596,     0,     0,  6473,     0,  5784,     0,  1386,     0, -2764,
    4815             :        0,  1386,     0,  1386,     0,   929,     0,     0,     0,     0,
    4816             :        0,     0,     0,   180,     0,     0,     0,  1386,     0,   181,
    4817             :      183,     0,     0,     0,     0,   653,     0,     0,  1386,     0,
    4818             :     5756,     0,  5854,     0,     0,     0,     0,  6380,  6381,  1386,
    4819             :        0,     0,     0,  1145,     0,     0,  1386,     0,     0,     0,
    4820             :        0,     0, -2764,     0,     0,     0,     0,     0,     0,     0,
    4821             :        0,  5782,     0,     0,  1597, -2764,     0,     0,     0,     0,
    4822             :        0, -2764,     0,     0,     0,   186,     0, -2764,     0,     0,
    4823             :        0,     0,     0, -2764,     0,     0, -2764,  2005,     0,     0,
    4824             :    -2764,     0,     0,     0,     0,     0,  1386,   974,     0,     0,
    4825             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4826             :        0,  3486,  1386,     0,     0,     0,   974,     0,  1386,  1386,
    4827             :    -2764,     0,   974,  3970,     0,     0,     0,   954,   954,   954,
    4828             :      954,     0,     0,     0,   974,     0,     0,     0,     0,     0,
    4829             :        0,     0,   999,     0,     0,     0,     0,  1549,     0,   652,
    4830             :      974,     0,     0, -2764,     0,   655,     0,     0,  1386,     0,
    4831             :      917,     0,     0,     0,   655,   974,     0,   653,     0,   652,
    4832             :        0,   655,     0,   974,   655,     0,     0,     0,     0,     0,
    4833             :        0,     0,     0,  1550,     0,     0,   917,   974,     0,     0,
    4834             :     3486,     0,   866,     0,     0,  3490,     0,   974,     0,     0,
    4835             :        0,   652,     0,     0, -2764,     0,     0,     0, -2764,     0,
    4836             :        0,     0,  3326,  3326, -2764,     0,   187,  3326,     0,     0,
    4837             :      866,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4838             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   964,
    4839             :        0,     0,     0,  6379,     0,     0,  1551,     0,  1386,     0,
    4840             :      974,     0,     0,     0,     0,     0,     0,     0,  3326,  3326,
    4841             :     1386,     0,     0,  6435,     0,     0,     0,     0,     0,  1386,
    4842             :     1386,  1386,   655,   655,     0,  2005, -2764,     0,   974,     0,
    4843             :        0,  3810,     0,  1552,  1386,     0,     0,     0,   964,     0,
    4844             :        0,     0,  6415,  1386,     0,  1386,     0,  1386,  5622,  1549,
    4845             :        0,     0,     0,   974,  4929,   655,     0,     0,     0,     0,
    4846             :        0,  1386,     0,     0,     0,     0,  5973,     0,     0,     0,
    4847             :     2005,     0,  1001,     0,  6435,     0,   866,     0,  3971,   917,
    4848             :        0,  1386,     0,  1553,     0,  1550,   810,     0,     0,     0,
    4849             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  6435,
    4850             :        0,   652,   655,     0,     0,     0,     0,     0,     0,     0,
    4851             :     3486,     0,     0,     0,     0,   974, -2764,     0,     0,  2005,
    4852             :     2005,     0,     0,     0,     0,     0,     0,  1555,     0,     0,
    4853             :        0,     0,     0,  6227,     0,  3478,     0,     0,     0,     0,
    4854             :    -2764,     0, -2764, -2764,     0,     0,     0,     0,  1551,   954,
    4855             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4856             :     1557,     0,     0,  6141, -2764,     0,     0,     0,     0,     0,
    4857             :     6061,     0,     0,   795,     0,     0,     0,     0,     0,   795,
    4858             :      652,     0,     0,     0, -2764,  1552,     0, -2764, -2764, -2764,
    4859             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4860             :        0,     0,     0,     0,     0,  6277,  6278,    35,     0,     0,
    4861             :        0,     0,  3972,     0,  1386,     0,     0,     0,     0,  3486,
    4862             :        0,  1560,     0,   655,   655,  1822,     0,     0,     0,  1386,
    4863             :     1561,     0,   974,  5854,     0,  1553,     0,   655,  2825,  1386,
    4864             :        0,     0,   917,   655,     0,  3598,     0,   655,  3539,   655,
    4865             :        0,  3606,  1563,   917,     0,     0,     0,     0,     0,     0,
    4866             :        0,  1564,     0,     0,     0,     0,  1565,   965,     0,   917,
    4867             :        0,     0,     0,     0,     0,  1554,     0,     0,     0,  1555,
    4868             :        0,     0,   954,     0,     0,     0,     0,  3973,     0,  2005,
    4869             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  3649,
    4870             :     1579,     0,   187,     0,     0,     0,  1580,     0,     0,     0,
    4871             :        0,  1556,  1557,   655,  2848,   655,   655,     0,     0,     0,
    4872             :        0,  1386,  5956,  1566,     0,     0,     0,  3974,  3486,     0,
    4873             :        0,  4929,     0,   187,     0,     0,     0,     0,     0,   965,
    4874             :      965,  6280,     0,     0,     0,  1386,     0,   187,     0,     0,
    4875             :      652,  1582,     0,     0,     0,  1558,   974,     0,     0,    35,
    4876             :        0,     0,     0,     0,  1559,   191,     0,     0,  2005,  2005,
    4877             :     6296,     0,  1579,  1560,     0,     0,  1386,  1386,  1580,     0,
    4878             :     1386,     0,  1561,  6304,   655,     0,     0,     0,     0,     0,
    4879             :     1562,     0,     0,     0,     0,  6272,     0,     0,     0,     0,
    4880             :        0,  6273,  6274,     0,  1563,     0,  2005,     0,  1583,     0,
    4881             :        0,  6351,   954,  1564,     0,  1584,     0,   974,  1565,  1585,
    4882             :        0,     0,     0,  1582,     0,     0,   917,     0,   974,     0,
    4883             :        0,     0,  6251,     0,     0,     0,     0,  2103,     0,     0,
    4884             :        0,     0,  6141,   954,   954,   974,     0,  1586,  4929,     0,
    4885             :      974,     0,     0,     0,     0,     0,     0,  6275,     0,   652,
    4886             :        0,     0,   655,     0,     0,     0,   653,     0,     0,     0,
    4887             :        0,     0,     0,  1386,     0,  1566,     0,     0,     0,   191,
    4888             :     1583,  6369,     0,  1587,     0,     0,     0,  1584,     0,  1386,
    4889             :        0,  1585,     0,     0,     0,  3539,  3486,     0,     0,     0,
    4890             :     4299,     0,     0,     0,   655,     0,     0,     0,     0,  6272,
    4891             :     1386,  3878,     0,     0,     0,  6273,  6274,     0,     0,  1586,
    4892             :     6483,  6484,     0,     0,     0,     0,     0,     0,     0,     0,
    4893             :        0,     0,     0,   655,   655,   655,     0,   655,     0,     0,
    4894             :        0,     0,     0,     0,     0,     0,  6400,  6401,   653,  6405,
    4895             :        0,     0,     0,     0,  5854,  1587,     0,     0,   655,  1386,
    4896             :        0,     0,     0,  1689,     0,     0,     0,  1589,   652,     0,
    4897             :      954,  6275,     0,  4929,     0,     0,     0,  1590,     0,     0,
    4898             :        0,     0,     0,   974,     0,     0,  3478,  1591,   187,     0,
    4899             :        0,   974,   974,  6369,     0,     0,     0,     0,     0,  1592,
    4900             :        0,     0,     0,     0,   191,     0,     0,  3486,     0,     0,
    4901             :        0,     0,     0,  3486,     0,   655,     0,     0,     0,     0,
    4902             :     1386,   653,     0,     0,     0,     0,     0,     0,     0,     0,
    4903             :        0,     0,     0,     0,  6272,  1689,     0,   653,     0,  1589,
    4904             :     6273,  6274,     0,  1718,  1822,     0,  1594,  1595,     0,  1590,
    4905             :        0,     0,     0,     0,   965,   965,     0,     0,  6486,  1591,
    4906             :     6369,   655,     0,     0,     0,   655,   655,     0,     0,     0,
    4907             :        0,  1592,   964,     0,     0,     0,     0,  6369,  1719,     0,
    4908             :        0,   655,     0,     0,     0,     0,     0,   917,     0,     0,
    4909             :        0,  4050,   187,     0,     0,     0,  6275,     0,     0,     0,
    4910             :        0,     0,     0,     0,     0,     0,  4060,     0,     0,     0,
    4911             :        0,  4065,     0,     0,     0,  2805,     0,     0,  1594,  1595,
    4912             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4913             :        0,  1549,     0,     0,     0,     0,   652,     0,  3486,     0,
    4914             :        0,  4091,     0,     0,   964,   964,     0,  3299,     0,     0,
    4915             :     2806,     0,  1597,   722,   917,     0,     0,     0,  2792,     0,
    4916             :        0,     0,     0,     0,     0,     0,     0,  1550,     0,  3326,
    4917             :     3326,  3326,  3326,     0,     0,  3326,  3326,  3326,  3326,  3326,
    4918             :     3326,  3326,  3326,  3326,  3326,     0,     0,     0,     0,     0,
    4919             :        0,     0,     0,     0, -2766,   917,  2793,     0,     0,     0,
    4920             :        0,     0,     0,  4779,     0,     0,     0,     0,     0,   725,
    4921             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4922             :        0,     0,     0,     0,  1597,     0,   726,     0,   917,     0,
    4923             :     1551,     0,     0,     0,     0,     0,     0,     0,     0,  3326,
    4924             :     3326,     0,     0,     0,  1059,     0, -2783,   652,     0,     0,
    4925             :        0,     0,     0,   652,     0,     0,     0,     0,     0,     0,
    4926             :        0,     0,     0,     0,     0,     0,     0,  1552,  2794,     0,
    4927             :        0,  6355,     0,     0,     0,     0,     0,     0,     0,     0,
    4928             :        0,   729,     0,     0,     0,     0,  4839,     0,     0,     0,
    4929             :      730,     0,     0, -2766,     0,   974,     0,     0,     0,     0,
    4930             :        0,     0,     0,   731,     0,     0,     0,     0,     0,  2795,
    4931             :      655,   655,   655,     0,     0,     0,   721,  1553,     0,     0,
    4932             :     2111,     0,     0,  2112,     0,   809,     0,  2113,  2114,  2115,
    4933             :      795,     0,   795,     0,   795,     0,  1062,     0,     0,     0,
    4934             :      795,  1223,  1224,     0,     0, -2783, -2766,     0,     0,     0,
    4935             :        0,     0,     0,  6403,   187,  2637,     0,  1554,     0, -2766,
    4936             :        0,  1555,  2638,     0,     0, -2766,     0,     0,     0,     0,
    4937             :        0, -2766,     0,     0,     0,     0,     0, -2766,   652,   187,
    4938             :    -2766,     0,     0,     0, -2766,     0,     0,     0,  2639,     0,
    4939             :        0,     0,     0,  1620,  1557,     0,   735,     0, -2783,     0,
    4940             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4941             :      974, -2783,     0,     0, -2766,     0,     0, -2783,     0,     0,
    4942             :        0,     0,   917, -2783,     0,     0,  6403,     0,     0, -2783,
    4943             :        0,     0, -2783,   917,     0,     0, -2783,  1621,     0,     0,
    4944             :     2796,    35,  6469,     0,     0,  1822,  1559, -2766,  4332,   917,
    4945             :        0,     0,     0,     0,     0,  1560,  4335,     0,     0,   964,
    4946             :      964,     0,     0,     0,  1561,     0, -2783,     0,   974,     0,
    4947             :        0,     0,  1622,     0,     0,     0,   974,     0,   213,  2797,
    4948             :        0,     0,   740,     0,   974,     0,  1563,     0,     0,     0,
    4949             :        0,     0,     0,  6350,     0,  1564,     0,     0, -2766, -2783,
    4950             :     1565,     0, -2766,   917,     0,     0,  2640,     0, -2766,     0,
    4951             :     1066,  2641,   655,  2798,     0,   655,     0,     0,   917,     0,
    4952             :      744,   917,   917,     0,     0,   655,   655,   745,   974,   974,
    4953             :      746,   795,     0,     0,  2642,  2305,     0,     0,     0,     0,
    4954             :      655,     0,   974,   655,     0,     0,     0,     0,     0,     0,
    4955             :    -2783,   747,   917,   917, -2783,   974,   974,  1566,     0,  1068,
    4956             :    -2783,  4432,  2643,  4434,     0,     0,   749,     0,     0,  1069,
    4957             :    -2766,     0,     0,     0,   751,     0,     0,  2111,     0,     0,
    4958             :     2112,     0,  2799,     0,  2113,  2114,  2115,     0,     0,  2800,
    4959             :        0,  3326,     0,   655,     0,     0,     0,   655,   655,  3970,
    4960             :        0,   795,  2636,     0,     0,  2372,     0,     0,     0,     0,
    4961             :        0,     0,  2637,     0,     0,     0,   756,     0,   187,  2638,
    4962             :     2644,     0, -2783,  1549,     0,     0,     0,     0,     0,     0,
    4963             :      810,     0,   655,     0,   655,     0,     0,     0,     0,   655,
    4964             :      655,     0,     0,     0,     0,  2639,   655,   655,   655,   655,
    4965             :      655,   655,   655,   655,   655,   655,   655,   655,   655,  1550,
    4966             :    -2766,  4497,   655,     0,   655,     0,   655,   655,   655,   655,
    4967             :      655,   655,     0,     0,   655,     0,   655,   655,     0,     0,
    4968             :      655,     0,   810,     0, -2766,     0, -2766, -2766,     0,     0,
    4969             :        0,     0,     0,     0,   917,   655,   655,   655,     0,     0,
    4970             :        0,     0,     0,     0,     0,  4519,     0,     0, -2766,     0,
    4971             :        0,     0, -2783,   655,     0,  1822,     0,     0,  2646,     0,
    4972             :        0,     0,  1551,     0,     0,     0,     0,     0, -2766,     0,
    4973             :        0, -2766, -2766, -2766,     0,     0, -2783,     0, -2783, -2783,
    4974             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4975             :        0,     0,     0,     0,     0,     0,  1579,     0,     0,  1552,
    4976             :    -2783,     0,  1580,  2640,     0,     0,     0,     0,  2641,     0,
    4977             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4978             :    -2783,     0,     0, -2783, -2783, -2783,  2111,     0,     0,  2112,
    4979             :        0,  2642,  2305,  2113,  2114,  2115,     0,     0,     0,     0,
    4980             :        0,  3649,     0,     0,  3971,     0,     0,  1582,     0,  1553,
    4981             :        0,  2636,     0,     0,     0,     0,     0,     0,     0,  2643,
    4982             :     5261,  2637,     0,     0,     0,  2574,     0,     0,  2638,     0,
    4983             :        0,     0,     0,     0,  2575,  2576,  2577,  2578,  2579,  2580,
    4984             :     2581,  2582,  2583,     0,     0,  4661,     0,     0,     0,     0,
    4985             :        0,     0,     0,  1555,  2639,     0,     0,     0,     0,     0,
    4986             :      655,     0,  2372,     0,  1583,     0,     0,     0,     0,     0,
    4987             :        0,  1584,     0,     0,     0,  1585,     0,  2644,     0,     0,
    4988             :     2645,     0,     0,     0,     0,     0,  1557,     0,     0,     0,
    4989             :     2111,     0,     0,  2112,     0,     0,     0,  2113,  2114,  2115,
    4990             :        0,     0,     0,  1586,     0,     0,     0,     0,     0,     0,
    4991             :        0,     0,     0,     0,   655,  2636,     0,     0,     0,     0,
    4992             :        0,     0,     0,     0,     0,  2637,     0,  4718,     0,     0,
    4993             :        0,     0,  2638,    35,     0,     0,     0,     0,  1559,  1587,
    4994             :        0,     0,     0,     0,     0,     0,     0,  1560,     0,     0,
    4995             :        0,     0,     0,     0,     0,   795,  1561,     0,  2639,     0,
    4996             :      795,   795,     0,     0,  2825,     0,     0,  1076,     0,     0,
    4997             :      655,     0,  2640,     0,     0,  2646,     0,  2641,  1563,  4750,
    4998             :        0,     0,     0,     0,     0,     0,     0,  1564,  2654,     0,
    4999             :        0,     0,  1565,     0,     0,     0,     0,  2661,     0,  2662,
    5000             :     2642,  2305,     0,  2665,  4771,     0,     0,     0,     0,     0,
    5001             :     2671,     0,     0,  3973,     0,     0,     0,  1144,   721,  1689,
    5002             :        0,     0,     0,  1589,     0,     0,     0,     0,  2643,     0,
    5003             :        0,     0,     0,  1590,     0,     0,     0,     0,     0,     0,
    5004             :        0,     0,     0,  1591,     0,     0,     0,     0,     0,  1566,
    5005             :        0,     0,     0,  3974,     0,  1592,     0,     0,     0,     0,
    5006             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5007             :        0,  2372,     0,     0,     0,     0,  2640,     0,     0,     0,
    5008             :        0,  2641,  2574,     0,     0,     0,  2644,     0,     0,  2645,
    5009             :        0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,
    5010             :        0,   795,  1594,  1595,  2642,  2305,     0,  4119,     0,     0,
    5011             :        0,   795,     0,  1243,     0,     0,     0,     0,     0,     0,
    5012             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5013             :        0,     0,  2643,  1265,  1596,     0,     0,     0,     0,     0,
    5014             :        0,  1389,     0,     0,  1398,  1144,  1400,     0,     0,     0,
    5015             :        0,     0,     0,     0,     0,  1223,  1224,   655,   655,   655,
    5016             :      655,   655,   655,   655,   655,   655,     0,   655,     0,     0,
    5017             :        0,     0,     0,     0,     0,  2372,     0,     0,   655,     0,
    5018             :      655,     0,     0,     0,  2646,     0,     0,     0,     0,     0,
    5019             :     2644,     0,     0,  2645,     0,     0,     0,     0,   795,     0,
    5020             :        0,   795,   795,     0,     0,     0,     0,     0,  1597,     0,
    5021             :        0,     0,     0,     0,     0,     0,     0,     0,   655,     0,
    5022             :        0,     0,   655,     0,     0,   655,     0,   655,     0,     0,
    5023             :      655,     0,     0,     0,   655,     0,     0,     0,     0,     0,
    5024             :        0,     0,     0,     0,     0,     0,  1579,     0,     0,     0,
    5025             :        0,     0,  1580,     0,     0,  1822,     0,   655,     0,  1646,
    5026             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5027             :        0,     0,     0,     0,   655,     0,     0,     0,     0,     0,
    5028             :        0,  1647,     0,   655,   655,     0,     0,  3326,  2646,     0,
    5029             :        0,  2574,     0,     0,     0,     0,     0,  1582,     0,     0,
    5030             :     2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,
    5031             :      974,     0,     0,     0,     0,     0,  4170,   917,     0,     0,
    5032             :        0,   917,   917,     0,     0,     0,     0,     0,   974,     0,
    5033             :        0,     0,   974,  1648,     0,     0,   974,     0,     0,     0,
    5034             :     3326,     0,     0,     0,     0,   974,     0,     0,     0,  1144,
    5035             :        0,     0,     0,     0,  1583,     0,     0,     0,     0,     0,
    5036             :      974,  1584,     0,   655,     0,  1585,     0,     0,     0,     0,
    5037             :        0,     0,     0,     0,   655,     0,   917,   655,     0,   655,
    5038             :      655,     0,   917,     0,     0,     0,     0,     0,     0,     0,
    5039             :        0,     0,     0,  1586,   974,  2574,   795,     0,     0,     0,
    5040             :        0,     0,     0,     0,  2575,  2576,  2577,  2578,  2579,  2580,
    5041             :     2581,  2582,  2583,     0,   974,   974,     0,  3355,     0,     0,
    5042             :        0,     0,     0,     0,     0,  1649,     0,     0,     0,  1587,
    5043             :      917,     0,  5113,     0,     0,     0,     0,     0,     0,     0,
    5044             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5045             :        0,     0,  1822,   974,     0,     0,  1822,     0,     0,     0,
    5046             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5047             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5048             :      974,     0,  1822,     0,     0,     0,   974,  2111,  1650,     0,
    5049             :     2112,     0,     0,  1651,  2113,  2114,  2115,     0,     0,     0,
    5050             :      974,     0,     0,     0,     0,     0,     0,   974,     0,  1652,
    5051             :      974,     0,  2636,  1589,     0,     0,   974,     0,     0,     0,
    5052             :        0,     0,  2637,  1590,     0,     0,     0,     0,     0,  2638,
    5053             :        0,     0,     0,  1591,     0,     0,   974,     0,     0,     0,
    5054             :     2030,     0,   974,     0,  1653,  1592,     0,     0,     0,   974,
    5055             :        0,     0,     0,     0,     0,  2639,     0,     0,     0,     0,
    5056             :        0,     0,     0,     0,     0,   974,     0,  1144,     0,     0,
    5057             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   974,
    5058             :        0,     0,     0,     0,  1822,     0,     0,     0,     0,  1654,
    5059             :      974,     0,  1594,  1595,  1655,     0,     0,     0,     0,     0,
    5060             :        0,     0,     0,  3326,     0,     0,     0,     0,   655,   655,
    5061             :      655,  3274,  3275,     0,   655,     0,     0,     0,  1656,     0,
    5062             :        0,     0,     0,     0,  1657,     0,     0,     0,  3311,  3312,
    5063             :        0,     0,     0,     0,  3326,     0,     0,     0,     0,     0,
    5064             :     1658,   655,   917,     0,     0,     0,     0,     0,     0,     0,
    5065             :     1822,     0,     0,     0,     0,     0,  2107,     0,     0,  3357,
    5066             :        0,     0,     0,     0,     0,  2109,     0,     0,     0,     0,
    5067             :        0,     0,     0,  2640,     0,     0,     0,     0,  2641,     0,
    5068             :        0,  2599,     0,   655,     0,  2111,     0,     0,  2112,     0,
    5069             :        0,     0,  2113,  2114,  2115,     0,     0,     0,  1597,     0,
    5070             :     1144,  2642,  2305,  2616,  2617,     0,     0,     0,  1144,  1144,
    5071             :     2636,     0,     0,     0,     0,   917,     0,     0,     0,   917,
    5072             :     2637,     0,     0,     0,     0,     0,     0,  2638,     0,  2643,
    5073             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5074             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5075             :        0,  2111,     0,  2639,  2112,     0,     0,  5348,  2113,  2114,
    5076             :     2115,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5077             :        0,     0,  2372,     0,     0,     0,  2636,     0,     0,     0,
    5078             :        0,     0,     0,     0,     0,     0,  2637,  2644,     0,     0,
    5079             :     2645,     0,     0,  2638,     0,     0,     0,     0,     0,     0,
    5080             :        0,     0,     0,     0,     0,   974,     0,  1822,     0,     0,
    5081             :        0,  5386,     0,     0,     0,     0,     0,     0,     0,  2639,
    5082             :        0,     0,   917,     0,   974,     0,     0,     0,     0,     0,
    5083             :        0,   974,     0,  5402,     0,   655,     0,   917,   655,     0,
    5084             :      655,   655,   917,     0,     0,     0,     0,     0,     0,     0,
    5085             :      655,     0,     0,     0,     0,   655,  2111,     0,     0,  2112,
    5086             :        0,     0,     0,  2113,  2114,  2115,     0,     0,     0,     0,
    5087             :        0,  2640,   917,     0,     0,     0,  2641,     0,     0,     0,
    5088             :        0,  2636,     0,     0,     0,  2646,     0,     0,     0,     0,
    5089             :     3326,  2637,     0,     0,     0,     0,     0,     0,  2638,  2642,
    5090             :     2305,     0,     0,     0,   655,   655,   655,  5434,     0,   655,
    5091             :        0,     0,     0,     0,     0,     0,     0,   655,   655,   655,
    5092             :      655,     0,     0,   972,  2639,     0,     0,  2643,  1822,     0,
    5093             :        0,     0,  1008,   655,  1822,     0,   655,  2640,   655,     0,
    5094             :        0,     0,  2641,     0,     0,     0,  1030,     0,     0,     0,
    5095             :      655,   655,     0,     0,   655,     0,     0,     0,     0,     0,
    5096             :        0,     0,     0,  2957,     0,  2642,  2305,     0,     0,     0,
    5097             :     2372,  2965,     0,     0,     0,   655,     0,   655,     0,   655,
    5098             :        0,     0,     0,     0,     0,  2644,     0,     0,  2645,     0,
    5099             :        0,     0,  2574,  2643,     0,     0,     0,     0,   655,     0,
    5100             :        0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,
    5101             :        0,     0,     0,     0,  4111,     0,     0,     0,     0,   974,
    5102             :        0,     0,     0,     0,     0,  1549,     0,     0,  5520,     0,
    5103             :        0,     0,     0,     0,     0,     0,  2372,     0,     0,     0,
    5104             :        0,     0,  2640,     0,     0,     0,     0,  2641,     0,     0,
    5105             :        0,  2644,     0,     0,  2645,     0,   655,     0,     0,   655,
    5106             :        0,  1550,     0,     0,     0,     0,     0,     0,     0,     0,
    5107             :     2642,  2305,     0,   655,     0,     0,     0,     0,   655,     0,
    5108             :        0,     0,     0,  2646,     0,  6189,     0,     0,     0,     0,
    5109             :        0,     0,     0,   655,     0,     0,     0,     0,  2643,     0,
    5110             :        0,     0,     0,     0,     0,     0,     0,   655,     0,     0,
    5111             :        0,     0,     0,     0,     0,   655,     0,     0,     0,     0,
    5112             :        0,     0,     0,     0,  1551,     0,     0,   917,     0,     0,
    5113             :      917,     0,   917,     0,     0,     0,     0,   917,     0,     0,
    5114             :        0,  2372,  1579,     0,     0,     0,     0,     0,  1580,  2646,
    5115             :        0,     0,   974,   974,     0,     0,  2644,     0,   655,  2645,
    5116             :        0,  1552,     0,  1686,     0,     0,     0,  4497,     0,     0,
    5117             :        0,     0,     0,   974,     0,     0,   974,     0,     0,   917,
    5118             :        0,     0,     0,     0,     0,     0,     0,   917,  3097,     0,
    5119             :     2574,     0,  3102,  1582,     0,     0,     0,     0,     0,  2575,
    5120             :     2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,     0,
    5121             :     3031,  1553,   917,     0,  3458,  3460,     0,     0,   655,     0,
    5122             :     3468,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5123             :        0,     0,  3326,  3326,     0,     0,  3326,     0,     0,     0,
    5124             :        0,     0,     0,     0,     0,     0,     0,     0,  1687,     0,
    5125             :     1583,  1554,  3514,  3514,  2646,  1555,  2574,  1584,  1822,  1822,
    5126             :     1822,  1585,     0,     0,     0,  2575,  2576,  2577,  2578,  2579,
    5127             :     2580,  2581,  2582,  2583,     0,     0,     0,     0,  4533,     0,
    5128             :        0,     0,     0,   974,     0,     0,     0,  1637,  1557,  1586,
    5129             :        0,     0,   917,     0,   917,     0,     0,     0,     0,     0,
    5130             :        0,     0,   974,     0,     0,     0,     0,     0,     0,     0,
    5131             :        0,     0,     0,     0,   795,     0,     0,     0,     0,     0,
    5132             :        0,     0,     0,     0,   974,  1587,     0,     0,     0,     0,
    5133             :        0,  1638,     0,     0,     0,    35,     0,     0,     0,     0,
    5134             :     1559,     0,     0,     0,  2111,     0,     0,  2112,     0,  1560,
    5135             :        0,  2113,  2114,  2115,     0,     0,     0,     0,  1561,     0,
    5136             :        0,  2574,  3285,     0,     0,     0,  1639,     0,     0,  2636,
    5137             :     2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,  2637,
    5138             :     1563,     0,     0,  4719,     0,  1688,  2638,     0,     0,  1564,
    5139             :        0,     0,   917,     0,  1565,     0,     0,     0,     0,     0,
    5140             :     1100,     0,  3651,     0,     0,  1689,  1100,     0,     0,  1589,
    5141             :        0,     0,  2639,     0,     0,     0,   974,     0,  1100,  1590,
    5142             :        0,   655,     0,     0,     0,     0,     0,   655,     0,  1591,
    5143             :        0,     0,     0,     0,     0,   916,   917,     0,     0,     0,
    5144             :        0,  1592,     0,     0,     0,     0,     0,     0,     0,     0,
    5145             :        0,  1566,     0,     0,     0,     0,     0,     0,     0,     0,
    5146             :        0,     0,     0,  1822,   917,     0,     0,     0,     0,   974,
    5147             :        0,   974,     0,     0,     0,     0,     0,     0,     0,     0,
    5148             :        0,     0,     0,     0,   974,  1690,   974,     0,  1594,  1595,
    5149             :        0,   795,     0,     0,     0,     0,     0,     0,     0,   795,
    5150             :        0,     0,   795,     0,     0,     0,   655,     0,     0,     0,
    5151             :        0,     0,     0,     0,   795,     0,     0,     0,     0,  2031,
    5152             :     1691,     0,     0,     0,  2031,  2031,     0,     0,     0,     0,
    5153             :     2640,  1692,   917,     0,     0,  2641,     0,     0,     0,     0,
    5154             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5155             :        0,  -136,     0,   974,   917,     0,     0,     0,  2642,  2305,
    5156             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5157             :        0,     1,     0,     0,     0,     0,   917,     0,     0,     0,
    5158             :        0,     0,     2,     0,     3,     4,  2643,     0,     0,     0,
    5159             :        0,     0,     0,     0,  1597,   974,     0,     0,     0,     0,
    5160             :        0,     0,     5,     0,     0,     0,     0,     0,     0,     0,
    5161             :        0,     0,     6,     0,   974,     0,     0,     0,   974,     0,
    5162             :        0,     0,     0,     0,     7,     0,     8,     9,     0,  2372,
    5163             :        0,     0,     0,    10,     0,    11,     0,     0,     0,   974,
    5164             :        0,     0,  5995,     0,  2644,     0,     0,  2645,    12,     0,
    5165             :       13,     0,     0,     0,     0,   655,     0,     0,   917,     0,
    5166             :        0,     0,     0,     0,   655,     0,     0,    14,     0,     0,
    5167             :       15,     0,     0,     0,     0,     0,     0,     0,   655,     0,
    5168             :        0,     0,   655,   655,   655,    16,     0,    17,     0,   655,
    5169             :        0,    18,   655,     0,     0,   655,     0,     0,    19,     0,
    5170             :        0,   655,     0,   655,     0,  6051,   655,    20,     0,    21,
    5171             :      917,   655,   655,   655,   655,     0,    22,   655,   655,   655,
    5172             :      655,   655,   655,   655,   655,   655,   655,     0,     0,     0,
    5173             :      655,   655,   655,     0,    23,   917,     0,     0,     0,     0,
    5174             :      655,     0,  2646,     0,     0,   655,     0,  1822,     0,   655,
    5175             :        0,    24,     0,     0,     0,     0,     0,   655,     0,     0,
    5176             :      655,  1579,   655,   795,     0,     0,     0,  1580,     0,     0,
    5177             :        0,     0,     0,     0,     0,     0,     0,     0,   655,     0,
    5178             :        0,   655,   655,     0,     0,     0,   655,   655,     0,     0,
    5179             :        0,   655,     0,   655,     0,     0,     0,     0,     0,     0,
    5180             :        0,     0,     0,     0,     0,    25,    26,     0,     0,     0,
    5181             :        0,    27,  1582,     0,     0,     0,     0,     0,     0,     0,
    5182             :        0,     0,   655,     0,     0,     0,    28,     0,   655,     0,
    5183             :        0,     0,     0,     0,     0,     0,   655,     0,     0,     0,
    5184             :      655,     0,     0,     0,     0,    29,     0,     0,     0,  2574,
    5185             :        0,     0,     0,     0,     0,     0,     0,     0,  2575,  2576,
    5186             :     2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,     0,  1583,
    5187             :        0,  4792,     0,   655,     0,     0,  1584,     0,     0,     0,
    5188             :     1585,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5189             :      655,     0,     0,     0,    30,  2111,   917,     0,  2112,     0,
    5190             :        0,     0,  2113,  2114,  2115,     0,     0,     0,  1586,    31,
    5191             :        0,     0,     0,     0,  3436,    32,    33,     0,    34,     0,
    5192             :     2636,     0,   974,    35,     0,     0,     0,     0,     0,    36,
    5193             :     2637,     0,    37,     0,     0,     0,     0,  2638,     0,    38,
    5194             :        0,     0,     0,     0,  1587,   655,    39,    40,     0,     0,
    5195             :        0,     0,     0,     0,    41,     0,     0,     0,    42,  2111,
    5196             :        0,     0,  2112,  2639,     0,     0,  2113,  2114,  2115,     0,
    5197             :       43,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5198             :        0,     0,     0,     0,  2636,  1822,  4227,    44,   795,     0,
    5199             :     1822,   917,  1822,     0,  2637,     0,     0,     0,     0,     0,
    5200             :        0,  2638,     0,     0,  4234,     0,     0,     0,    45,     0,
    5201             :        0,     0,     0,     0,     0,     0,     0,     0,  1822,   917,
    5202             :       46,     0,     0,     0,  1588,     0,    47,  2639,  1589,     0,
    5203             :        0,    48,     0,     0,     0,     0,     0,     0,  1590,     0,
    5204             :        0,     0,     0,     0,    49,     0,     0,     0,  1591,     0,
    5205             :        0,     0,     0,     0,  4283,  4283,     0,     0,     0,     0,
    5206             :     1592,     0,  1144,     0,     0,     0,   974,     0,    50,   974,
    5207             :       51,    52,    53,    54,    55,     0,     0,     0,     0,     0,
    5208             :        0,  2640,     0,     0,     0,     0,  2641,    56,     0,     0,
    5209             :     -136,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5210             :        0,     0,     0,     0,  2890,     0,     0,  1594,  1595,  2642,
    5211             :     2305,     0,   916,     0,     0,     0,     0,     0,  1400,     0,
    5212             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5213             :        0,     0,     0,   655,     0,     0,     0,  2643,   916,  2891,
    5214             :        0,     0,     0,     0,     0,  2640,     0,     0,     0,     0,
    5215             :     2641,     0,     0,     0,     0,     0,     0,     0,     0,   974,
    5216             :      974,     0,     0,   917,     0,     0,     0,     0,     0,     0,
    5217             :      974,     0,     0,  2642,  2305,     0,     0,   655,   655,     0,
    5218             :     2372,     0,     0,  1579,     0,     0,     0,   974,     0,  1580,
    5219             :        0,     0,     0,     0,     0,  2644,     0,     0,  2645,     0,
    5220             :        0,  2643,     0,     0,     0,  1400,     0,     0,     0,     0,
    5221             :      917,     0,     0,  1597,     0,   917,   655,   655,     0,     0,
    5222             :     6411,     0,     0,     0,     0,     0,     0,   655,     0,  1400,
    5223             :        0,     0,     0,     0,  1582,     0,     0,     0,     0,     0,
    5224             :        0,     0,     0,     0,  2372,     0,     0,     0,     0,     0,
    5225             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2644,
    5226             :        0,     0,  2645,     0,     0,     0,     0,     0,   974,     0,
    5227             :        0,  1822,     0,     0,     0,     0,     0,     0,     0,     0,
    5228             :        0,   916,     0,     0,     0,     0,     0,     0,     0,     0,
    5229             :        0,  1583,     0,  2646,     0,  3816,     0,   655,  1584,  3820,
    5230             :        0,     0,  1585,     0,     0,     0,     0,     0,     0,     0,
    5231             :        0,     0,     0,   655,     0,     0,     0,     0,     0,     0,
    5232             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5233             :     1586,   655,     0,     0,     0,     0,  3853,     0,  3853,     0,
    5234             :     3853,  3853,     0,     0,     0,  3853,  3853,  3853,     0,  3853,
    5235             :     3853,  3853,     0,     0,     0,     0,     0,  2646,     0,   655,
    5236             :        0,     0,   655,     0,     0,     0,  1587,     0,     0,     0,
    5237             :      655,   655,     0,   917,     0,     0,     0,   655,   655,     0,
    5238             :        0,     0,   655,     0,     0,     0,     0,   655,     0,     0,
    5239             :      655,   655,     0,     0,     0,     0,     0,   655,     0,     0,
    5240             :     2574,     0,     0,  3930,     0,     0,     0,     0,     0,  2575,
    5241             :     2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,   655,
    5242             :        0,     0,  4898,     0,     0,  1737,   655,     0,  3958,  3007,
    5243             :        0,   655,     0,   795,   655,   655,     0,     0,     0,     0,
    5244             :        0,     0,   655,     0,   916,     0,  1689,     0,     0,     0,
    5245             :     1589,     0,   914,   655,     0,   916,  4580,     0,     0,     0,
    5246             :     1590,   655,     0,     0,  2574,     0,     0,     0,     0,     0,
    5247             :     1591,   916,     0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,
    5248             :     2582,  2583,  1592,     0,     0,     0,  4922,     0,   917,     0,
    5249             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5250             :        0,   974,  2111,     0,     0,  2112,   655,     0,     0,  2113,
    5251             :     2114,  2115,     0,     0,     0,     0,     0,     0,     0,     0,
    5252             :        0,     0,     0,     0,     0,     0,  3634,  2636,     0,  1594,
    5253             :     1595,     0,     0,     0,     0,     0,     0,  2637,  2111,     0,
    5254             :        0,  2112,   917,     0,  2638,  2113,  2114,  2115,     0,     0,
    5255             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   974,
    5256             :        0,  1596,     0,  2636,   917,     0,     0,     0,     0,     0,
    5257             :     2639,   974,     0,  2637,     0,     0,     0,     0,     0,     0,
    5258             :     2638,     0,     0,     0,     0,     0,     0,   655,     0,     0,
    5259             :        0,     0,     0,     0,   655,     0,     0,     0,     0,     0,
    5260             :        0,     0,  3086,     0,     0,   974,  2639,     0,     0,     0,
    5261             :     3103,     0,     0,   795,     0,     0,     0,     0,  3007,     0,
    5262             :     1579,     0,     0,     0,     0,     0,  1580,     0,   916,     0,
    5263             :        0,     0,     0,  1646,     0,  1597,     0,     0,   917,     0,
    5264             :        0,     0,     0,     0,     0,     0,     0,  1579,     0,     0,
    5265             :        0,     0,     0,  1580,     0,  1647,     0,     0,     0,     0,
    5266             :        0,     0,     0,  3161,   655,     0,     0,     0,     0,     0,
    5267             :        0,  1582,     0,     0,     0,     0,     0,     0,     0,     0,
    5268             :      655,     0,     0,     0,     0,  1822,     0,     0,  2640,     0,
    5269             :     3007,     0,     0,  2641,     0,     0,     0,     0,  1582,     0,
    5270             :        0,     0,     0,     0,   974,     0,     0,  1648,     0,     0,
    5271             :        0,   655,     0,     0,     0,     0,  2642,  2305,     0,     0,
    5272             :        0,     0,     0,     0,  2640,     0,     0,     0,  1583,  2641,
    5273             :        0,     0,     0,     0,     0,  1584,  1144,     0,     0,  1585,
    5274             :        0,     0,     0,     0,  2643,     0,     0,     0,     0,     0,
    5275             :        0,     0,  2642,  2305,     0,  1583,     0,   917,     0,   917,
    5276             :        0,     0,  1584,     0,     0,     0,  1585,  1586,     0,     0,
    5277             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5278             :     2643,     0,     0,     0,     0,     0,     0,  2372,     0,     0,
    5279             :      974,     0,     0,     0,  1586,     0,     0,     0,     0,  1649,
    5280             :        0,     0,  2644,  1587,     0,  2645,     0,     0,     0,     0,
    5281             :        0,     0,     0,     0,     0,     0,   655,     0,     0,     0,
    5282             :        0,     0,     0,  2372,     0,     0,   655,     0,     0,   655,
    5283             :     1587,     0,   655,   655,   655,     0,     0,     0,  2644,     0,
    5284             :        0,  2645,     0,     0,     0,     0,     0,     0,     0,     0,
    5285             :        0,     0,     0,     0,     0,     0,     0,   655,   655,     0,
    5286             :        0,   655,  1650,     0,     0,     0,     0,  1651,     0,     0,
    5287             :        0,     0,     0,     0,     0,     0,     0,     0,   655,     0,
    5288             :        0,     0,   655,  1652,     0,     0,     0,  1589,   655,  2745,
    5289             :        0,     0,   655,  1144,     0,     0,     0,  1590,   917,   655,
    5290             :     2646,     0,     0,     0,     0,     0,     0,  1591,     0,     0,
    5291             :     1689,     0,   655,     0,  1589,   655,     0,     0,  1653,  1592,
    5292             :      974,     0,   974,     0,  1590,     0,     0,     0,     0,     0,
    5293             :        0,     0,  1579,     0,  1591,     0,  2646,     0,  1580,     0,
    5294             :        0,     0,     0,     0,   655,     0,  1592,     0,     0,     0,
    5295             :        0,     0,     0,  1686,     0,     0,  2745,     0,     0,     0,
    5296             :      795,     0,     0,  3752,     0,     0,  1594,  1595,  1655,     0,
    5297             :        0,   917,   974,     0,     0,     0,     0,     0,     0,     0,
    5298             :        0,  4405,   655,  1582,     0,  1579,     0,     0,   795,     0,
    5299             :     3828,  1580,  1656,  1594,  1595,     0,     0,   916,  3753,     0,
    5300             :        0,     0,   795,     0,     0,     0,     0,  2574,     0,     0,
    5301             :        0,     0,     0,   795,  1658,     0,  2575,  2576,  2577,  2578,
    5302             :     2579,  2580,  2581,  2582,  2583,  3829,  1822,     0,     0,  5130,
    5303             :      916,   655,     0,     0,     0,     0,  1582,     0,  1687,  4454,
    5304             :     1583,     0,     0,  2574,     0,     0,     0,  1584,     0,     0,
    5305             :        0,  1585,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,
    5306             :     2583,     0,     0,     0,     0,  5243,     0,     0,     0,     0,
    5307             :        0,     0,  1597,     0,     0,     0,     0,     0,     0,  1586,
    5308             :        0,     0,  1579,     0,     0,     0,     0,     0,  1580,     0,
    5309             :        0,  1223,  1224,  1583,   655,     0,     0,   917,     0,  1597,
    5310             :     1584,     0,     0,     0,  1585,     0,     0,     0,     0,     0,
    5311             :        0,  4499,  1737,  1737,  1737,  1587,     0,     0,     0,     0,
    5312             :        0,     0,     0,     0,     0,     0,     0,     0,   655,   914,
    5313             :        0,     0,  1586,  1582,     0,     0,     0,     0,     0,     0,
    5314             :        0,     0,     0,     0,     0,   655,     0,     0,     0,   655,
    5315             :        0,   655,     0,     0,     0,   914,     0,     0,     0,  3853,
    5316             :        0,     0,     0,     0,     0,   655,     0,     0,  1587,     0,
    5317             :        0,  4530,  4530,   655,     0,  1688,   655,     0,     0,   795,
    5318             :        0,  4546,   905,     0,     0,     0,  1144,   655,  1144,     0,
    5319             :     1583,     0,     0,     0,   655,  1689,   661,  1584,     0,  1589,
    5320             :        0,  1585,   710,   661,     0,     0,     0,     0,   762,  1590,
    5321             :      661,     0,     0,     0,     0,     0,   661,     0,   815,  1591,
    5322             :        0,     0,     0,     0,   916,     0,     0,     0,     0,  1586,
    5323             :        0,  1592,   795,     0,  4601,   916,     0,   877,   877,     0,
    5324             :        0,     0,     0,     0,   655,     0,     0,     0,  1689,     0,
    5325             :      917,   916,  1589,     0,     0,   917,   917,     0,     0,     0,
    5326             :      655,     0,  1590,     0,     0,  1587,   655,   655,   974,  4637,
    5327             :     1144,     0,  1591,     0,     0,  3779,     0,     0,  1594,  1595,
    5328             :        0,     0,     0,     0,  1592,     0,   974,     0,     0,     0,
    5329             :        0,     0,     0,     0,     0,     0,     0,     0,   914,     0,
    5330             :        0,     0,     0,     0,     0,   916,   655,     0,     0,     0,
    5331             :     3780,     0,     0,     0,     0,   655,     0,     0,  1822,     0,
    5332             :      916,  1692,     0,   916,   916,     0,     0,     0,  4345,     0,
    5333             :        0,  1594,  1595,     0,     0,     0,     0,     0,     0,     0,
    5334             :        0,     0,     0,   655,     0,  1689,     0,     0,     0,  1589,
    5335             :        0,     0,     0,     0,   916,   916,     0,     0,     0,  1590,
    5336             :        0,     0,     0,  4346,     0,     0,     0,     0,     0,  1591,
    5337             :        0,     0,   917,   917,     0,     0,     0,     0,     0,     0,
    5338             :        0,  1592,     0,     0,  1597,     0,     0,     0,   956,     0,
    5339             :        0,     0,   960,     0,     0,     0,   655,  1822,     0,     0,
    5340             :     1003,     0,     0,  1005,     0,     0,  1010,  1011,   655,  1014,
    5341             :        0,  1017,     0,     0,  1023,     0,  1025,   655,   655,   655,
    5342             :        0,     0,     0,     0,     0,  4417,     0,     0,  1594,  1595,
    5343             :        0,     0,   655,  1822,     0,     0,   917,  1597,     0,     0,
    5344             :        0,   655,     0,   655,  3541,   655,     0,     0,     0,     0,
    5345             :        0,     0,   655,     0,  1737,     0,     0,     0,     0,   655,
    5346             :     4418,   914,  3557,     0,     0,     0,  3560,     0,  1737,     0,
    5347             :     3563,  1737,   914,  4793,     0,     0,     0,     0,     0,   655,
    5348             :        0,     0,     0,     0,     0,     0,     0,     0,   914,     0,
    5349             :        0,     0,     0,   795,  3582,     0,   916,     0,     0,   795,
    5350             :        0,     0,     0,     0,   795,     0,  1822,     0,     0,   974,
    5351             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5352             :        0,     0,     0,     0,     0,     0,     0,     0,  3624,     0,
    5353             :        0,  5400,  5401,     0,  1597,     0,  5404,  5405,     0,     0,
    5354             :        0,     0,     0,     0,     0,     0,     0,     0,  1100,     0,
    5355             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5356             :        0,   655,     0,     0,     0,     0,     0,     0,     0,     0,
    5357             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5358             :        0,  2111,     0,     0,  2112,     0,     0,  3684,  2113,  2114,
    5359             :     2115,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5360             :        0,     0,     0,     0,     0,     0,  2636,   907,     0,     0,
    5361             :        0,     0,   655,     0,  3713,     0,  2637,     0,     0,     0,
    5362             :     3722,     0,     0,  2638,     0,     0,     0,   655,     0,     0,
    5363             :        0,     0,     0,     0,  3732,     0,     0,   655,     0,     0,
    5364             :        0,  1100,     0,     0,  3745,   914,     0,     0,     0,  2639,
    5365             :     3750,   974,     0,     0,     0,     0,     0,     0,     0,     0,
    5366             :        0,     0,     0,     0,     0,   655,     0,     0,     0,     0,
    5367             :     3763,     0,     0,     0,     0,     0,  3766,     0,   974,     0,
    5368             :        0,     0,     0,  3774,     0,     0,     0,     0,     0,     0,
    5369             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  3791,
    5370             :        0,     0,     0,     0,     0,     0,     0,     0,  4546,     0,
    5371             :        0,     0,     0,  3817,     0,     0,     0,     0,     0,   655,
    5372             :        0,     0,     0,     0,  1100,     0,     0,     0,     0,   655,
    5373             :        0,     0,     0,     0,     0,     0,  5001,   655,   655,     0,
    5374             :        0,     0,     0,   655,     0,     0,     0,     0,     0,     0,
    5375             :        0,  5015,     0,     0,  5016,     0,  5017,     0,     0,     0,
    5376             :        0,     0,     0,     0,     0,     0,     0,  2640,     0,     0,
    5377             :        0,     0,  2641,  2111,   655,   655,  2112,     0,   655,     0,
    5378             :     2113,  2114,  2115,     0,     0,     0,     0,     0,     0,     0,
    5379             :        0,     0,     0,     0,     0,  2642,  2305,     0,  2636,     0,
    5380             :        0,     0,     0,     0,  5059,  2615,     0,     0,  2637,     0,
    5381             :        0,     0,     0,     0,     0,  2638,   974,     0,     0,     0,
    5382             :     3853,     0,     0,  2643,     0,  3853,     0,     0,     0,     0,
    5383             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5384             :      655,  2639,     0,     0,     0,     0,   655,     0,     0,     0,
    5385             :        0,     0,     0,     0,  1053,     0,     0,     0,     0,   905,
    5386             :        0,     0,     0,     0,   655,  1090,  2372,     0,     0,  1094,
    5387             :        0,   655,     0,     0,     0,     0,  1107,  1108,     0,     0,
    5388             :     1114,  2644,  1118,  1119,  2645,   905,     0,   655,     0,     0,
    5389             :        0,     0,     0,     0,     0,     0,     0,  1141,     0,     0,
    5390             :        0,     0,     0,     0,     0,     0,   914,     0,   655,     0,
    5391             :        0,     0,     0,     0,     0,  1154,     0,     0,     0,     0,
    5392             :        0,     0,     0,     0,  5164,     0,     0,  4546,     0,     0,
    5393             :        0,     0,     0,     0,     0,     0,  1182,     0,  1184,  4035,
    5394             :      795,     0,     0,     0,     0,     0,   655,     0,  1200,     0,
    5395             :        0,   917,     0,     0,     0,     0,     0,   655,  4051,  2640,
    5396             :        0,     0,     0,     0,  2641,  4035,     0,     0,     0,     0,
    5397             :        0,   655,     0,   914,     0,     0,     0,     0,  1822,  2646,
    5398             :        0,   661,  1737,     0,     0,     0,     0,  2642,  2305,     0,
    5399             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5400             :        0,     0,     0,  5213,  5213,  5213,  5213,     0,  5213,  5213,
    5401             :     5213,  5213,  5213,     0,   914,  2643,     0,     0,   655,   655,
    5402             :        0,     0,     0,     0,     0,     0,     0,     0,   905,     0,
    5403             :        0,     0,     0,     0,     0,   655,     0,     0,     0,  1822,
    5404             :        0,     0,     0,     0,     0,     0,     0,   914,     0,     0,
    5405             :        0,     0,   655,   655,     0,     0,     0,     0,  2372,     0,
    5406             :        0,     0,   877,     0,  1822,     0,     0,     0,     0,     0,
    5407             :        0,     0,     0,  2644,     0,     0,  2645,     0,     0,     0,
    5408             :        0,     0,     0,     0,     0,     0,  2574,     0,     0,     0,
    5409             :        0,     0,     0,     0,     0,  2575,  2576,  2577,  2578,  2579,
    5410             :     2580,  2581,  2582,  2583,     0,     0,     0,     0,  5280,     0,
    5411             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  3546,
    5412             :        0,     0,     0,  2745,  3552,     0,  5292,     0,  5294,     0,
    5413             :        0,     0,     0,     0,     0,  2111,     0,     0,  2112,     0,
    5414             :        0,     0,  2113,  2114,  2115,     0,     0,  1540,     0,     0,
    5415             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5416             :     2636,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5417             :     2637,  2646,     0,     0,     0,     0,     0,  2638,   916,     0,
    5418             :        0,     0,     0,     0,   916,     0,     0,     0,     0,     0,
    5419             :        0,   905,     0,     0,     0,     0,     0,     0,     0,     0,
    5420             :        0,     0,   905,  2639,     0,     0,     0,     0,     0,     0,
    5421             :        0,     0,     0,     0,     0,     0,     0,     0,   905,     0,
    5422             :        0,  1721,     0,     0,     0,     0,     0,     0,     0,     0,
    5423             :        0,     0,   916,     0,     0,     0,     0,     0,     0,     0,
    5424             :        0,   914,     0,     0,     0,     0,  1842,     0,     0,     0,
    5425             :        0,     0,   914,     0,     0,   795,     0,     0,     0,     0,
    5426             :        0,  1854,     0,  1855,     0,     0,     0,     0,   914,     0,
    5427             :        0,     0,     0,  1858,     0,     0,     0,     0,  2574,     0,
    5428             :     1868,     0,     0,     0,   907,     0,     0,  2575,  2576,  2577,
    5429             :     2578,  2579,  2580,  2581,  2582,  2583,     0,     0,     0,     0,
    5430             :     5284,     0,     0,     0,     0,     0,     0,  4329,     0,     0,
    5431             :      907,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5432             :        0,  2640,   914,  1920,     0,  1922,  2641,     0,     0,     0,
    5433             :        0,     0,     0,     0,     0,     0,     0,   914,     0,     0,
    5434             :      914,   914,     0,     0,     0,     0,     0,     0,     0,  2642,
    5435             :     2305,     0,     0,  5432,  5433,     0,     0,     0,     0,     0,
    5436             :        0,     0,     0,     0,     0,     0,  3853,     0,  3853,  3853,
    5437             :     3853,   914,   914,     0,     0,   905,     0,  2643,     0,     0,
    5438             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5439             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   661,
    5440             :        0,   661,     0,   661,     0,   661,     0,   661,   661,   661,
    5441             :        0,     0,  1737,     0,   661,     0,     0,  4415,     0,     0,
    5442             :     2372,  -136,     0,     0,     0,     0,  2026,     0,     0,     0,
    5443             :        0,     0,     0,     0,  5486,  2644,     0,     0,  2645,     0,
    5444             :        0,     1,     0,     0,   916,     0,     0,     0,     0,     0,
    5445             :        0,     0,     2,   907,     3,     4,     0,     0,     0,     0,
    5446             :        0,     0,     0,     0,     0,  6097,     0,     0,     0,     0,
    5447             :        0,     0,     5,  5514,     0,     0,     0,     0,     0,     0,
    5448             :        0,     0,     6,     0,     0,     0,     0,     0,     0,     0,
    5449             :        0,     0,     0,     0,     7,     0,     8,     9,     0,     0,
    5450             :        0,     0,     0,    10,     0,    11,     0,     0,     0,     0,
    5451             :        0,     0,     0,   914,     0,     0,  5213,  2745,    12,     0,
    5452             :       13,  2745,     0,     0,     0,     0,     0,  2111,     0,     0,
    5453             :     2112,     0,     0,  2646,  2113,  2114,  2115,    14,     0,     0,
    5454             :       15,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5455             :     4512,     0,  2636,     0,     0,    16,     0,    17,     0,     0,
    5456             :        0,    18,  2637,     0,     0,     0,     0,     0,    19,  2638,
    5457             :        0,     0,     0,     0,     0,     0,     0,    20,     0,    21,
    5458             :        0,     0,     0,     0,     0,     0,    22,     0,     0,     0,
    5459             :        0,     0,     0,     0,     0,  2639,     0,     0,     0,     0,
    5460             :        0,     0,     0,     0,    23,     0,     0,     0,     0,     0,
    5461             :        0,     0,     0,     0,   877,     0,   907,     0,     0,     0,
    5462             :        0,    24,     0,     0,   916,     0,     0,   907,     0,     0,
    5463             :        0,     0,     0,     0,     0,     0,   905,     0,     0,   916,
    5464             :     2574,     0,     0,   907,   916,     0,     0,     0,     0,  2575,
    5465             :     2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,     0,
    5466             :        0,     0,  5561,     0,     0,     0,     0,     0,     0,     0,
    5467             :        0,     0,     0,     0,   916,    25,    26,     0,     0,     0,
    5468             :        0,    27,     0,     0,     0,     0,     0,     0,  4546,     0,
    5469             :        0,  2111,     0,     0,  2112,     0,    28,     0,  2113,  2114,
    5470             :     2115,     0,     0,   905,     0,     0,     0,     0,     0,     0,
    5471             :      908,     0,     0,  2640,     0,    29,  2636,     0,  2641,     0,
    5472             :        0,     0,     0,   910,     0,     0,  2637,     0,     0,  3007,
    5473             :        0,     0,     0,  2638,  2803,     0,     0,     0,  3853,     0,
    5474             :        0,  2642,  2305,     0,   905,     0,     0,  5717,  4684,     0,
    5475             :        0,     0,  4688,     0,     0,     0,     0,     0,     0,  2639,
    5476             :        0,     0,     0,     0,    30,     0,     0,     0,     0,  2643,
    5477             :        0,     0,     0,  2111,     0,     0,  2112,   905,     0,    31,
    5478             :     2113,  2114,  2115,     0,     0,    32,    33,     0,    34,     0,
    5479             :        0,     0,     0,    35,     0,     0,     0,     0,  2636,    36,
    5480             :      907,     0,    37,     0,     0,     0,  2902,     0,  2637,    38,
    5481             :        0,     0,  2372,     0,     0,  2638,    39,    40,     0,     0,
    5482             :        0,     0,     0,     0,    41,     0,     0,  2644,    42,     0,
    5483             :     2645,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5484             :       43,  2639,     0,     0,     0,     0,     0,     0,     0,     0,
    5485             :        0,     0,     0,     0,     0,     0,     0,    44,     0,     0,
    5486             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5487             :        0,     0,     0,     0,     0,     0,     0,  2640,    45,     0,
    5488             :        0,     0,  2641,     0,     0,     0,     0,     0,     0,     0,
    5489             :       46,     0,     0,     0,     0,     0,    47,     0,     0,     0,
    5490             :        0,    48,     0,     0,     0,  2642,  2305,     0,     0,     0,
    5491             :        0,     0,     0,     0,    49,     0,     0,     0,     0,     0,
    5492             :        0,     0,     0,     0,     0,  2646,     0,     0,     0,  2745,
    5493             :        0,     0,  3552,  2643,  3552,     0,     0,     0,    50,  2745,
    5494             :        0,     0,     0,     0,     0,     0,     0,  6433,     0,     0,
    5495             :        0,     0,     0,     0,     0,     0,     0,    56,     0,  2640,
    5496             :     -136,     0,     0,     0,  2641,     0,     0,     0,     0,     0,
    5497             :        0,   905,     0,     0,     0,     0,  2372,     0,     0,     0,
    5498             :        0,   916,   905,     0,     0,     0,     0,  2642,  2305,   916,
    5499             :        0,  2644,     0,     0,  2645,     0,     0,     0,   905,     0,
    5500             :        0,     0,     0,  1144,     0,     0,     0,  5932,  6433,     0,
    5501             :        0,     0,     0,     0,  2745,  2643,     0,     0,     0,     0,
    5502             :        0,     0,     0,     0,  3035,     0,     0,     0,     0,     0,
    5503             :        0,     0,  2574,  6433,     0,     0,     0,     0,     0,     0,
    5504             :        0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,
    5505             :        0,     0,   905,     0,  5572,     0,  4911,     0,  2372,  3071,
    5506             :        0,   907,     0,     0,     0,     0,     0,   905,     0,     0,
    5507             :      905,   905,     0,  2644,     0,     0,  2645,     0,     0,     0,
    5508             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2646,
    5509             :        0,     0,     0,     0,   916,     0,   916,     0,     0,     0,
    5510             :        0,   905,   905,     0,     0,  3136,     0,     0,     0,     0,
    5511             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5512             :        0,     0,     0,     0,     0,  3154,     0,     0,   907,     0,
    5513             :        0,     0,     0,     0,     0,     0,   914,     0,     0,     0,
    5514             :      914,   914,     0,     0,     0,     0,     0,     0,     0,     0,
    5515             :        0,  3174,     0,  3175,     0,     0,     0,     0,     0,     0,
    5516             :        0,     0,     0,     0,     0,     0,     0,     0,  3184,   907,
    5517             :     3185,  2646,     0,     0,     0,     0,   661,     0,   661,     0,
    5518             :      661,     0,   661,     0,   661,     0,     0,     0,   661,     0,
    5519             :        0,     0,     0,     0,   916,   914,  2574,     0,     0,     0,
    5520             :     5039,   914,   907,  5042,     0,  2575,  2576,  2577,  2578,  2579,
    5521             :     2580,  2581,  2582,  2583,     0,     0,     0,     0,  5582,     0,
    5522             :        0,     0,     0,  1737,     0,  3244,  1144,     0,     0,  1737,
    5523             :     6103,     0,  6104,     0,     0,     0,  6110,  6111,   916,     0,
    5524             :        0,     0,     0,   905,     0,     0,     0,     0,     0,   914,
    5525             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5526             :        0,     0,     0,     0,     0,     0,  3552,     0,     0,     0,
    5527             :        0,     0,     0,     0,     0,     0,     0,     0,  2574,     0,
    5528             :        0,     0,     0,     0,     0,     0,     0,  2575,  2576,  2577,
    5529             :     2578,  2579,  2580,  2581,  2582,  2583,     0,     0,     0,     0,
    5530             :     5644,     0,     0,     0,  5124,     0,     0,     0,     0,     0,
    5531             :        0,     0,     0,     0,     0,  2111,     0,     0,  2112,     0,
    5532             :        0,  3007,  2113,  2114,  2115,     0,     0,     0,     0,     0,
    5533             :        0,     0,     0,     0,   916,     0,     0,     0,     0,     0,
    5534             :     2636,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5535             :     2637,     0,     0,     0,     0,     0,  3552,  2638,     0,  2111,
    5536             :        0,     0,  2112,     0,     0,     0,  2113,  2114,  2115,     0,
    5537             :        0,     0,     0,     0,     0,     0,     0,     0,   916,     0,
    5538             :        0,     0,     0,  2639,  2636,     0,     0,   908,     0,     0,
    5539             :     2111,     0,     0,  2112,  2637,     0,   907,  2113,  2114,  2115,
    5540             :      910,  2638,  4035,     0,     0,     0,     0,   907,     0,     0,
    5541             :        0,     0,     0,   908,     0,  2636,     0,     0,     0,     0,
    5542             :        0,     0,     0,   907,     0,  2637,   910,  2639,     0,     0,
    5543             :        0,     0,  2638,     0,     0,     0,     0,     0,     0,     0,
    5544             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5545             :        0,     0,     0,     0,     0,     0,     0,     0,  2639,     0,
    5546             :      916,   914,     0,     0,     0,     0,     0,     0,     0,     0,
    5547             :        0,     0,     0,     0,     0,     0,     0,   907,     0,     0,
    5548             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5549             :        0,     0,   907,     0,     0,   907,   907,     0,     0,     0,
    5550             :        0,  2640,     0,     0,     0,     0,  2641,     0,     0,     0,
    5551             :        0,     0,   916,     0,     0,     0,     0,     0,     0,     0,
    5552             :        0,     0,     0,     0,     0,     0,   907,   907,     0,  2642,
    5553             :     2305,     0,     0,  1144,   914,     0,     0,   916,   914,     0,
    5554             :        0,     0,     0,     0,     0,  2640,     0,     0,     0,     0,
    5555             :     2641,     0,     0,     0,     0,     0,   908,  2643,     0,     0,
    5556             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   910,
    5557             :        0,     0,     0,  2642,  2305,     0,  2640,     0,     0,     0,
    5558             :        0,  2641,     0,     0,  2111,     0,     0,  2112,     0,     0,
    5559             :        0,  2113,  2114,  2115,     0,     0,     0,     0,     0,     0,
    5560             :     2372,  2643,     0,     0,  2642,  2305,     0,     0,     0,  2636,
    5561             :        0,     0,     0,  3497,     0,  2644,     0,     0,  2645,  2637,
    5562             :        0,     0,     0,     0,     0,     0,  2638,     0,     0,     0,
    5563             :        0,     0,  2643,     0,     0,     0,     0,     0,     0,     0,
    5564             :        0,   914,   911,     0,  2372,     0,     0,     0,     0,     0,
    5565             :        0,     0,  2639,     0,     0,     0,   914,     0,     0,  2644,
    5566             :        0,   914,  2645,     0,     0,     0,     0,     0,   907,     0,
    5567             :        0,     0,     0,     0,     0,  2372,     0,     0,     0,     0,
    5568             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5569             :     2644,   914,     0,  5397,     0,  6434,     0,     0,  2745,     0,
    5570             :        0,     0,  2599,     0,  3498,  5407,  6438,     0,     0,     0,
    5571             :        0,     0,     0,  2646,     0,     0,     0,     0,     0,   908,
    5572             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5573             :      908,     0,   910,     0,     0,     0,     0,     0,     0,     0,
    5574             :        0,     0,  6464,   910,     0,     0,   908,     0,     0,     0,
    5575             :        0,     0,     0,     0,     0,     0,  6434,  2646,     0,   910,
    5576             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5577             :     2640,     0,     0,     0,     0,  2641,     0,     0,     0,     0,
    5578             :        0,  6434,     0,     0,  5292,     0,     0,     0,  2646,     0,
    5579             :        0,     0,     0,  3552,     0,     0,     0,     0,  2642,  2305,
    5580             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5581             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5582             :     2574,  3552,     0,     0,     0,     0,  2643,     0,     0,  2575,
    5583             :     2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,     0,
    5584             :        0,     0,  5677,     0,     0,     0,     0,     0,     0,     0,
    5585             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5586             :        0,     0,     0,     0,  2574,     0,   905,     0,     0,  2372,
    5587             :      905,   905,     0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,
    5588             :     2582,  2583,     0,     0,  2644,     0,  5679,  2645,     0,     0,
    5589             :        0,     0,     0,     0,     0,  2574,     0,     0,     0,     0,
    5590             :        0,     0,     0,   908,  2575,  2576,  2577,  2578,  2579,  2580,
    5591             :     2581,  2582,  2583,     0,     0,     0,   910,  3542,  3543,     0,
    5592             :        0,     0,     0,     0,  4035,   905,     0,     0,     0,     0,
    5593             :        0,   905,     0,     0,     0,     0,  3558,  3559,     0,  3561,
    5594             :     3562,     0,     0,     0,  3565,  3566,   914,     0,     0,   914,
    5595             :        0,   914,     0,     0,     0,     0,   914,     0,     0,  3577,
    5596             :        0,     0,     0,  3580,     0,   916,     0,  3583,  3584,     0,
    5597             :        0,  3587,  3588,     0,     0,     0,     0,     0,  3593,   905,
    5598             :        0,     0,  2646,     0,     0,     0,     0,     0,     0,     0,
    5599             :     3608,     0,     0,     0,     0,     0,     0,     0,   914,     0,
    5600             :        0,     0,  3625,     0,     0,     0,   914,  3627,     0,     0,
    5601             :        0,     0,  3552,     0,     0,     0,     0,  2745,     0,     0,
    5602             :        0,     0,  3633,     0,     0,     0,  3639,     0,     0,     0,
    5603             :        0,   914,     0,     0,     0,     0,     0,     0,  3650,     0,
    5604             :        0,  3654,     0,  3656,  3659,  3661,     0,     0,  3499,     0,
    5605             :     3669,  3672,     0,     0,  4035,     0,  4035,     0,     0,     0,
    5606             :     3685,     0,     0,     0,     0,     0,  3695,     0,     0,     0,
    5607             :     3698,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5608             :        0,     0,  3708,  3709,     0,     0,     0,  3714,     0,  2574,
    5609             :        0,     0,     0,  3723,  3724,     0,     0,     0,  2575,  2576,
    5610             :     2577,  2578,  2579,  2580,  2581,  2582,  2583,  3733,     0,     0,
    5611             :     3734,   914,     0,   914,     0,     0,     0,  3746,  3747,     0,
    5612             :        0,     0,     0,  3751,     0,     0,     0,     0,     0,     0,
    5613             :        0,     0,     0,     0,     0,  3758,     0,     0,  3761,     0,
    5614             :        0,     0,     0,  3764,     0,     0,     0,     0,     0,  3767,
    5615             :     3768,     0,     0,     0,     0,     0,     0,  3776,     0,     0,
    5616             :        0,  3778,     0,     0,   908,     0,  3786,  3787,  3788,  3789,
    5617             :        0,     0,  3792,     0,     0,   916,     0,   910,     0,     0,
    5618             :        0,     0,     0,     0,     0,     0,  3818,  3819,     0,  3821,
    5619             :        0,   905,     0,     0,     0,     0,     0,     0,     0,     0,
    5620             :     3831,  3832,  3833,     0,     0,     0,     0,     0,     0,     0,
    5621             :        0,   914,     0,     0,     0,     0,     0,     0,     0,     0,
    5622             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5623             :        0,   908,     0,     0,     0,     0,     0,     0,     0,     0,
    5624             :        0,     0,     0,     0,   910,     0,     0,     0,     0,     0,
    5625             :        0,     0,     0,     0,     0,   914,     0,  3885,     0,     0,
    5626             :        0,     0,   913,     0,   905,  3909,     0,     0,   905,     0,
    5627             :        0,     0,   908,     0,     0,     0,     0,     0,     0,     0,
    5628             :        0,     0,     0,   914,  3921,   910,     0,     0,     0,     0,
    5629             :      916,   907,     0,     0,     0,   907,   907,     0,     0,     0,
    5630             :        0,     0,     0,     0,  2111,   908,     0,  2112,     0,     0,
    5631             :        0,  2113,  2114,  2115,     0,     0,     0,     0,   910,   911,
    5632             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2636,
    5633             :        0,     0,     0,     0,  3989,     0,     0,     0,     0,  2637,
    5634             :        0,     0,     0,     0,   916,   911,  2638,     0,     0,     0,
    5635             :      907,   914,     0,  4003,  2111,  4005,   907,  2112,     0,     0,
    5636             :        0,  2113,  2114,  2115,     0,     0,   916,     0,     0,     0,
    5637             :        0,   905,  2639,   914,     0,     0,     0,     0,     0,  2636,
    5638             :        0,     0,     0,     0,     0,     0,   905,     0,     0,  2637,
    5639             :        0,   905,     0,     0,     0,   914,  2638,     0,     0,     0,
    5640             :        0,     0,     0,     0,   907,     0,  2111,     0,     0,  2112,
    5641             :        0,     0,     0,  2113,  2114,  2115,     0,     0,     0,     0,
    5642             :        0,   905,  2639,     0,     0,     0,     0,     0,     0,     0,
    5643             :        0,  2636,     0,     0,     0,     0,     0,     0,     0,     0,
    5644             :      916,  2637,     0,     0,     0,     0,     0,     0,  2638,     0,
    5645             :     4067,     0,     0,     0,     0,     0,     0,     0,     0,  2111,
    5646             :        0,     0,  2112,     0,     0,     0,  2113,  2114,  2115,     0,
    5647             :        0,     0,     0,     0,  2639,     0,     0,   914,     0,     0,
    5648             :        0,     0,     0,     0,  2636,     0,     0,     0,   911,  2111,
    5649             :     2640,     0,  2112,     0,  2637,  2641,  2113,  2114,  2115,   908,
    5650             :        0,  2638,     0,     0,     0,     0,     0,     0,     0,     0,
    5651             :      908,     0,   910,     0,  2636,     0,     0,     0,  2642,  2305,
    5652             :        0,     0,     0,   910,  2637,     0,   908,  2639,     0,   914,
    5653             :        0,  2638,     0,     0,     0,     0,     0,     0,     0,   910,
    5654             :     2640,     0,     0,     0,     0,  2641,  2643,     0,     0,     0,
    5655             :        0,     0,     0,     0,   914,     0,     0,  2639,     0,  5518,
    5656             :        0,   916,     0,     0,     0,     0,     0,     0,  2642,  2305,
    5657             :        0,     0,     0,     0,     0,     0,     0,     0,   915,     0,
    5658             :      908,     0,     0,     0,     0,     0,     0,     0,     0,  2372,
    5659             :        0,     0,  2640,   910,     0,   908,  2643,  2641,   908,   908,
    5660             :        0,     0,     0,     0,  2644,     0,     0,  2645,   910,     0,
    5661             :        0,   910,   910,     0,     0,     0,   907,     0,     0,     0,
    5662             :     2642,  2305,     0,     0,     0,     0,     0,     0,     0,   908,
    5663             :      908,     0,     0,     0,     0,     0,     0,     0,     0,  2372,
    5664             :        0,     0,   910,   910,     0,  2640,     0,     0,  2643,     0,
    5665             :     2641,   911,     0,     0,  2644,     0,     0,  2645,     0,     0,
    5666             :        0,     0,   911,     0,     0,     0,     0,     0,     0,     0,
    5667             :        0,     0,     0,  2642,  2305,  2640,   905,     0,   911,   905,
    5668             :     2641,   905,     0,     0,     0,     0,   905,     0,     0,   907,
    5669             :        0,  2372,     0,   907,     0,     0,     0,     0,     0,     0,
    5670             :      916,  2643,  2646,  2642,  2305,     0,  2644,     0,     0,  2645,
    5671             :        0,     0,     0,     0,     0,   914,     0,     0,     0,     0,
    5672             :        0,     0,     0,     0,     0,     0,     0,     0,   905,     0,
    5673             :        0,  2643,     0,     0,     0,     0,   905,     0,     0,     0,
    5674             :        0,     0,     0,     0,  2372,     0,     0,     0,     0,     0,
    5675             :        0,     0,  2646,     0,     0,     0,     0,     0,     0,  2644,
    5676             :        0,   905,  2645,     0,     0,     0,     0,     0,     0,     0,
    5677             :        0,   908,     0,  3552,  2372,     0,     0,     0,     0,     0,
    5678             :     4330,     0,     0,     0,   910,  4035,     0,     0,     0,  2644,
    5679             :        0,     0,  2645,     0,     0,     0,   907,  4337,     0,     0,
    5680             :        0,  4337,     0,     0,  2646,     0,  4348,  4349,  4350,  2574,
    5681             :      914,   907,     0,     0,     0,     0,   907,     0,  2575,  2576,
    5682             :     2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,  4362,     0,
    5683             :        0,  5722,     0,     0,     0,   911,     0,     0,   914,     0,
    5684             :        0,   905,     0,   905,     0,     0,   907,     0,     0,     0,
    5685             :        0,     0,  4392,  4393,  4394,  4395,     0,  2646,     0,  2574,
    5686             :        0,     0,     0,     0,     0,     0,     0,     0,  2575,  2576,
    5687             :     2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,     0,     0,
    5688             :        0,  6080,     0,     0,     0,     0,     0,  2646,     0,     0,
    5689             :     4416,     0,  4420,  4421,  4422,     0,     0,     0,     0,  3552,
    5690             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5691             :        0,  2574,     0,     0,     0,     0,     0,     0,     0,     0,
    5692             :     2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,
    5693             :        0,     0,     0,  6091,     0,     0,     0,     0,     0,   913,
    5694             :        0,   905,     0,     0,     0,     0,     0,     0,     0,     0,
    5695             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5696             :        0,     0,     0,     0,  2574,   913,     0,     0,     0,     0,
    5697             :        0,     0,     0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,
    5698             :     2582,  2583,   914,     0,     0,   905,  6113,     0,     0,     0,
    5699             :        0,     0,     0,     0,  2574,     0,     0,     0,     0,     0,
    5700             :        0,     0,     0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,
    5701             :     2582,  2583,     0,   905,  4507,     0,  6337,     0,     0,     0,
    5702             :        0,     0,     0,  4513,     0,     0,     0,     0,     0,   914,
    5703             :        0,     0,     0,     0,   914,     0,     0,     0,     0,     0,
    5704             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  4523,
    5705             :     4524,     0,   916,     0,  4525,     0,     0,   916,   916,     0,
    5706             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5707             :        0,     0,     0,     0,     0,     0,  4567,     0,     0,     0,
    5708             :        0,   905,     0,     0,     0,     0,     0,     0,     0,     0,
    5709             :        0,     0,     0,     0,     0,     0,   911,     0,     0,     0,
    5710             :        0,   907,     0,   905,   907,     0,   907,     0,   913,     0,
    5711             :        0,   907,     0,     0,     0,     0,     0,     0,     0,     0,
    5712             :        0,     0,     0,  2111,     0,   905,  2112,     0,  4604,     0,
    5713             :     2113,  2114,  2115,  4610,     0,     0,     0,     0,     0,  4616,
    5714             :        0,     0,     0,     0,     0,     0,     0,     0,  2636,     0,
    5715             :        0,     0,     0,   907,     0,     0,     0,     0,  2637,     0,
    5716             :        0,   907,     0,   911,     0,  2638,     0,     0,     0,  4655,
    5717             :        0,     0,     0,     0,  5518,   916,     0,     0,     0,     0,
    5718             :        0,     0,     0,     0,     0,     0,   907,     0,     0,     0,
    5719             :        0,  2639,   914,     0,     0,     0,     0,     0,  4670,     0,
    5720             :     4671,     0,     0,     0,   911,     0,     0,   905,     0,     0,
    5721             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5722             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5723             :        0,     0,     0,     0,     0,     0,     0,   911,   916,     0,
    5724             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5725             :        0,     0,     0,     0,     0,   915,     0,     0,     0,   905,
    5726             :        0,     0,     0,     0,     0,     0,   907,     0,   907,     0,
    5727             :        0,   913,     0,     0,     0,     0,     0,     0,     0,     0,
    5728             :        0,   915,   913,     0,   905,     0,     0,     0,     0,     0,
    5729             :        0,     0,     0,     0,     0,     0,     0,     0,   913,     0,
    5730             :        0,     0,     0,     0,     0,     0,     0,   914,     0,  2640,
    5731             :        0,     0,     0,     0,  2641,     0,     0,     0,     0,     0,
    5732             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5733             :        0,     0,     0,     0,     0,     0,     0,  2642,  2305,     0,
    5734             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5735             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5736             :        0,   914,     0,     0,     0,  2643,   907,     0,     0,     0,
    5737             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5738             :        0,     0,     0,   914,     0,     0,     0,     0,     0,     0,
    5739             :        0,     0,     0,     0,   908,     0,     0,     0,   908,   908,
    5740             :        0,     0,     0,     0,     0,     0,     0,   910,  2372,     0,
    5741             :      907,   910,   910,     0,     0,     0,     0,     0,     0,     0,
    5742             :        0,     0,     0,  2644,   915,     0,  2645,     0,     0,     0,
    5743             :        0,   911,     0,     0,     0,     0,     0,     0,   907,     0,
    5744             :        0,     0,   911,     0,     0,   905,     0,     0,     0,     0,
    5745             :        0,     0,     0,   908,     0,   913,     0,   914,   911,   908,
    5746             :        0,     0,     0,     0,     0,     0,   910,     0,     0,     0,
    5747             :        0,     0,   910,     0,     0,     0,     0,     0,     0,     0,
    5748             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5749             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5750             :        0,     0,     0,     0,     0,     0,   907,   908,     0,     0,
    5751             :        0,     0,   911,     0,  4904,     0,  4905,     0,     0,     0,
    5752             :      910,  2646,     0,     0,     0,     0,     0,   911,   907,  4912,
    5753             :      911,   911,     0,     0,     0,     0,     0,     0,     0,     0,
    5754             :      905,  4918,     0,     0,     0,  4921,     0,     0,     0,     0,
    5755             :      907,     0,     0,     0,     0,     0,     0,  4935,     0,     0,
    5756             :        0,   911,   911,     0,     0,     0,  2111,     0,   905,  2112,
    5757             :        0,     0,     0,  2113,  2114,  2115,  4961,     0,   914,     0,
    5758             :        0,     0,     0,     0,     0,     0,     0,   915,     0,     0,
    5759             :        0,  2636,     0,     0,  4965,     0,     0,     0,   915,     0,
    5760             :        0,  2637,  4969,     0,     0,     0,     0,     0,  2638,     0,
    5761             :        0,     0,     0,     0,   915,     0,     0,     0,     0,     0,
    5762             :        0,     0,     0,     0,     0,     0,     0,  5004,  2574,     0,
    5763             :        0,  5008,   907,     0,  2639,     0,     0,  2575,  2576,  2577,
    5764             :     2578,  2579,  2580,  2581,  2582,  2583,  5018,  5019,  5020,  5021,
    5765             :     6354,     0,     0,     0,     0,     0,  5025,  5026,  5027,  5028,
    5766             :        0,     0,     0,     0,     0,     0,  5031,  5032,     0,     0,
    5767             :        0,     0,     0,  5040,  5041,     0,  5043,  5044,  5045,  5046,
    5768             :     5047,  5048,  5049,     0,   907,     0,     0,     0,     0,     0,
    5769             :        0,     0,  5058,     0,     0,     0,  5061,  5062,  5063,  5064,
    5770             :        0,     0,     0,   911,     0,     0,     0,     0,     0,   907,
    5771             :        0,     0,   905,     0,     0,     0,   913,   914,     0,   908,
    5772             :     4337,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5773             :        0,     0,   910,     0,     0,     0,     0,     0,  5084,     0,
    5774             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5775             :        0,     0,  2640,   916,     0,     0,     0,  2641,     0,   905,
    5776             :        0,     0,     0,     0,   905,     0,     0,     0,     0,     0,
    5777             :        0,   915,     0,     0,     0,     0,     0,     0,     0,     0,
    5778             :     2642,  2305,     0,   913,     0,     0,     0,     0,     0,     0,
    5779             :      914,     0,   908,     0,     0,     0,   908,     0,     0,     0,
    5780             :        0,     0,     0,     0,     0,   910,     0,     0,  2643,   910,
    5781             :        0,     0,     0,     0,  5165,     0,     0,     0,     0,     0,
    5782             :     1737,     0,     0,     0,   913,     0,     0,     0,     0,     0,
    5783             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5784             :        0,     0,     0,     0,     0,     0,     0,  4337,     0,     0,
    5785             :        0,  2372,     0,     0,  5190,     0,  5191,   913,     0,     0,
    5786             :        0,     0,     0,     0,     0,     0,  2644,     0,     0,  2645,
    5787             :      907,     0,     0,     0,     0,     0,     0,   722,     0,     0,
    5788             :        0,     0,  3253,     0,  5206,     0,     0,     0,     0,     0,
    5789             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   908,
    5790             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5791             :        0,     0,   910,     0,   908,     0,   914,     0,     0,   908,
    5792             :        0,     0,   905,     0,     0,     0,     0,   910,     0,     0,
    5793             :        0,     0,   910,   725,  3254,     0,     0,     0,  2111,     0,
    5794             :        0,  2112,     0,     0,     0,  2113,  2114,  2115,     0,   908,
    5795             :      726,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5796             :        0,     0,   910,  2636,  2646,   907,     0,     0,  1059,     0,
    5797             :        0,     0,     0,  2637,     0,     0,     0,     0,     0,     0,
    5798             :     2638,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5799             :        0,     0,  3255,   907,     0,     0,     0,     0,     0,     0,
    5800             :        0,     0,     0,     0,     0,   729,  2639,     0,     0,     0,
    5801             :        0,     0,     0,     0,   730,     0,     0,     0,     0,     0,
    5802             :        0,     0,     0,     0,     0,     0,     0,   731,     0,     0,
    5803             :        0,     0,   915,  3256,     0,     0,     0,   905,     0,     0,
    5804             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5805             :        0,   913,     0,     0,     0,     0,     0,     0,     0,     0,
    5806             :     1062,     0,   913,     0,     0,     0,     0,     0,     0,   914,
    5807             :        0,  2574,     0,     0,   914,   914,     0,     0,   913,     0,
    5808             :     2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,
    5809             :        0,   905,     0,  6413,     0,  5349,  5350,  5351,  3257,   915,
    5810             :        0,  5352,  5353,  5354,  5355,     0,     0,     0,  5357,     0,
    5811             :        0,     0,     0,   905,     0,     0,     0,     0,     0,     0,
    5812             :      735,     0,     0,     0,  2640,     0,     0,     0,     0,  2641,
    5813             :        0,     0,   913,     0,     0,     0,     0,   907,     0,     0,
    5814             :      915,     0,     0,     0,     0,     0,     0,   913,     0,     0,
    5815             :      913,   913,  2642,  2305,     0,     0,     0,     0,     0,     0,
    5816             :     5392,  5393,  5394,  5395,  5396,     0,  5398,  5399,     0,     0,
    5817             :        0,     0,     0,   915,     0,     0,     0,     0,  5408,  5409,
    5818             :     2643,   913,   913,     0,   907,     0,     0,   905,     0,   907,
    5819             :        0,     0,   914,     0,     0,     0,     0,     0,     0,     0,
    5820             :        0,     0,   213,  3258,   908,     0,   740,   908,     0,   908,
    5821             :        0,     0,  5415,     0,   908,     0,     0,   910,     0,     0,
    5822             :      910,     0,   910,  2372,     0,     0,     0,   910,     0,     0,
    5823             :        0,     0,     0,     0,  1066,     0,     0,  3259,  2644,     0,
    5824             :        0,  2645,     0,     0,   744,     0,     0,     0,     0,     0,
    5825             :        0,   745,     0,     0,   746,   914,   908,     0,     0,     0,
    5826             :        0,     0,     0,     0,   908,     0,     0,     0,     0,   910,
    5827             :     4784,     0,     0,     0,     0,   747,     0,   910,     0,     0,
    5828             :        0,     0,     0,  1068,     0,     0,     0,     0,     0,   908,
    5829             :      749,     0,     0,  1069,     0,     0,     0,     0,   751,     0,
    5830             :        0,     0,   910,     0,     0,     0,     0,     0,   905,     0,
    5831             :        0,     0,     0,  3260,     0,     0,  5484,     0,     0,     0,
    5832             :        0,     0,     0,   913,     0,     0,   911,     0,     0,     0,
    5833             :      911,   911,     0,     0,     0,     0,  2646,     0,     0,     0,
    5834             :      756,     0,     0,     0,     0,     0,     0,   907,     0,     0,
    5835             :        0,     0,     0,     0,     0,     0,  4785,     0,     0,     0,
    5836             :        0,     0,     0,     0,     0,     0,     0,   915,     0,   908,
    5837             :        0,   908,     0,     0,     0,     0,     0,     0,   915,     0,
    5838             :        0,  5535,   910,     0,   910,   911,     0,     0,     0,     0,
    5839             :        0,   911,     0,     0,   915,     0,  2111,     0,     0,  2112,
    5840             :        0,     0,     0,  2113,  2114,  2115,     0,     0,     0,     0,
    5841             :        0,     0,     0,  5541,     0,     0,     0,     0,     0,     0,
    5842             :        0,  2636,     0,     0,     0,     0,     0,     0,     0,     0,
    5843             :        0,  2637,     0,     0,     0,     0,     0,     0,  2638,   911,
    5844             :        0,     0,  2111,  2574,     0,  2112,     0,   905,   915,  2113,
    5845             :     2114,  2115,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,
    5846             :     2583,     0,   907,   915,  2639,     0,   915,   915,     0,   908,
    5847             :        0,     0,     0,     0,     0,     0,     0,  2637,     0,     0,
    5848             :        0,     0,   910,     0,  2638,     0,     0,     0,     0,     0,
    5849             :        0,     0,     0,     0,     0,     0,     0,   915,   915,     0,
    5850             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5851             :     2639,   661,     0,   908,     0,     0,   907,     0,     0,     0,
    5852             :      905,     0,     0,     0,     0,     0,   910,     0,     0,     0,
    5853             :        0,     0,     0,     0,     0,     0,     0,     0,   907,     0,
    5854             :        0,   908,     0,     0,     0,     0,     0,     0,     0,     0,
    5855             :        0,     0,     0,     0,   910,     0,     0,  4148,     0,     0,
    5856             :        0,     0,     0,  4149,     0,     0,     0,     0,     0,     0,
    5857             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  5666,
    5858             :        0,     0,  2640,     0,     0,     0,     0,  2641,     0,     0,
    5859             :        0,     0,     0,     0,     0,     0,     0,     0,  5676,     0,
    5860             :        0,     0,     0,     0,  5682,  5683,     0,     0,     0,   908,
    5861             :     2642,  2305,   907,     0,     0,     0,     0,     0,  5698,     0,
    5862             :        0,     0,   910,     0,     0,  5700,     0,     0,  2640,     0,
    5863             :        0,   908,     0,  2641,     0,     0,     0,     0,  2643,   915,
    5864             :        0,     0,     0,     0,   910,     0,   905,     0,     0,     0,
    5865             :        0,   911,     0,   908,     0,     0, -3001, -3001,     0,     0,
    5866             :        0,     0,  5753,  5754,     0,     0,   910,     0,     0,     0,
    5867             :        0,     0,     0,     0,     0,  5762,     0,  5764,     0,     0,
    5868             :        0,  2372,     0,     0,  2643,     0,     0,     0,     0,     0,
    5869             :        0,     0,  5778,     0,     0,     0,  2644,     0,     0,  2645,
    5870             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5871             :        0,     0,     0,     0,     0,     0,     0,  4337,     0,     0,
    5872             :        0,     0,     0,     0,   911,  5812,     0, -3001,   911,     0,
    5873             :        0,     0,     0,   907,     0,   908,     0,     0,     0,     0,
    5874             :        0,     0,  2644,     0,     0,     0,     0,     0,   910,   966,
    5875             :      976,     0,     0,     0,     0,     0,     0,   966,     0,   976,
    5876             :      966,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5877             :      914,     0,     0,   976,     0,     0,     0,     0,     0,     0,
    5878             :        0,     0,     0,     0,     0,     0,     0,   908,     0,     0,
    5879             :        0,     0,     0,     0,  4150,     0,     0,     0,     0,   905,
    5880             :      910,     0,     0,     0,   905,   905,     0,     0,     0,     0,
    5881             :        0,     0,   908,     0,     0,  5868,     0,     0,     0,     0,
    5882             :        0,     0,     0,     0,     0,   910,     0,     0,     0,  5883,
    5883             :        0,   911,     0,     0,     0,     0,     0,     0,     0,     0,
    5884             :     2646,     0,     0,     0,     0,     0,   911,     0,     0,     0,
    5885             :        0,   911,     0,     0,     0,  5901,     0,     0,     0,     0,
    5886             :        0,     0,  2111,     0,     0,  2112,     0,     0,     0,  2113,
    5887             :     2114,  2115,   907,     0,     0,     0,     0,     0,     0,     0,
    5888             :        0,   911,     0,     0,     0,     0,     0,  2636,     0,     0,
    5889             :        0,     0,     0,     0,     0,     0,     0,  2637,     0,     0,
    5890             :        0,  2574,     0,     0,  2638,     0,     0,     0,     0,     0,
    5891             :     2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,
    5892             :        0,     0,   905,     0,     0,     0,     0,  5962,     0,     0,
    5893             :     2639,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5894             :        0,     0,     0,     0,     0,   907,   913,  2574,     0,     0,
    5895             :      913,   913,     0,     0,     0,     0,  2575,  2576,  2577,  2578,
    5896             :     2579,  2580,  2581,  2582,  2583,     0,     0,     0,     0,     0,
    5897             :        0,     0,     0,   908,     0,     0,     0,     0,     0,     0,
    5898             :        0,     0,     0,     0,     0,   905,   910,     0,     0,     0,
    5899             :        0,     0,     0,     0,     0,     0,     0,  4337,     0,     0,
    5900             :        0,     0,     0,     0,     0,   913,     0,     0,     0,     0,
    5901             :        0,   913,     0,     0,     0,     0,     0,     0,     0,     0,
    5902             :        0,     0,  6178,     0,     0,     0,     0,     0,     0,     0,
    5903             :        0,  6042,  2111,     0,     0,  2112,     0,     0,     0,  2113,
    5904             :     2114,  2115,     0,     0,     0,     0,     0,     0,  2640,     0,
    5905             :        0,     0,     0,  2641,     0,     0,     0,  2636,     0,   913,
    5906             :     4076,     0,     0,     0,     0,     0,     0,  2637,   908,     0,
    5907             :        0,   907,  6070,     0,  2638,     0,  2642,  2305,     0,     0,
    5908             :        0,   910,     0,     0,     0,     0,     0,     0,     0,     0,
    5909             :        0,     0,     0,     0,     0,     0,   908,  6092,     0,     0,
    5910             :     2639,     0,     0,     0,  2643,     0,     0,     0,  2111,   910,
    5911             :        0,  2112,     0,     0,     0,  2113,  2114,  2115,     0,     0,
    5912             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5913             :        0,     0,     0,  2636,     0,     0,   911,     0,     0,   911,
    5914             :        0,   911,     0,  2637,     0,     0,   911,  2372,     0,     0,
    5915             :     2638,     0,     0,     0,     0,     0,     0,     0,  6131,     0,
    5916             :        0,     0,  2644,     0,     0,  2645,     0,     0,     0,     0,
    5917             :        0,     0,     0,     0,     0,     0,  2639,     0,     0,     0,
    5918             :        0,     0,     0,     0,     0,     0,     0,     0,   911,     0,
    5919             :        0,     0,  6179,     0,     0,     0,   911,     0,     0,     0,
    5920             :        0,     0,     0,     0,     0,     0,     0,     0,   976,     0,
    5921             :        0,     0,     0,     0,     0,     0,     0,     0,  2640,     0,
    5922             :        0,   911,     0,  2641,   907,     0,     0,   976,     0,   907,
    5923             :      907,     0,     0,   976,     0,     0,     0,     0,     0,     0,
    5924             :      908,     0,     0,     0,     0,   976,  2642,  2305,     0,     0,
    5925             :        0,     0,     0,   910,     0,     0,     0,     0,     0,     0,
    5926             :     2646,   976,   915,     0,     0,     0,   915,   915,     0,     0,
    5927             :     6226,   913,     0,     0,  2643,   966,   976,     0,     0,     0,
    5928             :        0,     0,   966,     0,   976,   966,     0,   908,     0,     0,
    5929             :        0,     0,   908,     0,  2640,     0,     0,     0,   976,  2641,
    5930             :      910,   911,  6239,   911,     0,   910,     0,     0,   976,     0,
    5931             :        0,     0,     0,  6249,     0,     0,     0,  2372,     0,     0,
    5932             :        0,   915,  2642,  2305,     0,     0,     0,   915,     0,     0,
    5933             :        0,     0,  2644,     0,     0,  2645,     0,     0,     0,     0,
    5934             :        0,     0,     0,     0,   913,     0,     0,   907,   913,     0,
    5935             :     2643,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5936             :        0,   976,     0,     0,     0,     0,     0,  2574,     0,     0,
    5937             :        0,     0,     0,     0,     0,   915,  2575,  2576,  2577,  2578,
    5938             :     2579,  2580,  2581,  2582,  2583,     0,     0,     0,     0,   976,
    5939             :        0,     0,     0,  2372,     0,     0,     0,     0,     0,     0,
    5940             :        0,   911,     0,     0,     0,     0,     0,     0,  2644,     0,
    5941             :      907,  2645,     0,     0,   976,     0,     0,     0,     0,     0,
    5942             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5943             :     2646,     0,     0,     0,     0,     0,  6331,     0,     0,     0,
    5944             :        0,     0,     0,     0,     0,   911,     0,     0,     0,     0,
    5945             :      908,   913,     0,     0,     0,     0,     0,     0,     0,     0,
    5946             :        0,     0,     0,   910,     0,     0,   913,     0,     0,     0,
    5947             :        0,   913,     0,   911,     0,     0,   976,     0,     0,     0,
    5948             :        0,     0,     0,     0,   953,   955,     0,     0,   958,     0,
    5949             :        0,     0,     0,     0,     0,     0,  2111,     0,     0,  2112,
    5950             :      905,   913,     0,  2113,  2114,  2115,  2646,     0,  1016,     0,
    5951             :        0,     0,     0,     0,     0,  1026,     0,     0,     0,     0,
    5952             :        0,  2636,     0,     0,     0,     0,     0,     0,     0,     0,
    5953             :        0,  2637,     0,     0,     0,     0,     0,  2574,  2638,     0,
    5954             :        0,   911,     0,     0,     0,     0,  2575,  2576,  2577,  2578,
    5955             :     2579,  2580,  2581,  2582,  2583,     0,     0,     0,     0,     0,
    5956             :        0,     0,     0,   911,  2639,   908,     0,     0,     0,     0,
    5957             :        0,     0,     0,     0,     0,     0,     0,     0,   910,     0,
    5958             :        0,     0,     0,     0,     0,   911,  1824,   915,     0,     0,
    5959             :        0,     0,     0,   976,     0,     0,     0,     0,     0,     0,
    5960             :        0,     0,     0,     0,   966,     0,     0,     0,   966,     0,
    5961             :      966,     0,  4085,  2574,     0,     0,     0,     0,     0,   908,
    5962             :        0,     0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,
    5963             :     2583,     0,   910,     0,     0,     0,     0,     0,     0,     0,
    5964             :        0,   908,     0,     0,     0,     0,     0,     0,  6475,     0,
    5965             :        0,     0,     0,     0,   910,     0,     0,     0,     0,     0,
    5966             :      915,     0,     0,     0,   915,     0,     0,   911,     0,     0,
    5967             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5968             :        0,     0,  2640,     0,     0,     0,     0,  2641,     0,     0,
    5969             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5970             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5971             :     2642,  2305,     0,     0,     0,   908,     0,   976,     0,   911,
    5972             :        0,     0,     0,     0,     0,     0,     0,     0,   910,     0,
    5973             :        0,     0,     0,     0,     0,     0,     0,     0,  2643,     0,
    5974             :        0,     0,     0,     0,   911,     0,     0,     0,     0,     0,
    5975             :        0,     0,     0,     0,     0,     0,   913,     0,     0,   913,
    5976             :        0,   913,     0,     0,     0,     0,   913,   915,     0,     0,
    5977             :        0,     0,     0,     0,     0,     0,     0,     0,   976,     0,
    5978             :        0,  2372,   915,     0,     0,     0,     0,   915,     0,   976,
    5979             :        0,     0,     0,     0,     0,     0,  2644,     0,     0,  2645,
    5980             :        0,     0,     0,     0,     0,     0,   976,     0,   913,     0,
    5981             :        0,   976,     0,     0,     0,     0,   913,   915,     0,     0,
    5982             :        0,  4121,     0,     0,     0,     0,     0,     0,     0,     0,
    5983             :        0,     0,     0,     0,     0,     0,   908,     0,     0,     0,
    5984             :        0,   913,     0,     0,     0,     0,     0,     0,     0,   910,
    5985             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5986             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5987             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5988             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5989             :        0,     0,     0,     0,  2646,     0,     0,     0,     0,     0,
    5990             :        0,     0,     0,  2111,     0,   911,  2112,     0,     0,     0,
    5991             :     2113,  2114,  2115,     0,     0,     0,     0,     0,     0,     0,
    5992             :        0,   913,     0,   913,     0,   907,     0,     0,  2636,     0,
    5993             :        0,  4153,     0,     0,     0,     0,     0,     0,  2637,     0,
    5994             :        0,     0,     0,     0,   976,  2638,     0,     0,     0,     0,
    5995             :        0,     0,   976,   976,     0,     0,     0,     0,     0,     0,
    5996             :     1086,     0,  1089,     0,     0,  1091,     0,     0,     0,     0,
    5997             :        0,  2639,     0,     0,     0,   908,     0,     0,     0,  1117,
    5998             :        0,     0,     0,     0,     0,  1121,     0,     0,   910,     0,
    5999             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6000             :      911,  2574,     0,     0,     0,  1824,     0,     0,     0,     0,
    6001             :     2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,
    6002             :        0,   913,     0,     0,     0,     0,     0,     0,   911,     0,
    6003             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6004             :        0,     0,     0,     0,     0,     0,     0,     0,   908,     0,
    6005             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6006             :        0,   910,     0,     0,     0,   913,     0,     0,     0,     0,
    6007             :        0,     0,   915,     0,     0,   915,     0,   915,     0,     0,
    6008             :        0,     0,   915,     0,     0,     0,     0,     0,     0,  2640,
    6009             :        0,     0,     0,   913,  2641,     0,     0,     0,     0,     0,
    6010             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6011             :        0,     0,     0,     0,     0,     0,     0,  2642,  2305,     0,
    6012             :        0,     0,     0,     0,   915,     0,     0,     0,     0,     0,
    6013             :        0,     0,   915,     0,     0,     0,     0,     0,     0,     0,
    6014             :        0,     0,     0,     0,     0,  2643,     0,     0,     0,     0,
    6015             :        0,     0,     0,     0,     0,     0,     0,   915,     0,     0,
    6016             :        0,   913,     0,     0,     0,     0,     0,     0,     0,     0,
    6017             :        0,     0,   911,     0,   908,     0,     0,     0,     0,     0,
    6018             :        0,     0,     0,   913,     0,     0,     0,   910,  2372,     0,
    6019             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6020             :        0,     0,     0,  2644,     0,   913,  2645,     0,     0,     0,
    6021             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   911,
    6022             :        0,     0,     0,     0,   911,     0,     0,     0,     0,     0,
    6023             :        0,     0,     0,     0,     0,     0,     0,   915,     0,   915,
    6024             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6025             :        0,     0,     0,     0,     0,     0,   976,     0,     0,     0,
    6026             :     2111,     0,     0,  2112,     0,     0,     0,  2113,  2114,  2115,
    6027             :        0,     0,  1611,  1612,     0,     0,     0,     0,     0,     0,
    6028             :        0,  2111,     0,     0,  2112,  2636,     0,   913,  2113,  2114,
    6029             :     2115,     0,     0,     0,     0,  2637,     0,     0,     0,     0,
    6030             :        0,  2646,  2638,     0,     0,     0,  2636,     0,     0,  4165,
    6031             :        0,   975,     0,     0,     0,     0,  2637,     0,     0,     0,
    6032             :      975,     0,     0,  2638,     0,     0,     0,   908,  2639,     0,
    6033             :        0,     0,   908,   908,   975,     0,     0,   915,     0,   913,
    6034             :      910,     0,     0,  1841,     0,   910,   910,     0,     0,  2639,
    6035             :        0,     0,     0,     0,     0,     0,     0,     0,  1853,     0,
    6036             :        0,     0,     0,     0,   913,     0,     0,     0,     0,     0,
    6037             :        0,   976,     0,     0,     0,     0,     0,     0,     0,     0,
    6038             :        0,   915,   911,     0,     0,     0,     0,     0,     0,  1875,
    6039             :     1876,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6040             :        0,     0,     0,     0,     0,     0,  1824,     0,  2574,   915,
    6041             :        0,     0,     0,     0,     0,  1913,     0,  2575,  2576,  2577,
    6042             :     2578,  2579,  2580,  2581,  2582,  2583,     0,  4158,     0,   976,
    6043             :        0,     0,     0,     0,     0,     0,     0,   976,     0,     0,
    6044             :        0,     0,     0,     0,     0,   976,  2640,     0,     0,     0,
    6045             :      908,  2641,     0,     0,     0,  1951,  1953,     0,     0,     0,
    6046             :        0,     0,     0,   910,     0,     0,     0,  2640,     0,     0,
    6047             :        0,     0,  2641,     0,  2642,  2305,     0,   915,     0,     0,
    6048             :        0,     0,     0,     0,     0,     0,   966,   966,     0,   976,
    6049             :      976,     0,     0,     0,     0,  2642,  2305,   911,     0,   915,
    6050             :        0,   966,  2643,   976,   966,     0,     0,     0,     0,     0,
    6051             :        0,     0,     0,   908,     0,     0,   976,   976,     0,     0,
    6052             :        0,   915,     0,  2643,     0,   913,   910,     0,     0,     0,
    6053             :     2111,     0,     0,  2112,     0,     0,     0,  2113,  2114,  2115,
    6054             :        0,     0,     0,     0,     0,  2372,     0,     0,     0,     0,
    6055             :        0,   911,     0,     0,   966,  2636,     0,     0,   966,   966,
    6056             :     2644,     0,     0,  2645,     0,  2637,  2372,     0,     0,     0,
    6057             :        0,     0,  2638,   911,     0,     0,     0,     0,     0,     0,
    6058             :        0,  2644,     0,     0,  2645,     0,     0,     0,     0,     0,
    6059             :        0,     0,     0,     0,     0,     0,     0,     0,  2639,     0,
    6060             :        0,     0,     0,   915,     0,     0,     0,     0,     0,     0,
    6061             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6062             :      913,  2111,     0,     0,  2112,     0,     0,     0,  2113,  2114,
    6063             :     2115,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6064             :        0,     0,     0,     0,     0,     0,  2636,   911,   913,  4791,
    6065             :        0,     0,     0,     0,     0,   915,  2637,     0,  2646,     0,
    6066             :        0,     0,     0,  2638,     0,     0,     0,     0,     0,     0,
    6067             :        0,     0,     0,     0,     0,     0,  1824,     0,     0,  2646,
    6068             :      915,     0,     0,     0,     0,     0,     0,     0,     0,  2639,
    6069             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6070             :        0,     0,     0,     0,     0,  2111,     0,     0,  2112,     0,
    6071             :        0,     0,  2113,  2114,  2115,     0,  2640,     0,     0,     0,
    6072             :        0,  2641,     0,     0,     0,     0,     0,     0,     0,     0,
    6073             :     2636,     0,     0,     0,     0,     0,     0,     0,     0,   979,
    6074             :     2637,     0,     0,     0,  2642,  2305,     0,  2638,     0,     0,
    6075             :        0,  1013,     0,     0,     0,     0,     0,     0,     0,     0,
    6076             :        0,     0,  1032,     0,     0,  2574,     0,     0,   911,   975,
    6077             :        0,     0,  2643,  2639,  2575,  2576,  2577,  2578,  2579,  2580,
    6078             :     2581,  2582,  2583,     0,     0,     0,  2574,     0,   975,     0,
    6079             :        0,     0,   913,     0,   975,  2575,  2576,  2577,  2578,  2579,
    6080             :     2580,  2581,  2582,  2583,     0,     0,   975,  2640,     0,     0,
    6081             :        0,     0,  2641,     0,     0,  2372,     0,     0,     0,     0,
    6082             :        0,     0,   975,     0,     0,     0,     0,     0,     0,     0,
    6083             :     2644,     0,     0,  2645,     0,  2642,  2305,   975,     0,   913,
    6084             :        0,   915,     0,     0,   913,   975,     0,     0,     0,     0,
    6085             :        0,  2823,     0,     0,     0,     0,     0,     0,     0,   975,
    6086             :        0,     0,     0,  2643,     0,     0,     0,     0,     0,   975,
    6087             :        0,     0,     0,     0,     0,     0,  2869,     0,     0,     0,
    6088             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6089             :        0,  2640,     0,     0,     0,     0,  2641,     0,     0,     0,
    6090             :        0,     0,     0,     0,     0,     0,  2372,   911,     0,     0,
    6091             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2642,
    6092             :     2305,  2644,   975,     0,  2645,     0,     0,     0,  2646,     0,
    6093             :        0,     0,     0,     0,     0,     0,   915,     0,     0,     0,
    6094             :        0,     0,     0,     0,     0,     0,     0,  2643,     0,     0,
    6095             :      975,     0,     0,  2959,     0,     0,     0,     0,     0,     0,
    6096             :        0,     0,     0,     0,   915,  4715,     0,     0,     0,     0,
    6097             :        0,     0,     0,     0,     0,   975,     0,     0,     0,     0,
    6098             :      911,     0,     0,     0,     0,  2987,  2988,  2989,  2990,     0,
    6099             :     2372,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6100             :        0,     0,   913,     0,     0,  2644,     0,     0,  2645,     0,
    6101             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2646,
    6102             :        0,     0,     0,     0,     0,     0,  5234,     0,   908,     0,
    6103             :        0,     0,     0,     0,     0,  2574,     0,   975,     0,     0,
    6104             :        0,   910,     0,     0,  2575,  2576,  2577,  2578,  2579,  2580,
    6105             :     2581,  2582,  2583,     0,     0,     0,     0,     0,     0,     0,
    6106             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6107             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6108             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6109             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6110             :        0,     0,     0,  2646,     0,     0,   911,     0,   915,     0,
    6111             :        0,     0,     0,     0,     0,     0,     0,   913,     0,     0,
    6112             :        0,  2111,     0,     0,  2112,     0,  2574,     0,  2113,  2114,
    6113             :     2115,     0,  3044,  3045,     0,  2575,  2576,  2577,  2578,  2579,
    6114             :     2580,  2581,  2582,  2583,     0,     0,  2636,  1823,  3062,     0,
    6115             :        0,     0,     0,     0,   975,   915,  2637,     0,     0,     0,
    6116             :      915,     0,     0,  2638,     0,     0,  2111,     0,     0,  2112,
    6117             :        0,   913,     0,  2113,  2114,  2115,     0,     0,     0,     0,
    6118             :        0,     0,  3105,  3106,  3107,  3108,     0,     0,     0,  2639,
    6119             :        0,  2636,     0,   913,     0,     0,     0,  1052,     0,     0,
    6120             :        0,  2637,     0,  1084,     0,     0,     0,     0,  2638,     0,
    6121             :     2574,     0,     0,     0,     0,     0,  1824,     0,     0,  2575,
    6122             :     2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,     0,
    6123             :        0,     0,     0,     0,  2639,     0,     0,     0,     0,     0,
    6124             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6125             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   911,
    6126             :        0,     0,     0,  3182,   911,   911,     0,   913,     0,  3186,
    6127             :        0,   976,     0,     0,     0,     0,     0,     0,   975,     0,
    6128             :        0,     0,     0,     0,     0,     0,     0,     0,  5244,   976,
    6129             :        0,     0,  2111,   976,     0,  2112,     0,   976,     0,  2113,
    6130             :     2114,  2115,     0,     0,     0,     0,   976,  2640,     0,     0,
    6131             :        0,     0,  2641,     0,     0,     0,     0,  2636,   915,     0,
    6132             :        0,   976,     0,     0,     0,     0,     0,  2637,     0,     0,
    6133             :        0,     0,     0,  5250,  2638,  2642,  2305,     0,   966,   975,
    6134             :      966,   966,     0,     0,     0,     0,     0,     0,     0,     0,
    6135             :      975,     0,  2640,     0,     0,   976,     0,  2641,     0,     0,
    6136             :     2639,     0,     0,  2643,     0,     0,     0,   975,     0,     0,
    6137             :        0,     0,   975,     0,  1393,   976,   976,     0,     0,     0,
    6138             :     2642,  2305,   911,     0,     0,     0,     0,     0,   913,     0,
    6139             :        0,     0,     0,  1416,     0,     0,     0,     0,     0,     0,
    6140             :        0,     0,     0,     0,     0,     0,  2372,     0,  2643,     0,
    6141             :        0,     0,     0,  1824,   976,     0,     0,  1824,     0,     0,
    6142             :        0,  2644,     0,     0,  2645,     0,     0,     0,     0,     0,
    6143             :        0,     0,     0,   915,     0,     0,     0,     0,     0,     0,
    6144             :        0,   976,     0,  1824,     0,   911,     0,   976,     0,     0,
    6145             :        0,  2372,     0,  5251,     0,     0,     0,  3370,     0,     0,
    6146             :        0,   976,     0,     0,     0,  1474,  2644,     0,   976,  2645,
    6147             :        0,   976,     0,     0,     0,     0,     0,   976,  2640,     0,
    6148             :        0,     0,     0,  2641,     0,     0,     0,   915,     0,     0,
    6149             :        0,     0,     0,     0,     0,     0,     0,   976,     0,     0,
    6150             :        0,     0,     0,   976,     0,   975,  2642,  2305,     0,   915,
    6151             :      976,     0,  1610,   975,   975,     0,     0,     0,     0,  2646,
    6152             :        0,     0,     0,     0,     0,     0,   976,   913,     0,     0,
    6153             :        0,     0,     0,     0,  2643,     0,     0,     0,     0,     0,
    6154             :      976,     0,     0,     0,     0,  1824,     0,     0,     0,     0,
    6155             :        0,   976,     0,     0,     0,     0,     0,     0,     0,     0,
    6156             :        0,     0,     0,     0,  2646,     0,  1823,     0,     0,     0,
    6157             :        0,     0,     0,     0,     0,     0,     0,  2372,     0,     0,
    6158             :        0,     0,     0,   915,     0,     0,     0,     0,     0,     0,
    6159             :        0,     0,  2644,     0,     0,  2645,     0,     0,     0,     0,
    6160             :      913,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6161             :        0,  1824,     0,     0,     0,     0,     0,     0,     0,     0,
    6162             :        0,     0,     0,     0,     0,     0,  2574,  1873,     0,     0,
    6163             :        0,     0,     0,     0,     0,  2575,  2576,  2577,  2578,  2579,
    6164             :     2580,  2581,  2582,  2583,     0,     0,     0,     0,     0,     0,
    6165             :        0,     0,     0,     0,     0,     0,  1907,  1910,  1911,     0,
    6166             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6167             :        0,  2574,     0,     0,     0,     0,     0,     0,     0,     0,
    6168             :     2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,
    6169             :     2646,     0,  2111,     0,     0,  2112,     0,     0,     0,  2113,
    6170             :     2114,  2115,     0,     0,   915,     0,     0,     0,     0,     0,
    6171             :        0,     0,     0,     0,     0,     0,     0,  2636,     0,     0,
    6172             :        0,     0,     0,     0,     0,     0,   913,  2637,     0,     0,
    6173             :        0,     0,     0,     0,  2638,     0,     0,  2111,     0,     0,
    6174             :     2112,     0,     0,     0,  2113,  2114,  2115,     0,     0,     0,
    6175             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6176             :     2639,     0,  2636,     0,     0,  1393,   976,     0,  1824,     0,
    6177             :        0,     0,  2637,     0,     0,     0,     0,     0,     0,  2638,
    6178             :        0,     0,     0,     0,     0,   976,     0,     0,     0,     0,
    6179             :        0,     0,   976,  1393,     0,     0,     0,  2574,     0,   966,
    6180             :        0,   966,   966,     0,     0,  2639,  2575,  2576,  2577,  2578,
    6181             :     2579,  2580,  2581,  2582,  2583,     0,     0,   975,     0,     0,
    6182             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6183             :        0,     0,  5252,     0,     0,     0,     0,     0,     0,     0,
    6184             :        0,     0,     0,   915,     0,     0,     0,     0,     0,     0,
    6185             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6186             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6187             :        0,     0,     0,     0,     0,     0,     0,     0,  2640,   913,
    6188             :        0,     0,     0,  2641,   913,   913,     0,     0,     0,  1824,
    6189             :        0,     0,     0,     0,     0,  1824,     0,     0,     0,     0,
    6190             :        0,     0,     0,     0,     0,     0,  2642,  2305,     0,     0,
    6191             :        0,     0,     0,     0,     0,     0,   915,     0,     0,     0,
    6192             :        0,     0,     0,  2640,     0,  3370,     0,     0,  2641,     0,
    6193             :        0,     0,   975,     0,  2643,     0,     0,     0,     0,     0,
    6194             :        0,     0,     0,     0,     0,     0,  2630,     0,     0,     0,
    6195             :        0,  2642,  2305,     0,     0,     0,     0,     0,     0,     0,
    6196             :      911,     0,     0,     0,     0,     0,     0,  1823,     0,     0,
    6197             :        0,     0,     0,     0,     0,  2111,     0,  2372,  2112,  2643,
    6198             :      976,     0,  2113,  2114,  2115,     0,     0,     0,     0,     0,
    6199             :      975,     0,  2644,     0,     0,  2645,     0,     0,   975,     0,
    6200             :     2636,     0,   913,     0,     0,     0,   975,     0,     0,     0,
    6201             :     2637,     0,     0,     0,     0,     0,     0,  2638,     0,     0,
    6202             :        0,     0,  2372,     0,     0,     0,  2721,     0,     0,     0,
    6203             :        0,     0,     0,     0,     0,     0,     0,  2644,     0,     0,
    6204             :     2645,     0,   915,  2639,     0,     0,     0,     0,     0,     0,
    6205             :      975,   975,     0,     0,     0,     0,     0,     0,     0,     0,
    6206             :        0,     0,     0,     0,   975,   913,     0,     0,     0,     0,
    6207             :        0,     0,     0,     0,     0,     0,     0,   975,   975,     0,
    6208             :        0,     0,     0,     0,     0,     0,     0,  3607,     0,     0,
    6209             :     2646,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6210             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2835,
    6211             :        0,     0,     0,   976,   976,     0,     0,  2111,  2865,     0,
    6212             :     2112,     0,     0,     0,  2113,  2114,  2115,     0,     0,     0,
    6213             :        0,     0,     0,     0,   976,  2646,  5826,   976,     0,     0,
    6214             :        0,     0,  2636,     0,     0,  5843,     0,     0,     0,     0,
    6215             :     2903,     0,  2637,     0,     0,     0,  2915,  2915,     0,  2638,
    6216             :     2915,  2640,     0,     0,     0,     0,  2641,     0,     0,     0,
    6217             :        0,     0,     0,  2933,     0,     0,  2936,     0,     0,     0,
    6218             :        0,     0,     0,     0,     0,  2639,     0,     0,     0,  2642,
    6219             :     2305,     0,     0,     0,     0,   915,     0,  2574,     0,     0,
    6220             :      915,   915,     0,     0,     0,     0,  2575,  2576,  2577,  2578,
    6221             :     2579,  2580,  2581,  2582,  2583,     0,  5631,  2643,     0,  1824,
    6222             :     1824,  1824,     0,     0,     0,     0,     0,     0,     0,     0,
    6223             :        0,     0,  3757,     0,  2991,  3760,     0,  1823,     0,     0,
    6224             :        0,     0,  2574,     0,   976,     0,     0,     0,  3011,     0,
    6225             :        0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,
    6226             :     2372,     0,     0,   976,     0,     0,     0,     0,     0,     0,
    6227             :        0,     0,     0,     0,     0,  2644,     0,     0,  2645,     0,
    6228             :        0,     0,     0,     0,     0,   976,  2111,     0,     0,  2112,
    6229             :        0,     0,     0,  2113,  2114,  2115,     0,     0,     0,     0,
    6230             :        0,     0,     0,  2640,     0,     0,     0,     0,  2641,     0,
    6231             :        0,  2636,     0,     0,     0,     0,     0,     0,   915,     0,
    6232             :        0,  2637,     0,     0,     0,     0,  3857,     0,  2638,     0,
    6233             :        0,  2642,  2305,     0,     0,     0,     0,     0,     0,  3870,
    6234             :        0,     0,     0,     0,     0,     0,     0,  3879,     0,     0,
    6235             :        0,     0,     0,     0,  2639,     0,     0,     0,  3033,  2643,
    6236             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  3036,
    6237             :        0,     0,     0,  2646,     0,     0,     0,   976,     0,     0,
    6238             :        0,   915,     0,     0,     0,     0,  3923,     0,     0,     0,
    6239             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6240             :        0,     0,  2372,     0,     0,     0,     0,  3947,     0,     0,
    6241             :        0,  3080,  2915,     0,     0,   673,     0,  2644,     0,     0,
    6242             :     2645,     0,     0,     0,  1824,     0,     0,     0,     0,     0,
    6243             :      976,     0,   976,   674,     0,     0,  3115,     0,     0,     0,
    6244             :        0,     0,     0,  3128,     0,   976,     0,   976,     0,     0,
    6245             :     4002,     0,  4004,     0,     0,     0,     0,     0,   675,     0,
    6246             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6247             :        0,   676,  2640,     0,     0,     0,     0,  2641,     0,     0,
    6248             :     2574,     0,     0,     0,     0,     0,     0,     0,  -894,  2575,
    6249             :     2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,     0,
    6250             :     2642,  2305,     0,     0,     0,     0,   677,     0,     0,     0,
    6251             :        0,     0,   678,     0,   976,  2646,  3189,     0,     0,     0,
    6252             :        0,     0,     0,     0,     0,     0,     0,     0,  2643,     0,
    6253             :      679,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6254             :     4059,     0,     0,   680,     0,     0,     0,  4066,     0,  1393,
    6255             :     1393,     0,   681,     0,     0,     0,   976,     0,     0,     0,
    6256             :        0,     0,     0,     0,     0,   682,  3243,     0,     0,  3245,
    6257             :        0,  2372,     0,     0,   683,   976,     0,     0,   684,   976,
    6258             :      913,     0,     0,     0,     0,     0,  2644,     0,     0,  2645,
    6259             :        0,     0,     0,     0,     0,     0,     0,     0, -1100,     0,
    6260             :      976,     0,     0,     0,     0,     0,     0,     0,   197,     0,
    6261             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6262             :        0,     0,  2574,     0,     0,     0,     0,     0,     0,     0,
    6263             :        0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,
    6264             :        0,     0,     0,     0,     0,     0,     0,     0,   685,     0,
    6265             :        0,     0,     0,     0,     0,     0,     0,     0,  -629,   198,
    6266             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6267             :        0,     0,     0,     0,     0,     0,   199,     0,     0,     0,
    6268             :        0,     0,     0,     0,  2646,     0,     0,     0,     0,     0,
    6269             :        0,     0,     0,     0,   200,     0,     0,     0,     0,     0,
    6270             :      201,     0,   686,     0,     0,   687,     0,     0,  1824,     0,
    6271             :        0,     0,     0,     0,     0,     0,     0,     0,   202,     0,
    6272             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6273             :      688,   203,     0,     0,     0,     0,     0,     0,     0,     0,
    6274             :      204,     0,     0,     0,   689,     0,     0,     0,     0,     0,
    6275             :        0,     0,  -472,   205,     0,     0,     0,     0,     0,   206,
    6276             :        0,     0,     0,     0,     0,     0,   207,     0,     0,     0,
    6277             :        0,     0,   690,     0,     0,     0,     0,  1823,     0,     0,
    6278             :        0,     0,   691,     0,     0,     0,   208,     0,     0,  -472,
    6279             :        0,  2574,   692,     0,     0,     0,     0,     0,     0,     0,
    6280             :     2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,
    6281             :        0,     0,     0,   693,     0,     0,     0,     0,     0,     0,
    6282             :        0,   694,     0,     0,   209,     0,     0,     0,  -472,     0,
    6283             :        0,   695,   975,   696,     0,   697,   698,     0,     0,     0,
    6284             :        0,     0,     0,     0,     0,     0,   210,     0,     0,     0,
    6285             :      975,   699,     0,     0,   975,     0,     0,     0,   975,   700,
    6286             :        0,     0,   701,     0,     0,   702,     0,   975,     0,     0,
    6287             :        0,     0,     0,     0,     0,     0,     0,     0,  -472,     0,
    6288             :        0,     0,   975,   976,     0,     0,  4333,  4334,     0,     0,
    6289             :      211,     0,     0,     0,     0,     0,   915,     0,     0,     0,
    6290             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6291             :        0,     0,     0,     0,     0,     0,   975,     0,   212,     0,
    6292             :        0,     0,     0,     0,     0,     0,     0,     0,   213,   214,
    6293             :        0,     0,   215,     0,     0,     0,   975,   975,     0,     0,
    6294             :        0,     0,     0,     0,     0,     0,  1824,     0,     0,     0,
    6295             :        0,  1824,     0,  1824,     0,     0,     0,     0,     0,     0,
    6296             :      216,     0,     0,   217,     0,     0,     0,   218,     0,     0,
    6297             :      219,     0,     0,     0,  1823,   975,     0,   220,  1823,  1824,
    6298             :      221,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6299             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6300             :        0,   222,   975,     0,  1823,     0,     0,     0,   975,   223,
    6301             :        0,     0,     0,     0,   224,     0,   225,     0,     0,   226,
    6302             :        0,     0,   975,     0,   227,     0,     0,   976,     0,   975,
    6303             :      976,     0,   975,     0,   228,     0,     0,     0,   975,   229,
    6304             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6305             :        0,     0,     0,   230,     0,     0,     0,     0,   975,     0,
    6306             :        0,     0,     0,     0,   975,     0,   231,     0,     0,     0,
    6307             :        0,   975,     0,     0,     0,     0,     0,     0,     0,     0,
    6308             :        0,     0,     0,     0,     0,     0,     0,   975,     0,     0,
    6309             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6310             :        1,   975,     0,     0,     0,     0,  1823,     0,     0,     0,
    6311             :        0,     2,   975,     3,     4,     0,     0,     0,     0,     0,
    6312             :      976,   976,  1368,  1368,     0,     0,  3428,     0,     0,     0,
    6313             :        0,   976,     0,     0,     0,     0,  3433,     0,     0,     0,
    6314             :        0,     6,  4520,     0,     0,     0,     0,     0,   976,     0,
    6315             :        0,     0,     0,     7,     0,     8,     9,     0,     0,     0,
    6316             :        0,     0,    10,     0,    11,  1474,     0,     0,     0,     0,
    6317             :        0,     0,  1823,     0,     0,     0,     0,    12,     0,    13,
    6318             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6319             :        0,     0,     0,     0,     0,     0,    14,     0,     0,    15,
    6320             :        0,     0,  1368,     0,     0,     0,     0,     0,     0,     0,
    6321             :        0,     0,  1474,  1474,    16,     0,    17,     0,     0,     0,
    6322             :       18,     0,     0,     0,     0,     0,     0,  5792,     0,   976,
    6323             :        0,     0,  1824,     0,     0,     0,    20,     0,    21,     0,
    6324             :        0,     0,     0,     0,     0,    22,  1393,     0,     0,     0,
    6325             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6326             :        0,     0,     0,    23,     0,   722,     0,     0,     0,     0,
    6327             :      723,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6328             :       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6329             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6330             :        0,     0,  4673,     0,     0,     0,     0,     0,   724,     0,
    6331             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6332             :        0,   725,     0,  1734,  1738,     0,     0,   975,     0,  1823,
    6333             :        0,     0,     0,     0,    25,    26,     0,     0,   726,     0,
    6334             :       27,     0,     0,     0,     0,     0,   975,     0,     0,     0,
    6335             :        0,     0,     0,   975,     0,    28,   727,     0,     0,     0,
    6336             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6337             :        0,     0,     0,     0,    29,     0,     0,     0,     0,     0,
    6338             :      728,     0,     0,  3653,     0,     0,     0,     0,     0,     0,
    6339             :        0,     0,     0,   729,     0,     0,     0,     0,  3675,     0,
    6340             :        0,     0,   730,     0,     0,     0,     0,     0,     0,     0,
    6341             :        0,     0,     0,     0,     0,   731,     0,     0,     0,     0,
    6342             :     3703,   732,     0,    30,     0,     0,     0,     0,   733,     0,
    6343             :        0,     0,     0,     0,     0,     0,     0,     0,    31,     0,
    6344             :        0,     0,     0,     0,    32,    33,     0,    34,   734,     0,
    6345             :     1823,     0,    35,     0,     0,  4645,  1823,     0,    36,     0,
    6346             :        0,    37,   976,     0,     0,     0,     0,     0,    38,     0,
    6347             :        0,     0,     0,     0,     0,    39,    40,     0,     0,     0,
    6348             :        0,     0,     0,    41,     0,     0,     0,    42,     0,     0,
    6349             :        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
    6350             :        0,     0,     0,     0,     0,     0,  3783,  3784,   735,     0,
    6351             :        0,     0,     0,  3790,     0,     0,    44,     0,     0,     0,
    6352             :      976,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6353             :        0,     0,   976,     0,     0,     0,     0,    45,     0,     0,
    6354             :        0,   975,     0,     0,     0,     0,     0,     0,     0,    46,
    6355             :        0,     0,   736,     0,     0,    47,     0,     0,     0,     0,
    6356             :       48,     0,  2055,     0,     0,   737,   976,     0,     0,     0,
    6357             :        0,     0,     0,    49,     0,     0,     0,     0,     0,     0,
    6358             :      738,     0,     0,     0,     0,     0,     0,     0,   722,     0,
    6359             :      213,   739,     0,  1055,   740,     0,     0,    50,     0,     0,
    6360             :        0,     0,     0,     0,  2081,     0,     0,     0,     0,     0,
    6361             :     3911,     0,     0,     0,     0,     0,    56,     0,     0,  -136,
    6362             :        0,     0,   741,     0,     0,   742,     0,     0,     0,   743,
    6363             :        0,  1056,   744,  2100,  2101,  2102,     0,  2104,     0,   745,
    6364             :        0,     0,   746,     0,   725,  1057,  1824,     0,     0,     0,
    6365             :        0,     0,     0,     0,     0,     0,     0,  1058,  2592,     0,
    6366             :        0,   726,     0,   747,     0,   976,     0,     0,     0,     0,
    6367             :        0,   748,     0,     0,   975,   975,     0,     0,   749,  1059,
    6368             :        0,   750,     0,     0,     0,     0,   751,     0,     0,     0,
    6369             :        0,     0,     0,     0,   752,   975,   753,     0,   975,     0,
    6370             :        0,   754,     0,  1060,     0,     0,     0,     0,     0,     0,
    6371             :        0,     0,     0,     0,     0,   755,   729,     0,     0,     0,
    6372             :        0,     0,     0,     0,     0,   730,     0,     0,   756,     0,
    6373             :        0,     0,     0,     0,     0,     0,     0,     0,   731,     0,
    6374             :        0,     0,     0,     0,  1061,     0,     0,     0,     0,     0,
    6375             :        0,   976,     0,     0,     0,     0,     0,     0,     0,     0,
    6376             :        0,  2688,     0,     0,     0,  2700,  2705,     0,     0,     0,
    6377             :        0,  1062,     0,     0,     0,     0,     0,     0,     0,     0,
    6378             :     1823,  1823,  1823,     0,     0,     0,     0,     0,     0,     0,
    6379             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6380             :        0,     0,     0,     0,     0,   975,     0,     0,     0,  1063,
    6381             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6382             :        0,  5081,     0,     0,   975,     0,     0,     0,     0,     0,
    6383             :        0,   735,     0,     0,     0,  5083,     0,     0,     0,     0,
    6384             :        0,     0,     0,     0,     0,     0,   975,     0,     0,     0,
    6385             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6386             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6387             :        0,     0,     0,     0,     0,  1064,     0,     0,     0,     0,
    6388             :        0,   976,     0,   976,     0,     0,     0,     0,     0,     0,
    6389             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6390             :        0,     0,     0,   738,     0,     0,     0,     0,     0,     0,
    6391             :        0,     0,     0,   213,  1065,     0,     0,   740,     0,     0,
    6392             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6393             :        0,     0,     0,   976,     0,     0,     0,     0,   975,     0,
    6394             :        0,  2585,     0,   966,     0,  1066,     0,     0,  1067,     0,
    6395             :        0,     0,   743,     0,  4219,   744,     0,     0,     0,     0,
    6396             :        0,     0,   745,     0,     0,   746,     0,     0,     0,     0,
    6397             :        0,     0,     0,     0,     0,  1474,     0,     0,     0,     0,
    6398             :        0,     0,     0,     0,     0,  1823,   747,  1824,     0,     0,
    6399             :        0,   975,   966,   975,  1068,     0,  2585,     0,     0,     0,
    6400             :        0,   749,     0,     0,  1069,     0,   975,     0,   975,   751,
    6401             :     1734,  1734,  1734,     0,     0,     0,     0,  1070,     0,   753,
    6402             :        0,     0,     0,     0,  1071,     0,     0,     0,     0,     0,
    6403             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6404             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6405             :        0,   756,     0,     0,     0,     0,     0,     0,     0,     0,
    6406             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6407             :        0,     0,     0,     0,     0,   975,     0,     0,     0,     0,
    6408             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6409             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6410             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6411             :        0,     0,     0,     0,     0,     0,     0,   975,     0,     0,
    6412             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6413             :        0,     0,     0,     0,     0,     0,   975,     0,     0,     0,
    6414             :      975,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6415             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6416             :        0,   975,     0,     0,     0,     0,     0,     0,     0,     0,
    6417             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6418             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6419             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6420             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6421             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6422             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   976,
    6423             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6424             :        0,     0,     0,     0,     0,     0,     0,   976,     0,  4438,
    6425             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2915,
    6426             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  1823,
    6427             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  1824,
    6428             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6429             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6430             :        0,     0,     0,     0,     0,     0,     0,  2585,     0,     0,
    6431             :        0,  2585,     0,     0,     0,     0,  1393,     0,     0,     0,
    6432             :        0,     0,  5427,     0,     0,     0,     0,     0,     0,     0,
    6433             :        0,     0,     0,     0,     0,     0,     0,  5431,     0,  3271,
    6434             :        0,     0,     0,     0,     0,     0,     0,     0,  3288,  3288,
    6435             :     3288,  3288,  3298,  3304,  3288,  3307,  3288,  3288,  1824,     0,
    6436             :        0,     0,  3314,     0,  3315,     0,  3317,     0,     0,  3331,
    6437             :     3334,  3339,     0,     0,     0,     0,     0,  3348,     0,     0,
    6438             :     3353,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6439             :        0,     0,     0,     0,  1824,  3360,  3361,  3362,     0,     0,
    6440             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6441             :        0,     0,     0,  3363,     0,     0,     0,     0,     0,     0,
    6442             :        0,     0,     0,     0,  4571,  4572,  4573,     0,  5491,     0,
    6443             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6444             :        0,  4582,     0,     0,   975,     0,     0,     0,     0,     0,
    6445             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6446             :        0,     0,     0,     0,     0,     0,     0,  1824,     0,     0,
    6447             :      976,     0,     0,     0,  4607,  4609,     0,     0,     0,  4614,
    6448             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6449             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6450             :        0,     0,     0,     0,     0,     0,     0,  1823,     0,     0,
    6451             :        0,     0,  1823,     0,  1823,     0,     0,     0,     0,     0,
    6452             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6453             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6454             :     1823,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6455             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6456             :     3371,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6457             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6458             :        0,     0,     0,     0,     0,  1393,     0,     0,   975,     0,
    6459             :        0,   975,     0,     0,     0,     0,     0,     0,     0,     0,
    6460             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6461             :        0,     0,   976,     0,  3390,     0,     0,     0,     0,     0,
    6462             :        0,     0,     0,     0,     0,     0,   966,     0,  2585,     0,
    6463             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   976,
    6464             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6465             :     5650,     0,  5652,     0,  2585,     0,     0,     0,  3327,     0,
    6466             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6467             :     3392,     0,     0,  2585,  2585,  2585,     0,  2585,     0,     0,
    6468             :        0,   975,   975,     0,     0,     0,     0,     0,     0,     0,
    6469             :        0,     0,   975,     0,     0,     0,     0,     0,   966,   966,
    6470             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   975,
    6471             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6472             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6473             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6474             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6475             :        0,  4823,  4824,  4825,     0,     0,     0,     0,     0,     0,
    6476             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6477             :        0,     0,     0,     0,     0,     0,     0,   976,     0,     0,
    6478             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6479             :      975,     0,     0,  1823,     0,     0,  5783,     0,     0,     0,
    6480             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6481             :        0,     0,     0,     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,     0,     0,     0,     0,
    6484             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6485             :        0,     0,     0,     0,     0,     0,     0,  3399,  3400,  3401,
    6486             :     3402,  3403,  3404,  3405,  3406,  3407,     0,  3408,     0,     0,
    6487             :        0,     0,     0,     0,     0,     0,     0,     0,  1368,     0,
    6488             :     1734,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6489             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6490             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6491             :        0,     0,     0,     0,     0,     0,     0,     0,  3363,     0,
    6492             :        0,     0,  3371,     0,     0,  3390,     0,  3392,     0,     0,
    6493             :     3445,     0,     0,     0,     0,     0,     0,     0,     0,  1824,
    6494             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6495             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6496             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6497             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6498             :     5918,     0,  5920,  2101,  2102,     0,     0,     0,     0,     0,
    6499             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6500             :     1824,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6501             :        0,     0,     0,   966,   966,     0,     0,     0,     0,     0,
    6502             :        0,     0,     0,   975,     0,  1824,     0,     0,     0,     0,
    6503             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6504             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6505             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6506             :        0,     0,     0,  3585,     0,     0,     0,     0,     0,     0,
    6507             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6508             :        0,   975,     0,     0,     0,     0,     0,     0,     0,  5094,
    6509             :        0,     0,     0,   975,     0,     0,     0,     0,     0,     0,
    6510             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6511             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6512             :        0,  5126,     0,     0,     0,     0,     0,   975,     0,     0,
    6513             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6514             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6515             :        0,     0,     0,  3128,     0,     0,     0,     0,     0,     0,
    6516             :        0,     0,     0,     0,     0,  2585,     0,     0,     0,     0,
    6517             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6518             :        0,     0,     0,     0,     0,     0,     0,     0,  5184,     0,
    6519             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6520             :        0,     0,     0,     0,     0,  3189,     0,  1823,     0,     0,
    6521             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6522             :        0,     0,     0,     0,     0,     0,   975,     0,     0,     0,
    6523             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6524             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6525             :        0,  6127,     0,     0,     0,     0,     0,     0,     0,     0,
    6526             :        0,  2585,     0,     0,     0,     0,     0,     0,     0,     0,
    6527             :        0,     0,     0,  2585,     0,     0,     0,     0,  2585,     0,
    6528             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6529             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6530             :        0,     0,     0,     0,     0,     0,     0,     0,  3843,  3844,
    6531             :     1734,     0,   975,     0,  3848,     0,     0,     0,     0,     0,
    6532             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6533             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6534             :        0,  3877,     0,     0,     0,     0,     0,     0,     0,     0,
    6535             :     5287,  5288,  5289,  5290,     0,     0,     0,     0,     0,     0,
    6536             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6537             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6538             :        0,     0,     0,     0,  6232,     0,     0,     0,     0,     0,
    6539             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6540             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6541             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6542             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6543             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6544             :        0,     0,   975,     0,   975,     0,     0,     0,     0,     0,
    6545             :        0,     0,     0,     0,     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,   975,     0,     0,     0,     0,     0,
    6550             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6551             :        0,     0,     0,     0,  6325,     0,     0,     0,     0,     0,
    6552             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6553             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6554             :        0,     0,     0,     0,     0,  1117,  1117,     0,  1823,     0,
    6555             :     4072,     0,     0,     0,     0,  4078,     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,     0,
    6559             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6560             :        0,     0,     0,     0,     0,     0,  2104,     0,     0,     0,
    6561             :        0,     0,     0,     0,     0,     0,     0,  3339,     0,  3339,
    6562             :     3339,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6563             :        0,     0,     0,  4168,     0,     0,  4171,     0,  4173,     0,
    6564             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6565             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6566             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6567             :        0,     0,  1117,     0,     0,  4198,     0,  4201,     0,  4203,
    6568             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6569             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6570             :        0,  5513,     0,     0,     0,     0,     0,     0,     0,     0,
    6571             :        0,     0,  5523,     0,     0,     0,     0,     0,     0,     0,
    6572             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6573             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6574             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6575             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6576             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6577             :        0,     0,     0,  4273,     0,     0,     0,     0,  2688,     0,
    6578             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6579             :      975,     0,     0,  2705,     0,     0,     0,     0,     0,     0,
    6580             :        0,     0,     0,     0,     0,     0,     0,     0,   975,     0,
    6581             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6582             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6583             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6584             :     1823,     0,     0,     0,  2585,     0,     0,     0,     0,     0,
    6585             :        0,     0,     0,     0,     0,     0,     0,     0,  4323,     0,
    6586             :        0,  2585,     0,     0,     0,     0,     0,     0,     0,     0,
    6587             :        0,  2585,     0,     0,     0,     0,     0,  2585,     0,     0,
    6588             :     2585,     0,     0,     0,     0,     0,     0,  2585,  2585,     0,
    6589             :     2585,     0,     0,     0,     0,  3327,  3327,     0,  4144,     0,
    6590             :     3327,     0,     0,     0,  2585,     0,     0,  2585,     0,     0,
    6591             :        0,     0,  2585,     0,     0,     0,     0,     0,  4358,  1823,
    6592             :        0,  2585,     0,     0,     0,     0,  2585,     0,     0,     0,
    6593             :        0,     0,     0,  2585,  2585,  2585,  2585,     0,     0,     0,
    6594             :        0,  3327,  3327,     0,  2585,     0,     0,     0,     0,     0,
    6595             :        0,     0,  5687,  5688,     0,  1823,     0,     0,     0,     0,
    6596             :        0,     0,     0,  2585,     0,  2585,     0,     0,     0,     0,
    6597             :        0,     0,  2585,  2585,  2585,  2585,  2585,  2585,  2585,  2585,
    6598             :     2585,  2585,     0,     0,     0,     0,     0,     0,     0,     0,
    6599             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  5737,
    6600             :        0,     0,     0,     0,  1393,     0,     0,     0,     0,     0,
    6601             :        0,     0,     0,     0,     0,     0,     0,     0,  2585,     0,
    6602             :        0,     0,     0,  5767,     0,     0,     0,     0,  1823,     0,
    6603             :        0,   975,     0,     0,     0,     0,     0,     0,     0,     0,
    6604             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6605             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6606             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6607             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6608             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6609             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6610             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6611             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6612             :        0,  1734,     0,     0,     0,     0,     0,  1734,     0,     0,
    6613             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6614             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6615             :        0,     0,     0,     0,     0,     0,     0,     0,  2585,     0,
    6616             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6617             :        0,     0,     0,   975,     0,     0,     0,     0,     0,     0,
    6618             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6619             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6620             :      975,     0,     0,     0,     0,     0,  4594,     0,     0,     0,
    6621             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6622             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6623             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6624             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6625             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6626             :        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,  5969,
    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,  5991,     0,     0,
    6632             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6633             :        0,     0,     0,     0,     0,     0,     0,     0,   975,     0,
    6634             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6635             :        0,     0,     0,     0,     0,  4716,     0,     0,     0,     0,
    6636             :        0,     0,     0,     0,  4720,     0,     0,     0,     0,     0,
    6637             :        0,     0,     0,     0,     0,     0,     0,     0,  3288,     0,
    6638             :        0,     0,  4733,  3288,  3288,     0,     0,     0,     0,  3304,
    6639             :        0,     0,  4741,     0,     0,  4743,     0,     0,     0,     0,
    6640             :        0,  4745,     0,  4746,     0,     0,     0,     0,     0,     0,
    6641             :        0,     0,     0,     0,     0,     0,  2585,  2585,     0,     0,
    6642             :        0,  2585,     0,  6076,     0,     0,     0,     0,     0,     0,
    6643             :     4768,  4769,  4770,     0,     0,     0,     0,     0,     0,     0,
    6644             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  3348,
    6645             :     2585,     0,     0,     0,     0,     0,     0,  4794,     0,     0,
    6646             :     4797,     0,  4799,     0,     0,     0,     0,     0,     0,     0,
    6647             :        0,     0,     0,     0,     0,     0,     0,     0,  4803,     0,
    6648             :        0,     0,     0,     0,     0,     0,  4810,  4811,     0,     0,
    6649             :        0,     0,     0,  4816,     0,     0,     0,     0,     0,     0,
    6650             :     1823,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6651             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6652             :        0,     0,  3288,     0,     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,  1823,     0,     0,     0,     0,     0,     0,     0,     0,
    6657             :        0,     0,     0,  4870,     0,     0,     0,     0,     0,     0,
    6658             :        0,     0,     0,     0,     0,     0,  1823,     0,     0,     0,
    6659             :     4884,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6660             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6661             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6662             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6663             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6664             :        0,     0,     0,     0,     0,  2585,     0,     0,     0,     0,
    6665             :        0,  2585,     0,     0,     0,     0,     0,     0,     0,     0,
    6666             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6667             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6668             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6669             :        0,     0,     0,     0,     0,     0,     0,     0,  4144,  4144,
    6670             :        0,     0,  3327,  3327,  3327,  3327,     0,     0,  3327,  3327,
    6671             :     3327,  3327,  3327,  3327,  3327,  3327,  3327,  3327,  4144,     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,  2585,     0,     0,  2585,     0,  2585,     0,     0,  4144,
    6675             :     4144,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6676             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6677             :        0,  2585,  3327,  3327,  2585,     0,  2585,     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             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6684             :        0,     0,     0,     0,     0,     0,  2585,     0,     0,     0,
    6685             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6686             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6687             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6688             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6689             :        0,     0,     0,     0,     0,     0,  2585,     0,     0,     0,
    6690             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6691             :        0,     0,     0,     0,     0,     0,  5172,  5173,     0,     0,
    6692             :        0,     0,     0,     0,     0,     0,     0,  5180,     0,     0,
    6693             :        0,  2585,     0,     0,     0,     0,     0,     0,     0,     0,
    6694             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6695             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6696             :        0,     0,     0,     0,     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,  5223,     0,     0,
    6700             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6701             :        0,     0,     0,  2688,     0,     0,     0,     0,     0,     0,
    6702             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6703             :        0,  5246,     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             :     5265,  5267,     0,     0,     0,     0,     0,  5271,  5272,     0,
    6708             :        0,     0,  5273,     0,     0,     0,     0,  5274,     0,     0,
    6709             :     5277,  5278,     0,     0,     0,     0,     0,  5283,     0,     0,
    6710             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6711             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6712             :        0,     0,     0,     0,  3327,     0,     0,     0,     0,     0,
    6713             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6714             :        0,     0,  5318,     0,     0,     0,     0,     0,     0,     0,
    6715             :        0,     0,     0,  1368,     0,     0,     0,     0,     0,     0,
    6716             :        0,  5332,     0,     0,     0,     0,     0,  2585,     0,     0,
    6717             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6718             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6719             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6720             :        0,     0,     0,     0,     0,     0,  5360,     0,     0,     0,
    6721             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6722             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6723             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6724             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6725             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6726             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6727             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6728             :        0,     0,     0,     0,     0,     0,     0,  5411,     0,  2585,
    6729             :        0,     0,     0,  2585,  5413,     0,     0,     0,     0,     0,
    6730             :        0,     0,     0,     0,     0,     0,  2585,     0,     0,     0,
    6731             :        0,     0,     0,     0,  2585,     0,  2585,     0,  2585,  2585,
    6732             :        0,     0,     0,     0,  4144,  4144,  4144,  4144,     0,     0,
    6733             :        0,  4144,  4144,  4144,  4144,  4144,  4144,  4144,  4144,  4144,
    6734             :     4144,  2585,  2585,  2585,     0,     0,     0,     0,     0,     0,
    6735             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6736             :        0,     0,     0,     0,  5452,     0,     0,  2585,     0,     0,
    6737             :     2585,     0,  2585,     0,     0,     0,  2585,     0,     0,  4144,
    6738             :     4144,     0,     0,  2585,  2585,     0,     0,     0,     0,  2585,
    6739             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6740             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6741             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6742             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6743             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6744             :        0,     0,     0,  2585,     0,     0,     0,     0,     0,     0,
    6745             :        0,     0,     0,     0,     0,     0,     0,  2585,     0,     0,
    6746             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6747             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6748             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6749             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6750             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6751             :        0,     0,     0,     0,     0,     0,  3288,     0,     0,     0,
    6752             :        0,     0,     0,     0,     0,     0,  5560,     0,     0,     0,
    6753             :        0,     0,  5564,  5565,  5566,     0,     0,     0,     0,     0,
    6754             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6755             :        0,     0,     0,     0,     0,     0,     0,  5579,  5580,     0,
    6756             :        0,  5581,     0,     0,     0,     0,     0,     0,     0,     0,
    6757             :        0,     0,     0,     0,     0,     0,     0,     0,  5589,     0,
    6758             :        0,     0,     0,     0,     0,     0,     0,     0,  5601,     0,
    6759             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  5619,
    6760             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6761             :        0,     0,     0,     0,     0,  5636,     0,     0,     0,     0,
    6762             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6763             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6764             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6765             :        0,     0,     0,     0,     0,     0,     0,     0,  4144,     0,
    6766             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6767             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6768             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6769             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6770             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6771             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6772             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6773             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6774             :        0,     0,     0,     0,     0,  2585,  2585,     0,     0,     0,
    6775             :        0,     0,     0,  2585,     0,     0,     0,     0,     0,     0,
    6776             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6777             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6778             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6779             :        0,     0,     0,     0,     0,     0,  2585,     0,     0,     0,
    6780             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6781             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2585,
    6782             :     3327,     0,     0,     0,     0,     0,     0,     0,  5816,     0,
    6783             :        0,     0,     0,     0,     0,     0,     0,     0,  2585,     0,
    6784             :     2585,     0,     0,     0,  2585,  2585,  2585,  2585,     0,  3348,
    6785             :     2585,  2585,     0,     0,     0,     0,  2585,     0,     0,     0,
    6786             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6787             :        0,     0,     0,  3327,     0,     0,     0,     0,     0,     0,
    6788             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6789             :        0,  2585,     0,     0,  2104,     0,     0,     0,     0,     0,
    6790             :        0,     0,     0,     0,     0,  2585,     0,     0,     0,     0,
    6791             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6792             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6793             :        0,     0,     0,  2585,     0,     0,     0,     0,     0,     0,
    6794             :        0,     0,     0,     0,  5896,     0,     0,     0,     0,     0,
    6795             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6796             :     5908,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6797             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6798             :        0,     0,     0,     0,  2585,     0,  2585,     0,     0,     0,
    6799             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6800             :        0,     0,     0,     0,     0,     0,  5946,     0,     0,     0,
    6801             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6802             :        0,     0,     0,     0,     0,  2585,     0,     0,     0,     0,
    6803             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6804             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6805             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6806             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6807             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6808             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6809             :        0,     0,     0,     0,     0,     0,  3288,     0,     0,     0,
    6810             :        0,     0,     0,     0,     0,     0,     0,     0,  6026,     0,
    6811             :        0,     0,     0,     0,     0,     0,     0,  6033,  6033,  6033,
    6812             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6813             :        0,     0,     0,  2585,     0,  4144,  3327,  2585,  2585,  2585,
    6814             :        0,     0,     0,     0,     0,  5619,     0,     0,     0,     0,
    6815             :        0,     0,  2585,  2585,  2585,     0,     0,     0,     0,  6066,
    6816             :        0,     0,  2585,     0,     0,     0,     0,  3327,     0,     0,
    6817             :     4144,     0,     0,     0,  2585,     0,     0,     0,     0,  6081,
    6818             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6819             :        0,     0,  2585,     0,     0,     0,     0,     0,     0,     0,
    6820             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2585,
    6821             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6822             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6823             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6824             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6825             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6826             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6827             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6828             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6829             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6830             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6831             :        0,     0,  6033,     0,     0,     0,     0,     0,     0,     0,
    6832             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6833             :        0,     0,     0,     0,     0,     0,     0,  5619,     0,     0,
    6834             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6835             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6836             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6837             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6838             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2585,
    6839             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6840             :     4144,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6841             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  6256,
    6842             :        0,  4144,     0,  3327,     0,     0,     0,     0,     0,     0,
    6843             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6844             :        0,     0,     0,  6281,     0,     0,     0,     0,     0,     0,
    6845             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6846             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2585,
    6847             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6848             :        0,  2585,     0,     0,     0,     0,     0,     0,     0,     0,
    6849             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6850             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6851             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2585,
    6852             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6853             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6854             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6855             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6856             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6857             :        0,  6033,     0,     0,     0,     0,     0,     0,     0,     0,
    6858             :        0,     0,     0,     0,     0,     0,     0,  6371,     0,     0,
    6859             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2585,
    6860             :        0,     0,     0,     0,     0,     0,  2585,     0,     0,     0,
    6861             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6862             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6863             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2585,
    6864             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6865             :        0,     0,     0,     0,  2585,     0,     0,     0,     0,     0,
    6866             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6867             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6868             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6869             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6870             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6871             :        0,     0,     0,     0,     0,     0,     0,     0,  1734,     0,
    6872             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6873             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6874             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6875             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6876             :        0,     0,     0,     0,     0,  3327,  3327,     0,     0,  3327,
    6877             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6878             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6879             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6880             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6881             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6882             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2585,
    6883             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6884             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6885             :        0,     0,     0,     0,  2585,     0,     0,     0,     0,     0,
    6886             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6887             :        0,     0,  4144,  4144,     0,  4144,     0,     0,     0,     0,
    6888             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6889             :      234,     0,  1271,   717,     0,  1272,  1273,  1274,   778,  1275,
    6890             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
    6891             :      238,   239,   240,   241,   242,   243,  1728,   244,   245,   246,
    6892             :        0,     0,     0,     0,  1276,     0,     0,   247,   248,   249,
    6893             :        0,   250,   251,   252,   253,   254,   255,   256,   257,   258,
    6894             :     1277,   260,  1278,  1279,  2585,   263,   264,   265,   266,   267,
    6895             :      268,   269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,
    6896             :      275,   276,   277,   278,  1284,     0,  1285,     0,   281,   282,
    6897             :      283,   284,   285,   286,   287,   288,   289,   290,   291,     0,
    6898             :      292,   293,   294,   295,   296,   297,     0,   298,   299,   300,
    6899             :      301,  1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,
    6900             :      305,   306,   307,   308,  1293,  1294,   311,  1295,   312,     0,
    6901             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
    6902             :      322,   323,  1729,     0,   324,   325,   887,   327,   328,     0,
    6903             :      329,   330,   331,   332,     0,   333,   334,   335,   336,     0,
    6904             :      337,   338,   339,   340,  1296,   342,   343,   344,   345,  1297,
    6905             :     1298,   347,     0,   348,   349,   350,  1299,   352,     0,   353,
    6906             :        0,   354,   355,   356,     0,   357,   358,   359,   360,   361,
    6907             :        0,   362,  1300,     0,  1301,   365,   366,     0,   367,   368,
    6908             :      369,   370,   371,   372,   373,   374,   375,   376,     0,   377,
    6909             :      378,   379,   380,   381,   382,   383,   384,     0,   385,   386,
    6910             :      387,   388,   389,   390,   391,  1302,  1303,     0,  1304,     0,
    6911             :      395,   396,   397,   398,   399,  1305,  1306,  1307,  1308,  1309,
    6912             :     1310,  1311,  1312,  1313,   409,  1314,   411,   412,   413,   414,
    6913             :      415,   416,   417,     0,     0,   418,  1315,   420,   421,   422,
    6914             :        0,   423,   424,   425,  1316,  1317,   426,   427,   428,   429,
    6915             :      430,   431,   432,   433,   434,   435,  1318,   437,   438,   439,
    6916             :      440,   441,   442,   443,   444,  1319,   446,  1320,   448,   449,
    6917             :      450,   451,   452,   453,   454,   455,   456,  1321,   458,  1322,
    6918             :      459,   460,   461,   462,  1323,  1324,   464,  1325,   466,   467,
    6919             :      468,     0,   469,   470,   471,     0,     0,  1326,   473,   474,
    6920             :        0,     0,   475,   476,   477,   478,   479,   480,  1327,   482,
    6921             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
    6922             :      493,   494,     0,   495,   496,   497,  1328,   499,   500,   501,
    6923             :      502,   503,     0,   504,   505,   506,   507,   508,   509,   510,
    6924             :      511,   512,   513,   514,  1329,   516,   517,   518,   519,     0,
    6925             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
    6926             :      530,   531,   532,     0,   533,   534,   535,   536,   537,   538,
    6927             :      539,   540,  1330,   542,   543,   544,   545,   546,   547,   548,
    6928             :      549,   550,   551,     0,   552,   553,   554,   555,   556,  1331,
    6929             :      557,   558,   559,   560,   561,   562,   563,   564,  1332,   566,
    6930             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
    6931             :      576,   577,   578,   579,   580,   581,   582,  1333,   584,     0,
    6932             :      585,   586,  1334,     0,   587,   588,   589,   590,   591,   592,
    6933             :      593,   594,     0,   595,  1335,  1336,     0,     0,   598,   599,
    6934             :     1337,   601,  1338,  1339,   603,   604,   605,   606,   607,   608,
    6935             :      609,   610,   611,     0,  1340,   612,   613,   614,   615,   616,
    6936             :     1341,     0,   617,   618,   619,   620,   621,   622,  1342,  1730,
    6937             :      624,   625,   626,   627,   628,   629,     0,     0,   630,     0,
    6938             :        0,   631,   632,   633,   634,   635,   636,   637,  1343,  1344,
    6939             :     1345,  1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,
    6940             :      650,     0,  1351,     0,     0,     0,     0,     0,     0,     0,
    6941             :        0,     0,     0,     0,  1352,  1353,  1731,     0,     0,     0,
    6942             :        0,     0,     0,  1355,  1732,   234,     0,  1271,   717,     0,
    6943             :     1272,  1273,  1274,   778,  1275,     0,     0,     0,     0,     0,
    6944             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
    6945             :      243,     0,   244,   245,   246,     0,     0,     0,     0,  1276,
    6946             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
    6947             :      254,   255,   256,   257,   258,  1277,   260,  1278,  1279,     0,
    6948             :      263,   264,   265,   266,   267,   268,   269,  1280,  1281,   270,
    6949             :      271,  1282,  1283,   274,     0,   275,   276,   277,   278,  1284,
    6950             :        0,  1285,     0,   281,   282,   283,   284,   285,   286,   287,
    6951             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
    6952             :      297,     0,   298,   299,   300,   301,  1286,  1287,  1288,  1289,
    6953             :     1290,  1291,  1292,   303,   304,   305,   306,   307,   308,  1293,
    6954             :     1294,   311,  1295,   312,     0,   313,   314,   315,   316,   317,
    6955             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
    6956             :      325,   887,   327,   328,     0,   329,   330,   331,   332,     0,
    6957             :      333,   334,   335,   336,     0,   337,   338,   339,   340,  1296,
    6958             :      342,   343,   344,   345,  1297,  1298,   347,     0,   348,   349,
    6959             :      350,  1299,   352,     0,   353,     0,   354,   355,   356,     0,
    6960             :      357,   358,   359,   360,   361,     0,   362,  1300,     0,  1301,
    6961             :      365,   366,     0,   367,   368,   369,   370,   371,   372,   373,
    6962             :      374,   375,   376,     0,   377,   378,   379,   380,   381,   382,
    6963             :      383,   384,     0,   385,   386,   387,   388,   389,   390,   391,
    6964             :     1302,  1303,     0,  1304,     0,   395,   396,   397,   398,   399,
    6965             :     1305,  1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,   409,
    6966             :     1314,   411,   412,   413,   414,   415,   416,   417,     0,     0,
    6967             :      418,  1315,   420,   421,   422,     0,   423,   424,   425,  1316,
    6968             :     1317,   426,   427,   428,   429,   430,   431,   432,   433,   434,
    6969             :      435,  1318,   437,   438,   439,   440,   441,   442,   443,   444,
    6970             :     1319,   446,  1320,   448,   449,   450,   451,   452,   453,   454,
    6971             :      455,   456,  1321,   458,  1322,   459,   460,   461,   462,  1323,
    6972             :     1324,   464,  1325,   466,   467,   468,     0,   469,   470,   471,
    6973             :        0,     0,  1326,   473,   474,     0,     0,   475,   476,   477,
    6974             :      478,   479,   480,  1327,   482,   483,   484,   485,   486,   487,
    6975             :      488,   489,   490,   491,   492,   493,   494,     0,   495,   496,
    6976             :      497,  1328,   499,   500,   501,   502,   503,     0,   504,   505,
    6977             :      506,   507,   508,   509,   510,   511,   512,   513,   514,  1329,
    6978             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
    6979             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
    6980             :      534,   535,   536,   537,   538,   539,   540,  1330,   542,   543,
    6981             :      544,   545,   546,   547,   548,   549,   550,   551,    40,   552,
    6982             :      553,   554,   555,   556,  1331,   557,   558,   559,   560,   561,
    6983             :      562,   563,   564,  1332,   566,     0,   567,   568,   569,   570,
    6984             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
    6985             :      581,   582,  1333,   584,     0,   585,   586,  1334,    44,   587,
    6986             :      588,   589,   590,   591,   592,   593,   594,     0,   595,  1335,
    6987             :     1336,     0,     0,   598,   599,  1337,   601,  1338,  1339,   603,
    6988             :      604,   605,   606,   607,   608,   609,   610,   611,     0,  1340,
    6989             :      612,   613,   614,   615,   616,  1341,     0,   617,   618,   619,
    6990             :      620,   621,  1206,  1342,     0,   624,   625,   626,   627,   628,
    6991             :      629,     0,     0,   630,     0,    49,   631,   632,   633,   634,
    6992             :      635,   636,   637,  1343,  1344,  1345,  1346,   642,  1347,  1348,
    6993             :     1349,  1350,   647,   648,   649,   650,     0,  1351,     0,    50,
    6994             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  1352,
    6995             :     1353,     0,     0,     0,     0,     0,     0,     0,  1355,  5862,
    6996             :      234,     0,  1271,   717,     0,  1272,  1273,  1274,   778,  1275,
    6997             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
    6998             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
    6999             :        0,     0,     0,     0,  1276,     0,     0,   247,   248,   249,
    7000             :        0,   250,   251,   252,   253,   254,   255,   256,   257,   258,
    7001             :     1277,   260,  1278,  1279,     0,   263,   264,   265,   266,   267,
    7002             :      268,   269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,
    7003             :      275,   276,   277,   278,  1284,     0,  1285,     0,   281,   282,
    7004             :      283,   284,   285,   286,   287,   288,   289,   290,   291,     0,
    7005             :      292,   293,   294,   295,   296,   297,     0,   298,   299,   300,
    7006             :      301,  1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,
    7007             :      305,   306,   307,   308,  1293,  1294,   311,  1295,   312,     0,
    7008             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
    7009             :      322,   323,     0,     0,   324,   325,   887,   327,   328,     0,
    7010             :      329,   330,   331,   332,     0,   333,   334,   335,   336,     0,
    7011             :      337,   338,   339,   340,  1296,   342,   343,   344,   345,  1297,
    7012             :     1298,   347,     0,   348,   349,   350,  1299,   352,     0,   353,
    7013             :        0,   354,   355,   356,     0,   357,   358,   359,   360,   361,
    7014             :        0,   362,  1300,     0,  1301,   365,   366,     0,   367,   368,
    7015             :      369,   370,   371,   372,   373,   374,   375,   376,     0,   377,
    7016             :      378,   379,   380,   381,   382,   383,   384,     0,   385,   386,
    7017             :      387,   388,   389,   390,   391,  1302,  1303,     0,  1304,     0,
    7018             :      395,   396,   397,   398,   399,  1305,  1306,  1307,  1308,  1309,
    7019             :     1310,  1311,  1312,  1313,   409,  1314,   411,   412,   413,   414,
    7020             :      415,   416,   417,     0,     0,   418,  1315,   420,   421,   422,
    7021             :        0,   423,   424,   425,  1316,  1317,   426,   427,   428,   429,
    7022             :      430,   431,   432,   433,   434,   435,  1318,   437,   438,   439,
    7023             :      440,   441,   442,   443,   444,  1319,   446,  1320,   448,   449,
    7024             :      450,   451,   452,   453,   454,   455,   456,  1321,   458,  1322,
    7025             :      459,   460,   461,   462,  1323,  1324,   464,  1325,   466,   467,
    7026             :      468,     0,   469,   470,   471,     0,     0,  1326,   473,   474,
    7027             :        0,     0,   475,   476,   477,   478,   479,   480,  1327,   482,
    7028             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
    7029             :      493,   494,     0,   495,   496,   497,  1328,   499,   500,   501,
    7030             :      502,   503,     0,   504,   505,   506,   507,   508,   509,   510,
    7031             :      511,   512,   513,   514,  1329,   516,   517,   518,   519,     0,
    7032             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
    7033             :      530,   531,   532,     0,   533,   534,   535,   536,   537,   538,
    7034             :      539,   540,  1330,   542,   543,   544,   545,   546,   547,   548,
    7035             :      549,   550,   551,     0,   552,   553,   554,   555,   556,  1331,
    7036             :      557,   558,   559,   560,   561,   562,   563,   564,  1332,   566,
    7037             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
    7038             :      576,   577,   578,   579,   580,   581,   582,  1333,   584,     0,
    7039             :      585,   586,  1334,     0,   587,   588,   589,   590,   591,   592,
    7040             :      593,   594,     0,   595,  1335,  1336,     0,     0,   598,   599,
    7041             :     1337,   601,  1338,  1339,   603,   604,   605,   606,   607,   608,
    7042             :      609,   610,   611,     0,  1340,   612,   613,   614,   615,   616,
    7043             :     1341,     0,   617,   618,   619,   620,   621,   622,  1342,     0,
    7044             :      624,   625,   626,   627,   628,   629,     0,     0,   630,     0,
    7045             :        0,   631,   632,   633,   634,   635,   636,   637,  1343,  1344,
    7046             :     1345,  1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,
    7047             :      650,     0,  1351,     0,     0,     0,     0,     0,     0,     0,
    7048             :        0,     0,     0,     0,  1352,  1353,     0,     0,     0,     0,
    7049             :        0,     0,     0,  1355,  3329,   234,     0,  1271,   717,     0,
    7050             :     1272,  1273,  1274,   778,  1275,     0,     0,     0,     0,     0,
    7051             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
    7052             :      243,     0,   244,   245,   246,     0,     0,     0,     0,  1276,
    7053             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
    7054             :      254,   255,   256,   257,   258,  1277,   260,  1278,  1279,     0,
    7055             :      263,   264,   265,   266,   267,   268,   269,  1280,  1281,   270,
    7056             :      271,  1282,  1283,   274,     0,   275,   276,   277,   278,  1284,
    7057             :        0,  1285,     0,   281,   282,   283,   284,   285,   286,   287,
    7058             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
    7059             :      297,     0,   298,   299,   300,   301,  1286,  1287,  1288,  1289,
    7060             :     1290,  1291,  1292,   303,   304,   305,   306,   307,   308,  1293,
    7061             :     1294,   311,  1295,   312,     0,   313,   314,   315,   316,   317,
    7062             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
    7063             :      325,   887,   327,   328,     0,   329,   330,   331,   332,     0,
    7064             :      333,   334,   335,   336,     0,   337,   338,   339,   340,  1296,
    7065             :      342,   343,   344,   345,  1297,  1298,   347,     0,   348,   349,
    7066             :      350,  1299,   352,     0,   353,     0,   354,   355,   356,     0,
    7067             :      357,   358,   359,   360,   361,     0,   362,  1300,     0,  1301,
    7068             :      365,   366,     0,   367,   368,   369,   370,   371,   372,   373,
    7069             :      374,   375,   376,     0,   377,   378,   379,   380,   381,   382,
    7070             :      383,   384,     0,   385,   386,   387,   388,   389,   390,   391,
    7071             :     1302,  1303,     0,  1304,     0,   395,   396,   397,   398,   399,
    7072             :     1305,  1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,   409,
    7073             :     1314,   411,   412,   413,   414,   415,   416,   417,     0,     0,
    7074             :      418,  1315,   420,   421,   422,     0,   423,   424,   425,  1316,
    7075             :     1317,   426,   427,   428,   429,   430,   431,   432,   433,   434,
    7076             :      435,  1318,   437,   438,   439,   440,   441,   442,   443,   444,
    7077             :     1319,   446,  1320,   448,   449,   450,   451,   452,   453,   454,
    7078             :      455,   456,  1321,   458,  1322,   459,   460,   461,   462,  1323,
    7079             :     1324,   464,  1325,   466,   467,   468,     0,   469,   470,   471,
    7080             :        0,     0,  1326,   473,   474,     0,     0,   475,   476,   477,
    7081             :      478,   479,   480,  1327,   482,   483,   484,   485,   486,   487,
    7082             :      488,   489,   490,   491,   492,   493,   494,     0,   495,   496,
    7083             :      497,  1328,   499,   500,   501,   502,   503,     0,   504,   505,
    7084             :      506,   507,   508,   509,   510,   511,   512,   513,   514,  1329,
    7085             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
    7086             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
    7087             :      534,   535,   536,   537,   538,   539,   540,  1330,   542,   543,
    7088             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
    7089             :      553,   554,   555,   556,  1331,   557,   558,   559,   560,   561,
    7090             :      562,   563,   564,  1332,   566,     0,   567,   568,   569,   570,
    7091             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
    7092             :      581,   582,  1333,   584,     0,   585,   586,  1334,     0,   587,
    7093             :      588,   589,   590,   591,   592,   593,   594,     0,   595,  1335,
    7094             :     1336,     0,     0,   598,   599,  1337,   601,  1338,  1339,   603,
    7095             :      604,   605,   606,   607,   608,   609,   610,   611,     0,  1340,
    7096             :      612,   613,   614,   615,   616,  1341,     0,   617,   618,   619,
    7097             :      620,   621,   622,  1342,     0,   624,   625,   626,   627,   628,
    7098             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
    7099             :      635,   636,   637,  1343,  1344,  1345,  1346,   642,  1347,  1348,
    7100             :     1349,  1350,   647,   648,   649,   650,     0,  1351,     0,     0,
    7101             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  1352,
    7102             :     1353,     0,     0,     0,     0,     0,     0,     0,  1355,  4747,
    7103             :      234,     0,  1271,   717,     0,  1272,  1273,  1274,   778,  1275,
    7104             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
    7105             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
    7106             :        0,     0,     0,     0,  1276,     0,     0,   247,   248,   249,
    7107             :        0,   250,   251,   252,   253,   254,   255,   256,   257,   258,
    7108             :     1277,   260,  1278,  1279,     0,   263,   264,   265,   266,   267,
    7109             :      268,   269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,
    7110             :      275,   276,   277,   278,  1284,     0,  1285,     0,   281,   282,
    7111             :      283,   284,   285,   286,   287,   288,   289,   290,   291,     0,
    7112             :      292,   293,   294,   295,   296,   297,     0,   298,   299,   300,
    7113             :      301,  1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,
    7114             :      305,   306,   307,   308,  1293,  1294,   311,  1295,   312,     0,
    7115             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
    7116             :      322,   323,     0,     0,   324,   325,   887,   327,   328,     0,
    7117             :      329,   330,   331,   332,     0,   333,   334,   335,   336,     0,
    7118             :      337,   338,   339,   340,  1296,   342,   343,   344,   345,  1297,
    7119             :     1298,   347,     0,   348,   349,   350,  1299,   352,     0,   353,
    7120             :        0,   354,   355,   356,     0,   357,   358,   359,   360,   361,
    7121             :        0,   362,  1300,     0,  1301,   365,   366,     0,   367,   368,
    7122             :      369,   370,   371,   372,   373,   374,   375,   376,     0,   377,
    7123             :      378,   379,   380,   381,   382,   383,   384,     0,   385,   386,
    7124             :      387,   388,   389,   390,   391,  1302,  1303,     0,  1304,     0,
    7125             :      395,   396,   397,   398,   399,  1305,  1306,  1307,  1308,  1309,
    7126             :     1310,  1311,  1312,  1313,   409,  1314,   411,   412,   413,   414,
    7127             :      415,   416,   417,     0,     0,   418,  1315,   420,   421,   422,
    7128             :        0,   423,   424,   425,  1316,  1317,   426,   427,   428,   429,
    7129             :      430,   431,   432,   433,   434,   435,  1318,   437,   438,   439,
    7130             :      440,   441,   442,   443,   444,  1319,   446,  1320,   448,   449,
    7131             :      450,   451,   452,   453,   454,   455,   456,  1321,   458,  1322,
    7132             :      459,   460,   461,   462,  1323,  1324,   464,  1325,   466,   467,
    7133             :      468,     0,   469,   470,   471,     0,     0,  1326,   473,   474,
    7134             :        0,     0,   475,   476,   477,   478,   479,   480,  1327,   482,
    7135             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
    7136             :      493,   494,     0,   495,   496,   497,  1328,   499,   500,   501,
    7137             :      502,   503,     0,   504,   505,   506,   507,   508,   509,   510,
    7138             :      511,   512,   513,   514,  1329,   516,   517,   518,   519,     0,
    7139             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
    7140             :      530,   531,   532,     0,   533,   534,   535,   536,   537,   538,
    7141             :      539,   540,  1330,   542,   543,   544,   545,   546,   547,   548,
    7142             :      549,   550,   551,     0,   552,   553,   554,   555,   556,  1331,
    7143             :      557,   558,   559,   560,   561,   562,   563,   564,  1332,   566,
    7144             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
    7145             :      576,   577,   578,   579,   580,   581,   582,  1333,   584,     0,
    7146             :      585,   586,  1334,     0,   587,   588,   589,   590,   591,   592,
    7147             :      593,   594,     0,   595,  1335,  1336,     0,     0,   598,   599,
    7148             :     1337,   601,  1338,  1339,   603,   604,   605,   606,   607,   608,
    7149             :      609,   610,   611,     0,  1340,   612,   613,   614,   615,   616,
    7150             :     1341,     0,   617,   618,   619,   620,   621,   622,  1342,     0,
    7151             :      624,   625,   626,   627,   628,   629,     0,     0,   630,     0,
    7152             :        0,   631,   632,   633,   634,   635,   636,   637,  1343,  1344,
    7153             :     1345,  1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,
    7154             :      650,     0,  1351,     0,     0,     0,     0,     0,   658,     0,
    7155             :        0,     0,     0,     0,  1352,  1353,     0,     0,     0,     0,
    7156             :        0,     0,     0,  1355,  4813,   235,   236,   237,   238,   239,
    7157             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
    7158             :        0,     0,     0,  4250,     0,   247,   248,   249,     0,   250,
    7159             :      251,   252,   253,     0,   255,   256,   257,   258,   259,     0,
    7160             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
    7161             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
    7162             :      277,   278,   279,     0,     0,     0,   281,   282,   283,   284,
    7163             :      285,   286,     0,   288,   289,   290,   291,     0,   292,   293,
    7164             :      294,   295,   296,   297,     0, -1844,   299,   300,   301,     0,
    7165             :        0,     0,     0,     0,     0,     0,   303,   304,   305,   306,
    7166             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
    7167             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
    7168             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
    7169             :      331,   332,     0,   333,   334,   335,   336,     0,   337,   338,
    7170             :      339,   340,   341,   342,   343,   344,   345,   346,     0,   347,
    7171             :        0,   348,   349,   350,   351,   352,     0,   353,     0,   354,
    7172             :      355,     0,     0, -1844,   358,   359,   360,   361,     0,   362,
    7173             :      363,     0,   364,   365,   366,     0,   367,   368,   369,   370,
    7174             :      371,     0,   373,   374,   375,   376,     0,   377,   378,   379,
    7175             :      380,   381,   382,   383,   384,     0,   385, -1844,   387,   388,
    7176             :      389,   390,   391,   392,   393,     0,   394,     0,   395,     0,
    7177             :        0,   398, -1844,   400,   401,   402,   403,   404,   405,   406,
    7178             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
    7179             :      417,     0,     0,   418,   419, -1844,   421,     0,     0,   423,
    7180             :      424,   425,     0,     0,   426,   427,   428,   429,   430,   431,
    7181             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
    7182             :      442,   443,   444,   445, -1844,   447,   448,   449,   450,   451,
    7183             :      452,   453,   454,   455,   456,   457,   458,     0,   459,   460,
    7184             :        0,   462,     0,   463,   464,   465,   466,   467,   468,     0,
    7185             :      469,   470,   471,     0,     0,   472,   473,   474,     0,     0,
    7186             :      475,   476,   477,     0,   479,     0,   481,   482,   483,   484,
    7187             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
    7188             :        0,   495,   496,   497,   498,   499,   500,   501,   502,   503,
    7189             :        0,   504,   505,   506,   507,   508,   509,   510,   511,   512,
    7190             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
    7191             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
    7192             :      532,     0,   533,   534, -1844,   536,   537,   538,   539,   540,
    7193             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
    7194             :      551,     0,   552,   553,   554,   555,   556,     0,   557,   558,
    7195             :      559,   560,   561,     0,   563,   564,   565,   566,     0,   567,
    7196             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
    7197             :      578,   579,   580,   581,   582,   583,   584,     0,   585,   586,
    7198             :        0,     0,   587,     0,   589,   590,   591,   592,   593,   594,
    7199             :        0,   595,   596,   597,     0,     0,   598,   599,   600,   601,
    7200             :      602,     0,   603,   604,   605,   606,   607,   608,   609,   610,
    7201             :      611,     0,     0,   612,   613,   614,   615,   616,     0,     0,
    7202             :      617,   618,   619,   620,   621,   622,   623,     0,   624,     0,
    7203             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
    7204             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
    7205             :      642,   643,   644,   645,   646,   647,   648,   649,   650,     0,
    7206             :        0,     0,     0,     0,     0,     0,   879,     0,     0,     0,
    7207             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    7208             :        0,     0,  1467,   235,   236,   237,   238,   239,   240,   241,
    7209             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
    7210             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
    7211             :      253,   254,   255,   256,   257,     0,   880,   260,   881,   882,
    7212             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
    7213             :      270,   271,   883,   884,   274,     0,   275,   276,   277,   278,
    7214             :        0,     0,   280,     0,   281,   282,   283,   284,   285,   286,
    7215             :      287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
    7216             :      296,   297,     0,   298,   299,   300,   301,     0,     0,     0,
    7217             :      302,     0,     0,     0,   303,   304,   305,   306,   307,   308,
    7218             :      885,   886,   311,     0,   312,     0,   313,   314,   315,   316,
    7219             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
    7220             :      324,   325,   887,   327,   328,     0,   329,   330,   331,   332,
    7221             :        0,   333,   334,   335,   336,     0,   337,   338,   339,   340,
    7222             :        0,   342,   343,   344,   345,     0,     0,   347,     0,   348,
    7223             :      349,   350,   888,   352,     0,   353,     0,   354,   355,   356,
    7224             :        0,   357,   358,   359,   360,   361,     0,   362,     0,     0,
    7225             :        0,   365,   366,     0,   367,   368,   369,   370,   371,   372,
    7226             :      373,   374,   375,   376,  2731,   377,   378,   379,   380,   381,
    7227             :      382,   383,   384,     0,   385,   386,  2732,   388,   389,   390,
    7228             :      391,   889,   890,     0,   891,     0,   395,   396,   397,   398,
    7229             :      399,   892,     0,     0,     0,     0,     0,     0,     0,     0,
    7230             :        0,     0,   411,   412,   413,   414,   415,   416,   417,     0,
    7231             :        0,   418,     0,   420,   421,   422,     0,   423,   424,   425,
    7232             :        0,     0,   426,   427,   428,   429,   430,   431,   432,   433,
    7233             :      434,   435,     0,   437,   438,   439,   440,   441,   442,   443,
    7234             :      444,   893,   446,   894,   448,   449,   450,   451,   452,   453,
    7235             :      454,   455,     0,     0,   458,     0,   459,   460,   461,   462,
    7236             :        0,     0,   464,   895,   466,   467,   468,     0,   469,   470,
    7237             :      471,     0,     0,   472,   473,   474,     0,     0,   475,   476,
    7238             :     2734,   478,   479,   480,     0,   482,   483,   484,   485,   486,
    7239             :      487,   488,   489,   490,   491,   492,   493,   494,     0,   495,
    7240             :      496,   497,     0,   499,     0,   501,   502,   503,     0,   504,
    7241             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
    7242             :      896,   516,   517,   518,   519,     0,   520,   521,   522,   523,
    7243             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
    7244             :      533,   534,   535,   536,   537,   538,   539,   540,     0,   542,
    7245             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
    7246             :      552,   553,   554,   555,   556,     0,   557,   558,  2735,   560,
    7247             :      561,   562,   563,   564,   898,   566,     0,   567,   568,   569,
    7248             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
    7249             :      580,   581,   582,     0,   584,     0,   585,   586,     0,     0,
    7250             :      587,   588,   589,   590,   591,   592,   593,   594,     0,   595,
    7251             :      899,   900,     0,     0,   598,   599,     0,   601,     0,     0,
    7252             :      603,   604,   605,   606,   607,   608,   609,   610,   611,     0,
    7253             :        0,   612,   613,   614,   615,   616,     0,     0,   617,   618,
    7254             :      619,   620,   621,     0,   901,  2736,   624,   625,   626,   627,
    7255             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
    7256             :      634,   635,   636,     0,   879,     0,     0,     0,     0,     0,
    7257             :        0,     0,     0,     0,   648,   649,   650,     0,     0,     0,
    7258             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    7259             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
    7260             :     2829,   247,   248,   249,     0,   250,   251,   252,   253,   254,
    7261             :      255,   256,   257,     0,   880,   260,   881,   882,     0,   263,
    7262             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
    7263             :      883,   884,   274,     0,   275,   276,   277,   278,     0,     0,
    7264             :      280,     0,   281,   282,   283,   284,   285,   286,   287,   288,
    7265             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    7266             :        0,   298,   299,   300,   301,     0,     0,     0,   302,     0,
    7267             :        0,     0,   303,   304,   305,   306,   307,   308,   885,   886,
    7268             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
    7269             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    7270             :      887,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    7271             :      334,   335,   336,     0,   337,   338,   339,   340,     0,   342,
    7272             :      343,   344,   345,     0,     0,   347,     0,   348,   349,   350,
    7273             :      888,   352,     0,   353,     0,   354,   355,   356,     0,   357,
    7274             :      358,   359,   360,   361,     0,   362,     0,     0,     0,   365,
    7275             :      366,     0,   367,   368,   369,   370,   371,   372,   373,   374,
    7276             :      375,   376,  2731,   377,   378,   379,   380,   381,   382,   383,
    7277             :      384,     0,   385,   386,  2732,   388,   389,   390,   391,   889,
    7278             :      890,     0,   891,     0,   395,   396,   397,   398,   399,   892,
    7279             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    7280             :      411,   412,   413,   414,   415,   416,   417,     0,     0,   418,
    7281             :        0,   420,   421,   422,     0,   423,   424,   425,     0,     0,
    7282             :      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    7283             :        0,   437,   438,   439,   440,   441,   442,   443,   444,   893,
    7284             :      446,   894,   448,   449,   450,   451,   452,   453,   454,   455,
    7285             :        0,     0,   458,     0,   459,   460,   461,   462,     0,     0,
    7286             :      464,   895,   466,   467,   468,     0,   469,   470,   471,     0,
    7287             :        0,   472,   473,   474,     0,     0,   475,   476,  2734,   478,
    7288             :      479,   480,     0,   482,   483,   484,   485,   486,   487,   488,
    7289             :      489,   490,   491,   492,   493,   494,     0,   495,   496,   497,
    7290             :        0,   499,     0,   501,   502,   503,     0,   504,   505,   506,
    7291             :      507,   508,   509,   510,   511,   512,   513,   514,   896,   516,
    7292             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    7293             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    7294             :      535,   536,   537,   538,   539,   540,     0,   542,   543,   544,
    7295             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
    7296             :      554,   555,   556,     0,   557,   558,  2735,   560,   561,   562,
    7297             :      563,   564,   898,   566,     0,   567,   568,   569,   570,   571,
    7298             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    7299             :      582,     0,   584,     0,   585,   586,     0,     0,   587,   588,
    7300             :      589,   590,   591,   592,   593,   594,     0,   595,   899,   900,
    7301             :        0,     0,   598,   599,     0,   601,     0,     0,   603,   604,
    7302             :      605,   606,   607,   608,   609,   610,   611,     0,     0,   612,
    7303             :      613,   614,   615,   616,     0,     0,   617,   618,   619,   620,
    7304             :      621,     0,   901,  2736,   624,   625,   626,   627,   628,   629,
    7305             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
    7306             :      636,     0,   234,     0,  1271,   717,     0,  1272,  1273,  1274,
    7307             :      778,  1275,   648,   649,   650,     0,     0,     0,     0,   235,
    7308             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
    7309             :      245,   246,     0,     0,     0,     0,  1276,     0,  3966,   247,
    7310             :      248,   249,     0,   250,   251,   252,   253,   254,   255,   256,
    7311             :      257,   258,  1277,   260,  1278,  1279,     0,   263,   264,   265,
    7312             :      266,   267,   268,   269,  1280,  1281,   270,   271,  1282,  1283,
    7313             :      274,     0,   275,   276,   277,   278,  1284,     0,  1285,     0,
    7314             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
    7315             :      291,     0,   292,   293,   294,   295,   296,   297,     0,   298,
    7316             :      299,   300,   301,  1286,  1287,  1288,  1289,  1290,  1291,  1292,
    7317             :      303,   304,   305,   306,   307,   308,  1293,  1294,   311,  1295,
    7318             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
    7319             :      320,   321,   322,   323,     0,     0,   324,   325,   887,   327,
    7320             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
    7321             :      336,     0,   337,   338,   339,   340,  1296,   342,   343,   344,
    7322             :      345,  1297,  1298,   347,     0,   348,   349,   350,  1299,   352,
    7323             :        0,   353,     0,   354,   355,   356,     0,   357,   358,   359,
    7324             :      360,   361,     0,   362,  1300,     0,  1301,   365,   366,     0,
    7325             :      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
    7326             :        0,   377,   378,   379,   380,   381,   382,   383,   384,     0,
    7327             :      385,   386,   387,   388,   389,   390,   391,  1302,  1303,     0,
    7328             :     1304,     0,   395,   396,   397,   398,   399,  1305,  1306,  1307,
    7329             :     1308,  1309,  1310,  1311,  1312,  1313,   409,  1314,   411,   412,
    7330             :      413,   414,   415,   416,   417,     0,     0,   418,  1315,   420,
    7331             :      421,   422,     0,   423,   424,   425,  1316,  1317,   426,   427,
    7332             :      428,   429,   430,   431,   432,   433,   434,   435,  1318,   437,
    7333             :      438,   439,   440,   441,   442,   443,   444,  1319,   446,  1320,
    7334             :      448,   449,   450,   451,   452,   453,   454,   455,   456,  1321,
    7335             :      458,  1322,   459,   460,   461,   462,  1323,  1324,   464,  1325,
    7336             :      466,   467,   468,     0,   469,   470,   471,     0,     0,  1326,
    7337             :      473,   474,     0,     0,   475,   476,   477,   478,   479,   480,
    7338             :     1327,   482,   483,   484,   485,   486,   487,   488,   489,   490,
    7339             :      491,   492,   493,   494,     0,   495,   496,   497,  1328,   499,
    7340             :      500,   501,   502,   503,     0,   504,   505,   506,   507,   508,
    7341             :      509,   510,   511,   512,   513,   514,  1329,   516,   517,   518,
    7342             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
    7343             :      528,   529,   530,   531,   532,  3290,   533,   534,   535,   536,
    7344             :      537,   538,   539,   540,  1330,   542,   543,   544,   545,   546,
    7345             :      547,   548,   549,   550,   551,    40,   552,   553,   554,   555,
    7346             :      556,  1331,   557,   558,   559,   560,   561,   562,   563,   564,
    7347             :     1332,   566,     0,   567,   568,   569,   570,   571,   572,   573,
    7348             :      574,   575,   576,   577,   578,   579,   580,   581,   582,  1333,
    7349             :      584,     0,   585,   586,  1334,    44,   587,   588,   589,   590,
    7350             :      591,   592,   593,   594,     0,   595,  1335,  1336,     0,     0,
    7351             :      598,   599,  1337,   601,  1338,  1339,   603,   604,   605,   606,
    7352             :      607,   608,   609,   610,   611,     0,  1340,   612,   613,   614,
    7353             :      615,   616,  1341,     0,   617,   618,   619,   620,   621,  1206,
    7354             :     1342,     0,   624,   625,   626,   627,   628,   629,     0,     0,
    7355             :      630,     0,    49,   631,   632,   633,   634,   635,   636,   637,
    7356             :     1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,  1350,   647,
    7357             :      648,   649,   650,     0,  1351,     0,    50,     0,     0,     0,
    7358             :        0,     0,     0,     0,     0,     0,  1352,  1353,     0,     0,
    7359             :        0,   234,     0,  1271,   717,  1355,  1272,  1273,  1274,   778,
    7360             :     1275,     0,     0,     0,     0,     0,     0,     0,   235,   236,
    7361             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
    7362             :      246,     0,     0,     0,     0,  1276,     0,     0,   247,   248,
    7363             :      249,     0,   250,   251,   252,   253,   254,   255,   256,   257,
    7364             :      258,  1277,   260,  1278,  1279,     0,   263,   264,   265,   266,
    7365             :      267,   268,   269,  1280,  1281,   270,   271,  1282,  1283,   274,
    7366             :        0,   275,   276,   277,   278,  1284,     0,  1285,     0,   281,
    7367             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
    7368             :        0,   292,   293,   294,   295,   296,   297,     0,   298,   299,
    7369             :      300,   301,  1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,
    7370             :      304,   305,   306,   307,   308,  1293,  1294,   311,  1295,   312,
    7371             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
    7372             :      321,   322,   323,     0,     0,   324,   325,   887,   327,   328,
    7373             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
    7374             :        0,   337,   338,   339,   340,  1296,   342,   343,   344,   345,
    7375             :     1297,  1298,   347,     0,   348,   349,   350,  1299,   352,     0,
    7376             :      353,     0,   354,   355,   356,     0,   357,   358,   359,   360,
    7377             :      361,     0,   362,  1300,     0,  1301,   365,   366,     0,   367,
    7378             :      368,   369,   370,   371,   372,   373,   374,   375,   376,     0,
    7379             :      377,   378,   379,   380,   381,   382,   383,   384,     0,   385,
    7380             :      386,   387,   388,   389,   390,   391,  1302,  1303,     0,  1304,
    7381             :        0,   395,   396,   397,   398,   399,  1305,  1306,  1307,  1308,
    7382             :     1309,  1310,  1311,  1312,  1313,   409,  1314,   411,   412,   413,
    7383             :      414,   415,   416,   417,     0,     0,   418,  1315,   420,   421,
    7384             :      422,     0,   423,   424,   425,  1316,  1317,   426,   427,   428,
    7385             :      429,   430,   431,   432,   433,   434,   435,  1318,   437,   438,
    7386             :      439,   440,   441,   442,   443,   444,  1319,   446,  1320,   448,
    7387             :      449,   450,   451,   452,   453,   454,   455,   456,  1321,   458,
    7388             :     1322,   459,   460,   461,   462,  1323,  1324,   464,  1325,   466,
    7389             :      467,   468,     0,   469,   470,   471,     0,     0,  1326,   473,
    7390             :      474,     0,     0,   475,   476,   477,   478,   479,   480,  1327,
    7391             :      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
    7392             :      492,   493,   494,     0,   495,   496,   497,  1328,   499,   500,
    7393             :      501,   502,   503,     0,   504,   505,   506,   507,   508,   509,
    7394             :      510,   511,   512,   513,   514,  1329,   516,   517,   518,   519,
    7395             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
    7396             :      529,   530,   531,   532,     0,   533,   534,   535,   536,   537,
    7397             :      538,   539,   540,  1330,   542,   543,   544,   545,   546,   547,
    7398             :      548,   549,   550,   551,    40,   552,   553,   554,   555,   556,
    7399             :     1331,   557,   558,   559,   560,   561,   562,   563,   564,  1332,
    7400             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
    7401             :      575,   576,   577,   578,   579,   580,   581,   582,  1333,   584,
    7402             :        0,   585,   586,  1334,    44,   587,   588,   589,   590,   591,
    7403             :      592,   593,   594,     0,   595,  1335,  1336,     0,     0,   598,
    7404             :      599,  1337,   601,  1338,  1339,   603,   604,   605,   606,   607,
    7405             :      608,   609,   610,   611,     0,  1340,   612,   613,   614,   615,
    7406             :      616,  1341,     0,   617,   618,   619,   620,   621,  1206,  1342,
    7407             :        0,   624,   625,   626,   627,   628,   629,     0,     0,   630,
    7408             :        0,    49,   631,   632,   633,   634,   635,   636,   637,  1343,
    7409             :     1344,  1345,  1346,   642,  1347,  1348,  1349,  1350,   647,   648,
    7410             :      649,   650,     0,  1351,     0,    50,     0,     0,     0,     0,
    7411             :        0,     0,     0,     0,     0,  1352,  1353,     0,     0,     0,
    7412             :      234,     0,  1271,   717,  1355,  1272,  1273,  1274,   778,  1275,
    7413             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
    7414             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
    7415             :        0,     0,     0,     0,  1276,     0,     0,   247,   248,   249,
    7416             :        0,   250,   251,   252,   253,   254,   255,   256,   257,   258,
    7417             :     1277,   260,  1278,  1279,  3335,   263,   264,   265,   266,   267,
    7418             :      268,   269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,
    7419             :      275,   276,   277,   278,  1284,     0,  1285,     0,   281,   282,
    7420             :      283,   284,   285,   286,   287,   288,   289,   290,   291,     0,
    7421             :      292,   293,   294,   295,   296,   297,     0,   298,   299,   300,
    7422             :      301,  1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,
    7423             :      305,   306,   307,   308,  1293,  1294,   311,  1295,   312,     0,
    7424             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
    7425             :      322,   323,     0,     0,   324,   325,   887,   327,   328,     0,
    7426             :      329,   330,   331,   332,     0,   333,   334,   335,   336,     0,
    7427             :      337,   338,   339,   340,  1296,   342,   343,   344,   345,  1297,
    7428             :     1298,   347,     0,   348,   349,   350,  1299,   352,     0,   353,
    7429             :        0,   354,   355,   356,  3336,   357,   358,   359,   360,   361,
    7430             :        0,   362,  1300,     0,  1301,   365,   366,     0,   367,   368,
    7431             :      369,   370,   371,   372,   373,   374,   375,   376,     0,   377,
    7432             :      378,   379,   380,   381,   382,   383,   384,     0,   385,   386,
    7433             :      387,   388,   389,   390,   391,  1302,  1303,     0,  1304,     0,
    7434             :      395,   396,   397,   398,   399,  1305,  1306,  1307,  1308,  1309,
    7435             :     1310,  1311,  1312,  1313,   409,  1314,   411,   412,   413,   414,
    7436             :      415,   416,   417,     0,  3337,   418,  1315,   420,   421,   422,
    7437             :        0,   423,   424,   425,  1316,  1317,   426,   427,   428,   429,
    7438             :      430,   431,   432,   433,   434,   435,  1318,   437,   438,   439,
    7439             :      440,   441,   442,   443,   444,  1319,   446,  1320,   448,   449,
    7440             :      450,   451,   452,   453,   454,   455,   456,  1321,   458,  1322,
    7441             :      459,   460,   461,   462,  1323,  1324,   464,  1325,   466,   467,
    7442             :      468,     0,   469,   470,   471,     0,     0,  1326,   473,   474,
    7443             :        0,     0,   475,   476,   477,   478,   479,   480,  1327,   482,
    7444             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
    7445             :      493,   494,     0,   495,   496,   497,  1328,   499,   500,   501,
    7446             :      502,   503,     0,   504,   505,   506,   507,   508,   509,   510,
    7447             :      511,   512,   513,   514,  1329,   516,   517,   518,   519,     0,
    7448             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
    7449             :      530,   531,   532,     0,   533,   534,   535,   536,   537,   538,
    7450             :      539,   540,  1330,   542,   543,   544,   545,   546,   547,   548,
    7451             :      549,   550,   551,     0,   552,   553,   554,   555,   556,  1331,
    7452             :      557,   558,   559,   560,   561,   562,   563,   564,  1332,   566,
    7453             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
    7454             :      576,   577,   578,   579,   580,   581,   582,  1333,   584,     0,
    7455             :      585,   586,  1334,     0,   587,   588,   589,   590,   591,   592,
    7456             :      593,   594,     0,   595,  1335,  1336,     0,  3338,   598,   599,
    7457             :     1337,   601,  1338,  1339,   603,   604,   605,   606,   607,   608,
    7458             :      609,   610,   611,     0,  1340,   612,   613,   614,   615,   616,
    7459             :     1341,     0,   617,   618,   619,   620,   621,   622,  1342,     0,
    7460             :      624,   625,   626,   627,   628,   629,     0,     0,   630,     0,
    7461             :        0,   631,   632,   633,   634,   635,   636,   637,  1343,  1344,
    7462             :     1345,  1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,
    7463             :      650,     0,  1351,     0,     0,     0,     0,     0,     0,     0,
    7464             :        0,     0,     0,     0,  1352,  1353,     0,     0,     0,   234,
    7465             :        0,  1271,   717,  1355,  1272,  1273,  1274,   778,  1275,     0,
    7466             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
    7467             :      239,   240,   241,   242,   243, -2275,   244,   245,   246,     0,
    7468             :        0,     0, -2275,  1276,     0,     0,   247,   248,   249,     0,
    7469             :      250,   251,   252,   253,   254,   255,   256,   257,   258,  1277,
    7470             :      260,  1278,  1279,     0,   263,   264,   265,   266,   267,   268,
    7471             :      269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,   275,
    7472             :      276,   277,   278,  1284,     0,  1285,     0,   281,   282,   283,
    7473             :      284,   285,   286,   287,   288,   289,   290,   291,     0,   292,
    7474             :      293,   294,   295,   296,   297,     0,   298,   299,   300,   301,
    7475             :     1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,   305,
    7476             :      306,   307,   308,  1293,  1294,   311,  1295,   312,     0,   313,
    7477             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
    7478             :      323,     0,     0,   324,   325,   887,   327,   328,     0,   329,
    7479             :      330,   331,   332,     0,   333,   334,   335,   336,     0,   337,
    7480             :      338,   339,   340,  1296,   342,   343,   344,   345,  1297,  1298,
    7481             :      347,     0,   348,   349,   350,  1299,   352,     0,   353,     0,
    7482             :      354,   355,   356,     0,   357,   358,   359,   360,   361,     0,
    7483             :      362,  1300,     0,  1301,   365,   366,     0,   367,   368,   369,
    7484             :      370,   371,   372,   373,   374,   375,   376,     0,   377,   378,
    7485             :      379,   380,   381,   382,   383,   384,     0,   385,   386,   387,
    7486             :      388,   389,   390,   391,  1302,  1303,     0,  1304,     0,   395,
    7487             :      396,   397,   398,   399,  1305,  1306,  1307,  1308,  1309,  1310,
    7488             :     1311,  1312,  1313,   409,  1314,   411,   412,   413,   414,   415,
    7489             :      416,   417,     0,     0,   418,  1315,   420,   421,   422,     0,
    7490             :      423,   424,   425,  1316,  1317,   426,   427,   428,   429,   430,
    7491             :      431,   432,   433,   434,   435,  1318,   437,   438,   439,   440,
    7492             :      441,   442,   443,   444,  1319,   446,  1320,   448,   449,   450,
    7493             :      451,   452,   453,   454,   455,   456,  1321,   458,  1322,   459,
    7494             :      460,   461,   462,  1323,  1324,   464,  1325,   466,   467,   468,
    7495             :        0,   469,   470,   471,     0,     0,  1326,   473,   474,     0,
    7496             :        0,   475,   476,   477,   478,   479,   480,  1327,   482,   483,
    7497             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
    7498             :      494,     0,   495,   496,   497,  1328,   499,   500,   501,   502,
    7499             :      503,     0,   504,   505,   506,   507,   508,   509,   510,   511,
    7500             :      512,   513,   514,  1329,   516,   517,   518,   519,     0,   520,
    7501             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
    7502             :      531,   532,     0,   533,   534,   535,   536,   537,   538,   539,
    7503             :      540,  1330,   542,   543,   544,   545,   546,   547,   548,   549,
    7504             :      550,   551,     0,   552,   553,   554,   555,   556,  1331,   557,
    7505             :      558,   559,   560,   561,   562,   563,   564,  1332,   566, -2275,
    7506             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
    7507             :      577,   578,   579,   580,   581,   582,  1333,   584,     0,   585,
    7508             :      586,  1334,     0,   587,   588,   589,   590,   591,   592,   593,
    7509             :      594,     0,   595,  1335,  1336,     0,     0,   598,   599,  1337,
    7510             :      601,  1338,  1339,   603,   604,   605,   606,   607,   608,   609,
    7511             :      610,   611,     0,  1340,   612,   613,   614,   615,   616,  1341,
    7512             :        0,   617,   618,   619,   620,   621,   622,  1342,     0,   624,
    7513             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
    7514             :      631,   632,   633,   634,   635,   636,   637,  1343,  1344,  1345,
    7515             :     1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,   650,
    7516             :        0,  1351,     0,     0,     0,     0,     0,     0,     0,     0,
    7517             :        0,     0,     0,  1352,  1353,     0,     0,     0,   234,     0,
    7518             :     1271,   717,  1355,  1272,  1273,  1274,   778,  1275,     0,     0,
    7519             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
    7520             :      240,   241,   242,   243, -2273,   244,   245,   246,     0,     0,
    7521             :        0, -2273,  1276,     0,     0,   247,   248,   249,     0,   250,
    7522             :      251,   252,   253,   254,   255,   256,   257,   258,  1277,   260,
    7523             :     1278,  1279,     0,   263,   264,   265,   266,   267,   268,   269,
    7524             :     1280,  1281,   270,   271,  1282,  1283,   274,     0,   275,   276,
    7525             :      277,   278,  1284,     0,  1285,     0,   281,   282,   283,   284,
    7526             :      285,   286,   287,   288,   289,   290,   291,     0,   292,   293,
    7527             :      294,   295,   296,   297,     0,   298,   299,   300,   301,  1286,
    7528             :     1287,  1288,  1289,  1290,  1291,  1292,   303,   304,   305,   306,
    7529             :      307,   308,  1293,  1294,   311,  1295,   312,     0,   313,   314,
    7530             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
    7531             :        0,     0,   324,   325,   887,   327,   328,     0,   329,   330,
    7532             :      331,   332,     0,   333,   334,   335,   336,     0,   337,   338,
    7533             :      339,   340,  1296,   342,   343,   344,   345,  1297,  1298,   347,
    7534             :        0,   348,   349,   350,  1299,   352,     0,   353,     0,   354,
    7535             :      355,   356,     0,   357,   358,   359,   360,   361,     0,   362,
    7536             :     1300,     0,  1301,   365,   366,     0,   367,   368,   369,   370,
    7537             :      371,   372,   373,   374,   375,   376,     0,   377,   378,   379,
    7538             :      380,   381,   382,   383,   384,     0,   385,   386,   387,   388,
    7539             :      389,   390,   391,  1302,  1303,     0,  1304,     0,   395,   396,
    7540             :      397,   398,   399,  1305,  1306,  1307,  1308,  1309,  1310,  1311,
    7541             :     1312,  1313,   409,  1314,   411,   412,   413,   414,   415,   416,
    7542             :      417,     0,     0,   418,  1315,   420,   421,   422,     0,   423,
    7543             :      424,   425,  1316,  1317,   426,   427,   428,   429,   430,   431,
    7544             :      432,   433,   434,   435,  1318,   437,   438,   439,   440,   441,
    7545             :      442,   443,   444,  1319,   446,  1320,   448,   449,   450,   451,
    7546             :      452,   453,   454,   455,   456,  1321,   458,  1322,   459,   460,
    7547             :      461,   462,  1323,  1324,   464,  1325,   466,   467,   468,     0,
    7548             :      469,   470,   471,     0,     0,  1326,   473,   474,     0,     0,
    7549             :      475,   476,   477,   478,   479,   480,  1327,   482,   483,   484,
    7550             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
    7551             :        0,   495,   496,   497,  1328,   499,   500,   501,   502,   503,
    7552             :        0,   504,   505,   506,   507,   508,   509,   510,   511,   512,
    7553             :      513,   514,  1329,   516,   517,   518,   519,     0,   520,   521,
    7554             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
    7555             :      532,     0,   533,   534,   535,   536,   537,   538,   539,   540,
    7556             :     1330,   542,   543,   544,   545,   546,   547,   548,   549,   550,
    7557             :      551,     0,   552,   553,   554,   555,   556,  1331,   557,   558,
    7558             :      559,   560,   561,   562,   563,   564,  1332,   566, -2273,   567,
    7559             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
    7560             :      578,   579,   580,   581,   582,  1333,   584,     0,   585,   586,
    7561             :     1334,     0,   587,   588,   589,   590,   591,   592,   593,   594,
    7562             :        0,   595,  1335,  1336,     0,     0,   598,   599,  1337,   601,
    7563             :     1338,  1339,   603,   604,   605,   606,   607,   608,   609,   610,
    7564             :      611,     0,  1340,   612,   613,   614,   615,   616,  1341,     0,
    7565             :      617,   618,   619,   620,   621,   622,  1342,     0,   624,   625,
    7566             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
    7567             :      632,   633,   634,   635,   636,   637,  1343,  1344,  1345,  1346,
    7568             :      642,  1347,  1348,  1349,  1350,   647,   648,   649,   650,     0,
    7569             :     1351,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    7570             :        0,     0,  1352,  1353,     0,     0,     0,   234,     0,  1271,
    7571             :      717,  1355,  1272,  1273,  1274,   778,  1275,     0,     0,     0,
    7572             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
    7573             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
    7574             :        0,  1276,     0,     0,   247,   248,   249,     0,   250,   251,
    7575             :      252,   253,   254,   255,   256,   257,   258,  1277,   260,  1278,
    7576             :     1279,     0,   263,   264,   265,   266,   267,   268,   269,  1280,
    7577             :     1281,   270,   271,  1282,  1283,   274,     0,   275,   276,   277,
    7578             :      278,  1284,     0,  1285,     0,   281,   282,   283,   284,   285,
    7579             :      286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
    7580             :      295,   296,   297,     0,   298,   299,   300,   301,  1286,  1287,
    7581             :     1288,  1289,  1290,  1291,  1292,   303,   304,   305,   306,   307,
    7582             :      308,  1293,  1294,   311,  1295,   312,     0,   313,   314,   315,
    7583             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
    7584             :        0,   324,   325,   887,   327,   328,     0,   329,   330,   331,
    7585             :      332,     0,   333,   334,   335,   336,     0,   337,   338,   339,
    7586             :      340,  1296,   342,   343,   344,   345,  1297,  1298,   347,     0,
    7587             :      348,   349,   350,  1299,   352,     0,   353,     0,   354,   355,
    7588             :      356,     0,   357,   358,   359,   360,   361,     0,   362,  1300,
    7589             :        0,  1301,   365,   366,     0,   367,   368,   369,   370,   371,
    7590             :      372,   373,   374,   375,   376,     0,   377,   378,   379,   380,
    7591             :      381,   382,   383,   384,     0,   385,   386,   387,   388,   389,
    7592             :      390,   391,  1302,  1303,     0,  1304,     0,   395,   396,   397,
    7593             :      398,   399,  1305,  1306,  1307,  1308,  1309,  1310,  1311,  1312,
    7594             :     1313,   409,  1314,   411,   412,   413,   414,   415,   416,   417,
    7595             :        0,     0,   418,  1315,   420,   421,   422,     0,   423,   424,
    7596             :      425,  1316,  1317,   426,   427,   428,   429,   430,   431,   432,
    7597             :      433,   434,   435,  1318,   437,   438,   439,   440,   441,   442,
    7598             :      443,   444,  1319,   446,  1320,   448,   449,   450,   451,   452,
    7599             :      453,   454,   455,   456,  1321,   458,  1322,   459,   460,   461,
    7600             :      462,  1323,  1324,   464,  1325,   466,   467,   468,     0,   469,
    7601             :      470,   471,     0,     0,  1326,   473,   474,     0,     0,   475,
    7602             :      476,   477,   478,   479,   480,  1327,   482,   483,   484,   485,
    7603             :      486,   487,   488,   489,   490,   491,   492,   493,   494,     0,
    7604             :      495,   496,   497,  1328,   499,   500,   501,   502,   503,     0,
    7605             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
    7606             :      514,  1329,   516,   517,   518,   519,     0,   520,   521,   522,
    7607             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
    7608             :        0,   533,   534,   535,   536,   537,   538,   539,   540,  1330,
    7609             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
    7610             :        0,   552,   553,   554,   555,   556,  1331,   557,   558,   559,
    7611             :      560,   561,   562,   563,   564,  1332,   566,     0,   567,   568,
    7612             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
    7613             :      579,   580,   581,   582,  1333,   584,     0,   585,   586,  1334,
    7614             :        0,   587,   588,   589,   590,   591,   592,   593,   594,     0,
    7615             :      595,  1335,  1336,     0,     0,   598,   599,  1337,   601,  1338,
    7616             :     1339,   603,   604,   605,   606,   607,   608,   609,   610,   611,
    7617             :        0,  1340,   612,   613,   614,   615,   616,  1341,     0,   617,
    7618             :      618,   619,   620,   621,   622,  1342,     0,   624,   625,   626,
    7619             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
    7620             :      633,   634,   635,   636,   637,  1343,  1344,  1345,  1346,   642,
    7621             :     1347,  1348,  1349,  1350,   647,   648,   649,   650,     0,  1351,
    7622             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    7623             :        0,  1352,  1353,     0,     0,     0,     0,     0,  2052,  3264,
    7624             :     1355,   234,     0,  1271,   717,     0,  1272,  1273,  1274,   778,
    7625             :     1275,     0,     0,     0,     0,     0,     0,     0,   235,   236,
    7626             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
    7627             :      246,     0,     0,     0,     0,  1276,     0,     0,   247,   248,
    7628             :      249,     0,   250,   251,   252,   253,   254,   255,   256,   257,
    7629             :      258,  1277,   260,  1278,  1279,     0,   263,   264,   265,   266,
    7630             :      267,   268,   269,  1280,  1281,   270,   271,  1282,  1283,   274,
    7631             :        0,   275,   276,   277,   278,  1284,     0,  1285,     0,   281,
    7632             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
    7633             :        0,   292,   293,   294,   295,   296,   297,     0,   298,   299,
    7634             :      300,   301,  1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,
    7635             :      304,   305,   306,   307,   308,  1293,  1294,   311,  1295,   312,
    7636             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
    7637             :      321,   322,   323,     0,     0,   324,   325,   887,   327,   328,
    7638             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
    7639             :        0,   337,   338,   339,   340,  1296,   342,   343,   344,   345,
    7640             :     1297,  1298,   347,     0,   348,   349,   350,  1299,   352,     0,
    7641             :      353,     0,   354,   355,   356,     0,   357,   358,   359,   360,
    7642             :      361,     0,   362,  1300,     0,  1301,   365,   366,     0,   367,
    7643             :      368,   369,   370,   371,   372,   373,   374,   375,   376,     0,
    7644             :      377,   378,   379,   380,   381,   382,   383,   384,     0,   385,
    7645             :      386,   387,   388,   389,   390,   391,  1302,  1303,     0,  1304,
    7646             :        0,   395,   396,   397,   398,   399,  1305,  1306,  1307,  1308,
    7647             :     1309,  1310,  1311,  1312,  1313,   409,  1314,   411,   412,   413,
    7648             :      414,   415,   416,   417,     0,     0,   418,  1315,   420,   421,
    7649             :      422,     0,   423,   424,   425,  1316,  1317,   426,   427,   428,
    7650             :      429,   430,   431,   432,   433,   434,   435,  1318,   437,   438,
    7651             :      439,   440,   441,   442,   443,   444,  1319,   446,  1320,   448,
    7652             :      449,   450,   451,   452,   453,   454,   455,   456,  1321,   458,
    7653             :     1322,   459,   460,   461,   462,  1323,  1324,   464,  1325,   466,
    7654             :      467,   468,     0,   469,   470,   471,     0,     0,  1326,   473,
    7655             :      474,     0,     0,   475,   476,   477,   478,   479,   480,  1327,
    7656             :      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
    7657             :      492,   493,   494,     0,   495,   496,   497,  1328,   499,   500,
    7658             :      501,   502,   503,     0,   504,   505,   506,   507,   508,   509,
    7659             :      510,   511,   512,   513,   514,  1329,   516,   517,   518,   519,
    7660             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
    7661             :      529,   530,   531,   532,     0,   533,   534,   535,   536,   537,
    7662             :      538,   539,   540,  1330,   542,   543,   544,   545,   546,   547,
    7663             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
    7664             :     1331,   557,   558,   559,   560,   561,   562,   563,   564,  1332,
    7665             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
    7666             :      575,   576,   577,   578,   579,   580,   581,   582,  1333,   584,
    7667             :        0,   585,   586,  1334,     0,   587,   588,   589,   590,   591,
    7668             :      592,   593,   594,     0,   595,  1335,  1336,     0,     0,   598,
    7669             :      599,  1337,   601,  1338,  1339,   603,   604,   605,   606,   607,
    7670             :      608,   609,   610,   611,     0,  1340,   612,   613,   614,   615,
    7671             :      616,  1341,     0,   617,   618,   619,   620,   621,   622,  1342,
    7672             :        0,   624,   625,   626,   627,   628,   629,     0,     0,   630,
    7673             :        0,     0,   631,   632,   633,   634,   635,   636,   637,  1343,
    7674             :     1344,  1345,  1346,   642,  1347,  1348,  1349,  1350,   647,   648,
    7675             :      649,   650,     0,  1351,     0,     0,     0,     0,     0,     0,
    7676             :        0,     0,     0,     0,     0,  1352,  1353,  1354,     0,     0,
    7677             :      234,     0,  1271,   717,  1355,  1272,  1273,  1274,   778,  1275,
    7678             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
    7679             :      238,   239,   240,   241,   242,   243,  2698,   244,   245,   246,
    7680             :        0,     0,     0,     0,  1276,     0,     0,   247,   248,   249,
    7681             :        0,   250,   251,   252,   253,   254,   255,   256,   257,   258,
    7682             :     1277,   260,  1278,  1279,     0,   263,   264,   265,   266,   267,
    7683             :      268,   269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,
    7684             :      275,   276,   277,   278,  1284,     0,  1285,     0,   281,   282,
    7685             :      283,   284,   285,   286,   287,   288,   289,   290,   291,     0,
    7686             :      292,   293,   294,   295,   296,   297,     0,   298,   299,   300,
    7687             :      301,  1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,
    7688             :      305,   306,   307,   308,  1293,  1294,   311,  1295,   312,     0,
    7689             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
    7690             :      322,   323,     0,     0,   324,   325,   887,   327,   328,     0,
    7691             :      329,   330,   331,   332,     0,   333,   334,   335,   336,     0,
    7692             :      337,   338,   339,   340,  1296,   342,   343,   344,   345,  1297,
    7693             :     1298,   347,     0,   348,   349,   350,  1299,   352,     0,   353,
    7694             :        0,   354,   355,   356,     0,   357,   358,   359,   360,   361,
    7695             :        0,   362,  1300,     0,  1301,   365,   366,     0,   367,   368,
    7696             :      369,   370,   371,   372,   373,   374,   375,   376,     0,   377,
    7697             :      378,   379,   380,   381,   382,   383,   384,     0,   385,   386,
    7698             :      387,   388,   389,   390,   391,  1302,  1303,     0,  1304,     0,
    7699             :      395,   396,   397,   398,   399,  1305,  1306,  1307,  1308,  1309,
    7700             :     1310,  1311,  1312,  1313,   409,  1314,   411,   412,   413,   414,
    7701             :      415,   416,   417,     0,     0,   418,  1315,   420,   421,   422,
    7702             :        0,   423,   424,   425,  1316,  1317,   426,   427,   428,   429,
    7703             :      430,   431,   432,   433,   434,   435,  1318,   437,   438,   439,
    7704             :      440,   441,   442,   443,   444,  1319,   446,  1320,   448,   449,
    7705             :      450,   451,   452,   453,   454,   455,   456,  1321,   458,  1322,
    7706             :      459,   460,   461,   462,  1323,  1324,   464,  1325,   466,   467,
    7707             :      468,     0,   469,   470,   471,     0,     0,  1326,   473,   474,
    7708             :        0,     0,   475,   476,   477,   478,   479,   480,  1327,   482,
    7709             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
    7710             :      493,   494,     0,   495,   496,   497,  1328,   499,   500,   501,
    7711             :      502,   503,     0,   504,   505,   506,   507,   508,   509,   510,
    7712             :      511,   512,   513,   514,  1329,   516,   517,   518,   519,     0,
    7713             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
    7714             :      530,   531,   532,     0,   533,   534,   535,   536,   537,   538,
    7715             :      539,   540,  1330,   542,   543,   544,   545,   546,   547,   548,
    7716             :      549,   550,   551,     0,   552,   553,   554,   555,   556,  1331,
    7717             :      557,   558,   559,   560,   561,   562,   563,   564,  1332,   566,
    7718             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
    7719             :      576,   577,   578,   579,   580,   581,   582,  1333,   584,     0,
    7720             :      585,   586,  1334,     0,   587,   588,   589,   590,   591,   592,
    7721             :      593,   594,     0,   595,  1335,  1336,     0,     0,   598,   599,
    7722             :     1337,   601,  1338,  1339,   603,   604,   605,   606,   607,   608,
    7723             :      609,   610,   611,     0,  1340,   612,   613,   614,   615,   616,
    7724             :     1341,     0,   617,   618,   619,   620,   621,   622,  1342,     0,
    7725             :      624,   625,   626,   627,   628,   629,     0,     0,   630,     0,
    7726             :        0,   631,   632,   633,   634,   635,   636,   637,  1343,  1344,
    7727             :     1345,  1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,
    7728             :      650,     0,  1351,     0,     0,     0,     0,     0,     0,     0,
    7729             :        0,     0,     0,     0,  1352,  1353,     0,     0,     0,   234,
    7730             :        0,  1271,   717,  1355,  1272,  1273,  1274,   778,  1275,     0,
    7731             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
    7732             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
    7733             :        0,     0,     0,  1276,     0,     0,   247,   248,   249,     0,
    7734             :      250,   251,   252,   253,   254,   255,   256,   257,   258,  1277,
    7735             :      260,  1278,  1279,     0,   263,   264,   265,   266,   267,   268,
    7736             :      269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,   275,
    7737             :      276,   277,   278,  1284,     0,  1285,     0,   281,   282,   283,
    7738             :      284,   285,   286,   287,   288,   289,   290,   291,     0,   292,
    7739             :      293,   294,   295,   296,   297,     0,   298,   299,   300,   301,
    7740             :     1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,   305,
    7741             :      306,   307,   308,  1293,  1294,   311,  1295,   312,     0,   313,
    7742             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
    7743             :      323,     0,     0,   324,   325,   887,   327,   328,     0,   329,
    7744             :      330,   331,   332,     0,   333,   334,   335,   336,     0,   337,
    7745             :      338,   339,   340,  1296,   342,   343,   344,   345,  1297,  1298,
    7746             :      347,     0,   348,   349,   350,  1299,   352,     0,   353,     0,
    7747             :      354,   355,   356,     0,   357,   358,   359,   360,   361,     0,
    7748             :      362,  1300,     0,  1301,   365,   366,     0,   367,   368,   369,
    7749             :      370,   371,   372,   373,   374,   375,   376,     0,   377,   378,
    7750             :      379,   380,   381,   382,   383,   384,     0,   385,   386,   387,
    7751             :      388,   389,   390,   391,  1302,  1303,     0,  1304,     0,   395,
    7752             :      396,   397,   398,   399,  1305,  1306,  1307,  1308,  1309,  1310,
    7753             :     1311,  1312,  1313,   409,  1314,   411,   412,   413,   414,   415,
    7754             :      416,   417,     0,     0,   418,  1315,   420,   421,   422,     0,
    7755             :      423,   424,   425,  1316,  1317,   426,   427,   428,   429,   430,
    7756             :      431,   432,   433,   434,   435,  1318,   437,   438,   439,   440,
    7757             :      441,   442,   443,   444,  1319,   446,  1320,   448,   449,   450,
    7758             :      451,   452,   453,   454,   455,   456,  1321,   458,  1322,   459,
    7759             :      460,   461,   462,  1323,  1324,   464,  1325,   466,   467,   468,
    7760             :        0,   469,   470,   471,     0,     0,  1326,   473,   474,     0,
    7761             :        0,   475,   476,   477,   478,   479,   480,  1327,   482,   483,
    7762             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
    7763             :      494,     0,   495,   496,   497,  1328,   499,   500,   501,   502,
    7764             :      503,     0,   504,   505,   506,   507,   508,   509,   510,   511,
    7765             :      512,   513,   514,  1329,   516,   517,   518,   519,     0,   520,
    7766             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
    7767             :      531,   532,  3290,   533,   534,   535,   536,   537,   538,   539,
    7768             :      540,  1330,   542,   543,   544,   545,   546,   547,   548,   549,
    7769             :      550,   551,     0,   552,   553,   554,   555,   556,  1331,   557,
    7770             :      558,   559,   560,   561,   562,   563,   564,  1332,   566,     0,
    7771             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
    7772             :      577,   578,   579,   580,   581,   582,  1333,   584,     0,   585,
    7773             :      586,  1334,     0,   587,   588,   589,   590,   591,   592,   593,
    7774             :      594,     0,   595,  1335,  1336,     0,     0,   598,   599,  1337,
    7775             :      601,  1338,  1339,   603,   604,   605,   606,   607,   608,   609,
    7776             :      610,   611,     0,  1340,   612,   613,   614,   615,   616,  1341,
    7777             :        0,   617,   618,   619,   620,   621,   622,  1342,     0,   624,
    7778             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
    7779             :      631,   632,   633,   634,   635,   636,   637,  1343,  1344,  1345,
    7780             :     1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,   650,
    7781             :        0,  1351,     0,     0,     0,     0,     0,     0,     0,     0,
    7782             :        0,     0,     0,  1352,  1353,     0,     0,     0,   234,     0,
    7783             :     1271,   717,  1355,  1272,  1273,  1274,   778,  1275,     0,     0,
    7784             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
    7785             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
    7786             :        0,     0,  1276,     0,     0,   247,   248,   249,     0,   250,
    7787             :      251,   252,   253,   254,   255,   256,   257,   258,  1277,   260,
    7788             :     1278,  1279,     0,   263,   264,   265,   266,   267,   268,   269,
    7789             :     1280,  1281,   270,   271,  1282,  1283,   274,     0,   275,   276,
    7790             :      277,   278,  1284,     0,  1285,     0,   281,   282,   283,   284,
    7791             :      285,   286,   287,   288,   289,   290,   291,     0,   292,   293,
    7792             :      294,   295,   296,   297,     0,   298,   299,   300,   301,  1286,
    7793             :     1287,  1288,  1289,  1290,  1291,  1292,   303,   304,   305,   306,
    7794             :      307,   308,  1293,  1294,   311,  1295,   312,     0,   313,   314,
    7795             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
    7796             :        0,     0,   324,   325,   887,   327,   328,     0,   329,   330,
    7797             :      331,   332,     0,   333,   334,   335,   336,     0,   337,   338,
    7798             :      339,   340,  1296,   342,   343,   344,   345,  1297,  1298,   347,
    7799             :        0,   348,   349,   350,  1299,   352,     0,   353,     0,   354,
    7800             :      355,   356,     0,   357,   358,   359,   360,   361,     0,   362,
    7801             :     1300,     0,  1301,   365,   366,     0,   367,   368,   369,   370,
    7802             :      371,   372,   373,   374,   375,   376,     0,   377,   378,   379,
    7803             :      380,   381,   382,   383,   384,     0,   385,   386,   387,   388,
    7804             :      389,   390,   391,  1302,  1303,     0,  1304,     0,   395,   396,
    7805             :      397,   398,   399,  1305,  1306,  1307,  1308,  1309,  1310,  1311,
    7806             :     1312,  1313,   409,  1314,   411,   412,   413,   414,   415,   416,
    7807             :      417,     0,     0,   418,  1315,   420,   421,   422,     0,   423,
    7808             :      424,   425,  1316,  1317,   426,   427,   428,   429,   430,   431,
    7809             :      432,   433,   434,   435,  1318,   437,   438,   439,   440,   441,
    7810             :      442,   443,   444,  1319,   446,  1320,   448,   449,   450,   451,
    7811             :      452,   453,   454,   455,   456,  1321,   458,  1322,   459,   460,
    7812             :      461,   462,  1323,  1324,   464,  1325,   466,   467,   468,     0,
    7813             :      469,   470,   471,     0,     0,  1326,   473,   474,     0,     0,
    7814             :      475,   476,   477,   478,   479,   480,  1327,   482,   483,   484,
    7815             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
    7816             :        0,   495,   496,   497,  1328,   499,   500,   501,   502,   503,
    7817             :        0,   504,   505,   506,   507,   508,   509,   510,   511,   512,
    7818             :      513,   514,  1329,   516,   517,   518,   519,     0,   520,   521,
    7819             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
    7820             :      532,     0,   533,   534,   535,   536,   537,   538,   539,   540,
    7821             :     1330,   542,   543,   544,   545,   546,   547,   548,   549,   550,
    7822             :      551,     0,   552,   553,   554,   555,   556,  1331,   557,   558,
    7823             :      559,   560,   561,   562,   563,   564,  1332,   566,     0,   567,
    7824             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
    7825             :      578,   579,   580,   581,   582,  1333,   584,     0,   585,   586,
    7826             :     1334,     0,   587,   588,   589,   590,   591,   592,   593,   594,
    7827             :        0,   595,  1335,  1336,     0,     0,   598,   599,  1337,   601,
    7828             :     1338,  1339,   603,   604,   605,   606,   607,   608,   609,   610,
    7829             :      611,     0,  1340,   612,   613,   614,   615,   616,  1341,     0,
    7830             :      617,   618,   619,   620,   621,   622,  1342,  3845,   624,   625,
    7831             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
    7832             :      632,   633,   634,   635,   636,   637,  1343,  1344,  1345,  1346,
    7833             :      642,  1347,  1348,  1349,  1350,   647,   648,   649,   650,     0,
    7834             :     1351,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    7835             :        0,     0,  1352,  1353,     0,     0,     0,   234,     0,  1271,
    7836             :      717,  1355,  1272,  1273,  1274,   778,  1275,     0,     0,     0,
    7837             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
    7838             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
    7839             :        0,  1276,     0,     0,   247,   248,   249,     0,   250,   251,
    7840             :      252,   253,   254,   255,   256,   257,   258,  1277,   260,  1278,
    7841             :     1279,     0,   263,   264,   265,   266,   267,   268,   269,  1280,
    7842             :     1281,   270,   271,  1282,  1283,   274,     0,   275,   276,   277,
    7843             :      278,  1284,     0,  1285,     0,   281,   282,   283,   284,   285,
    7844             :      286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
    7845             :      295,   296,   297,     0,   298,   299,   300,   301,  1286,  1287,
    7846             :     1288,  1289,  1290,  1291,  1292,   303,   304,   305,   306,   307,
    7847             :      308,  1293,  1294,   311,  1295,   312,     0,   313,   314,   315,
    7848             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
    7849             :        0,   324,   325,   887,   327,   328,     0,   329,   330,   331,
    7850             :      332,     0,   333,   334,   335,   336,     0,   337,   338,   339,
    7851             :      340,  1296,   342,   343,   344,   345,  1297,  1298,   347,     0,
    7852             :      348,   349,   350,  1299,   352,     0,   353,     0,   354,   355,
    7853             :      356,  3336,   357,   358,   359,   360,   361,     0,   362,  1300,
    7854             :        0,  1301,   365,   366,     0,   367,   368,   369,   370,   371,
    7855             :      372,   373,   374,   375,   376,     0,   377,   378,   379,   380,
    7856             :      381,   382,   383,   384,     0,   385,   386,   387,   388,   389,
    7857             :      390,   391,  1302,  1303,     0,  1304,     0,   395,   396,   397,
    7858             :      398,   399,  1305,  1306,  1307,  1308,  1309,  1310,  1311,  1312,
    7859             :     1313,   409,  1314,   411,   412,   413,   414,   415,   416,   417,
    7860             :        0,     0,   418,  1315,   420,   421,   422,     0,   423,   424,
    7861             :      425,  1316,  1317,   426,   427,   428,   429,   430,   431,   432,
    7862             :      433,   434,   435,  1318,   437,   438,   439,   440,   441,   442,
    7863             :      443,   444,  1319,   446,  1320,   448,   449,   450,   451,   452,
    7864             :      453,   454,   455,   456,  1321,   458,  1322,   459,   460,   461,
    7865             :      462,  1323,  1324,   464,  1325,   466,   467,   468,     0,   469,
    7866             :      470,   471,     0,     0,  1326,   473,   474,     0,     0,   475,
    7867             :      476,   477,   478,   479,   480,  1327,   482,   483,   484,   485,
    7868             :      486,   487,   488,   489,   490,   491,   492,   493,   494,     0,
    7869             :      495,   496,   497,  1328,   499,   500,   501,   502,   503,     0,
    7870             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
    7871             :      514,  1329,   516,   517,   518,   519,     0,   520,   521,   522,
    7872             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
    7873             :        0,   533,   534,   535,   536,   537,   538,   539,   540,  1330,
    7874             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
    7875             :        0,   552,   553,   554,   555,   556,  1331,   557,   558,   559,
    7876             :      560,   561,   562,   563,   564,  1332,   566,     0,   567,   568,
    7877             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
    7878             :      579,   580,   581,   582,  1333,   584,     0,   585,   586,  1334,
    7879             :        0,   587,   588,   589,   590,   591,   592,   593,   594,     0,
    7880             :      595,  1335,  1336,     0,     0,   598,   599,  1337,   601,  1338,
    7881             :     1339,   603,   604,   605,   606,   607,   608,   609,   610,   611,
    7882             :        0,  1340,   612,   613,   614,   615,   616,  1341,     0,   617,
    7883             :      618,   619,   620,   621,   622,  1342,     0,   624,   625,   626,
    7884             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
    7885             :      633,   634,   635,   636,   637,  1343,  1344,  1345,  1346,   642,
    7886             :     1347,  1348,  1349,  1350,   647,   648,   649,   650,     0,  1351,
    7887             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    7888             :        0,  1352,  1353,     0,     0,     0,   234,     0,  1271,   717,
    7889             :     1355,  1272,  1273,  1274,   778,  1275,     0,     0,     0,     0,
    7890             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
    7891             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
    7892             :     1276,     0,     0,   247,   248,   249,     0,   250,   251,   252,
    7893             :      253,   254,   255,   256,   257,   258,  1277,   260,  1278,  1279,
    7894             :        0,   263,   264,   265,   266,   267,   268,   269,  1280,  1281,
    7895             :      270,   271,  1282,  1283,   274,     0,   275,   276,   277,   278,
    7896             :     1284,     0,  1285,     0,   281,   282,   283,   284,   285,   286,
    7897             :      287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
    7898             :      296,   297,     0,   298,   299,   300,   301,  1286,  1287,  1288,
    7899             :     1289,  1290,  1291,  1292,   303,   304,   305,   306,   307,   308,
    7900             :     1293,  1294,   311,  1295,   312,     0,   313,   314,   315,   316,
    7901             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
    7902             :      324,   325,   887,   327,   328,     0,   329,   330,   331,   332,
    7903             :        0,   333,   334,   335,   336,     0,   337,   338,   339,   340,
    7904             :     1296,   342,   343,   344,   345,  1297,  1298,   347,     0,   348,
    7905             :      349,   350,  1299,   352,     0,   353,     0,   354,   355,   356,
    7906             :        0,   357,   358,   359,   360,   361,     0,   362,  1300,     0,
    7907             :     1301,   365,   366,     0,   367,   368,   369,   370,   371,   372,
    7908             :      373,   374,   375,   376,     0,   377,   378,   379,   380,   381,
    7909             :      382,   383,   384,     0,   385,   386,   387,   388,   389,   390,
    7910             :      391,  1302,  1303,     0,  1304,     0,   395,   396,   397,   398,
    7911             :      399,  1305,  1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,
    7912             :      409,  1314,   411,   412,   413,   414,   415,   416,   417,     0,
    7913             :        0,   418,  1315,   420,   421,   422,     0,   423,   424,   425,
    7914             :     1316,  1317,   426,   427,   428,   429,   430,   431,   432,   433,
    7915             :      434,   435,  1318,   437,   438,   439,   440,   441,   442,   443,
    7916             :      444,  1319,   446,  1320,   448,   449,   450,   451,   452,   453,
    7917             :      454,   455,   456,  1321,   458,  1322,   459,   460,   461,   462,
    7918             :     1323,  1324,   464,  1325,   466,   467,   468,     0,   469,   470,
    7919             :      471,     0,     0,  1326,   473,   474,     0,     0,   475,   476,
    7920             :      477,   478,   479,   480,  1327,   482,   483,   484,   485,   486,
    7921             :      487,   488,   489,   490,   491,   492,   493,   494,     0,   495,
    7922             :      496,   497,  1328,   499,   500,   501,   502,   503,     0,   504,
    7923             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
    7924             :     1329,   516,   517,   518,   519,     0,   520,   521,   522,   523,
    7925             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
    7926             :      533,   534,   535,   536,   537,   538,   539,   540,  1330,   542,
    7927             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
    7928             :      552,   553,   554,   555,   556,  1331,   557,   558,   559,   560,
    7929             :      561,   562,   563,   564,  1332,   566,     0,   567,   568,   569,
    7930             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
    7931             :      580,   581,   582,  1333,   584,     0,   585,   586,  1334,     0,
    7932             :      587,   588,   589,   590,   591,   592,   593,   594,     0,   595,
    7933             :     1335,  1336,  3393,     0,   598,   599,  1337,   601,  1338,  1339,
    7934             :      603,   604,   605,   606,   607,   608,   609,   610,   611,     0,
    7935             :     1340,   612,   613,   614,   615,   616,  1341,     0,   617,   618,
    7936             :      619,   620,   621,   622,  1342,     0,   624,   625,   626,   627,
    7937             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
    7938             :      634,   635,   636,   637,  1343,  1344,  1345,  1346,   642,  1347,
    7939             :     1348,  1349,  1350,   647,   648,   649,   650,     0,  1351,     0,
    7940             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    7941             :     1352,  1353,     0,     0,     0,   234,     0,  1271,   717,  1355,
    7942             :     1272,  1273,  1274,   778,  1275,     0,     0,     0,     0,     0,
    7943             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
    7944             :      243,     0,   244,   245,   246,     0,     0,     0,     0,  1276,
    7945             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
    7946             :      254,   255,   256,   257,   258,  1277,   260,  1278,  1279,     0,
    7947             :      263,   264,   265,   266,   267,   268,   269,  1280,  1281,   270,
    7948             :      271,  1282,  1283,   274,     0,   275,   276,   277,   278,  1284,
    7949             :        0,  1285,     0,   281,   282,   283,   284,   285,   286,   287,
    7950             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
    7951             :      297,     0,   298,   299,   300,   301,  1286,  1287,  1288,  1289,
    7952             :     1290,  1291,  1292,   303,   304,   305,   306,   307,   308,  1293,
    7953             :     1294,   311,  1295,   312,     0,   313,   314,   315,   316,   317,
    7954             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
    7955             :      325,   887,   327,   328,     0,   329,   330,   331,   332,     0,
    7956             :      333,   334,   335,   336,     0,   337,   338,   339,   340,  1296,
    7957             :      342,   343,   344,   345,  1297,  1298,   347,     0,   348,   349,
    7958             :      350,  1299,   352,     0,   353,     0,   354,   355,   356,     0,
    7959             :      357,   358,   359,   360,   361,     0,   362,  1300,     0,  1301,
    7960             :      365,   366,     0,   367,   368,   369,   370,   371,   372,   373,
    7961             :      374,   375,   376,     0,   377,   378,   379,   380,   381,   382,
    7962             :      383,   384,     0,   385,   386,   387,   388,   389,   390,   391,
    7963             :     1302,  1303,     0,  1304,     0,   395,   396,   397,   398,   399,
    7964             :     1305,  1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,   409,
    7965             :     1314,   411,   412,   413,   414,   415,   416,   417,     0,     0,
    7966             :      418,  1315,   420,   421,   422,     0,   423,   424,   425,  1316,
    7967             :     1317,   426,   427,   428,   429,   430,   431,   432,   433,   434,
    7968             :      435,  1318,   437,   438,   439,   440,   441,   442,   443,   444,
    7969             :     1319,   446,  1320,   448,   449,   450,   451,   452,   453,   454,
    7970             :      455,   456,  1321,   458,  1322,   459,   460,   461,   462,  1323,
    7971             :     1324,   464,  1325,   466,   467,   468,     0,   469,   470,   471,
    7972             :        0,     0,  1326,   473,   474,     0,     0,   475,   476,   477,
    7973             :      478,   479,   480,  1327,   482,   483,   484,   485,   486,   487,
    7974             :      488,   489,   490,   491,   492,   493,   494,     0,   495,   496,
    7975             :      497,  1328,   499,   500,   501,   502,   503,     0,   504,   505,
    7976             :      506,   507,   508,   509,   510,   511,   512,   513,   514,  1329,
    7977             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
    7978             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
    7979             :      534,   535,   536,   537,   538,   539,   540,  1330,   542,   543,
    7980             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
    7981             :      553,   554,   555,   556,  1331,   557,   558,   559,   560,   561,
    7982             :      562,   563,   564,  1332,   566,     0,   567,   568,   569,   570,
    7983             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
    7984             :      581,   582,  1333,   584,     0,   585,   586,  1334,     0,   587,
    7985             :      588,   589,   590,   591,   592,   593,   594,     0,   595,  1335,
    7986             :     1336,     0,     0,   598,   599,  1337,   601,  1338,  1339,   603,
    7987             :      604,   605,   606,   607,   608,   609,   610,   611,     0,  1340,
    7988             :      612,   613,   614,   615,   616,  1341,     0,   617,   618,   619,
    7989             :      620,   621,   622,  1342,     0,   624,   625,   626,   627,   628,
    7990             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
    7991             :      635,   636,   637,  1343,  1344,  1345,  1346,   642,  1347,  1348,
    7992             :     1349,  1350,   647,   648,   649,   650,     0,  1351,     0,     0,
    7993             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  1352,
    7994             :     1353,     0,     0,     0,   234,     0,  1271,   717,  1355,  1272,
    7995             :     1273,  1274,   778,  1275,     0,     0,     0,     0,     0,     0,
    7996             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    7997             :        0,   244,   245,   246,     0,     0,     0,     0,  1276,     0,
    7998             :        0,   247,   248,   249,     0,   250,   251,   252,   253,   254,
    7999             :      255,   256,   257,   258,  1277,   260,  1278,  1279,     0,   263,
    8000             :      264,   265,   266,   267,   268,   269,  1280,  1281,   270,   271,
    8001             :     1282,  1283,   274,     0,   275,   276,   277,   278,  1284,     0,
    8002             :     1285,     0,   281,   282,   283,   284,   285,   286,   287,   288,
    8003             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    8004             :        0,   298,   299,   300,   301,  1286,  1287,  1288,  1289,  1290,
    8005             :     1291,  1292,   303,   304,   305,   306,   307,   308,  1293,  1294,
    8006             :      311,  1295,   312,     0,   313,   314,   315,   316,   317,   318,
    8007             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    8008             :      887,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    8009             :      334,   335,   336,     0,   337,   338,   339,   340,  1296,   342,
    8010             :      343,   344,   345,  1297,  1298,   347,     0,   348,   349,   350,
    8011             :     1299,   352,     0,   353,     0,   354,   355,   356,     0,   357,
    8012             :      358,   359,   360,   361,     0,   362,  1300,     0,  1301,   365,
    8013             :      366,     0,   367,   368,   369,   370,   371,   372,   373,   374,
    8014             :      375,   376,     0,   377,   378,   379,   380,   381,   382,   383,
    8015             :      384,     0,   385,   386,   387,   388,   389,   390,   391,  1302,
    8016             :     1303,     0,  1304,     0,   395,   396,   397,   398,   399,  1305,
    8017             :     1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,   409,  1314,
    8018             :      411,   412,   413,   414,   415,   416,   417,     0,     0,   418,
    8019             :     1315,   420,   421,   422,     0,   423,   424,   425,  1316,  1317,
    8020             :      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    8021             :     1318,   437,   438,   439,   440,   441,   442,   443,   444,  1319,
    8022             :      446,  1320,   448,   449,   450,   451,   452,   453,   454,   455,
    8023             :      456,  1321,   458,  1322,   459,   460,   461,   462,  1323,  1324,
    8024             :      464,  1325,   466,   467,   468,     0,   469,   470,   471,     0,
    8025             :        0,  1326,   473,   474,     0,     0,   475,   476,   477,   478,
    8026             :      479,   480,  1327,   482,   483,   484,   485,   486,   487,   488,
    8027             :      489,   490,   491,   492,   493,   494,     0,   495,   496,   497,
    8028             :     1328,   499,   500,   501,   502,   503,     0,   504,   505,   506,
    8029             :      507,   508,   509,   510,   511,   512,   513,   514,  1329,   516,
    8030             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    8031             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    8032             :      535,   536,   537,   538,   539,   540,  1330,   542,   543,   544,
    8033             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
    8034             :      554,   555,   556,  1331,   557,   558,   559,   560,   561,   562,
    8035             :      563,   564,  1332,   566,     0,   567,   568,   569,   570,   571,
    8036             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    8037             :      582,  1333,   584,     0,   585,   586,  1334,     0,   587,   588,
    8038             :      589,   590,   591,   592,   593,   594,     0,   595,  1335,  1336,
    8039             :        0,     0,   598,   599,  1337,   601,  1338,  1339,   603,   604,
    8040             :      605,   606,   607,   608,   609,   610,   611,     0,  1340,   612,
    8041             :      613,   614,   615,   616,  1341,     0,   617,   618,   619,   620,
    8042             :      621,   622,  1342,     0,   624,   625,   626,   627,   628,   629,
    8043             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
    8044             :      636,   637,  1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,
    8045             :     1350,   647,   648,   649,   650,     0,  1351,     0,     0,     0,
    8046             :        0,     0,     0,     0,     0,     0,     0,     0,  2701,  2702,
    8047             :        0,     0,     0,   234,     0,  3512,   717,  1355,  1272,  1273,
    8048             :     1274,   778,  1275,     0,     0,     0,     0,     0,     0,     0,
    8049             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
    8050             :      244,   245,   246,     0,     0,     0,     0,  1276,     0,     0,
    8051             :      247,   248,   249,     0,   250,   251,   252,   253,   254,   255,
    8052             :      256,   257,   258,  1277,   260,  1278,  1279,     0,   263,   264,
    8053             :      265,   266,   267,   268,   269,  1280,  1281,   270,   271,  1282,
    8054             :     1283,   274,     0,   275,   276,   277,   278,  1284,     0,  1285,
    8055             :        0,   281,   282,   283,   284,   285,   286,   287,   288,   289,
    8056             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
    8057             :      298,   299,   300,   301,  1286,  1287,  1288,  1289,  1290,  1291,
    8058             :     1292,   303,   304,   305,   306,   307,   308,  1293,  1294,   311,
    8059             :     1295,   312,     0,   313,   314,   315,   316,   317,   318,   319,
    8060             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   887,
    8061             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
    8062             :      335,   336,     0,   337,   338,   339,   340,  1296,   342,   343,
    8063             :      344,   345,  1297,  1298,   347,     0,   348,   349,   350,  1299,
    8064             :      352,     0,   353,     0,   354,   355,   356,     0,   357,   358,
    8065             :      359,   360,   361,     0,   362,  1300,     0,  1301,   365,   366,
    8066             :        0,   367,   368,   369,   370,   371,   372,   373,   374,   375,
    8067             :      376,     0,   377,   378,   379,   380,   381,   382,   383,   384,
    8068             :        0,   385,   386,   387,   388,   389,   390,   391,  1302,  1303,
    8069             :        0,  1304,     0,   395,   396,   397,   398,   399,  1305,  1306,
    8070             :     1307,  1308,  1309,  1310,  1311,  1312,  1313,   409,  1314,   411,
    8071             :      412,   413,   414,   415,   416,   417,     0,     0,   418,  1315,
    8072             :      420,   421,   422,     0,   423,   424,   425,  1316,  1317,   426,
    8073             :      427,   428,   429,   430,   431,   432,   433,   434,   435,  1318,
    8074             :      437,   438,   439,   440,   441,   442,   443,   444,  1319,   446,
    8075             :     1320,   448,   449,   450,   451,   452,   453,   454,   455,   456,
    8076             :     1321,   458,  1322,   459,   460,   461,   462,  1323,  1324,   464,
    8077             :     1325,   466,   467,   468,     0,   469,   470,   471,     0,     0,
    8078             :     1326,   473,   474,     0,     0,   475,   476,   477,   478,   479,
    8079             :      480,  1327,   482,   483,   484,   485,   486,   487,   488,   489,
    8080             :      490,   491,   492,   493,   494,     0,   495,   496,   497,  1328,
    8081             :      499,   500,   501,   502,   503,     0,   504,   505,   506,   507,
    8082             :      508,   509,   510,   511,   512,   513,   514,  1329,   516,   517,
    8083             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
    8084             :      527,   528,   529,   530,   531,   532,     0,   533,   534,   535,
    8085             :      536,   537,   538,   539,   540,  1330,   542,   543,   544,   545,
    8086             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
    8087             :      555,   556,  1331,   557,   558,   559,   560,   561,   562,   563,
    8088             :      564,  1332,   566,     0,   567,   568,   569,   570,   571,   572,
    8089             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
    8090             :     1333,   584,     0,   585,   586,  1334,     0,   587,   588,   589,
    8091             :      590,   591,   592,   593,   594,     0,   595,  1335,  1336,     0,
    8092             :        0,   598,   599,  1337,   601,  1338,  1339,   603,   604,   605,
    8093             :      606,   607,   608,   609,   610,   611,     0,  1340,   612,   613,
    8094             :      614,   615,   616,  1341,     0,   617,   618,   619,   620,   621,
    8095             :      622,  1342,     0,   624,   625,   626,   627,   628,   629,     0,
    8096             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
    8097             :      637,  1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,  1350,
    8098             :      647,   648,   649,   650,     0,  1351,     0,     0,     0,     0,
    8099             :        0,     0,     0,     0,     0,     0,     0,  1352,  1353,     0,
    8100             :        0,     0,   234,     0,  1271,   717,  1355,  1272,  1273,  1274,
    8101             :      778,  1275,     0,     0,     0,     0,     0,     0,     0,   235,
    8102             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
    8103             :      245,   246,     0,     0,     0,     0,  1276,     0,     0,   247,
    8104             :      248,   249,     0,   250,   251,   252,   253,   254,   255,   256,
    8105             :      257,   258,  1277,   260,  1278,  1279,     0,   263,   264,   265,
    8106             :      266,   267,   268,   269,  1280,  1281,   270,   271,  1282,  1283,
    8107             :      274,     0,   275,   276,   277,   278,  1284,     0,  1285,     0,
    8108             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
    8109             :      291,     0,   292,   293,   294,   295,   296,   297,     0,   298,
    8110             :      299,   300,  4869,  1286,  1287,  1288,  1289,  1290,  1291,  1292,
    8111             :      303,   304,   305,   306,   307,   308,  1293,  1294,   311,  1295,
    8112             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
    8113             :      320,   321,   322,   323,     0,     0,   324,   325,   887,   327,
    8114             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
    8115             :      336,     0,   337,   338,   339,   340,  1296,   342,   343,   344,
    8116             :      345,  1297,  1298,   347,     0,   348,   349,   350,  1299,   352,
    8117             :        0,   353,     0,   354,   355,   356,     0,   357,   358,   359,
    8118             :      360,   361,     0,   362,  1300,     0,  1301,   365,   366,     0,
    8119             :      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
    8120             :        0,   377,   378,   379,   380,   381,   382,   383,   384,     0,
    8121             :      385,   386,   387,   388,   389,   390,   391,  1302,  1303,     0,
    8122             :     1304,     0,   395,   396,   397,   398,   399,  1305,  1306,  1307,
    8123             :     1308,  1309,  1310,  1311,  1312,  1313,   409,  1314,   411,   412,
    8124             :      413,   414,   415,   416,   417,     0,     0,   418,  1315,   420,
    8125             :      421,   422,     0,   423,   424,   425,  1316,  1317,   426,   427,
    8126             :      428,   429,   430,   431,   432,   433,   434,   435,  1318,   437,
    8127             :      438,   439,   440,   441,   442,   443,   444,  1319,   446,  1320,
    8128             :      448,   449,   450,   451,   452,   453,   454,   455,   456,  1321,
    8129             :      458,  1322,   459,   460,   461,   462,  1323,  1324,   464,  1325,
    8130             :      466,   467,   468,     0,   469,   470,   471,     0,     0,  1326,
    8131             :      473,   474,     0,     0,   475,   476,   477,   478,   479,   480,
    8132             :     1327,   482,   483,   484,   485,   486,   487,   488,   489,   490,
    8133             :      491,   492,   493,   494,     0,   495,   496,   497,  1328,   499,
    8134             :      500,   501,   502,   503,     0,   504,   505,   506,   507,   508,
    8135             :      509,   510,   511,   512,   513,   514,  1329,   516,   517,   518,
    8136             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
    8137             :      528,   529,   530,   531,   532,     0,   533,   534,   535,   536,
    8138             :      537,   538,   539,   540,  1330,   542,   543,   544,   545,   546,
    8139             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
    8140             :      556,  1331,   557,   558,   559,   560,   561,   562,   563,   564,
    8141             :     1332,   566,     0,   567,   568,   569,   570,   571,   572,   573,
    8142             :      574,   575,   576,   577,   578,   579,   580,   581,   582,  1333,
    8143             :      584,     0,   585,   586,  1334,     0,   587,   588,   589,   590,
    8144             :      591,   592,   593,   594,     0,   595,  1335,  1336,     0,     0,
    8145             :      598,   599,  1337,   601,  1338,  1339,   603,   604,   605,   606,
    8146             :      607,   608,   609,   610,   611,     0,  1340,   612,   613,   614,
    8147             :      615,   616,  1341,     0,   617,   618,   619,   620,   621,   622,
    8148             :     1342,     0,   624,   625,   626,   627,   628,   629,     0,     0,
    8149             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
    8150             :     1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,  1350,   647,
    8151             :      648,   649,   650,     0,  1351,     0,     0,     0,     0,     0,
    8152             :        0,     0,     0,     0,     0,     0,  1352,  1353,     0,     0,
    8153             :        0,   234,     0,  1271,   717,  1355,  1272,  1273,  1274,   778,
    8154             :     1275,     0,     0,     0,     0,     0,     0,     0,   235,   236,
    8155             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
    8156             :      246,     0,     0,     0,     0,  1276,     0,     0,   247,   248,
    8157             :      249,     0,   250,   251,   252,   253,   254,   255,   256,   257,
    8158             :      258,  1277,   260,  1278,  1279,     0,   263,   264,   265,   266,
    8159             :      267,   268,   269,  1280,  1281,   270,   271,  1282,  1283,   274,
    8160             :        0,   275,   276,   277,   278,  1284,     0,  1285,     0,   281,
    8161             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
    8162             :        0,   292,   293,   294,   295,   296,   297,     0,   298,   299,
    8163             :      300,   301,  1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,
    8164             :      304,   305,   306,   307,   308,  1293,  1294,   311,  1295,   312,
    8165             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
    8166             :      321,   322,   323,     0,     0,   324,   325,   887,   327,   328,
    8167             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
    8168             :        0,   337,   338,   339,   340,  1296,   342,   343,   344,   345,
    8169             :     1297,  1298,   347,     0,   348,   349,   350,  1299,   352,     0,
    8170             :      353,     0,   354,   355,   356,     0,   357,   358,   359,   360,
    8171             :      361,     0,   362,  1300,     0,  1301,   365,   366,     0,   367,
    8172             :      368,   369,   370,   371,   372,   373,   374,   375,   376,     0,
    8173             :      377,   378,   379,   380,   381,   382,   383,   384,     0,   385,
    8174             :      386,   387,   388,   389,   390,   391,  1302,  1303,     0,  1304,
    8175             :        0,   395,   396,   397,   398,   399,  1305,  1306,  1307,  1308,
    8176             :     1309,  1310,  1311,  1312,  1313,   409,  1314,   411,   412,   413,
    8177             :      414,   415,   416,   417,     0,     0,   418,  1315,   420,   421,
    8178             :      422,     0,   423,   424,   425,  1316,  1317,   426,   427,   428,
    8179             :      429,   430,   431,   432,   433,   434,   435,  1318,   437,   438,
    8180             :      439,   440,   441,   442,   443,   444,  1319,   446,  1320,   448,
    8181             :      449,   450,   451,   452,   453,   454,   455,   456,  1321,   458,
    8182             :     1322,   459,   460,   461,   462,  1323,  1324,   464,  1325,   466,
    8183             :      467,   468,     0,   469,   470,   471,     0,     0,  1326,   473,
    8184             :      474,     0,     0,   475,   476,   477,   478,   479,   480,  1327,
    8185             :      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
    8186             :      492,   493,   494,     0,   495,   496,   497,  1328,   499,   500,
    8187             :      501,   502,   503,     0,   504,   505,   506,   507,   508,   509,
    8188             :      510,   511,   512,   513,   514,  1329,   516,   517,   518,   519,
    8189             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
    8190             :      529,   530,   531,   532,     0,   533,   534,   535,   536,   537,
    8191             :      538,   539,   540,  1330,   542,   543,   544,   545,   546,   547,
    8192             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
    8193             :     1331,   557,   558,   559,   560,   561,   562,   563,   564,  1332,
    8194             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
    8195             :      575,   576,   577,   578,   579,   580,   581,   582,  1333,   584,
    8196             :        0,   585,   586,  1334,     0,   587,   588,   589,   590,   591,
    8197             :      592,   593,   594,     0,   595,  1335,  1336,     0,     0,   598,
    8198             :      599,  1337,   601,  1338,  1339,   603,   604,   605,   606,   607,
    8199             :      608,   609,   610,   611,     0,  1340,   612,   613,   614,   615,
    8200             :      616,  1341,     0,   617,   618,   619,   620,   621,   622,  1342,
    8201             :        0,   624,   625,   626,   627,   628,   629,     0,     0,   630,
    8202             :        0,     0,   631,   632,   633,   634,   635,   636,  5254,  1343,
    8203             :     1344,  1345,  1346,   642,  1347,  1348,  1349,  1350,   647,   648,
    8204             :      649,   650,     0,  1351,     0,     0,     0,     0,     0,     0,
    8205             :        0,     0,     0,     0,     0,  1352,  1353,     0,     0,     0,
    8206             :      234,     0,  1271,   717,  1355,  1272,  1273,  1274,   778,  1275,
    8207             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
    8208             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
    8209             :        0,     0,     0,     0,  1276,     0,     0,   247,   248,   249,
    8210             :        0,   250,   251,   252,   253,   254,   255,   256,   257,   258,
    8211             :     1277,   260,  1278,  1279,     0,   263,   264,   265,   266,   267,
    8212             :      268,   269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,
    8213             :      275,   276,   277,   278,  1284,     0,  1285,     0,   281,   282,
    8214             :      283,   284,   285,   286,   287,   288,   289,   290,   291,     0,
    8215             :      292,   293,   294,   295,   296,   297,     0,   298,   299,   300,
    8216             :      301,  1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,
    8217             :      305,   306,   307,   308,  1293,  1294,   311,  1295,   312,     0,
    8218             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
    8219             :      322,   323,     0,     0,   324,   325,   887,   327,   328,     0,
    8220             :      329,   330,   331,   332,     0,   333,   334,   335,   336,     0,
    8221             :      337,   338,   339,   340,  1296,   342,   343,   344,   345,  1297,
    8222             :     1298,   347,     0,   348,   349,   350,  1299,   352,     0,   353,
    8223             :        0,   354,   355,   356,     0,   357,   358,   359,   360,   361,
    8224             :        0,   362,  1300,     0,  1301,   365,   366,     0,   367,   368,
    8225             :      369,   370,   371,   372,   373,   374,   375,   376,     0,   377,
    8226             :      378,   379,   380,   381,   382,   383,   384,     0,   385,   386,
    8227             :      387,   388,   389,   390,   391,  1302,  1303,     0,  1304,     0,
    8228             :      395,   396,   397,   398,   399,  1305,  1306,  1307,  1308,  1309,
    8229             :     1310,  1311,  1312,  1313,   409,  1314,   411,   412,   413,   414,
    8230             :      415,   416,   417,     0,     0,   418,  1315,   420,   421,   422,
    8231             :        0,   423,   424,   425,  1316,  1317,   426,   427,   428,   429,
    8232             :      430,   431,   432,   433,   434,   435,  1318,   437,   438,   439,
    8233             :      440,   441,   442,   443,   444,  1319,   446,  1320,   448,   449,
    8234             :      450,   451,   452,   453,   454,  5266,   456,  1321,   458,  1322,
    8235             :      459,   460,   461,   462,  1323,  1324,   464,  1325,   466,   467,
    8236             :      468,     0,   469,   470,   471,     0,     0,  1326,   473,   474,
    8237             :        0,     0,   475,   476,   477,   478,   479,   480,  1327,   482,
    8238             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
    8239             :      493,   494,     0,   495,   496,   497,  1328,   499,   500,   501,
    8240             :      502,   503,     0,   504,   505,   506,   507,   508,   509,   510,
    8241             :      511,   512,   513,   514,  1329,   516,   517,   518,   519,     0,
    8242             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
    8243             :      530,   531,   532,     0,   533,   534,   535,   536,   537,   538,
    8244             :      539,   540,  1330,   542,   543,   544,   545,   546,   547,   548,
    8245             :      549,   550,   551,     0,   552,   553,   554,   555,   556,  1331,
    8246             :      557,   558,   559,   560,   561,   562,   563,   564,  1332,   566,
    8247             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
    8248             :      576,   577,   578,   579,   580,   581,   582,  1333,   584,     0,
    8249             :      585,   586,  1334,     0,   587,   588,   589,   590,   591,   592,
    8250             :      593,   594,     0,   595,  1335,  1336,     0,     0,   598,   599,
    8251             :     1337,   601,  1338,  1339,   603,   604,   605,   606,   607,   608,
    8252             :      609,   610,   611,     0,  1340,   612,   613,   614,   615,   616,
    8253             :     1341,     0,   617,   618,   619,   620,   621,   622,  1342,     0,
    8254             :      624,   625,   626,   627,   628,   629,     0,     0,   630,     0,
    8255             :        0,   631,   632,   633,   634,   635,   636,   637,  1343,  1344,
    8256             :     1345,  1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,
    8257             :      650,     0,  1351,     0,     0,     0,     0,     0,     0,     0,
    8258             :        0,     0,     0,     0,  1352,  1353,     0,     0,     0,   234,
    8259             :        0,  1271,   717,  1355,  1272,  1273,  1274,   778,  1275,     0,
    8260             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
    8261             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
    8262             :        0,     0,     0,  1276,     0,     0,   247,   248,   249,     0,
    8263             :      250,   251,   252,   253,   254,   255,   256,   257,   258,  1277,
    8264             :      260,  1278,  1279,     0,   263,   264,   265,   266,   267,   268,
    8265             :      269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,   275,
    8266             :      276,   277,   278,  1284,     0,  1285,     0,   281,   282,   283,
    8267             :      284,   285,   286,   287,   288,   289,   290,   291,     0,   292,
    8268             :      293,   294,   295,   296,   297,     0,   298,   299,  5609,   301,
    8269             :     1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,   305,
    8270             :      306,   307,   308,  1293,  1294,   311,  1295,   312,     0,   313,
    8271             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
    8272             :      323,     0,     0,   324,   325,   887,   327,   328,     0,   329,
    8273             :      330,   331,   332,     0,   333,   334,   335,   336,     0,   337,
    8274             :      338,   339,   340,  1296,   342,   343,   344,   345,  1297,  1298,
    8275             :      347,     0,   348,   349,   350,  1299,   352,     0,   353,     0,
    8276             :      354,   355,   356,     0,   357,   358,   359,   360,   361,     0,
    8277             :      362,  1300,     0,  5610,   365,   366,     0,   367,   368,   369,
    8278             :      370,   371,   372,   373,   374,   375,   376,     0,   377,   378,
    8279             :      379,   380,   381,   382,   383,   384,     0,   385,   386,   387,
    8280             :      388,   389,   390,   391,  1302,  1303,     0,  1304,     0,   395,
    8281             :      396,   397,   398,   399,  1305,  1306,  1307,  1308,  1309,  1310,
    8282             :     1311,  1312,  1313,   409,  1314,   411,   412,   413,   414,   415,
    8283             :      416,   417,     0,     0,   418,  1315,   420,   421,   422,     0,
    8284             :      423,   424,   425,  1316,  1317,   426,   427,   428,   429,   430,
    8285             :      431,   432,   433,   434,   435,  1318,   437,   438,   439,   440,
    8286             :      441,   442,   443,   444,  1319,   446,  1320,   448,   449,   450,
    8287             :      451,   452,   453,   454,   455,   456,  1321,   458,  1322,   459,
    8288             :      460,   461,   462,  1323,  1324,   464,  1325,   466,   467,   468,
    8289             :        0,   469,   470,   471,     0,     0,  1326,   473,   474,     0,
    8290             :        0,   475,   476,   477,   478,   479,   480,  1327,   482,   483,
    8291             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
    8292             :      494,     0,   495,   496,   497,  1328,   499,   500,   501,   502,
    8293             :      503,     0,   504,   505,   506,   507,   508,   509,   510,   511,
    8294             :      512,   513,   514,  1329,   516,   517,   518,   519,     0,   520,
    8295             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
    8296             :      531,   532,     0,   533,   534,   535,   536,   537,  5611,   539,
    8297             :      540,  1330,   542,   543,   544,   545,   546,   547,   548,   549,
    8298             :      550,   551,     0,   552,   553,   554,   555,   556,  1331,   557,
    8299             :      558,   559,   560,   561,   562,   563,   564,  1332,   566,     0,
    8300             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
    8301             :      577,   578,   579,   580,   581,   582,  1333,   584,     0,   585,
    8302             :      586,  1334,     0,   587,   588,   589,   590,   591,   592,   593,
    8303             :      594,     0,   595,  1335,  1336,     0,     0,   598,   599,  1337,
    8304             :      601,  1338,  1339,   603,   604,   605,   606,   607,   608,   609,
    8305             :      610,   611,     0,  1340,   612,   613,   614,   615,   616,  1341,
    8306             :        0,   617,   618,   619,   620,   621,   622,  1342,     0,   624,
    8307             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
    8308             :      631,   632,   633,   634,   635,   636,   637,  1343,  1344,  1345,
    8309             :     1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,   650,
    8310             :        0,  1351,     0,     0,     0,     0,     0,     0,     0,     0,
    8311             :        0,     0,     0,  1352,  1353,     0,     0,     0,   234,     0,
    8312             :     1271,   717,  5612,  1272,  1273,  1274,   778,  1275,     0,     0,
    8313             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
    8314             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
    8315             :        0,     0,  1276,     0,     0,   247,   248,   249,     0,   250,
    8316             :      251,   252,   253,   254,   255,   256,   257,  6030,  1277,   260,
    8317             :     1278,  1279,     0,   263,   264,   265,   266,   267,   268,   269,
    8318             :     1280,  1281,   270,   271,  1282,  1283,   274,     0,   275,   276,
    8319             :      277,   278,  1284,     0,  1285,     0,   281,   282,   283,   284,
    8320             :      285,   286,   287,   288,   289,   290,   291,     0,   292,   293,
    8321             :      294,   295,   296,   297,     0,   298,   299,   300,  6031,  1286,
    8322             :     1287,  1288,  1289,  1290,  1291,  1292,   303,   304,   305,   306,
    8323             :      307,   308,  1293,  1294,   311,  1295,   312,     0,   313,   314,
    8324             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
    8325             :        0,     0,   324,   325,   887,   327,   328,     0,   329,   330,
    8326             :      331,   332,     0,   333,   334,   335,   336,     0,   337,   338,
    8327             :      339,   340,  1296,   342,   343,   344,   345,  1297,  1298,   347,
    8328             :        0,   348,   349,   350,  1299,   352,     0,   353,     0,   354,
    8329             :      355,   356,     0,   357,   358,   359,   360,   361,     0,   362,
    8330             :     1300,     0,  1301,   365,   366,     0,   367,   368,   369,   370,
    8331             :      371,   372,   373,   374,   375,   376,     0,   377,   378,   379,
    8332             :      380,   381,   382,   383,   384,     0,   385,   386,   387,   388,
    8333             :      389,   390,   391,  1302,  1303,     0,  1304,     0,   395,   396,
    8334             :      397,   398,   399,  1305,  1306,  1307,  1308,  1309,  1310,  1311,
    8335             :     1312,  1313,   409,  1314,   411,   412,   413,   414,   415,   416,
    8336             :      417,     0,     0,   418,  1315,   420,   421,   422,     0,   423,
    8337             :      424,   425,  1316,  1317,   426,   427,   428,   429,   430,   431,
    8338             :      432,   433,   434,   435,  1318,   437,   438,   439,   440,   441,
    8339             :      442,   443,   444,  1319,   446,  1320,   448,   449,   450,   451,
    8340             :      452,   453,   454,   455,   456,  1321,   458,  1322,   459,   460,
    8341             :      461,   462,  1323,  1324,   464,  1325,   466,   467,   468,     0,
    8342             :      469,   470,   471,     0,     0,  1326,   473,   474,     0,     0,
    8343             :      475,   476,   477,   478,   479,   480,  1327,   482,   483,   484,
    8344             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
    8345             :        0,   495,   496,   497,  1328,   499,   500,   501,   502,   503,
    8346             :        0,   504,   505,   506,   507,   508,   509,   510,   511,   512,
    8347             :      513,   514,  1329,   516,   517,   518,   519,     0,   520,   521,
    8348             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
    8349             :      532,     0,   533,   534,   535,   536,   537,   538,   539,   540,
    8350             :     1330,   542,   543,   544,   545,   546,   547,   548,   549,   550,
    8351             :      551,     0,   552,   553,   554,   555,   556,  1331,   557,   558,
    8352             :      559,   560,   561,   562,   563,   564,  1332,   566,     0,   567,
    8353             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
    8354             :      578,   579,   580,   581,   582,  1333,   584,     0,   585,   586,
    8355             :     1334,     0,   587,   588,   589,   590,   591,   592,   593,   594,
    8356             :        0,   595,  1335,  1336,     0,     0,   598,   599,  1337,   601,
    8357             :     1338,  1339,   603,   604,   605,   606,   607,  6032,   609,   610,
    8358             :      611,     0,  1340,   612,   613,   614,   615,   616,  1341,     0,
    8359             :      617,   618,   619,   620,   621,   622,  1342,     0,   624,   625,
    8360             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
    8361             :      632,   633,   634,   635,   636,   637,  1343,  1344,  1345,  1346,
    8362             :      642,  1347,  1348,  1349,  1350,   647,   648,   649,   650,     0,
    8363             :     1351,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    8364             :        0,     0,  1352,  1353,     0,     0,     0,   234,     0,  1271,
    8365             :      717,  1355,  1272,  1273,  1274,   778,  1275,     0,     0,     0,
    8366             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
    8367             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
    8368             :        0,  1276,     0,     0,   247,   248,   249,     0,   250,   251,
    8369             :      252,   253,   254,   255,   256,   257,   258,  1277,   260,  1278,
    8370             :     1279,     0,   263,   264,   265,   266,   267,   268,   269,  1280,
    8371             :     1281,   270,   271,  1282,  1283,   274,     0,   275,   276,   277,
    8372             :      278,  1284,     0,  1285,     0,   281,   282,   283,   284,   285,
    8373             :      286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
    8374             :      295,   296,   297,     0,   298,   299,   300,  6031,  1286,  1287,
    8375             :     1288,  1289,  1290,  1291,  1292,   303,   304,   305,   306,   307,
    8376             :      308,  1293,  1294,   311,  1295,   312,     0,   313,   314,   315,
    8377             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
    8378             :        0,   324,   325,   887,   327,   328,     0,   329,   330,   331,
    8379             :      332,     0,   333,   334,   335,   336,     0,   337,   338,   339,
    8380             :      340,  1296,   342,   343,   344,   345,  1297,  1298,   347,     0,
    8381             :      348,   349,   350,  1299,   352,     0,   353,     0,   354,   355,
    8382             :      356,     0,   357,   358,   359,   360,   361,     0,   362,  1300,
    8383             :        0,  1301,   365,   366,     0,   367,   368,   369,   370,   371,
    8384             :      372,   373,   374,   375,   376,     0,   377,   378,   379,   380,
    8385             :      381,   382,   383,   384,     0,   385,   386,   387,   388,   389,
    8386             :      390,   391,  1302,  1303,     0,  1304,     0,   395,   396,   397,
    8387             :      398,   399,  1305,  1306,  1307,  1308,  1309,  1310,  1311,  1312,
    8388             :     1313,   409,  1314,   411,   412,   413,   414,   415,   416,   417,
    8389             :        0,     0,   418,  1315,   420,   421,   422,     0,   423,   424,
    8390             :      425,  1316,  1317,   426,   427,   428,   429,   430,   431,   432,
    8391             :      433,   434,   435,  1318,   437,   438,   439,   440,   441,   442,
    8392             :      443,   444,  1319,   446,  1320,   448,   449,   450,   451,   452,
    8393             :      453,   454,   455,   456,  1321,   458,  1322,   459,   460,   461,
    8394             :      462,  1323,  1324,   464,  1325,   466,   467,   468,     0,   469,
    8395             :      470,   471,     0,     0,  1326,   473,   474,     0,     0,   475,
    8396             :      476,   477,   478,   479,   480,  1327,   482,   483,   484,   485,
    8397             :      486,   487,   488,   489,   490,   491,   492,   493,   494,     0,
    8398             :      495,   496,   497,  1328,   499,   500,   501,   502,   503,     0,
    8399             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
    8400             :      514,  1329,   516,   517,   518,   519,     0,   520,   521,   522,
    8401             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
    8402             :        0,   533,   534,   535,   536,   537,   538,   539,   540,  1330,
    8403             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
    8404             :        0,   552,   553,   554,   555,   556,  1331,   557,   558,   559,
    8405             :      560,   561,   562,   563,   564,  1332,   566,     0,   567,   568,
    8406             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
    8407             :      579,   580,   581,   582,  1333,   584,     0,   585,   586,  1334,
    8408             :        0,   587,   588,   589,   590,   591,   592,   593,   594,     0,
    8409             :      595,  1335,  1336,     0,     0,   598,   599,  1337,   601,  1338,
    8410             :     1339,   603,   604,   605,   606,   607,  6032,   609,   610,   611,
    8411             :        0,  1340,   612,   613,   614,   615,   616,  1341,     0,   617,
    8412             :      618,   619,   620,   621,   622,  1342,     0,   624,   625,   626,
    8413             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
    8414             :      633,   634,   635,   636,   637,  1343,  1344,  1345,  1346,   642,
    8415             :     1347,  1348,  1349,  1350,   647,   648,   649,   650,     0,  1351,
    8416             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    8417             :        0,  1352,  1353,     0,     0,     0,   234,     0,  1271,   717,
    8418             :     1355,  1272,  1273,  1274,   778,  1275,     0,     0,     0,     0,
    8419             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
    8420             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
    8421             :     1276,     0,     0,   247,   248,   249,     0,   250,   251,   252,
    8422             :      253,   254,   255,   256,   257,   258,  1277,   260,  1278,  1279,
    8423             :        0,   263,   264,   265,   266,   267,   268,   269,  1280,  1281,
    8424             :      270,   271,  1282,  1283,   274,     0,   275,   276,   277,   278,
    8425             :     1284,     0,  1285,     0,   281,   282,   283,   284,   285,   286,
    8426             :      287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
    8427             :      296,   297,     0,   298,   299,   300,   301,  1286,  1287,  1288,
    8428             :     1289,  1290,  1291,  1292,   303,   304,   305,   306,   307,   308,
    8429             :     1293,  1294,   311,  5594,   312,     0,   313,   314,   315,   316,
    8430             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
    8431             :      324,   325,   887,   327,   328,     0,   329,   330,   331,   332,
    8432             :        0,   333,   334,   335,   336,     0,   337,   338,   339,   340,
    8433             :     1296,   342,   343,   344,   345,  1297,  1298,   347,     0,   348,
    8434             :      349,   350,  1299,   352,     0,   353,     0,   354,   355,   356,
    8435             :        0,   357,   358,   359,   360,   361,     0,   362,  1300,     0,
    8436             :     1301,   365,   366,     0,   367,   368,   369,   370,   371,   372,
    8437             :      373,   374,   375,   376,     0,   377,   378,   379,   380,   381,
    8438             :      382,   383,   384,     0,   385,   386,   387,   388,   389,   390,
    8439             :      391,  1302,  1303,     0,  1304,     0,   395,   396,   397,   398,
    8440             :      399,  1305,  1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,
    8441             :      409,  1314,   411,   412,   413,   414,   415,   416,   417,     0,
    8442             :        0,   418,  1315,   420,   421,   422,     0,   423,   424,   425,
    8443             :     1316,  1317,   426,   427,   428,   429,   430,   431,   432,   433,
    8444             :      434,   435,  1318,   437,   438,   439,   440,   441,   442,   443,
    8445             :      444,  1319,   446,  1320,   448,   449,   450,   451,   452,   453,
    8446             :      454,   455,   456,  1321,   458,     0,   459,   460,   461,   462,
    8447             :     1323,  1324,   464,  1325,   466,   467,   468,     0,   469,   470,
    8448             :      471,     0,     0,  1326,   473,   474,     0,     0,   475,   476,
    8449             :      477,   478,   479,   480,  1327,   482,   483,   484,   485,   486,
    8450             :      487,   488,   489,   490,   491,   492,   493,   494,     0,   495,
    8451             :      496,   497,  1328,   499,   500,   501,   502,   503,     0,   504,
    8452             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
    8453             :     1329,   516,   517,   518,   519,     0,   520,   521,   522,   523,
    8454             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
    8455             :      533,   534,   535,   536,   537,   538,   539,   540,  3321,   542,
    8456             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
    8457             :      552,   553,   554,   555,   556,  1331,   557,   558,   559,   560,
    8458             :      561,   562,   563,   564,  1332,   566,     0,   567,   568,   569,
    8459             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
    8460             :      580,   581,   582,  1333,   584,     0,   585,   586,  1334,     0,
    8461             :      587,   588,   589,   590,   591,   592,   593,   594,     0,   595,
    8462             :     1335,  1336,     0,     0,   598,   599,  1337,   601,  1338,  1339,
    8463             :      603,   604,   605,   606,   607,   608,   609,   610,   611,     0,
    8464             :        0,   612,   613,   614,   615,   616,  1341,     0,   617,   618,
    8465             :      619,   620,   621,   622,  1342,     0,   624,   625,   626,   627,
    8466             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
    8467             :      634,   635,   636,   637,  1343,  1344,  1345,  1346,   642,  1347,
    8468             :     1348,  1349,  1350,   647,   648,   649,   650,     0,     0,     0,
    8469             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    8470             :     3322,  3323,     0,     0,     0,   234,     0,  1271,   717,  3324,
    8471             :     1272,  1273,  1274,   778,  1275,     0,     0,     0,     0,     0,
    8472             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
    8473             :      243,     0,   244,   245,   246,     0,     0,     0,     0,  1276,
    8474             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
    8475             :      254,   255,   256,   257, -3001,  1277,   260,  1278,  1279,     0,
    8476             :      263,   264,   265,   266,   267,   268,   269,  1280,  1281,   270,
    8477             :      271,  1282,  1283,   274,     0,   275,   276,   277,   278,  1284,
    8478             :        0,  1285,     0,   281,   282,   283,   284,   285,   286,   287,
    8479             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
    8480             :      297,     0,   298,   299,   300,  6031,  1286,  1287,  1288,  1289,
    8481             :     1290,  1291,  1292,   303,   304,   305,   306,   307,   308,  1293,
    8482             :     1294,   311,  1295,   312,     0,   313,   314,   315,   316,   317,
    8483             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
    8484             :      325,   887,   327,   328,     0,   329,   330,   331,   332,     0,
    8485             :      333,   334,   335,   336,     0,   337,   338,   339,   340,  1296,
    8486             :      342,   343,   344,   345,  1297,  1298,   347,     0,   348,   349,
    8487             :      350,  1299,   352,     0,   353,     0,   354,   355,   356,     0,
    8488             :      357,   358,   359,   360,   361,     0,   362,  1300,     0,  1301,
    8489             :      365,   366,     0,   367,   368,   369,   370,   371, -3001,   373,
    8490             :      374,   375,   376,     0,   377,   378,   379,   380,   381,   382,
    8491             :      383,   384,     0,   385,   386,   387,   388,   389,   390,   391,
    8492             :     1302,  1303,     0,  1304,     0,   395,     0,     0,   398,   399,
    8493             :     1305,  1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,   409,
    8494             :     1314,   411,   412,   413,   414,   415,   416,   417,     0,     0,
    8495             :      418,  1315,   420,   421, -3001,     0,   423,   424,   425,  1316,
    8496             :     1317,   426,   427,   428,   429,   430,   431,   432,   433,   434,
    8497             :      435,  1318,   437,   438,   439,   440,   441,   442,   443,   444,
    8498             :     1319,   446,  1320,   448,   449,   450,   451,   452,   453,   454,
    8499             :      455,   456,  1321,   458,  1322,   459,   460,     0,   462,  1323,
    8500             :     1324,   464,  1325,   466,   467,   468,     0,   469,   470,   471,
    8501             :        0,     0,  1326,   473,   474,     0,     0,   475,   476,   477,
    8502             :      478,   479,   480,  1327,   482,   483,   484,   485,   486,   487,
    8503             :      488,   489,   490,   491,   492,   493,   494,     0,   495,   496,
    8504             :      497,  1328,   499,   500,   501,   502,   503,     0,   504,   505,
    8505             :      506,   507,   508,   509,   510,   511,   512,   513,   514,  1329,
    8506             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
    8507             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
    8508             :      534,   535,   536,   537,   538,   539,   540,  1330,   542,   543,
    8509             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
    8510             :      553,   554,   555,   556,  1331,   557,   558,   559,   560,   561,
    8511             :    -3001,   563,   564,  1332,   566,     0,   567,   568,   569,   570,
    8512             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
    8513             :      581,   582,  1333,   584,     0,   585,   586,  1334,     0,   587,
    8514             :      588,   589,   590,   591,   592,   593,   594,     0,   595,  1335,
    8515             :     1336,     0,     0,   598,   599,  1337,   601,  1338,  1339,   603,
    8516             :      604,   605,   606,   607,  6032,   609,   610,   611,     0,  1340,
    8517             :      612,   613,   614,   615,   616,  1341,     0,   617,   618,   619,
    8518             :      620,   621,   622,  1342,     0,   624,   625,   626,   627,   628,
    8519             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
    8520             :      635,   636,   637,  1343,  1344,  1345,  1346,   642,  1347,  1348,
    8521             :     1349,  1350,   647,   648,   649,   650,     0, -3001,     0,     0,
    8522             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  1352,
    8523             :     1353,     0,     0,     0,   234,     0,  1271,   717,  1355,  1272,
    8524             :     1273,  1274,   778,  1275,     0,     0,     0,     0,     0,     0,
    8525             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    8526             :        0,   244,   245,   246,     0,     0,     0,     0,  1276,     0,
    8527             :        0,   247,   248,   249,     0,   250,   251,   252,   253,   254,
    8528             :      255,   256,   257,   258,  1277,   260,  1278,  1279,     0,   263,
    8529             :      264,   265,   266,   267,   268,   269,  1280,  1281,   270,   271,
    8530             :     1282,  1283,   274,     0,   275,   276,   277,   278,  1284,     0,
    8531             :     1285,     0,   281,   282,   283,   284,   285,   286,   287,   288,
    8532             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    8533             :        0,   298,   299,   300,   301,  1286,  1287,  1288,  1289,  1290,
    8534             :     1291,  1292,   303,   304,   305,   306,   307,   308,  1293,  1294,
    8535             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
    8536             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    8537             :      887,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    8538             :      334,   335,   336,     0,   337,   338,   339,   340,  1296,   342,
    8539             :      343,   344,   345,  1297,  1298,   347,     0,   348,   349,   350,
    8540             :     1299,   352,     0,   353,     0,   354,   355,   356,     0,   357,
    8541             :      358,   359,   360,   361,     0,   362,  1300,     0,  1301,   365,
    8542             :      366,     0,   367,   368,   369,   370,   371,   372,   373,   374,
    8543             :      375,   376,     0,   377,   378,   379,   380,   381,   382,   383,
    8544             :      384,     0,   385,   386,   387,   388,   389,   390,   391,  1302,
    8545             :     1303,     0,  1304,     0,   395,   396,   397,   398,   399,  1305,
    8546             :     1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,   409,  1314,
    8547             :      411,   412,   413,   414,   415,   416,   417,     0,     0,   418,
    8548             :     1315,   420,   421,   422,     0,   423,   424,   425,  1316,  1317,
    8549             :      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    8550             :     1318,   437,   438,   439,   440,   441,   442,   443,   444,  1319,
    8551             :      446,  1320,   448,   449,   450,   451,   452,   453,   454,   455,
    8552             :      456,  1321,   458,     0,   459,   460,   461,   462,  1323,  1324,
    8553             :      464,  1325,   466,   467,   468,     0,   469,   470,   471,     0,
    8554             :        0,  1326,   473,   474,     0,     0,   475,   476,   477,   478,
    8555             :      479,   480,  1327,   482,   483,   484,   485,   486,   487,   488,
    8556             :      489,   490,   491,   492,   493,   494,     0,   495,   496,   497,
    8557             :     1328,   499,   500,   501,   502,   503,     0,   504,   505,   506,
    8558             :      507,   508,   509,   510,   511,   512,   513,   514,  1329,   516,
    8559             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    8560             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    8561             :      535,   536,   537,   538,   539,   540,  3321,   542,   543,   544,
    8562             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
    8563             :      554,   555,   556,  1331,   557,   558,   559,   560,   561,   562,
    8564             :      563,   564,  1332,   566,     0,   567,   568,   569,   570,   571,
    8565             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    8566             :      582,  1333,   584,     0,   585,   586,  1334,     0,   587,   588,
    8567             :      589,   590,   591,   592,   593,   594,     0,   595,  1335,  1336,
    8568             :        0,     0,   598,   599,  1337,   601,  1338,  1339,   603,   604,
    8569             :      605,   606,   607,   608,   609,   610,   611,     0,     0,   612,
    8570             :      613,   614,   615,   616,  1341,     0,   617,   618,   619,   620,
    8571             :      621,   622,  1342,     0,   624,   625,   626,   627,   628,   629,
    8572             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
    8573             :      636,   637,  1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,
    8574             :     1350,   647,   648,   649,   650,     0,     0,     0,     0,     0,
    8575             :        0,     0,     0,     0,     0,     0,     0,     0,  3322,  3323,
    8576             :      234,     0,  1271,   717,     0,  1272,  1273,  3324,   778,  1275,
    8577             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
    8578             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
    8579             :        0,     0,     0,     0,  1276,     0,     0,   247,   248,   249,
    8580             :        0,   250,   251,   252,   253,   254,   255,   256,   257,   258,
    8581             :     1277,   260,  1278,  1279,     0,   263,   264,   265,   266,   267,
    8582             :      268,   269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,
    8583             :      275,   276,   277,   278,  1284,     0,  1285,     0,   281,   282,
    8584             :      283,   284,   285,   286,   287,   288,   289,   290,   291,     0,
    8585             :      292,   293,   294,   295,   296,   297,     0,   298,   299,   300,
    8586             :      301,  1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,
    8587             :      305,   306,   307,   308,  1293,  1294,   311,     0,   312,     0,
    8588             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
    8589             :      322,   323,     0,     0,   324,   325,   887,   327,   328,     0,
    8590             :      329,   330,   331,   332,     0,   333,   334,   335,   336,     0,
    8591             :      337,   338,   339,   340,  1296,   342,   343,   344,   345,  1297,
    8592             :     1298,   347,     0,   348,   349,   350,  1299,   352,     0,   353,
    8593             :        0,   354,   355,   356,     0,   357,   358,   359,   360,   361,
    8594             :        0,   362,  1300,     0,  1301,   365,   366,     0,   367,   368,
    8595             :      369,   370,   371,   372,   373,   374,   375,   376,     0,   377,
    8596             :      378,   379,   380,   381,   382,   383,   384,     0,   385,   386,
    8597             :      387,   388,   389,   390,   391,  1302,  1303,     0,  1304,     0,
    8598             :      395,   396,   397,   398,   399,  1305,  1306,  1307,  1308,  1309,
    8599             :     1310,  1311,  1312,  1313,   409,  1314,   411,   412,   413,   414,
    8600             :      415,   416,   417,     0,     0,   418,  1315,   420,   421,   422,
    8601             :        0,   423,   424,   425,  1316,  1317,   426,   427,   428,   429,
    8602             :      430,   431,   432,   433,   434,   435,  1318,   437,   438,   439,
    8603             :      440,   441,   442,   443,   444,  1319,   446,  1320,   448,   449,
    8604             :      450,   451,   452,   453,   454,   455,   456,  1321,   458,     0,
    8605             :      459,   460,   461,   462,  1323,  1324,   464,  1325,   466,   467,
    8606             :      468,     0,   469,   470,   471,     0,     0,   472,   473,   474,
    8607             :        0,     0,   475,   476,   477,   478,   479,   480,  1327,   482,
    8608             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
    8609             :      493,   494,     0,   495,   496,   497,  1328,   499,   500,   501,
    8610             :      502,   503,     0,   504,   505,   506,   507,   508,   509,   510,
    8611             :      511,   512,   513,   514,  1329,   516,   517,   518,   519,     0,
    8612             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
    8613             :      530,   531,   532,     0,   533,   534,   535,   536,   537,   538,
    8614             :      539,   540,  3501,  3502,   543,   544,   545,   546,   547,   548,
    8615             :      549,   550,   551,     0,   552,   553,   554,   555,   556,  1331,
    8616             :      557,   558,   559,   560,   561,   562,   563,   564,  1332,   566,
    8617             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
    8618             :      576,   577,   578,   579,   580,   581,   582,  1333,   584,     0,
    8619             :      585,   586,  1334,     0,   587,   588,   589,   590,   591,   592,
    8620             :      593,   594,     0,   595,  1335,  1336,     0,     0,   598,   599,
    8621             :     1337,   601,  1338,  1339,   603,   604,   605,   606,   607,   608,
    8622             :      609,   610,   611,     0,     0,   612,   613,   614,   615,   616,
    8623             :     1341,     0,   617,   618,   619,   620,   621,   622,  1342,     0,
    8624             :      624,   625,   626,   627,   628,   629,     0,     0,   630,     0,
    8625             :        0,   631,   632,   633,   634,   635,   636,   637,  1343,  1344,
    8626             :     1345,  1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,
    8627             :      650,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    8628             :        0,     0,     0,     0,  3503,  3504,   234,     0,  1271,   717,
    8629             :        0,  1272,  1273,  3324,   778,  1275,     0,     0,     0,     0,
    8630             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
    8631             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
    8632             :     1276,     0,     0,   247,   248,   249,     0,   250,   251,   252,
    8633             :      253,   254,   255,   256,   257,   258,  1277,   260,  1278,  1279,
    8634             :        0,   263,   264,   265,   266,   267,   268,   269,  1280,  1281,
    8635             :      270,   271,  1282,  1283,   274,     0,   275,   276,   277,   278,
    8636             :     1284,     0,  1285,     0,   281,   282,   283,   284,   285,   286,
    8637             :      287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
    8638             :      296,   297,     0,   298,   299,   300,   301,  1286,  1287,  1288,
    8639             :     1289,  1290,  1291,  1292,   303,   304,   305,   306,   307,   308,
    8640             :     1293,  1294,   311,     0,   312,     0,   313,   314,   315,   316,
    8641             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
    8642             :      324,   325,   887,   327,   328,     0,   329,   330,   331,   332,
    8643             :        0,   333,   334,   335,   336,     0,   337,   338,   339,   340,
    8644             :     1296,   342,   343,   344,   345,  1297,  1298,   347,     0,   348,
    8645             :      349,   350,  1299,   352,     0,   353,     0,   354,   355,   356,
    8646             :        0,   357,   358,   359,   360,   361,     0,   362,  1300,     0,
    8647             :     1301,   365,   366,     0,   367,   368,   369,   370,   371,   372,
    8648             :      373,   374,   375,   376,     0,   377,   378,   379,   380,   381,
    8649             :      382,   383,   384,     0,   385,   386,   387,   388,   389,   390,
    8650             :      391,  1302,  1303,     0,  1304,     0,   395,   396,   397,   398,
    8651             :      399,  1305,  1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,
    8652             :      409,  1314,   411,   412,   413,   414,   415,   416,   417,     0,
    8653             :        0,   418,  1315,   420,   421,   422,     0,   423,   424,   425,
    8654             :     1316,  1317,   426,   427,   428,   429,   430,   431,   432,   433,
    8655             :      434,   435,  1318,   437,   438,   439,   440,   441,   442,   443,
    8656             :      444,  1319,   446,  1320,   448,   449,   450,   451,   452,   453,
    8657             :      454,   455,   456,  1321,   458,     0,   459,   460,   461,   462,
    8658             :     1323,  1324,   464,  1325,   466,   467,   468,     0,   469,   470,
    8659             :      471,     0,     0,   472,   473,   474,     0,     0,   475,   476,
    8660             :      477,   478,   479,   480,  1327,   482,   483,   484,   485,   486,
    8661             :      487,   488,   489,   490,   491,   492,   493,   494,     0,   495,
    8662             :      496,   497,  1328,   499,   500,   501,   502,   503,     0,   504,
    8663             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
    8664             :     1329,   516,   517,   518,   519,     0,   520,   521,   522,   523,
    8665             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
    8666             :      533,   534,   535,   536,   537,   538,   539,   540,  3321,   542,
    8667             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
    8668             :      552,   553,   554,   555,   556,  1331,   557,   558,   559,   560,
    8669             :      561,   562,   563,   564,  1332,   566,     0,   567,   568,   569,
    8670             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
    8671             :      580,   581,   582,  1333,   584,     0,   585,   586,  1334,     0,
    8672             :      587,   588,   589,   590,   591,   592,   593,   594,     0,   595,
    8673             :     1335,  1336,     0,     0,   598,   599,  1337,   601,  1338,  1339,
    8674             :      603,   604,   605,   606,   607,   608,   609,   610,   611,     0,
    8675             :        0,   612,   613,   614,   615,   616,  1341,     0,   617,   618,
    8676             :      619,   620,   621,   622,  1342,     0,   624,   625,   626,   627,
    8677             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
    8678             :      634,   635,   636,   637,  1343,  1344,  1345,  1346,   642,  1347,
    8679             :     1348,  1349,  1350,   647,   648,   649,   650,     0,     0,     0,
    8680             :        0,     0,     0,   234,     0,  1271,   717,     0,  1272,  1273,
    8681             :        0,   778,  1275,     0,     0,     0,     0,     0,     0,  3324,
    8682             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
    8683             :      244,   245,   246,     0,     0,     0,     0,  1276,     0,     0,
    8684             :      247,   248,   249,     0,   250,   251,   252,   253,   254,   255,
    8685             :      256,   257,   258,  1277,   260,  1278,  1279,     0,   263,  4778,
    8686             :      265,   266,   267,   268,   269,  1280,  1281,   270,   271,  1282,
    8687             :     1283,   274,     0,   275,   276,   277,   278,  1284,     0,  1285,
    8688             :        0,   281,   282,   283,   284,   285,   286,   287,   288,   289,
    8689             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
    8690             :      298,   299,   300,   301,  1286,  1287,  1288,  1289,  1290,  1291,
    8691             :     1292,   303,   304,   305,   306,   307,   308,  1293,  1294,   311,
    8692             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
    8693             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   887,
    8694             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
    8695             :      335,   336,     0,   337,   338,   339,   340,  1296,   342,   343,
    8696             :      344,   345,  1297,  1298,   347,     0,   348,   349,   350,  1299,
    8697             :      352,     0,   353,     0,   354,   355,   356,     0,   357,   358,
    8698             :      359,   360,   361,     0,   362,  1300,     0,  1301,   365,   366,
    8699             :        0,   367,   368,   369,   370,   371,   372,   373,   374,   375,
    8700             :      376,     0,   377,   378,   379,   380,   381,   382,   383,   384,
    8701             :        0,   385,   386,   387,   388,   389,   390,   391,  1302,  1303,
    8702             :        0,  1304,     0,   395,   396,   397,   398,   399,  1305,  1306,
    8703             :     1307,  1308,  1309,  1310,  1311,  1312,  1313,   409,  1314,   411,
    8704             :      412,   413,   414,   415,   416,   417,     0,     0,   418,  1315,
    8705             :      420,   421,   422,     0,   423,   424,   425,  1316,  1317,   426,
    8706             :      427,   428,   429,   430,   431,   432,   433,   434,   435,  1318,
    8707             :      437,   438,   439,   440,   441,   442,   443,   444,  1319,   446,
    8708             :     1320,   448,   449,   450,   451,   452,   453,   454,   455,   456,
    8709             :     1321,   458,     0,   459,   460,   461,   462,  1323,  1324,   464,
    8710             :     1325,   466,   467,   468,     0,   469,   470,   471,     0,     0,
    8711             :      472,   473,   474,     0,     0,   475,   476,   477,   478,   479,
    8712             :      480,  1327,   482,   483,   484,   485,   486,   487,   488,   489,
    8713             :      490,   491,   492,   493,   494,     0,   495,   496,   497,  1328,
    8714             :      499,   500,   501,   502,   503,     0,   504,   505,   506,   507,
    8715             :      508,   509,   510,   511,   512,   513,   514,  1329,   516,   517,
    8716             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
    8717             :      527,   528,   529,   530,   531,   532,     0,   533,   534,   535,
    8718             :      536,   537,   538,   539,   540,  3321,   542,   543,   544,   545,
    8719             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
    8720             :      555,   556,  1331,   557,   558,   559,   560,   561,   562,   563,
    8721             :      564,  1332,   566,     0,   567,   568,   569,   570,   571,   572,
    8722             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
    8723             :     1333,   584,     0,   585,   586,  1334,     0,   587,   588,   589,
    8724             :      590,   591,   592,   593,   594,     0,   595,  1335,  1336,     0,
    8725             :        0,   598,   599,  1337,   601,  1338,  1339,   603,   604,   605,
    8726             :      606,   607,   608,   609,   610,   611,     0,     0,   612,   613,
    8727             :      614,   615,   616,  1341,     0,   617,   618,   619,   620,   621,
    8728             :      622,  1342,     0,   624,   625,   626,   627,   628,   629,     0,
    8729             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
    8730             :      637,  1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,  1350,
    8731             :      647,   648,   649,   650,     0,     0,     0,     0,     0,     0,
    8732             :      234,     0,  1271,   717,     0,  1272,  1273,     0,   778,  1275,
    8733             :        0,     0,     0,     0,     0,     0,  3324,   235,   236,   237,
    8734             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
    8735             :        0,     0,     0,     0,  1276,     0,     0,   247,   248,   249,
    8736             :        0,   250,   251,   252,   253,   254,   255,   256,   257,   258,
    8737             :     1277,   260,  1278,  1279,     0,   263,   264,   265,   266,   267,
    8738             :      268,   269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,
    8739             :      275,   276,   277,   278,  1284,     0,  1285,     0,   281,   282,
    8740             :      283,   284,   285,   286,   287,   288,   289,   290,   291,     0,
    8741             :      292,   293,   294,   295,   296,   297,     0,   298,   299,   300,
    8742             :      301,  1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,
    8743             :      305,   306,   307,   308,  1293,  1294,   311,     0,   312,     0,
    8744             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
    8745             :      322,   323,     0,     0,   324,   325,   887,   327,   328,     0,
    8746             :      329,   330,   331,   332,     0,   333,   334,   335,   336,     0,
    8747             :      337,   338,   339,   340,  1296,   342,   343,   344,   345,  1297,
    8748             :     1298,   347,     0,   348,   349,   350,  1299,   352,     0,   353,
    8749             :        0,   354,   355,   356,     0,   357,   358,   359,   360,   361,
    8750             :        0,   362,  1300,     0,  1301,   365,   366,     0,   367,   368,
    8751             :      369,   370,   371,   372,   373,   374,   375,   376,     0,   377,
    8752             :      378,   379,   380,   381,   382,   383,   384,     0,   385,   386,
    8753             :      387,   388,   389,   390,   391,  1302,  1303,     0,  1304,     0,
    8754             :      395,   396,   397,   398,   399,  1305,  1306,  1307,  1308,  1309,
    8755             :     1310,  1311,  1312,  1313,   409,  1314,   411,   412,   413,   414,
    8756             :      415,   416,   417,     0,     0,   418,  1315,   420,   421,   422,
    8757             :        0,   423,   424,   425,  1316,  1317,   426,   427,   428,   429,
    8758             :      430,   431,   432,   433,   434,   435,  1318,   437,   438,   439,
    8759             :      440,   441,   442,   443,   444,  1319,   446,  1320,   448,   449,
    8760             :      450,   451,   452,   453,   454,   455,   456,  1321,   458,     0,
    8761             :      459,   460,   461,   462,  1323,  1324,   464,  1325,   466,   467,
    8762             :      468,     0,   469,   470,   471,     0,     0,   472,   473,   474,
    8763             :        0,     0,   475,   476,   477,   478,   479,   480,  1327,   482,
    8764             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
    8765             :      493,   494,     0,   495,   496,   497,  1328,   499,   500,   501,
    8766             :      502,   503,     0,   504,   505,   506,   507,   508,   509,   510,
    8767             :      511,   512,   513,   514,  1329,   516,   517,   518,   519,     0,
    8768             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
    8769             :      530,   531,   532,     0,   533,   534,   535,   536,   537,   538,
    8770             :      539,   540,  3321,   542,   543,   544,   545,   546,   547,   548,
    8771             :      549,   550,   551,     0,   552,   553,   554,   555,   556,  1331,
    8772             :      557,   558,   559,   560,   561,   562,   563,   564,  1332,   566,
    8773             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
    8774             :      576,   577,   578,   579,   580,   581,   582,  1333,   584,     0,
    8775             :      585,   586,  1334,     0,   587,   588,   589,   590,   591,   592,
    8776             :      593,   594,     0,   595,  1335,  1336,     0,     0,   598,   599,
    8777             :     1337,   601,  1338,  1339,   603,   604,   605,   606,   607,   608,
    8778             :      609,   610,   611,     0,     0,   612,   613,   614,   615,   616,
    8779             :     1341,     0,   617,   618,   619,   620,   621,   622,  1342,     0,
    8780             :      624,   625,   626,   627,   628,   629,     0,     0,   630,     0,
    8781             :        0,   631,   632,   633,   634,   635,   636,   637,  1343,  1344,
    8782             :     1345,  1346,  4838,  1347,  1348,  1349,  1350,   647,   648,   649,
    8783             :      650,     0,     0,     0,     0,     0,     0,   234,     0,     0,
    8784             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    8785             :        0,     0,     0,  3324,   235,   236,   237,   238,   239,   240,
    8786             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
    8787             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
    8788             :      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
    8789             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
    8790             :     1281,   270,   271,   272,   273,   274,     0,   275,   276,   277,
    8791             :      278,  1284,     0,  1285,     0,   281,   282,   283,   284,   285,
    8792             :      286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
    8793             :      295,   296,   297,     0,   298,   299,   300,   301,  1286,  1287,
    8794             :     1288,  1289,  1290,  1291,  1292,   303,   304,   305,   306,   307,
    8795             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
    8796             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
    8797             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
    8798             :      332,     0,   333,   334,   335,   336,     0,   337,   338,   339,
    8799             :      340,   341,   342,   343,   344,   345,  1297,     0,   347,     0,
    8800             :      348,   349,   350,   351,   352,     0,   353,     0,   354,   355,
    8801             :      356,     0,   357,   358,   359,   360,   361,     0,   362,  1300,
    8802             :        0,   364,   365,   366,     0,   367,   368,   369,   370,   371,
    8803             :      372,   373,   374,   375,   376,     0,   377,   378,   379,   380,
    8804             :      381,   382,   383,   384,     0,   385,   386,   387,   388,   389,
    8805             :      390,   391,   392,   393,     0,   394,     0,   395,   396,   397,
    8806             :      398,   399,  3472,  1306,  1307,  1308,  1309,  1310,  1311,  1312,
    8807             :     1313,  3473,  1314,   411,   412,   413,   414,   415,   416,   417,
    8808             :     3474,     0,   418,  1315,   420,   421,   422,     0,   423,   424,
    8809             :      425,  1316,  1317,   426,   427,   428,   429,   430,   431,   432,
    8810             :      433,   434,   435,  1318,   437,   438,   439,   440,   441,   442,
    8811             :      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
    8812             :      453,   454,   455,   456,  1321,   458,     0,   459,   460,   461,
    8813             :      462,     0,  1324,   464,   465,   466,   467,   468,     0,   469,
    8814             :      470,   471,     0,   862,   472,   473,   474,     0,     0,   475,
    8815             :      476,   477,   478,   479,   480,  1327,   482,   483,   484,   485,
    8816             :      486,   487,   488,   489,   490,   491,   492,   493,   494,     0,
    8817             :      495,   496,   497,  1328,   499,   500,   501,   502,   503,     0,
    8818             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
    8819             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
    8820             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
    8821             :        0,   533,   534,   535,   536,   537,   538,   539,   540,   541,
    8822             :     3475,   543,   544,   545,   546,   547,   548,   549,   550,   551,
    8823             :       40,   552,   553,   554,   555,   556,  1331,   557,   558,   559,
    8824             :      560,   561,   562,   563,   564,   565,   566,     0,   567,   568,
    8825             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
    8826             :      579,   580,   581,   582,  1333,   584,     0,   585,   586,  1334,
    8827             :       44,   587,   588,   589,   590,   591,   592,   593,   594,     0,
    8828             :      595,   596,   597,     0,     0,   598,   599,  1337,   601,  1338,
    8829             :        0,   603,   604,   605,   606,   607,   608,   609,   610,   611,
    8830             :        0,     0,   612,   613,   614,   615,   616,  1341,     0,   617,
    8831             :      618,   619,   620,   621,  1206,   623,     0,   624,   625,   626,
    8832             :      627,   628,   629,     0,     0,   630,     0,    49,   631,   632,
    8833             :      633,   634,   635,   636,   637,  1343,  1344,  1345,  1346,   642,
    8834             :     1347,  1348,  1349,  1350,  3476,   648,   649,   650,     0,     0,
    8835             :        0,    50,     0,     0,   234,     0,     0,     0,     0,     0,
    8836             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    8837             :     3477,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    8838             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
    8839             :        0,   247,   248,   249,     0,   250,   251,   252,   253,   254,
    8840             :      255,   256,   257,   258,   259,   260,   261,   262,     0,   263,
    8841             :      264,   265,   266,   267,   268,   269,     0,  1281,   270,   271,
    8842             :      272,   273,   274,     0,   275,   276,   277,   278,  1284,     0,
    8843             :     1285,     0,   281,   282,   283,   284,   285,   286,   287,   288,
    8844             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    8845             :        0,   298,   299,   300,   301,  1286,  1287,  1288,  1289,  1290,
    8846             :     1291,  1292,   303,   304,   305,   306,   307,   308,   309,   310,
    8847             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
    8848             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    8849             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    8850             :      334,   335,   336,     0,   337,   338,   339,   340,   341,   342,
    8851             :      343,   344,   345,  1297,     0,   347,     0,   348,   349,   350,
    8852             :      351,   352,     0,   353,     0,   354,   355,   356,     0,   357,
    8853             :      358,   359,   360,   361,     0,   362,  1300,     0,   364,   365,
    8854             :      366,     0,   367,   368,   369,   370,   371,   372,   373,   374,
    8855             :      375,   376,     0,   377,   378,   379,   380,   381,   382,   383,
    8856             :      384,     0,   385,   386,   387,   388,   389,   390,   391,   392,
    8857             :      393,     0,   394,     0,   395,   396,   397,   398,   399,  3472,
    8858             :     1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,  3473,  1314,
    8859             :      411,   412,   413,   414,   415,   416,   417,  3474,     0,   418,
    8860             :     1315,   420,   421,   422,     0,   423,   424,   425,  1316,  1317,
    8861             :      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    8862             :     1318,   437,   438,   439,   440,   441,   442,   443,   444,   445,
    8863             :      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
    8864             :      456,  1321,   458,     0,   459,   460,   461,   462,     0,  1324,
    8865             :      464,   465,   466,   467,   468,     0,   469,   470,   471,     0,
    8866             :      862,   472,   473,   474,     0,     0,   475,   476,   477,   478,
    8867             :      479,   480,  1327,   482,   483,   484,   485,   486,   487,   488,
    8868             :      489,   490,   491,   492,   493,   494,     0,   495,   496,   497,
    8869             :     1328,   499,   500,   501,   502,   503,     0,   504,   505,   506,
    8870             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
    8871             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    8872             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    8873             :      535,   536,   537,   538,   539,   540,   541,  3475,   543,   544,
    8874             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
    8875             :      554,   555,   556,  1331,   557,   558,   559,   560,   561,   562,
    8876             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
    8877             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    8878             :      582,  1333,   584,     0,   585,   586,  1334,     0,   587,   588,
    8879             :      589,   590,   591,   592,   593,   594,     0,   595,   596,   597,
    8880             :        0,     0,   598,   599,  1337,   601,  1338,     0,   603,   604,
    8881             :      605,   606,   607,   608,   609,   610,   611,     0,     0,   612,
    8882             :      613,   614,   615,   616,  1341,     0,   617,   618,   619,   620,
    8883             :      621,   622,   623,     0,   624,   625,   626,   627,   628,   629,
    8884             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
    8885             :      636,   637,  1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,
    8886             :     1350,  3476,   648,   649,   650,     0,     0,     0,     0,     0,
    8887             :        0,   234,     0,     0,     0,     0,     0,     0,     0,     0,
    8888             :        0,     0,     0,     0,     0,     0,     0,  3477,   235,   236,
    8889             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
    8890             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
    8891             :      249,     0,   250,   251,   252,   253,   254,   255,   256,   257,
    8892             :      258,   259,   260,   261,   262,     0,   263,   264,   265,   266,
    8893             :      267,   268,   269,     0,  1281,   270,   271,   272,   273,   274,
    8894             :        0,   275,   276,   277,   278,  1284,     0,  1285,     0,   281,
    8895             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
    8896             :        0,   292,   293,   294,   295,   296,   297,     0,   298,   299,
    8897             :      300,   301,  1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,
    8898             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
    8899             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
    8900             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
    8901             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
    8902             :        0,   337,   338,   339,   340,   341,   342,   343,   344,   345,
    8903             :     1297,     0,   347,     0,   348,   349,   350,   351,   352,     0,
    8904             :      353,     0,   354,   355,   356,     0,   357,   358,   359,   360,
    8905             :      361,     0,   362,  1300,     0,   364,   365,   366,     0,   367,
    8906             :      368,   369,   370,   371,   372,   373,   374,   375,   376,     0,
    8907             :      377,   378,   379,   380,   381,   382,   383,   384,     0,   385,
    8908             :      386,   387,   388,   389,   390,   391,   392,   393,     0,   394,
    8909             :        0,   395,   396,   397,   398,   399,  3472,  1306,  1307,  1308,
    8910             :     1309,  1310,  1311,  1312,  1313,   409,  1314,   411,   412,   413,
    8911             :      414,   415,   416,   417,     0,     0,   418,  1315,   420,   421,
    8912             :      422,     0,   423,   424,   425,  1316,  1317,   426,   427,   428,
    8913             :      429,   430,   431,   432,   433,   434,   435,  1318,   437,   438,
    8914             :      439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
    8915             :      449,   450,   451,   452,   453,   454,   455,   456,  1321,   458,
    8916             :        0,   459,   460,   461,   462,     0,  1324,   464,   465,   466,
    8917             :      467,   468,     0,   469,   470,   471,     0,     0,   472,   473,
    8918             :      474,     0,     0,   475,   476,   477,   478,   479,   480,  1327,
    8919             :      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
    8920             :      492,   493,   494,     0,   495,   496,   497,  1328,   499,   500,
    8921             :      501,   502,   503,     0,   504,   505,   506,   507,   508,   509,
    8922             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
    8923             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
    8924             :      529,   530,   531,   532,     0,   533,   534,   535,   536,   537,
    8925             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
    8926             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
    8927             :     1331,   557,   558,   559,   560,   561,   562,   563,   564,   565,
    8928             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
    8929             :      575,   576,   577,   578,   579,   580,   581,   582,  1333,   584,
    8930             :        0,   585,   586,  1334,     0,   587,   588,   589,   590,   591,
    8931             :      592,   593,   594,     0,   595,   596,   597,     0,     0,   598,
    8932             :      599,  1337,   601,  1338,     0,   603,   604,   605,   606,   607,
    8933             :      608,   609,   610,   611,     0,     0,   612,   613,   614,   615,
    8934             :      616,  1341,     0,   617,   618,   619,   620,   621,   622,   623,
    8935             :        0,   624,   625,   626,   627,   628,   629,     0,     0,   630,
    8936             :        0,     0,   631,   632,   633,   634,   635,   636,   637,  1343,
    8937             :     1344,  1345,  1346,   642,  1347,  1348,  1349,  1350,   647,   648,
    8938             :      649,   650,     0,     0,     0,     0,     0,     0,   234,     0,
    8939             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    8940             :        0,     0,     0,     0,  3924,   235,   236,   237,   238,   239,
    8941             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
    8942             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
    8943             :      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
    8944             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
    8945             :        0,  1281,   270,   271,   272,   273,   274,     0,   275,   276,
    8946             :      277,   278,  1284,     0,  1285,     0,   281,   282,   283,   284,
    8947             :      285,   286,   287,   288,   289,   290,   291,     0,   292,   293,
    8948             :      294,   295,   296,   297,     0,   298,   299,   300,   301,  1286,
    8949             :     1287,  1288,  1289,  1290,  1291,  1292,   303,   304,   305,   306,
    8950             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
    8951             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
    8952             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
    8953             :      331,   332,     0,   333,   334,   335,   336,     0,   337,   338,
    8954             :      339,   340,   341,   342,   343,   344,   345,  1297,     0,   347,
    8955             :        0,   348,   349,   350,   351,   352,     0,   353,     0,   354,
    8956             :      355,   356,     0,   357,   358,   359,   360,   361,     0,   362,
    8957             :     1300,     0,   364,   365,   366,     0,   367,   368,   369,   370,
    8958             :      371,   372,   373,   374,   375,   376,     0,   377,   378,   379,
    8959             :      380,   381,   382,   383,   384,     0,   385,   386,   387,   388,
    8960             :      389,   390,   391,   392,   393,     0,   394,     0,   395,   396,
    8961             :      397,   398,   399,  3472,  1306,  1307,  1308,  1309,  1310,  1311,
    8962             :     1312,  1313,  3473,  1314,   411,   412,   413,   414,   415,   416,
    8963             :      417,     0,     0,   418,  1315,   420,   421,   422,     0,   423,
    8964             :      424,   425,  1316,  1317,   426,   427,   428,   429,   430,   431,
    8965             :      432,   433,   434,   435,  1318,   437,   438,   439,   440,   441,
    8966             :      442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
    8967             :      452,   453,   454,   455,   456,  1321,   458,     0,   459,   460,
    8968             :      461,   462,     0,  1324,   464,   465,   466,   467,   468,     0,
    8969             :      469,   470,   471,     0,     0,   472,   473,   474,     0,     0,
    8970             :      475,   476,   477,   478,   479,   480,  1327,   482,   483,   484,
    8971             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
    8972             :        0,   495,   496,   497,  1328,   499,   500,   501,   502,   503,
    8973             :        0,   504,   505,   506,   507,   508,   509,   510,   511,   512,
    8974             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
    8975             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
    8976             :      532,     0,   533,   534,   535,   536,   537,   538,   539,   540,
    8977             :      541,  3475,   543,   544,   545,   546,   547,   548,   549,   550,
    8978             :      551,     0,   552,   553,   554,   555,   556,  1331,   557,   558,
    8979             :      559,   560,   561,   562,   563,   564,   565,   566,     0,   567,
    8980             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
    8981             :      578,   579,   580,   581,   582,  1333,   584,     0,   585,   586,
    8982             :     1334,     0,   587,   588,   589,   590,   591,   592,   593,   594,
    8983             :        0,   595,   596,   597,     0,     0,   598,   599,  1337,   601,
    8984             :     1338,     0,   603,   604,   605,   606,   607,   608,   609,   610,
    8985             :      611,     0,     0,   612,   613,   614,   615,   616,  1341,     0,
    8986             :      617,   618,   619,   620,   621,   622,   623,     0,   624,   625,
    8987             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
    8988             :      632,   633,   634,   635,   636,   637,  1343,  1344,  1345,  1346,
    8989             :      642,  1347,  1348,  1349,  1350,  3476,   648,   649,   650,     0,
    8990             :        0,     0,     0,     0,     0,   234,     0,     0,     0,     0,
    8991             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    8992             :        0,    56,   235,   236,   237,   238,   239,   240,   241,   242,
    8993             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
    8994             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
    8995             :      254,   255,   256,   257,   258,   259,   260,   261,   262,     0,
    8996             :      263,   264,   265,   266,   267,   268,   269,     0,  1281,   270,
    8997             :      271,   272,   273,   274,     0,   275,   276,   277,   278,  1284,
    8998             :        0,  1285,     0,   281,   282,   283,   284,   285,   286,   287,
    8999             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
    9000             :      297,     0,   298,   299,   300,   301,  1286,  1287,  1288,  1289,
    9001             :     1290,  1291,  1292,   303,   304,   305,   306,   307,   308,   309,
    9002             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
    9003             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
    9004             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
    9005             :      333,   334,   335,   336,     0,   337,   338,   339,   340,   341,
    9006             :      342,   343,   344,   345,  1297,     0,   347,     0,   348,   349,
    9007             :      350,   351,   352,     0,   353,     0,   354,   355,   356,     0,
    9008             :      357,   358,   359,   360,   361,     0,   362,  1300,     0,   364,
    9009             :      365,   366,     0,   367,   368,   369,   370,   371,   372,   373,
    9010             :      374,   375,   376,     0,   377,   378,   379,   380,   381,   382,
    9011             :      383,   384,     0,   385,   386,   387,   388,   389,   390,   391,
    9012             :      392,   393,     0,   394,     0,   395,   396,   397,   398,   399,
    9013             :     3472,  1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,   409,
    9014             :     1314,   411,   412,   413,   414,   415,   416,   417,     0,     0,
    9015             :      418,  1315,   420,   421,   422,     0,   423,   424,   425,  1316,
    9016             :     1317,   426,   427,   428,   429,   430,   431,   432,   433,   434,
    9017             :      435,  1318,   437,   438,   439,   440,   441,   442,   443,   444,
    9018             :      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
    9019             :      455,   456,  1321,   458,     0,   459,   460,   461,   462,     0,
    9020             :     1324,   464,   465,   466,   467,   468,     0,   469,   470,   471,
    9021             :        0,     0,   472,   473,   474,     0,     0,   475,   476,   477,
    9022             :      478,   479,   480,  1327,   482,   483,   484,   485,   486,   487,
    9023             :      488,   489,   490,   491,   492,   493,   494,     0,   495,   496,
    9024             :      497,  1328,   499,   500,   501,   502,   503,     0,   504,   505,
    9025             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
    9026             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
    9027             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
    9028             :      534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
    9029             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
    9030             :      553,   554,   555,   556,  1331,   557,   558,   559,   560,   561,
    9031             :      562,   563,   564,   565,   566,     0,   567,   568,   569,   570,
    9032             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
    9033             :      581,   582,  1333,   584,     0,   585,   586,  1334,     0,   587,
    9034             :      588,   589,   590,   591,   592,   593,   594,     0,   595,   596,
    9035             :      597,     0,     0,   598,   599,  1337,   601,  1338,     0,   603,
    9036             :      604,   605,   606,   607,   608,   609,   610,   611,     0,     0,
    9037             :      612,   613,   614,   615,   616,  1341,     0,   617,   618,   619,
    9038             :      620,   621,   622,   623,     0,   624,   625,   626,   627,   628,
    9039             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
    9040             :      635,   636,   637,  1343,  1344,  1345,  1346,   642,  1347,  1348,
    9041             :     1349,  1350,   647,   648,   649,   650,     0,     0,     0,     0,
    9042             :        0,     0,   234,     0,     0,     0,     0,     0,     0,     0,
    9043             :        0,     0,     0,     0,     0,     0,     0,     0,  4924,   235,
    9044             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
    9045             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
    9046             :      248,   249,     0,   250,   251,   252,   253,   254,   255,   256,
    9047             :      257,   258,   259,   260,   261,   262,     0,   263,   264,   265,
    9048             :      266,   267,   268,   269,     0,  1281,   270,   271,   272,   273,
    9049             :      274,     0,   275,   276,   277,   278,  1284,     0,  1285,     0,
    9050             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
    9051             :      291,     0,   292,   293,   294,   295,   296,   297,     0,   298,
    9052             :      299,   300,   301,  1286,  1287,  1288,  1289,  1290,  1291,  1292,
    9053             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
    9054             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
    9055             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
    9056             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
    9057             :      336,     0,   337,   338,   339,   340,   341,   342,   343,   344,
    9058             :      345,  1297,     0,   347,     0,   348,   349,   350,   351,   352,
    9059             :        0,   353,     0,   354,   355,   356,     0,   357,   358,   359,
    9060             :      360,   361,     0,   362,  1300,     0,   364,   365,   366,     0,
    9061             :      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
    9062             :        0,   377,   378,   379,   380,   381,   382,   383,   384,     0,
    9063             :      385,   386,   387,   388,   389,   390,   391,   392,   393,     0,
    9064             :      394,     0,   395,   396,   397,   398,   399,  3472,  1306,  1307,
    9065             :     1308,  1309,  1310,  1311,  1312,  1313,   409,  1314,   411,   412,
    9066             :      413,   414,   415,   416,   417,     0,     0,   418,  1315,   420,
    9067             :      421,   422,     0,   423,   424,   425,  1316,  1317,   426,   427,
    9068             :      428,   429,   430,   431,   432,   433,   434,   435,  1318,   437,
    9069             :      438,   439,   440,   441,   442,   443,   444,   445,   446,   447,
    9070             :      448,   449,   450,   451,   452,   453,   454,   455,   456,  1321,
    9071             :      458,     0,   459,   460,   461,   462,     0,  1324,   464,   465,
    9072             :      466,   467,   468,     0,   469,   470,   471,     0,     0,   472,
    9073             :      473,   474,     0,     0,   475,   476,   477,   478,   479,   480,
    9074             :     1327,   482,   483,   484,   485,   486,   487,   488,   489,   490,
    9075             :      491,   492,   493,   494,     0,   495,   496,   497,  1328,   499,
    9076             :      500,   501,   502,   503,     0,   504,   505,   506,   507,   508,
    9077             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
    9078             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
    9079             :      528,   529,   530,   531,   532,     0,   533,   534,   535,   536,
    9080             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
    9081             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
    9082             :      556,  1331,   557,   558,   559,   560,   561,   562,   563,   564,
    9083             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
    9084             :      574,   575,   576,   577,   578,   579,   580,   581,   582,  1333,
    9085             :      584,     0,   585,   586,  1334,     0,   587,   588,   589,   590,
    9086             :      591,   592,   593,   594,     0,   595,   596,   597,     0,     0,
    9087             :      598,   599,  1337,   601,  1338,     0,   603,   604,   605,   606,
    9088             :      607,   608,   609,   610,   611,     0,     0,   612,   613,   614,
    9089             :      615,   616,  1341,     0,   617,   618,   619,   620,   621,   622,
    9090             :      623,     0,   624,   625,   626,   627,   628,   629,     0,     0,
    9091             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
    9092             :     1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,  1350,   647,
    9093             :      648,   649,   650,     0,     0,     0,     0,     0,     0,   967,
    9094             :        0,  1603,   717,     0,     0,     0,     0,   778,     0,     0,
    9095             :        0,     0,     0,     0,     0,  6137,   235,   236,   237,   238,
    9096             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
    9097             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
    9098             :      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
    9099             :      260,   261,   262,     0,   263,   264,   265,   266,   267,   268,
    9100             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
    9101             :      276,   277,   278,   279,     0,   280,     0,   281,   282,   283,
    9102             :      284,   285,   286,   287,   288,   289,   290,   291,     0,   292,
    9103             :      293,   294,   295,   296,   297,     0,   298,   299,   300,   301,
    9104             :        0,     0,     0,   302,     0,     0,     0,   303,   304,   305,
    9105             :      306,   307,   308,   309,   310,   311,  5925,   312,     0,   313,
    9106             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
    9107             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
    9108             :      330,   331,   332,     0,   333,   334,   335,   336,     0,   337,
    9109             :      338,   339,   340,   341,   342,   343,   344,   345,   346,  1829,
    9110             :      347,     0,   348,   349,   350,   351,   352,     0,   353,     0,
    9111             :      354,   355,   356,     0,   357,   358,   359,   360,   361,     0,
    9112             :      362,   363,     0,   364,   365,   366,     0,   367,   368,   369,
    9113             :      370,   371,   372,   373,   374,   375,   376,     0,   377,   378,
    9114             :      379,   380,   381,   382,   383,   384,     0,   385,   386,   387,
    9115             :      388,   389,   390,   391,   392,   393,     0,   394,     0,   395,
    9116             :      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
    9117             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
    9118             :      416,   417,     0,     0,   418,   419,   420,   421,   422,     0,
    9119             :      423,   424,   425,     0,     0,   426,   427,   428,   429,   430,
    9120             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
    9121             :      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
    9122             :      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
    9123             :      460,   461,   462,     0,   463,   464,   465,   466,   467,   468,
    9124             :        0,   469,   470,   471,  1830,     0,   472,   473,   474,     0,
    9125             :        0,   475,   476,   477,   478,   479,   480,   481,   482,   483,
    9126             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
    9127             :      494,     0,   495,   496,   497,   498,   499,   500,   501,   502,
    9128             :      503,     0,   504,   505,   506,   507,   508,   509,   510,   511,
    9129             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
    9130             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
    9131             :      531,   532,     0,   533,   534,   535,   536,   537,   538,   539,
    9132             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
    9133             :      550,   551,     0,   552,   553,   554,   555,   556,     0,   557,
    9134             :      558,   559,   560,   561,   562,   563,   564,   565,   566,     0,
    9135             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
    9136             :      577,   578,   579,   580,   581,   582,   583,   584,     0,   585,
    9137             :      586,     0,     0,   587,   588,   589,   590,   591,   592,   593,
    9138             :      594,     0,   595,   596,   597,     0,     0,   598,   599,   600,
    9139             :      601,   602,  1831,   603,   604,   605,   606,   607,   608,   609,
    9140             :      610,   611,     0,     0,   612,   613,   614,   615,   616,     0,
    9141             :        0,   617,   618,   619,   620,   621,   622,   623,     0,   624,
    9142             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
    9143             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
    9144             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
    9145             :        0,     0,     0,     0,     0,     0,   967,     0,     0,     0,
    9146             :        0,     0,     0,  1604,  1605,  5926,     0,     0,     0,     0,
    9147             :        0,     0,  5927,   235,   236,   237,   238,   239,   240,   241,
    9148             :      242,   243,     0,   244,   245,   246,     3,     4,     0,     0,
    9149             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
    9150             :      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
    9151             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
    9152             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
    9153             :      279,     0,   280,     0,   281,   282,   283,   284,   285,   286,
    9154             :      287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
    9155             :      296,   297,     0,   298,   299,   300,   301,     0,     0,     0,
    9156             :      302,     0,     0,     0,   303,   304,   305,   306,   307,   308,
    9157             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
    9158             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
    9159             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
    9160             :        0,   333,   334,   335,   336,     0,   337,   338,   339,   340,
    9161             :      341,   342,   343,   344,   345,   346,     0,   347,     0,   348,
    9162             :      349,   350,   351,   352,     0,   353,     0,   354,   355,   356,
    9163             :        0,   357,   358,   359,   360,   361,     0,   362,   363,     0,
    9164             :      364,   365,   366,     0,   367,   368,   369,   370,   371,   372,
    9165             :      373,   374,   375,   376,     0,   377,   378,   379,   380,   381,
    9166             :      382,   383,   384,     0,   385,   386,   387,   388,   389,   390,
    9167             :      391,   392,   393,     0,   394,     0,   395,   396,   397,   398,
    9168             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
    9169             :      409,   410,   411,   412,   413,   414,   415,   416,   417,     0,
    9170             :        0,   418,   419,   420,   421,   422,     0,   423,   424,   425,
    9171             :        0,     0,   426,   427,   428,   429,   430,   431,   432,   433,
    9172             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
    9173             :      444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
    9174             :      454,   455,   456,   457,   458,     0,   459,   460,   461,   462,
    9175             :        0,   463,   464,   465,   466,   467,   468,     0,   469,   470,
    9176             :      471,     0,     0,   472,   473,   474,     0,     0,   475,   476,
    9177             :      477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
    9178             :      487,   488,   489,   490,   491,   492,   493,   494,     0,   495,
    9179             :      496,   497,   498,   499,   500,   501,   502,   503,     0,   504,
    9180             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
    9181             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
    9182             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
    9183             :      533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
    9184             :      543,   544,   545,   546,   547,   548,   549,   550,   551,    40,
    9185             :      552,   553,   554,   555,   556,     0,   557,   558,   559,   560,
    9186             :      561,   562,   563,   564,   565,   566,     0,   567,   568,   569,
    9187             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
    9188             :      580,   581,   582,   583,   584,     0,   585,   586,     0,    44,
    9189             :      587,   588,   589,   590,   591,   592,   593,   594,     0,   595,
    9190             :      596,   597,     0,     0,   598,   599,   600,   601,   602,     0,
    9191             :      603,   604,   605,   606,   607,   608,   609,   610,   611,     0,
    9192             :        0,   612,   613,   614,   615,   616,     0,     0,   617,   618,
    9193             :      619,   620,   621,  1206,   623,     0,   624,   625,   626,   627,
    9194             :      628,   629,     0,     0,   630,     0,    49,   631,   632,   633,
    9195             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
    9196             :      644,   645,   646,   647,   648,   649,   650,  1046,     0,     0,
    9197             :       50,     0,     0,   234,     0,     0,     0,     0,     0,     0,
    9198             :        0,     0,     0,     0,     0,     0,     0,     0,     0,    56,
    9199             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
    9200             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
    9201             :      247,   248,   249,     0,   250,   251,   252,   253,   254,   255,
    9202             :      256,   257,   258,   259,   260,   261,   262,     0,   263,   264,
    9203             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
    9204             :      273,   274,     0,   275,   276,   277,   278,   279,     0,   280,
    9205             :        0,   281,   282,   283,   284,   285,   286,   287,   288,   289,
    9206             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
    9207             :      298,   299,   300,   301,     0,     0,     0,   302,     0,     0,
    9208             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
    9209             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
    9210             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
    9211             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
    9212             :      335,   336,     0,   337,   338,   339,   340,   341,   342,   343,
    9213             :      344,   345,   346,     0,   347,     0,   348,   349,   350,   351,
    9214             :      352,     0,   353,     0,   354,   355,   356,     0,   357,   358,
    9215             :      359,   360,   361,     0,   362,   363,     0,   364,   365,   366,
    9216             :        0,   367,   368,   369,   370,   371,   372,   373,   374,   375,
    9217             :      376,     0,   377,   378,   379,   380,   381,   382,   383,   384,
    9218             :        0,   385,   386,   387,   388,   389,   390,   391,   392,   393,
    9219             :        0,   394,     0,   395,   396,   397,   398,   399,   400,   401,
    9220             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
    9221             :      412,   413,   414,   415,   416,   417,     0,     0,   418,   419,
    9222             :      420,   421,   422,     0,   423,   424,   425,     0,     0,   426,
    9223             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
    9224             :      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
    9225             :      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
    9226             :      457,   458,     0,   459,   460,   461,   462,     0,   463,   464,
    9227             :      465,   466,   467,   468,     0,   469,   470,   471,     0,     0,
    9228             :      472,   473,   474,     0,     0,   475,   476,   477,   478,   479,
    9229             :      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
    9230             :      490,   491,   492,   493,   494,     0,   495,   496,   497,   498,
    9231             :      499,   500,   501,   502,   503,     0,   504,   505,   506,   507,
    9232             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
    9233             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
    9234             :      527,   528,   529,   530,   531,   532,     0,   533,   534,   535,
    9235             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
    9236             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
    9237             :      555,   556,     0,   557,   558,   559,   560,   561,   562,   563,
    9238             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
    9239             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
    9240             :      583,   584,     0,   585,   586,     0,     0,   587,   588,   589,
    9241             :      590,   591,   592,   593,   594,     0,   595,   596,   597,     0,
    9242             :        0,   598,   599,   600,   601,   602,     0,   603,   604,   605,
    9243             :      606,   607,   608,   609,   610,   611,     0,     0,   612,   613,
    9244             :      614,   615,   616,     0,     0,   617,   618,   619,   620,   621,
    9245             :      622,   623,     0,   624,   625,   626,   627,   628,   629,     0,
    9246             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
    9247             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
    9248             :      647,   648,   649,   650,     0,     0,     0,     0,     0,     0,
    9249             :      658,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    9250             :        0,     0,     0,     0,     0,     0,  5668,   235,   236,   237,
    9251             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
    9252             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
    9253             :        0,   250,   251,   252,   253,     0,   255,   256,   257,   258,
    9254             :      259,     0,   261,   262,     0,   263,   264,   265,   266,   267,
    9255             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
    9256             :      275,   276,   277,   278,   279,     0,     0,     0,   281,   282,
    9257             :      283,   284,   285,   286,     0,   288,   289,   290,   291,     0,
    9258             :      292,   293,   294,   295,   296,   297,     0,     0,   299,   300,
    9259             :      301,     0,     0,     0,     0,     0,     0,     0,   303,   304,
    9260             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
    9261             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
    9262             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
    9263             :      329,   330,   331,   332,     0,   333,   334,   335,   336,     0,
    9264             :      337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
    9265             :        0,   347,     0,   348,   349,   350,   351,   352,     0,   353,
    9266             :        0,   354,   355,     0,     0,     0,   358,   359,   360,   361,
    9267             :        0,   362,   363,     0,   364,   365,   366,     0,   367,   368,
    9268             :      369,   370,   371,     0,   373,   374,   375,   376,     0,   377,
    9269             :      378,   379,   380,   381,   382,   383,   384,     0,   385,     0,
    9270             :      387,   388,   389,   390,   391,   392,   393,     0,   394,     0,
    9271             :      395,     0,     0,   398,     0,   400,   401,   402,   403,   404,
    9272             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
    9273             :      415,   416,   417,     0,     0,   418,   419,     0,   421,     0,
    9274             :        0,   423,   424,   425,     0,     0,   426,   427,   428,   429,
    9275             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
    9276             :      440,   441,   442,   443,   444,   445,     0,   447,   448,   449,
    9277             :      450,   451,   452,   453,   454,   455,   456,   457,   458,     0,
    9278             :      459,   460,     0,   462,     0,   463,   464,   465,   466,   467,
    9279             :      468,     0,   469,   470,   471,     0,     0,   472,   473,   474,
    9280             :        0,     0,   475,   476,   477,     0,   479,     0,   481,   482,
    9281             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
    9282             :      493,   494,     0,   495,   496,   497,   498,   499,   500,   501,
    9283             :      502,   503,     0,   504,   505,   506,   507,   508,   509,   510,
    9284             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
    9285             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
    9286             :      530,   531,   532,     0,   533,   534,     0,   536,   537,   538,
    9287             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
    9288             :      549,   550,   551,    40,   552,   553,   554,   555,   556,     0,
    9289             :      557,   558,   559,   560,   561,     0,   563,   564,   565,   566,
    9290             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
    9291             :      576,   577,   578,   579,   580,   581,   582,   583,   584,     0,
    9292             :      585,   586,     0,    44,   587,     0,   589,   590,   591,   592,
    9293             :      593,   594,     0,   595,   596,   597,     0,     0,   598,   599,
    9294             :      600,   601,   602,     0,   603,   604,   605,   606,   607,   608,
    9295             :      609,   610,   611,     0,     0,   612,   613,   614,   615,   616,
    9296             :        0,     0,   617,   618,   619,   620,   621,  1206,   623,     0,
    9297             :      624,     0,   626,   627,   628,   629,     0,     0,   630,     0,
    9298             :       49,   631,   632,   633,   634,   635,   636,   637,   638,   639,
    9299             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
    9300             :      650,     0,     0,     0,    50,     0,     0,   658,     0,     0,
    9301             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    9302             :        0,     0,     0,    56,   235,   236,   237,   238,   239,   240,
    9303             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
    9304             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
    9305             :      252,   253,     0,   255,   256,   257,   258,   259,     0,   261,
    9306             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
    9307             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
    9308             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
    9309             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
    9310             :      295,   296,   297,     0,     0,   299,   300,   301,     0,     0,
    9311             :        0,  2909,     0,     0,     0,   303,   304,   305,   306,   307,
    9312             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
    9313             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
    9314             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
    9315             :      332,     0,   333,   334,   335,   336,     0,   337,   338,   339,
    9316             :      340,   341,   342,   343,   344,   345,   346,     0,   347,     0,
    9317             :      348,   349,   350,   351,   352,     0,   353,     0,   354,   355,
    9318             :        0,     0,     0,   358,   359,   360,   361,     0,   362,   363,
    9319             :        0,   364,   365,   366,     0,   367,   368,   369,   370,   371,
    9320             :        0,   373,   374,   375,   376,     0,   377,   378,   379,   380,
    9321             :      381,   382,   383,   384,     0,   385,     0,   387,   388,   389,
    9322             :      390,   391,   392,   393,     0,   394,     0,   395,     0,     0,
    9323             :      398,     0,   400,   401,   402,   403,   404,   405,   406,   407,
    9324             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
    9325             :        0,     0,   418,   419,     0,   421,     0,     0,   423,   424,
    9326             :      425,     0,     0,   426,   427,   428,   429,   430,   431,   432,
    9327             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
    9328             :      443,   444,   445,     0,   447,   448,   449,   450,   451,   452,
    9329             :      453,   454,   455,   456,   457,   458,     0,   459,   460,     0,
    9330             :      462,     0,   463,   464,   465,   466,   467,   468,     0,   469,
    9331             :      470,   471,     0,   862,   472,   473,   474,     0,     0,   475,
    9332             :      476,   477,     0,   479,     0,   481,   482,   483,   484,   485,
    9333             :      486,   487,   488,   489,   490,   491,   492,   493,   494,     0,
    9334             :      495,   496,   497,   498,   499,   500,   501,   502,   503,     0,
    9335             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
    9336             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
    9337             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
    9338             :        0,   533,   534,     0,   536,   537,   538,   539,   540,   541,
    9339             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
    9340             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   559,
    9341             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
    9342             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
    9343             :      579,   580,   581,   582,   583,   584,     0,   585,   586,     0,
    9344             :     2910,  2911,     0,   589,   590,   591,   592,   593,   594,     0,
    9345             :      595,   596,   597,     0,     0,   598,   599,   600,   601,   602,
    9346             :        0,   603,   604,   605,   606,   607,   608,   609,   610,   611,
    9347             :        0,     0,   612,   613,   614,   615,   616,     0,     0,   617,
    9348             :      618,   619,   620,   621,   622,   623,     0,   624,     0,   626,
    9349             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
    9350             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
    9351             :      643,   644,   645,   646,   647,   648,   649,   650,     0,     0,
    9352             :        0,     0,     0,     0,   658,     0,     0,     0,     0,     0,
    9353             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    9354             :     1863,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    9355             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
    9356             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
    9357             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
    9358             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
    9359             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
    9360             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
    9361             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    9362             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
    9363             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
    9364             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
    9365             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    9366             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    9367             :      334,   335,   336,     0,   337,   338,   339,   340,   341,   342,
    9368             :      343,   344,   345,   346,     0,   347,     0,   348,   349,   350,
    9369             :      351,   352,     0,   353,     0,   354,   355,     0,     0,     0,
    9370             :      358,   359,   360,   361,     0,   362,   363,     0,   364,   365,
    9371             :      366,     0,   367,   368,   369,   370,   371,     0,   373,   374,
    9372             :      375,   376,     0,   377,   378,   379,   380,   381,   382,   383,
    9373             :      384,     0,   385,     0,   387,   388,   389,   390,   391,   392,
    9374             :      393,     0,   394,     0,   395,     0,     0,   398,     0,   400,
    9375             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
    9376             :      411,   412,   413,   414,   415,   416,   417,     0,     0,   418,
    9377             :      419,     0,   421,     0,     0,   423,   424,   425,     0,     0,
    9378             :      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    9379             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
    9380             :        0,   447,   448,   449,   450,   451,   452,   453,   454,   455,
    9381             :      456,   457,   458,     0,   459,   460,     0,   462,     0,   463,
    9382             :      464,   465,   466,   467,   468,     0,   469,   470,   471,     0,
    9383             :        0,   472,   473,   474,     0,     0,   475,   476,   477,     0,
    9384             :      479,     0,   481,   482,   483,   484,   485,   486,   487,   488,
    9385             :      489,   490,   491,   492,   493,   494,     0,   495,   496,   497,
    9386             :      498,   499,   500,   501,   502,   503,     0,   504,   505,   506,
    9387             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
    9388             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    9389             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    9390             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
    9391             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
    9392             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
    9393             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
    9394             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    9395             :      582,   583,   584,     0,   585,   586,     0,     0,   587,     0,
    9396             :      589,   590,   591,   592,   593,   594,     0,   595,   596,   597,
    9397             :        0,     0,   598,   599,   600,   601,   602,     0,   603,   604,
    9398             :      605,   606,   607,   608,   609,   610,   611,     0,     0,   612,
    9399             :      613,   614,   615,   616,     0,     0,   617,   618,   619,   620,
    9400             :      621,   622,   623,     0,   624,     0,   626,   627,   628,   629,
    9401             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
    9402             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
    9403             :      646,   647,   648,   649,   650,     0,     0,     0,     0,     0,
    9404             :        0,   658,     0,     0,     0,     0,     0,     0,     0,     0,
    9405             :        0,     0,     0,     0,     0,     0,     0,  1415,   235,   236,
    9406             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
    9407             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
    9408             :      249,     0,   250,   251,   252,   253,     0,   255,   256,   257,
    9409             :      258,   259,     0,   261,   262,     0,   263,   264,   265,   266,
    9410             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
    9411             :        0,   275,   276,   277,   278,   279,     0,     0,     0,   281,
    9412             :      282,   283,   284,   285,   286,     0,   288,   289,   290,   291,
    9413             :        0,   292,   293,   294,   295,   296,   297,     0,     0,   299,
    9414             :      300,   301,     0,     0,     0,     0,     0,     0,     0,   303,
    9415             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
    9416             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
    9417             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
    9418             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
    9419             :        0,   337,   338,   339,   340,   341,   342,   343,   344,   345,
    9420             :      346,     0,   347,     0,   348,   349,   350,   351,   352,     0,
    9421             :      353,     0,   354,   355,     0,     0,     0,   358,   359,   360,
    9422             :      361,     0,   362,   363,     0,   364,   365,   366,     0,   367,
    9423             :      368,   369,   370,   371,     0,   373,   374,   375,   376,     0,
    9424             :      377,   378,   379,   380,   381,   382,   383,   384,     0,   385,
    9425             :        0,   387,   388,   389,   390,   391,   392,   393,     0,   394,
    9426             :        0,   395,     0,     0,   398,     0,   400,   401,   402,   403,
    9427             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
    9428             :      414,   415,   416,   417,     0,     0,   418,   419,     0,   421,
    9429             :        0,     0,   423,   424,   425,     0,     0,   426,   427,   428,
    9430             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
    9431             :      439,   440,   441,   442,   443,   444,   445,     0,   447,   448,
    9432             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
    9433             :        0,   459,   460,     0,   462,     0,   463,   464,   465,   466,
    9434             :      467,   468,     0,   469,   470,   471,     0,     0,   472,   473,
    9435             :      474,     0,     0,   475,   476,   477,     0,   479,     0,   481,
    9436             :      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
    9437             :      492,   493,   494,     0,   495,   496,   497,   498,   499,   500,
    9438             :      501,   502,   503,     0,   504,   505,   506,   507,   508,   509,
    9439             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
    9440             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
    9441             :      529,   530,   531,   532,     0,   533,   534,     0,   536,   537,
    9442             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
    9443             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
    9444             :        0,   557,   558,   559,   560,   561,     0,   563,   564,   565,
    9445             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
    9446             :      575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
    9447             :        0,   585,   586,     0,     0,   587,     0,   589,   590,   591,
    9448             :      592,   593,   594,     0,   595,   596,   597,     0,     0,   598,
    9449             :      599,   600,   601,   602,     0,   603,   604,   605,   606,   607,
    9450             :      608,   609,   610,   611,     0,     0,   612,   613,   614,   615,
    9451             :      616,     0,     0,   617,   618,   619,   620,   621,   622,   623,
    9452             :        0,   624,     0,   626,   627,   628,   629,     0,     0,   630,
    9453             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
    9454             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
    9455             :      649,   650,     0,     0,     0,     0,     0,     0,   658,     0,
    9456             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    9457             :        0,     0,     0,     0,  3535,   235,   236,   237,   238,   239,
    9458             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
    9459             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
    9460             :      251,   252,   253,     0,   255,   256,   257,   258,   259,     0,
    9461             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
    9462             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
    9463             :      277,   278,   279,     0,     0,     0,   281,   282,   283,   284,
    9464             :      285,   286,     0,   288,   289,   290,   291,     0,   292,   293,
    9465             :      294,   295,   296,   297,     0,     0,   299,   300,   301,     0,
    9466             :        0,     0,     0,     0,     0,     0,   303,   304,   305,   306,
    9467             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
    9468             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
    9469             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
    9470             :      331,   332,     0,   333,   334,   335,   336,     0,   337,   338,
    9471             :      339,   340,   341,   342,   343,   344,   345,   346,     0,   347,
    9472             :        0,   348,   349,   350,   351,   352,     0,   353,     0,   354,
    9473             :      355,     0,     0,     0,   358,   359,   360,   361,     0,   362,
    9474             :      363,     0,   364,   365,   366,     0,   367,   368,   369,   370,
    9475             :      371,     0,   373,   374,   375,   376,     0,   377,   378,   379,
    9476             :      380,   381,   382,   383,   384,     0,   385,     0,   387,   388,
    9477             :      389,   390,   391,   392,   393,     0,   394,     0,   395,     0,
    9478             :        0,   398,     0,   400,   401,   402,   403,   404,   405,   406,
    9479             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
    9480             :      417,     0,     0,   418,   419,     0,   421,     0,     0,   423,
    9481             :      424,   425,     0,     0,   426,   427,   428,   429,   430,   431,
    9482             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
    9483             :      442,   443,   444,   445,     0,   447,   448,   449,   450,   451,
    9484             :      452,   453,   454,   455,   456,   457,   458,     0,   459,   460,
    9485             :        0,   462,     0,   463,   464,   465,   466,   467,   468,     0,
    9486             :      469,   470,   471,     0,     0,   472,   473,   474,     0,     0,
    9487             :      475,   476,   477,     0,   479,     0,   481,   482,   483,   484,
    9488             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
    9489             :        0,   495,   496,   497,   498,   499,   500,   501,   502,   503,
    9490             :        0,   504,   505,   506,   507,   508,   509,   510,   511,   512,
    9491             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
    9492             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
    9493             :      532,     0,   533,   534,     0,   536,   537,   538,   539,   540,
    9494             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
    9495             :      551,     0,   552,   553,   554,   555,   556,     0,   557,   558,
    9496             :      559,   560,   561,     0,   563,   564,   565,   566,     0,   567,
    9497             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
    9498             :      578,   579,   580,   581,   582,   583,   584,     0,   585,   586,
    9499             :        0,     0,   587,     0,   589,   590,   591,   592,   593,   594,
    9500             :        0,   595,   596,   597,     0,     0,   598,   599,   600,   601,
    9501             :      602,     0,   603,   604,   605,   606,   607,   608,   609,   610,
    9502             :      611,     0,     0,   612,   613,   614,   615,   616,     0,     0,
    9503             :      617,   618,   619,   620,   621,   622,   623,     0,   624,     0,
    9504             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
    9505             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
    9506             :      642,   643,   644,   645,   646,   647,   648,   649,   650,     0,
    9507             :        0,     0,     0,     0,     0,   658,     0,     0,     0,     0,
    9508             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    9509             :        0,  4212,   235,   236,   237,   238,   239,   240,   241,   242,
    9510             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
    9511             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
    9512             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
    9513             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
    9514             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
    9515             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
    9516             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
    9517             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
    9518             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
    9519             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
    9520             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
    9521             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
    9522             :      333,   334,   335,   336,     0,   337,   338,   339,   340,   341,
    9523             :      342,   343,   344,   345,   346,     0,   347,     0,   348,   349,
    9524             :      350,   351,   352,     0,   353,     0,   354,   355,     0,     0,
    9525             :        0,   358,   359,   360,   361,     0,   362,   363,     0,   364,
    9526             :      365,   366,     0,   367,   368,   369,   370,   371,     0,   373,
    9527             :      374,   375,   376,     0,   377,   378,   379,   380,   381,   382,
    9528             :      383,   384,     0,   385,     0,   387,   388,   389,   390,   391,
    9529             :      392,   393,     0,   394,     0,   395,     0,     0,   398,     0,
    9530             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
    9531             :      410,   411,   412,   413,   414,   415,   416,   417,     0,     0,
    9532             :      418,   419,     0,   421,     0,     0,   423,   424,   425,     0,
    9533             :        0,   426,   427,   428,   429,   430,   431,   432,   433,   434,
    9534             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
    9535             :      445,     0,   447,   448,   449,   450,   451,   452,   453,   454,
    9536             :      455,   456,   457,   458,     0,   459,   460,     0,   462,     0,
    9537             :      463,   464,   465,   466,   467,   468,     0,   469,   470,   471,
    9538             :        0,     0,   472,   473,   474,     0,     0,   475,   476,   477,
    9539             :        0,   479,     0,   481,   482,   483,   484,   485,   486,   487,
    9540             :      488,   489,   490,   491,   492,   493,   494,     0,   495,   496,
    9541             :      497,   498,   499,   500,   501,   502,   503,     0,   504,   505,
    9542             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
    9543             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
    9544             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
    9545             :      534,     0,   536,   537,   538,   539,   540,   541,   542,   543,
    9546             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
    9547             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
    9548             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
    9549             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
    9550             :      581,   582,   583,   584,     0,   585,   586,     0,     0,   587,
    9551             :        0,   589,   590,   591,   592,   593,   594,     0,   595,   596,
    9552             :      597,     0,     0,   598,   599,   600,   601,   602,     0,   603,
    9553             :      604,   605,   606,   607,   608,   609,   610,   611,     0,     0,
    9554             :      612,   613,   614,   615,   616,     0,     0,   617,   618,   619,
    9555             :      620,   621,   622,   623,     0,   624,     0,   626,   627,   628,
    9556             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
    9557             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
    9558             :      645,   646,   647,   648,   649,   650,     0,     0,     0,     0,
    9559             :        0,     0,     0,     0,     0,  2110,     0,     0,     0,     0,
    9560             :        0,     0,  2111,     0,     0,  2112,     0,     0,  4855,  2113,
    9561             :     2114,  2115,  2116,  2117,  2118,  2119,  2120,  2121,  2122,  2123,
    9562             :     2124,  2125,  2126,  2127,  2128,  2129,  2130,  2131,  2132,     0,
    9563             :     2133,  2134,  2135,  2136,  2137,  2138,  2139,  2140,  2141,  2142,
    9564             :     2143,  2144,  2145,  2146,  2147,  2148,  2149,  2150,  2151,  2152,
    9565             :     2153,  2154,  2155,  2156,  2157,  2158,  2159,  2160,  2161,  2162,
    9566             :     2163,     0,     0,  2164,  2165,  2166,  2167,  2168,  2169,  2170,
    9567             :     2171,  2172,  2173,  2174,  2175,  2176,  2177,  2178,  2179,  2180,
    9568             :     2181,  2182,  2183,  2184,  2185,  2186,  2187,  2188,  2189,  2190,
    9569             :     2191,     0,  2192,  2193,  2194,  2195,  2196,  2197,  2198,  2199,
    9570             :     2200,  2201,  2202,  2203,  2204,  2205,  2206,     0,  2207,  2208,
    9571             :     2209,  2210,  2211,  2212,  2213,  2214,  2215,  2216,  2217,  2218,
    9572             :     2219,  2220,  2221,  2222,  2223,  2224,  2225,  2226,  2227,  2228,
    9573             :     2229,  2230,  2231,  2232,  2233,  2234,  2235,  2236,  2237,  2238,
    9574             :     2239,  2240,  2241,  2242,     0,  2243,  2244,  2245,  2246,  2247,
    9575             :     2248,  2249,  2250,  2251,  2252,  2253,  2254,     0,     0,  2255,
    9576             :     2256,  2257,  2258,     0,  2259,  2260,  2261,  2262,  2263,     0,
    9577             :     2264,  2265,  2266,  2267,  2268,     0,  2269,  2270,     0,  2271,
    9578             :     2272,  2273,     0,  2274,  2275,     0,  2276,  2277,  2278,  2279,
    9579             :     2280,  2281,  2282,  2283,  2284,  2285,  2286,  2287,  2288,  2289,
    9580             :     2290,  2291,  2292,  2293,  2294,  2295,  2296,  2297,  2298,  2299,
    9581             :     2300,  2301,     0,  2302,     0,  2303,  2304,  2305,  2306,  2307,
    9582             :     2308,  2309,  2310,  2311,  2312,  2313,  2314,  2315,  2316,  2317,
    9583             :     2318,  2319,  2320,  2321,  2322,  2323,  2324,  2325,  2326,  2327,
    9584             :     2328,  2329,  2330,  2331,  2332,     0,  2333,  2334,  2335,  2336,
    9585             :     2337,  2338,  2339,  2340,  2341,  2342,  2343,  2344,  2345,  2346,
    9586             :     2347,  2348,  2349,     0,  2350,  2351,     0,  2352,  2353,  2354,
    9587             :     2355,  2356,  2357,  2358,  2359,  2360,  2361,  2362,  2363,  2364,
    9588             :     2365,  2366,  2367,  2368,  2369,  2370,  2371,  2372,  2373,  2374,
    9589             :     2375,  2376,  2377,  2378,  2379,  2380,     0,  2381,  2382,  2383,
    9590             :        0,  2384,  2385,  2386,  2387,  2388,     0,  2389,  2390,  2391,
    9591             :     2392,     0,     0,  2393,  2394,  2395,  2396,  2397,  2398,  2399,
    9592             :     2400,  2401,  2402,  2403,  2404,  2405,  2406,  2407,  2408,  2409,
    9593             :     2410,  2411,  2412,     0,  2413,  2414,  2415,  2416,  2417,  2418,
    9594             :     2419,  2420,  2421,  2422,  2423,  2424,  2425,  2426,  2427,  2428,
    9595             :     2429,  2430,  2431,  2432,  2433,  2434,  2435,  2436,  2437,  2438,
    9596             :     2439,  2440,  2441,  2442,  2443,  2444,  2445,  2446,     0,  2447,
    9597             :     2448,  2449,  2450,  2451,  2452,  2453,  2454,  2455,  2456,  2457,
    9598             :     2458,  2459,  2460,  2461,  2462,  2463,     0,  2464,  2465,  2466,
    9599             :     2467,  2468,  2469,  2470,  2471,  2472,  2473,  2474,  2475,  2476,
    9600             :     2477,  2478,  2479,  2480,  2481,  2482,  2483,  2484,  2485,  2486,
    9601             :     2487,  2488,  2489,  2490,  2491,  2492,  2493,  2494,  2495,  2496,
    9602             :     2497,  2498,  2499,  2500,  2501,  2502,  2503,  2504,  2505,  2506,
    9603             :     2507,  2508,  2509,  2510,  2511,  2512,  2513,  2514,  2515,  2516,
    9604             :     2517,     0,  2518,  2519,  2520,  2521,  2522,  2523,  2524,  2525,
    9605             :     2526,  2527,  2528,  2529,  2530,  2531,  2532,  2533,     0,  2534,
    9606             :     2535,  2536,  2537,  2538,  2539,  2540,  2541,  2542,  2543,  2544,
    9607             :     2545,  2546,  2547,  2548,  2549,     0,  2550,  2551,  2552,  2553,
    9608             :     2554,  2555,     0,  2556,     0,     0,     0,     0,  2557,  2558,
    9609             :     2559,  2560,  2561,  2562,  2563,  2564,  2565,  2566,  2567,  2568,
    9610             :     2569,  2570,  2571,     0,  2572,  2573,     0,  2574,     0,     0,
    9611             :        0,     0,     0,     0,     0,     0,  2575,  2576,  2577,  2578,
    9612             :     2579,  2580,  2581,  2582,  2583,   879,     0,  1603,   717,     0,
    9613             :        0,     0,   982,   778,     0,     0,     0,     0,     0,   983,
    9614             :      984,   985,   235,   236,   237,   238,   239,   240,   241,   242,
    9615             :      243,  1741,   244,   245,   246,  1742,  1743,  1744,  1745,  1746,
    9616             :     1747,  1748,   247,   248,   249,  1749,   250,   251,   252,   253,
    9617             :      254,   255,   256,   257,     0,   880,   260,   881,   882,  1750,
    9618             :      263,   264,   265,   266,   267,   268,   269,  1751,  1752,   270,
    9619             :      271,   883,   884,   274,  1753,   275,   276,   277,   278,     0,
    9620             :     1754,   280,  1755,   281,   282,   283,   284,   285,   286,   287,
    9621             :      288,   289,   290,   291,  1756,   292,   293,   294,   295,   296,
    9622             :      297,  1757,   298,   299,   300,   301,  1758,  1759,  1760,   302,
    9623             :     1761,  1762,  1763,   303,   304,   305,   306,   307,   308,   885,
    9624             :      886,   311,  1764,   312,  1765,   313,   314,   315,   316,   317,
    9625             :      318,   319,  1766,   320,   321,   322,   323,  1767,  1768,   324,
    9626             :      325,   887,   327,   328,  1769,   329,   330,   331,   332,  1770,
    9627             :      333,   334,   335,   336,  1771,   337,   338,   339,   340,     0,
    9628             :      342,   343,   344,   345,     0,  1772,   347,  1773,   348,   349,
    9629             :      350,   888,   352,  1774,   353,  1775,   354,   355,   356,  1776,
    9630             :      357,   358,   359,   360,   361,  1777,   362,     0,  1778,     0,
    9631             :      365,   366,  1779,   367,   368,   369,   370,   371,   372,   373,
    9632             :      374,   375,   376,  1780,   377,   378,   379,   380,   381,   382,
    9633             :      383,   384,  1781,   385,   386,     0,   388,   389,   390,   391,
    9634             :      889,   890,  1782,   891,  1783,   395,   396,   397,   398,   399,
    9635             :      892,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    9636             :        0,   411,   412,   413,   414,   415,   416,   417,  1784,  1785,
    9637             :      418,     0,   420,   421,   422,  1786,   423,   424,   425,  1787,
    9638             :     1788,   426,   427,   428,   429,   430,   431,   432,   433,   434,
    9639             :      435,     0,   437,   438,   439,   440,   441,   442,   443,   444,
    9640             :      893,   446,   894,   448,   449,   450,   451,   452,   453,   454,
    9641             :      455,  4538,     0,   458,  1789,   459,   460,   461,   462,  1790,
    9642             :        0,   464,   895,   466,   467,   468,  1791,   469,   470,   471,
    9643             :     1792,  1793,  4539,   473,   474,  1794,  1795,   475,   476,     0,
    9644             :      478,   479,   480,     0,   482,   483,   484,   485,   486,   487,
    9645             :      488,   489,   490,   491,   492,   493,   494,  1796,   495,   496,
    9646             :      497,     0,   499,     0,   501,   502,   503,  1797,   504,   505,
    9647             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   896,
    9648             :      516,   517,   518,   519,  1798,   520,   521,   522,   523,   524,
    9649             :      525,   526,   527,   528,   529,   530,   531,   532,  1799,   533,
    9650             :      534,   535,   536,   537,   538,   539,   540,     0,   542,   543,
    9651             :      544,   545,   546,   547,   548,   549,   550,   551,  1800,   552,
    9652             :      553,   554,   555,   556,  1801,   557,   558,  2735,   560,   561,
    9653             :      562,   563,   564,   898,   566,  1802,   567,   568,   569,   570,
    9654             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
    9655             :      581,   582,     0,   584,  1803,   585,   586,  1804,  1805,   587,
    9656             :      588,   589,   590,   591,   592,   593,   594,  1806,   595,   899,
    9657             :      900,  1807,  1808,   598,   599,     0,   601,     0,  1809,   603,
    9658             :      604,   605,   606,   607,   608,   609,   610,   611,  1810,  1811,
    9659             :      612,   613,   614,   615,   616,  1812,  1813,   617,   618,   619,
    9660             :      620,   621,     0,   901,  1814,   624,   625,   626,   627,   628,
    9661             :      629,  1815,  1816,   630,  1817,  1818,   631,   632,   633,   634,
    9662             :      635,   636,     0,     0,     0,     0,     0,     0,     0,     0,
    9663             :        0,     0,     0,   648,   649,   650,     0,     0,     0,     0,
    9664             :        0,     0,     0,     0,     0,     0,   988,   989,   990,  4540,
    9665             :     4541,   993,   994,   995,   996,   879,     0,  1603,   717,     0,
    9666             :        0,     0,   982,   778,     0,     0,     0,     0,     0,   983,
    9667             :      984,   985,   235,   236,   237,   238,   239,   240,   241,   242,
    9668             :      243,  1741,   244,   245,   246,  1742,  1743,  1744,  1745,  1746,
    9669             :     1747,  1748,   247,   248,   249,  1749,   250,   251,   252,   253,
    9670             :      254,   255,   256,   257,     0,   880,   260,   881,   882,  1750,
    9671             :      263,   264,   265,   266,   267,   268,   269,  1751,  1752,   270,
    9672             :      271,   883,   884,   274,  1753,   275,   276,   277,   278,     0,
    9673             :     1754,   280,  1755,   281,   282,   283,   284,   285,   286,   287,
    9674             :      288,   289,   290,   291,  1756,   292,   293,   294,   295,   296,
    9675             :      297,  1757,   298,   299,   300,   301,  1758,  1759,  1760,   302,
    9676             :     1761,  1762,  1763,   303,   304,   305,   306,   307,   308,   885,
    9677             :      886,   311,  1764,   312,  1765,   313,   314,   315,   316,   317,
    9678             :      318,   319,  1766,   320,   321,   322,   323,  1767,  1768,   324,
    9679             :      325,   887,   327,   328,  1769,   329,   330,   331,   332,  1770,
    9680             :      333,   334,   335,   336,  1771,   337,   338,   339,   340,     0,
    9681             :      342,   343,   344,   345,     0,  1772,   347,  1773,   348,   349,
    9682             :      350,   888,   352,  1774,   353,  1775,   354,   355,   356,  1776,
    9683             :      357,   358,   359,   360,   361,  1777,   362,     0,  1778,     0,
    9684             :      365,   366,  1779,   367,   368,   369,   370,   371,   372,   373,
    9685             :      374,   375,   376,  1780,   377,   378,   379,   380,   381,   382,
    9686             :      383,   384,  1781,   385,   386,     0,   388,   389,   390,   391,
    9687             :      889,   890,  1782,   891,  1783,   395,   396,   397,   398,   399,
    9688             :      892,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    9689             :        0,   411,   412,   413,   414,   415,   416,   417,  1784,  1785,
    9690             :      418,     0,   420,   421,   422,  1786,   423,   424,   425,  1787,
    9691             :     1788,   426,   427,   428,   429,   430,   431,   432,   433,   434,
    9692             :      435,     0,   437,   438,   439,   440,   441,   442,   443,   444,
    9693             :      893,   446,   894,   448,   449,   450,   451,   452,   453,   454,
    9694             :      455,  4996,     0,   458,  1789,   459,   460,   461,   462,  1790,
    9695             :        0,   464,   895,   466,   467,   468,  1791,   469,   470,   471,
    9696             :     1792,  1793,  4539,   473,   474,  1794,  1795,   475,   476,     0,
    9697             :      478,   479,   480,     0,   482,   483,   484,   485,   486,   487,
    9698             :      488,   489,   490,   491,   492,   493,   494,  1796,   495,   496,
    9699             :      497,     0,   499,     0,   501,   502,   503,  1797,   504,   505,
    9700             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   896,
    9701             :      516,   517,   518,   519,  1798,   520,   521,   522,   523,   524,
    9702             :      525,   526,   527,   528,   529,   530,   531,   532,  1799,   533,
    9703             :      534,   535,   536,   537,   538,   539,   540,     0,   542,   543,
    9704             :      544,   545,   546,   547,   548,   549,   550,   551,  1800,   552,
    9705             :      553,   554,   555,   556,  1801,   557,   558,  2735,   560,   561,
    9706             :      562,   563,   564,   898,   566,  1802,   567,   568,   569,   570,
    9707             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
    9708             :      581,   582,     0,   584,  1803,   585,   586,  1804,  1805,   587,
    9709             :      588,   589,   590,   591,   592,   593,   594,  1806,   595,   899,
    9710             :      900,  1807,  1808,   598,   599,     0,   601,     0,  1809,   603,
    9711             :      604,   605,   606,   607,   608,   609,   610,   611,  1810,  1811,
    9712             :      612,   613,   614,   615,   616,  1812,  1813,   617,   618,   619,
    9713             :      620,   621,     0,   901,  1814,   624,   625,   626,   627,   628,
    9714             :      629,  1815,  1816,   630,  1817,  1818,   631,   632,   633,   634,
    9715             :      635,   636,     0,     0,     0,     0,     0,     0,     0,     0,
    9716             :        0,     0,     0,   648,   649,   650,     0,     0,     0,     0,
    9717             :        0,     0,     0,     0,     0,     0,   988,   989,   990,  4540,
    9718             :     4541,   993,   994,   995,   996,   658,     0,     0,     0,     0,
    9719             :        0,     0,   982,     0,     0,     0,     0,     0,     0,   983,
    9720             :      984,   985,   235,   236,   237,   238,   239,   240,   241,   242,
    9721             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
    9722             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
    9723             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
    9724             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
    9725             :      271,   272,   273,   274,     0,   275,   986,   277,   278,   279,
    9726             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
    9727             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
    9728             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
    9729             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
    9730             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
    9731             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
    9732             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
    9733             :      333,   334,   335,   336,     0,   337,   338,   339,   340,   341,
    9734             :      342,   343,   344,   345,   346,     0,   987,     0,   348,   349,
    9735             :      350,   351,   352,     0,   353,     0,   354,   355,     0,     0,
    9736             :        0,   358,   359,   360,   361,     0,   362,   363,     0,   364,
    9737             :      365,   366,     0,   367,   368,   369,   370,   371,     0,   373,
    9738             :      374,   375,   376,     0,   377,   378,   379,   380,   381,   382,
    9739             :      383,   384,     0,   385,     0,   387,   388,   389,   390,   391,
    9740             :      392,   393,     0,   394,     0,   395,     0,     0,   398,     0,
    9741             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
    9742             :      410,   411,   412,   413,   414,   415,   416,   417,     0,     0,
    9743             :      418,   419,     0,   421,     0,     0,   423,   424,   425,     0,
    9744             :        0,   426,   427,   428,   429,   430,   431,   432,   433,   434,
    9745             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
    9746             :      445,     0,   447,   448,   449,   450,   451,   452,   453,   454,
    9747             :      455,   456,   457,   458,     0,   459,   460,     0,   462,     0,
    9748             :      463,   464,   465,   466,   467,   468,     0,   469,   470,   471,
    9749             :        0,     0,   472,   473,   474,     0,     0,   475,   476,   477,
    9750             :        0,   479,     0,   481,   482,   483,   484,   485,   486,   487,
    9751             :      488,   489,   490,   491,   492,   493,   494,     0,   495,   496,
    9752             :      497,   498,   499,   500,   501,   502,   503,     0,   504,   505,
    9753             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
    9754             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
    9755             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
    9756             :      534,     0,   536,   537,   538,   539,   540,   541,   542,   543,
    9757             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
    9758             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
    9759             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
    9760             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
    9761             :      581,   582,   583,   584,     0,   585,   586,     0,     0,   587,
    9762             :        0,   589,   590,   591,   592,   593,   594,     0,   595,   596,
    9763             :      597,     0,     0,   598,   599,   600,   601,   602,     0,   603,
    9764             :      604,   605,   606,   607,   608,   609,   610,   611,     0,     0,
    9765             :      612,   613,   614,   615,   616,     0,     0,   617,   618,   619,
    9766             :      620,   621,   622,   623,     0,   624,     0,   626,   627,   628,
    9767             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
    9768             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
    9769             :      645,   646,   647,   648,   649,   650,     0,     0,     0,     0,
    9770             :        0,     0,     0,     0,     0,     0,   988,   989,   990,   991,
    9771             :      992,   993,   994,   995,   996,   658,     0,     0,     0,     0,
    9772             :        0,     0,   982,     0,     0,     0,     0,     0,     0,   983,
    9773             :      984,   985,   235,   236,   237,   238,   239,   240,   241,   242,
    9774             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
    9775             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
    9776             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
    9777             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
    9778             :      271,   272,   273,   274,     0,   275,  1103,   277,   278,   279,
    9779             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
    9780             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
    9781             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
    9782             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
    9783             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
    9784             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
    9785             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
    9786             :      333,   334,   335,   336,     0,   337,   338,   339,   340,   341,
    9787             :      342,   343,   344,   345,   346,     0,  1104,     0,   348,   349,
    9788             :      350,   351,   352,     0,   353,     0,   354,   355,     0,     0,
    9789             :        0,   358,   359,   360,   361,     0,   362,   363,     0,   364,
    9790             :      365,   366,     0,   367,   368,   369,   370,   371,     0,   373,
    9791             :      374,   375,   376,     0,   377,   378,   379,   380,   381,   382,
    9792             :      383,   384,     0,   385,     0,   387,   388,   389,   390,   391,
    9793             :      392,   393,     0,   394,     0,   395,     0,     0,   398,     0,
    9794             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
    9795             :      410,   411,   412,   413,   414,   415,   416,   417,     0,     0,
    9796             :      418,   419,     0,   421,     0,     0,   423,   424,   425,     0,
    9797             :        0,   426,   427,   428,   429,   430,   431,   432,   433,   434,
    9798             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
    9799             :      445,     0,   447,   448,   449,   450,   451,   452,   453,   454,
    9800             :      455,   456,   457,   458,     0,   459,   460,     0,   462,     0,
    9801             :      463,   464,   465,   466,   467,   468,     0,   469,   470,   471,
    9802             :        0,     0,   472,   473,   474,     0,     0,   475,   476,   477,
    9803             :        0,   479,     0,   481,   482,   483,   484,   485,   486,   487,
    9804             :      488,   489,   490,   491,   492,   493,   494,     0,   495,   496,
    9805             :      497,   498,   499,   500,   501,   502,   503,     0,   504,   505,
    9806             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
    9807             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
    9808             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
    9809             :      534,     0,   536,   537,   538,   539,   540,   541,   542,   543,
    9810             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
    9811             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
    9812             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
    9813             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
    9814             :      581,   582,   583,   584,     0,   585,   586,     0,     0,   587,
    9815             :        0,   589,   590,   591,   592,   593,   594,     0,   595,   596,
    9816             :      597,     0,     0,   598,   599,   600,   601,   602,     0,   603,
    9817             :      604,   605,   606,   607,   608,   609,   610,   611,     0,     0,
    9818             :      612,   613,   614,   615,   616,     0,     0,   617,   618,   619,
    9819             :      620,   621,   622,   623,     0,   624,     0,   626,   627,   628,
    9820             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
    9821             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
    9822             :      645,   646,   647,   648,   649,   650,     0,     0,     0,     0,
    9823             :        0,     0,     0,     0,     0,     0,   988,   989,   990,   991,
    9824             :      992,   993,   994,   995,   996,   658,     0,     0,     0,     0,
    9825             :        0,     0,   982,     0,     0,     0,     0,     0,     0,   983,
    9826             :      984,   985,   235,   236,   237,   238,   239,   240,   241,   242,
    9827             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
    9828             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
    9829             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
    9830             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
    9831             :      271,   272,   273,   274,     0,   275,  1169,   277,   278,   279,
    9832             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
    9833             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
    9834             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
    9835             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
    9836             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
    9837             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
    9838             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
    9839             :      333,   334,   335,   336,     0,   337,   338,   339,   340,   341,
    9840             :      342,   343,   344,   345,   346,     0,  1170,     0,   348,   349,
    9841             :      350,   351,   352,     0,   353,     0,   354,   355,     0,     0,
    9842             :        0,   358,   359,   360,   361,     0,   362,   363,     0,   364,
    9843             :      365,   366,     0,   367,   368,   369,   370,  1171,     0,   373,
    9844             :      374,   375,   376,     0,   377,   378,   379,   380,   381,   382,
    9845             :      383,   384,     0,   385,     0,   387,   388,   389,   390,   391,
    9846             :      392,   393,     0,   394,     0,   395,     0,     0,   398,     0,
    9847             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
    9848             :      410,   411,   412,   413,   414,   415,   416,   417,     0,     0,
    9849             :      418,   419,     0,   421,     0,     0,   423,   424,   425,     0,
    9850             :        0,   426,   427,   428,   429,   430,   431,   432,   433,   434,
    9851             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
    9852             :      445,     0,   447,   448,   449,   450,   451,   452,   453,   454,
    9853             :      455,   456,   457,   458,     0,   459,   460,     0,   462,     0,
    9854             :      463,   464,   465,   466,   467,   468,     0,   469,   470,   471,
    9855             :        0,     0,   472,   473,   474,     0,     0,   475,   476,   477,
    9856             :        0,   479,     0,   481,   482,   483,   484,   485,   486,   487,
    9857             :      488,   489,   490,   491,   492,   493,   494,     0,   495,   496,
    9858             :      497,   498,   499,   500,   501,   502,   503,     0,   504,   505,
    9859             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
    9860             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
    9861             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
    9862             :      534,     0,   536,   537,   538,   539,   540,   541,   542,   543,
    9863             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
    9864             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
    9865             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
    9866             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
    9867             :      581,   582,   583,   584,     0,   585,   586,     0,     0,   587,
    9868             :        0,   589,   590,   591,   592,   593,   594,     0,   595,   596,
    9869             :      597,     0,     0,   598,   599,   600,   601,   602,     0,   603,
    9870             :      604,   605,   606,   607,   608,   609,   610,   611,     0,     0,
    9871             :      612,   613,   614,   615,   616,     0,     0,   617,   618,   619,
    9872             :      620,   621,   622,   623,     0,   624,     0,   626,   627,   628,
    9873             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
    9874             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
    9875             :      645,   646,   647,   648,   649,   650,     0,     0,     0,     0,
    9876             :        0,     0,     0,     0,     0,     0,   988,   989,   990,   991,
    9877             :      992,   993,   994,   995,   996,   658,     0,     0,     0,     0,
    9878             :        0,     0,   982,     0,     0,     0,     0,     0,     0,   983,
    9879             :      984,   985,   235,   236,   237,   238,   239,   240,   241,   242,
    9880             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
    9881             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
    9882             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
    9883             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
    9884             :      271,   272,   273,   274,     0,   275,  1846,   277,   278,   279,
    9885             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
    9886             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
    9887             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
    9888             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
    9889             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
    9890             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
    9891             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
    9892             :      333,   334,   335,   336,     0,   337,   338,   339,   340,   341,
    9893             :      342,   343,   344,   345,   346,     0,  1847,     0,   348,   349,
    9894             :      350,   351,   352,     0,   353,     0,   354,   355,     0,     0,
    9895             :        0,   358,   359,   360,   361,     0,   362,   363,     0,   364,
    9896             :      365,   366,     0,   367,   368,   369,   370,   371,     0,   373,
    9897             :      374,   375,   376,     0,   377,   378,   379,   380,   381,   382,
    9898             :      383,   384,     0,   385,     0,   387,   388,   389,   390,   391,
    9899             :      392,   393,     0,   394,     0,   395,     0,     0,   398,     0,
    9900             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
    9901             :      410,   411,   412,   413,   414,   415,   416,   417,     0,     0,
    9902             :      418,   419,     0,   421,     0,     0,   423,   424,   425,     0,
    9903             :        0,   426,   427,   428,   429,   430,   431,   432,   433,   434,
    9904             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
    9905             :      445,     0,   447,   448,   449,   450,   451,   452,   453,   454,
    9906             :      455,   456,   457,   458,     0,   459,   460,     0,   462,     0,
    9907             :      463,   464,   465,   466,   467,   468,     0,   469,   470,   471,
    9908             :        0,     0,   472,   473,   474,     0,     0,   475,   476,   477,
    9909             :        0,   479,     0,   481,   482,   483,   484,   485,   486,   487,
    9910             :      488,   489,   490,   491,   492,   493,   494,     0,   495,   496,
    9911             :      497,   498,   499,   500,   501,   502,   503,     0,   504,   505,
    9912             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
    9913             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
    9914             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
    9915             :      534,     0,   536,   537,   538,   539,   540,   541,   542,   543,
    9916             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
    9917             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
    9918             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
    9919             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
    9920             :      581,   582,   583,   584,     0,   585,   586,     0,     0,   587,
    9921             :        0,   589,   590,   591,   592,   593,   594,     0,   595,   596,
    9922             :      597,     0,     0,   598,   599,   600,   601,   602,     0,   603,
    9923             :      604,   605,   606,   607,   608,   609,   610,   611,     0,     0,
    9924             :      612,   613,   614,   615,   616,     0,     0,   617,   618,   619,
    9925             :      620,   621,   622,   623,     0,   624,     0,   626,   627,   628,
    9926             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
    9927             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
    9928             :      645,   646,   647,   648,   649,   650,     0,     0,     0,     0,
    9929             :        0,     0,     0,     0,     0,     0,   988,   989,   990,   991,
    9930             :      992,   993,   994,   995,   996,   658,     0,     0,     0,     0,
    9931             :        0,     0,   982,     0,     0,     0,     0,     0,     0,   983,
    9932             :      984,   985,   235,   236,   237,   238,   239,   240,   241,   242,
    9933             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
    9934             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
    9935             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
    9936             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
    9937             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
    9938             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
    9939             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
    9940             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
    9941             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
    9942             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
    9943             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
    9944             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
    9945             :      333,   334,   335,   336,     0,   337,   338,   339,   340,   341,
    9946             :      342,   343,   344,   345,   346,     0,   347,     0,   348,   349,
    9947             :      350,   351,   352,     0,   353,     0,   354,   355,     0,     0,
    9948             :        0,   358,   359,   360,   361,     0,   362,   363,     0,   364,
    9949             :      365,   366,     0,   367,   368,   369,   370,   371,     0,   373,
    9950             :      374,   375,   376,     0,   377,   378,   379,   380,   381,   382,
    9951             :      383,   384,     0,   385,     0,   387,   388,   389,   390,   391,
    9952             :      392,   393,     0,   394,     0,   395,     0,     0,   398,     0,
    9953             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
    9954             :      410,   411,   412,   413,   414,   415,   416,   417,     0,     0,
    9955             :      418,   419,     0,   421,     0,     0,   423,   424,   425,     0,
    9956             :        0,   426,   427,   428,   429,   430,   431,   432,   433,   434,
    9957             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
    9958             :      445,     0,   447,   448,   449,   450,   451,   452,   453,   454,
    9959             :      455,   456,   457,   458,     0,   459,   460,     0,   462,     0,
    9960             :      463,   464,   465,   466,   467,   468,     0,   469,   470,   471,
    9961             :        0,     0,   472,   473,   474,     0,     0,   475,   476,   477,
    9962             :        0,   479,     0,   481,   482,   483,   484,   485,   486,   487,
    9963             :      488,   489,   490,   491,   492,   493,   494,     0,   495,   496,
    9964             :      497,   498,   499,   500,   501,   502,   503,     0,   504,   505,
    9965             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
    9966             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
    9967             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
    9968             :      534,     0,   536,   537,   538,   539,   540,   541,   542,   543,
    9969             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
    9970             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
    9971             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
    9972             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
    9973             :      581,   582,   583,   584,     0,   585,   586,     0,     0,   587,
    9974             :        0,   589,   590,   591,   592,   593,   594,     0,   595,   596,
    9975             :      597,     0,     0,   598,   599,   600,   601,   602,     0,   603,
    9976             :      604,   605,   606,   607,   608,   609,   610,   611,     0,     0,
    9977             :      612,   613,   614,   615,   616,     0,     0,   617,   618,   619,
    9978             :      620,   621,   622,   623,     0,   624,     0,   626,   627,   628,
    9979             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
    9980             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
    9981             :      645,   646,   647,   648,   649,   650,     0,     0,     0,     0,
    9982             :        0,     0,     0,     0,     0,     0,   988,   989,   990,   991,
    9983             :      992,   993,   994,   995,   996,   658,     0,     0,     0,     0,
    9984             :        0,     0,   982,     0,     0,     0,     0,     0,     0,   983,
    9985             :      984,   985,   235,   236,   237,   238,   239,   240,   241,   242,
    9986             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
    9987             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
    9988             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
    9989             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
    9990             :      271,   272,   273,   274,     0,   275,  3600,   277,   278,   279,
    9991             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
    9992             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
    9993             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
    9994             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
    9995             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
    9996             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
    9997             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
    9998             :      333,   334,   335,   336,     0,   337,   338,   339,   340,   341,
    9999             :      342,   343,   344,   345,   346,     0,  3601,     0,   348,   349,
   10000             :      350,   351,   352,     0,   353,     0,   354,   355,     0,     0,
   10001             :        0,   358,   359,   360,   361,     0,   362,   363,     0,   364,
   10002             :      365,   366,     0,   367,   368,   369,   370,   371,     0,   373,
   10003             :      374,   375,   376,     0,   377,   378,   379,   380,   381,   382,
   10004             :      383,   384,     0,   385,     0,   387,   388,   389,   390,   391,
   10005             :      392,   393,     0,   394,     0,   395,     0,     0,   398,     0,
   10006             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   10007             :      410,   411,   412,   413,   414,   415,   416,   417,     0,     0,
   10008             :      418,   419,     0,   421,     0,     0,   423,   424,   425,     0,
   10009             :        0,   426,   427,   428,   429,   430,   431,   432,   433,   434,
   10010             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   10011             :      445,     0,   447,   448,   449,   450,   451,   452,   453,   454,
   10012             :      455,   456,   457,   458,     0,   459,   460,     0,   462,     0,
   10013             :      463,   464,   465,   466,   467,   468,     0,   469,   470,   471,
   10014             :        0,     0,   472,   473,   474,     0,     0,   475,   476,   477,
   10015             :        0,   479,     0,   481,   482,   483,   484,   485,   486,   487,
   10016             :      488,   489,   490,   491,   492,   493,   494,     0,   495,   496,
   10017             :      497,   498,   499,   500,   501,   502,   503,     0,   504,   505,
   10018             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   10019             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   10020             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   10021             :      534,     0,   536,   537,   538,   539,   540,   541,   542,   543,
   10022             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   10023             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
   10024             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   10025             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   10026             :      581,   582,   583,   584,     0,   585,   586,     0,     0,   587,
   10027             :        0,   589,   590,   591,   592,   593,   594,     0,   595,   596,
   10028             :      597,     0,     0,   598,   599,   600,   601,   602,     0,   603,
   10029             :      604,   605,   606,   607,   608,   609,   610,   611,     0,     0,
   10030             :      612,   613,   614,   615,   616,     0,     0,   617,   618,   619,
   10031             :      620,   621,   622,   623,     0,   624,     0,   626,   627,   628,
   10032             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   10033             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   10034             :      645,   646,   647,   648,   649,   650,     0,     0,     0,     0,
   10035             :        0,     0,     0,     0,     0,     0,   988,   989,   990,   991,
   10036             :      992,   993,   994,   995,   996,   658,     0,     0,     0,     0,
   10037             :        0,     0,   982,     0,     0,     0,     0,     0,     0,   983,
   10038             :      984,   985,   235,   236,   237,   238,   239,   240,   241,   242,
   10039             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   10040             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   10041             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
   10042             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   10043             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
   10044             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
   10045             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   10046             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
   10047             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   10048             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   10049             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   10050             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   10051             :      333,   334,   335,   336,     0,   337,   338,   339,   340,   341,
   10052             :      342,   343,   344,   345,   346,     0,   347,     0,   348,   349,
   10053             :      350,   351,   352,     0,   353,     0,   354,   355,     0,     0,
   10054             :        0,   358,   359,   360,   361,     0,   362,   363,     0,   364,
   10055             :      365,   366,     0,   367,   368,   369,   370,   371,     0,   373,
   10056             :      374,   375,   376,     0,   377,   378,   379,   380,   381,   382,
   10057             :      383,   384,     0,   385,     0,   387,   388,   389,   390,   391,
   10058             :      392,   393,     0,   394,     0,   395,     0,     0,   398,     0,
   10059             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   10060             :      410,   411,   412,   413,   414,   415,   416,   417,     0,     0,
   10061             :      418,   419,     0,   421,     0,     0,   423,   424,   425,     0,
   10062             :        0,   426,   427,   428,   429,   430,   431,   432,   433,   434,
   10063             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   10064             :      445,     0,   447,   448,   449,   450,   451,   452,   453,   454,
   10065             :      455,   456,   457,   458,     0,   459,   460,     0,   462,     0,
   10066             :      463,   464,   465,   466,   467,   468,     0,   469,   470,   471,
   10067             :        0,     0,  5648,   473,   474,     0,     0,   475,   476,   477,
   10068             :        0,   479,     0,   481,   482,   483,   484,   485,   486,   487,
   10069             :      488,   489,   490,   491,   492,   493,   494,     0,   495,   496,
   10070             :      497,   498,   499,   500,   501,   502,   503,     0,   504,   505,
   10071             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   10072             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   10073             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   10074             :      534,     0,   536,   537,   538,   539,   540,   541,   542,   543,
   10075             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   10076             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
   10077             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   10078             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   10079             :      581,   582,   583,   584,     0,   585,   586,     0,     0,   587,
   10080             :        0,   589,   590,   591,   592,   593,   594,     0,   595,   596,
   10081             :      597,     0,     0,   598,   599,   600,   601,   602,     0,   603,
   10082             :      604,   605,   606,   607,   608,   609,   610,   611,     0,     0,
   10083             :      612,   613,   614,   615,   616,     0,     0,   617,   618,   619,
   10084             :      620,   621,   622,   623,     0,   624,     0,   626,   627,   628,
   10085             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   10086             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   10087             :      645,   646,   647,   648,   649,   650,     0,     0,  1740,     0,
   10088             :        0,     0,     0,     0,     0,     0,   988,   989,   990,   991,
   10089             :      992,   993,   994,   995,   996,   235,   236,   237,   238,   239,
   10090             :      240,   241,   242,   243,  1741,   244,   245,   246,  1742,  1743,
   10091             :     1744,  1745,  1746,  1747,  1748,   247,   248,   249,  1749,   250,
   10092             :      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
   10093             :      261,   262,  1750,   263,   264,   265,   266,   267,   268,   269,
   10094             :     1751,  1752,   270,   271,   272,   273,   274,  1753,   275,   276,
   10095             :      277,   278,   279,  1754,   280,  1755,   281,   282,   283,   284,
   10096             :      285,   286,   287,   288,   289,   290,   291,  1756,   292,   293,
   10097             :      294,   295,   296,   297,  1757,   298,   299,   300,   301,  1758,
   10098             :     1759,  1760,   302,  1761,  1762,  1763,   303,   304,   305,   306,
   10099             :      307,   308,   309,   310,   311,  1764,   312,  1765,   313,   314,
   10100             :      315,   316,   317,   318,   319,  1766,   320,   321,   322,   323,
   10101             :     1767,  1768,   324,   325,   326,   327,   328,  1769,   329,   330,
   10102             :      331,   332,  1770,   333,   334,   335,   336,  1771,   337,   338,
   10103             :      339,   340,   341,   342,   343,   344,   345,   346,  1772,   347,
   10104             :     1773,   348,   349,   350,   351,   352,  1774,   353,  1775,   354,
   10105             :      355,   356,  1776,   357,   358,   359,   360,   361,  1777,   362,
   10106             :      363,  1778,   364,   365,   366,  1779,   367,   368,   369,   370,
   10107             :      371,   372,   373,   374,   375,   376,  1780,   377,   378,   379,
   10108             :      380,   381,   382,   383,   384,  1781,   385,   386,   387,   388,
   10109             :      389,   390,   391,   392,   393,  1782,   394,  1783,   395,   396,
   10110             :      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
   10111             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   10112             :      417,  1784,  1785,   418,   419,   420,   421,   422,  1786,   423,
   10113             :      424,   425,  1787,  1788,   426,   427,   428,   429,   430,   431,
   10114             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   10115             :      442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
   10116             :      452,   453,   454,   455,   456,   457,   458,  1789,   459,   460,
   10117             :      461,   462,  1790,   463,   464,   465,   466,   467,   468,  1791,
   10118             :      469,   470,   471,  1792,  1793,   472,   473,   474,  1794,  1795,
   10119             :      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
   10120             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   10121             :     1796,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   10122             :     1797,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   10123             :      513,   514,   515,   516,   517,   518,   519,  1798,   520,   521,
   10124             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   10125             :      532,  1799,   533,   534,   535,   536,   537,   538,   539,   540,
   10126             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   10127             :      551,  1800,   552,   553,   554,   555,   556,  1801,   557,   558,
   10128             :      559,   560,   561,   562,   563,   564,   565,   566,  1802,   567,
   10129             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   10130             :      578,   579,   580,   581,   582,   583,   584,  1803,   585,   586,
   10131             :     1804,  1805,   587,   588,   589,   590,   591,   592,   593,   594,
   10132             :     1806,   595,   596,   597,  1807,  1808,   598,   599,   600,   601,
   10133             :      602,  1809,   603,   604,   605,   606,   607,   608,   609,   610,
   10134             :      611,  1810,  1811,   612,   613,   614,   615,   616,  1812,  1813,
   10135             :      617,   618,   619,   620,   621,   622,   623,  1814,   624,   625,
   10136             :      626,   627,   628,   629,  1815,  1816,   630,  1817,  1818,   631,
   10137             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
   10138             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   658,
   10139             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   10140             :        0,     0,     0,     0,  1819,     0,   235,   236,   237,   238,
   10141             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
   10142             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   10143             :      250,   251,   252,   253,     0,   255,   256,   257,   258,   259,
   10144             :        0,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   10145             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
   10146             :      276,   277,   278,   279,     0,     0,     0,   281,   282,   283,
   10147             :      284,   285,   286,     0,   288,   289,   290,   291,     0,   292,
   10148             :      293,   294,   295,   296,   297,     0,     0,   299,   300,   301,
   10149             :        0,     0,     0,     0,     0,     0,     0,   303,   304,   305,
   10150             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   10151             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   10152             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   10153             :      330,   331,   332,     0,   333,   334,   335,   336,     0,   337,
   10154             :      338,   339,   340,   341,   342,   343,   344,   345,   346,     0,
   10155             :      347,     0,   348,   349,   350,   351,   352,     0,   353,     0,
   10156             :      354,   355,     0,     0,     0,   358,   359,   360,   361,     0,
   10157             :      362,   363,     0,   364,   365,   366,     0,   367,   368,   369,
   10158             :      370,   371,     0,   373,   374,   375,   376,     0,   377,   378,
   10159             :      379,   380,   381,   382,   383,   384,     0,   385,     0,   387,
   10160             :      388,   389,   390,   391,   392,   393,     0,   394,     0,   395,
   10161             :        0,     0,   398,     0,   400,   401,   402,   403,   404,   405,
   10162             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   10163             :      416,   417,     0,     0,   418,   419,     0,   421,     0,     0,
   10164             :      423,   424,   425,     0,     0,   426,   427,   428,   429,   430,
   10165             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   10166             :      441,   442,   443,   444,   445,     0,   447,   448,   449,   450,
   10167             :      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
   10168             :      460,     0,   462,     0,   463,   464,   465,   466,   467,   468,
   10169             :        0,   469,   470,   471,     0,     0,   472,   473,   474,     0,
   10170             :        0,   475,   476,   477,     0,   479,     0,   481,   482,   483,
   10171             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   10172             :      494,     0,   495,   496,   497,   498,   499,   500,   501,   502,
   10173             :      503,     0,   504,   505,   506,   507,   508,   509,   510,   511,
   10174             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   10175             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   10176             :      531,   532,     0,   533,   534,     0,   536,   537,   538,   539,
   10177             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
   10178             :      550,   551,     0,   552,   553,   554,   555,   556,     0,   557,
   10179             :      558,   559,   560,   561,     0,   563,   564,   565,   566,     0,
   10180             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   10181             :      577,   578,   579,   580,   581,   582,   583,   584,     0,   585,
   10182             :      586,     0,     0,   587,     0,   589,   590,   591,   592,   593,
   10183             :      594,     0,   595,   596,   597,     0,     0,   598,   599,   600,
   10184             :      601,   602,     0,   603,   604,   605,   606,   607,   608,   609,
   10185             :      610,   611,     0,     0,   612,   613,   614,   615,   616,     0,
   10186             :        0,   617,   618,   619,   620,   621,   622,   623,     0,   624,
   10187             :        0,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   10188             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
   10189             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   10190             :      658,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   10191             :        0,     0,     0,     0,     0,   868,     0,   235,   236,   237,
   10192             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   10193             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   10194             :        0,   250,   251,   252,   253,     0,   255,   256,   257,   258,
   10195             :      259,     0,   261,   262,     0,   263,   264,   265,   266,   267,
   10196             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
   10197             :      275,   276,   277,   278,   279,     0,     0,     0,   281,   282,
   10198             :      283,   284,   285,   286,     0,   288,   289,   290,   291,     0,
   10199             :      292,   293,   294,   295,   296,   297,     0,     0,   299,   300,
   10200             :      301,     0,     0,     0,     0,     0,     0,     0,   303,   304,
   10201             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   10202             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   10203             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
   10204             :      329,   330,   331,   332,     0,   333,   334,   335,   336,     0,
   10205             :      337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   10206             :        0,   347,     0,   348,   349,   350,   351,   352,     0,   353,
   10207             :        0,   354,   355,     0,     0,     0,   358,   359,   360,   361,
   10208             :        0,   362,   363,     0,   364,   365,   366,     0,   367,   368,
   10209             :      369,   370,   371,     0,   373,   374,   375,   376,     0,   377,
   10210             :      378,   379,   380,   381,   382,   383,   384,     0,   385,     0,
   10211             :      387,   388,   389,   390,   391,   392,   393,     0,   394,     0,
   10212             :      395,     0,     0,   398,     0,   400,   401,   402,   403,   404,
   10213             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   10214             :      415,   416,   417,     0,     0,   418,   419,     0,   421,     0,
   10215             :        0,   423,   424,   425,     0,     0,   426,   427,   428,   429,
   10216             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   10217             :      440,   441,   442,   443,   444,   445,     0,   447,   448,   449,
   10218             :      450,   451,   452,   453,   454,   455,   456,   457,   458,     0,
   10219             :      459,   460,     0,   462,     0,   463,   464,   465,   466,   467,
   10220             :      468,     0,   469,   470,   471,     0,     0,   472,   473,   474,
   10221             :        0,     0,   475,   476,   477,     0,   479,     0,   481,   482,
   10222             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   10223             :      493,   494,     0,   495,   496,   497,   498,   499,   500,   501,
   10224             :      502,   503,     0,   504,   505,   506,   507,   508,   509,   510,
   10225             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   10226             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   10227             :      530,   531,   532,     0,   533,   534,     0,   536,   537,   538,
   10228             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
   10229             :      549,   550,   551,     0,   552,   553,   554,   555,   556,     0,
   10230             :      557,   558,   559,   560,   561,     0,   563,   564,   565,   566,
   10231             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   10232             :      576,   577,   578,   579,   580,   581,   582,   583,   584,     0,
   10233             :      585,   586,     0,     0,   587,     0,   589,   590,   591,   592,
   10234             :      593,   594,     0,   595,   596,   597,     0,     0,   598,   599,
   10235             :      600,   601,   602,     0,   603,   604,   605,   606,   607,   608,
   10236             :      609,   610,   611,     0,     0,   612,   613,   614,   615,   616,
   10237             :        0,     0,   617,   618,   619,   620,   621,   622,   623,     0,
   10238             :      624,     0,   626,   627,   628,   629,     0,     0,   630,     0,
   10239             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   10240             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   10241             :      650,   658,     0,     0,     0,     0,     0,     0,     0,     0,
   10242             :        0,     0,     0,     0,     0,     0,  6106,     0,   235,   236,
   10243             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   10244             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   10245             :      249,     0,   250,   251,   252,   253,     0,   255,   256,   257,
   10246             :      258,   259,     0,   261,   262,     0,   263,   264,   265,   266,
   10247             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
   10248             :        0,   275,   276,   277,   278,   279,     0,     0,     0,   281,
   10249             :      282,   283,   284,   285,   286,     0,   288,   289,   290,   291,
   10250             :        0,   292,   293,   294,   295,   296,   297,     0,     0,   299,
   10251             :      300,   301,     0,     0,     0,     0,     0,     0,     0,   303,
   10252             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   10253             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   10254             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   10255             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   10256             :        0,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   10257             :      346,     0,   347,     0,   348,   349,   350,   351,   352,     0,
   10258             :      353,     0,   354,   355,     0,     0,     0,   358,   359,   360,
   10259             :      361,     0,   362,   363,     0,   364,   365,   366,     0,   367,
   10260             :      368,   369,   370,   371,     0,   373,   374,   375,   376,     0,
   10261             :      377,   378,   379,   380,   381,   382,   383,   384,     0,   385,
   10262             :        0,   387,   388,   389,   390,   391,   392,   393,     0,   394,
   10263             :        0,   395,     0,     0,   398,     0,   400,   401,   402,   403,
   10264             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   10265             :      414,   415,   416,   417,     0,     0,   418,   419,     0,   421,
   10266             :        0,     0,   423,   424,   425,     0,     0,   426,   427,   428,
   10267             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   10268             :      439,   440,   441,   442,   443,   444,   445,     0,   447,   448,
   10269             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   10270             :        0,   459,   460,     0,   462,     0,   463,   464,   465,   466,
   10271             :      467,   468,     0,   469,   470,   471,     0,     0,   472,   473,
   10272             :      474,     0,     0,   475,   476,   477,     0,   479,     0,   481,
   10273             :      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   10274             :      492,   493,   494,     0,   495,   496,   497,   498,   499,   500,
   10275             :      501,   502,   503,     0,   504,   505,   506,   507,   508,   509,
   10276             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   10277             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   10278             :      529,   530,   531,   532,     0,   533,   534,     0,   536,   537,
   10279             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   10280             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
   10281             :        0,   557,   558,   559,   560,   561,     0,   563,   564,   565,
   10282             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   10283             :      575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
   10284             :        0,   585,   586,     0,     0,   587,     0,   589,   590,   591,
   10285             :      592,   593,   594,     0,   595,   596,   597,     0,     0,   598,
   10286             :      599,   600,   601,   602,     0,   603,   604,   605,   606,   607,
   10287             :      608,   609,   610,   611,     0,     0,   612,   613,   614,   615,
   10288             :      616,     0,     0,   617,   618,   619,   620,   621,   622,   623,
   10289             :        0,   624,     0,   626,   627,   628,   629,     0,     0,   630,
   10290             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
   10291             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   10292             :      649,   650,   658,     0,     0,     0,     0,     0,     0,     0,
   10293             :        0,     0,     0,     0,     0,     0,     0,  6108,     0,   235,
   10294             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   10295             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   10296             :      248,   249,     0,   250,   251,   252,   253,     0,   255,   256,
   10297             :      257,   258,   259,     0,   261,   262,     0,   263,   264,   265,
   10298             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
   10299             :      274,     0,   275,   276,   277,   278,   279,     0,     0,     0,
   10300             :      281,   282,   283,   284,   285,   286,     0,   288,   289,   290,
   10301             :      291,     0,   292,   293,   294,   295,   296,   297,     0,     0,
   10302             :      299,   300,   301,     0,     0,     0,     0,     0,     0,     0,
   10303             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   10304             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   10305             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   10306             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   10307             :      336,     0,   337,   338,   339,   340,   341,   342,   343,   344,
   10308             :      345,   346,     0,   347,     0,   348,   349,   350,   351,   352,
   10309             :        0,   353,     0,   354,   355,     0,     0,     0,   358,   359,
   10310             :      360,   361,     0,   362,   363,     0,   364,   365,   366,     0,
   10311             :      367,   368,   369,   370,   371,     0,   373,   374,   375,   376,
   10312             :        0,   377,   378,   379,   380,   381,   382,   383,   384,     0,
   10313             :      385,     0,   387,   388,   389,   390,   391,   392,   393,     0,
   10314             :      394,     0,   395,     0,     0,   398,     0,   400,   401,   402,
   10315             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   10316             :      413,   414,   415,   416,   417,     0,     0,   418,   419,     0,
   10317             :      421,     0,     0,   423,   424,   425,     0,     0,   426,   427,
   10318             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   10319             :      438,   439,   440,   441,   442,   443,   444,   445,     0,   447,
   10320             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   10321             :      458,     0,   459,   460,     0,   462,     0,   463,   464,   465,
   10322             :      466,   467,   468,     0,   469,   470,   471,     0,     0,   472,
   10323             :      473,   474,     0,     0,   475,   476,   477,     0,   479,     0,
   10324             :      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
   10325             :      491,   492,   493,   494,     0,   495,   496,   497,   498,   499,
   10326             :      500,   501,   502,   503,     0,   504,   505,   506,   507,   508,
   10327             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   10328             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   10329             :      528,   529,   530,   531,   532,     0,   533,   534,     0,   536,
   10330             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   10331             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   10332             :      556,     0,   557,   558,   559,   560,   561,     0,   563,   564,
   10333             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   10334             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   10335             :      584,     0,   585,   586,     0,     0,   587,     0,   589,   590,
   10336             :      591,   592,   593,   594,     0,   595,   596,   597,     0,     0,
   10337             :      598,   599,   600,   601,   602,     0,   603,   604,   605,   606,
   10338             :      607,   608,   609,   610,   611,     0,     0,   612,   613,   614,
   10339             :      615,   616,     0,     0,   617,   618,   619,   620,   621,   622,
   10340             :      623,     0,   624,     0,   626,   627,   628,   629,     0,     0,
   10341             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
   10342             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   10343             :      648,   649,   650,   879,     0,     0,     0,     0,     0,     0,
   10344             :        0,     0,     0,     0,     0,     0,     0,     0,  6235,     0,
   10345             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   10346             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   10347             :      247,   248,   249,     0,   250,   251,   252,   253,   254,   255,
   10348             :      256,   257,     0,   880,   260,   881,   882,     0,   263,   264,
   10349             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   883,
   10350             :      884,   274,     0,   275,   276,   277,   278,     0,     0,   280,
   10351             :        0,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   10352             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   10353             :      298,   299,   300,   301,     0,     0,     0,   302,     0,     0,
   10354             :        0,   303,   304,   305,   306,   307,   308,   885,   886,   311,
   10355             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   10356             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   887,
   10357             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   10358             :      335,   336,     0,   337,   338,   339,   340,     0,   342,   343,
   10359             :      344,   345,     0,     0,   347,     0,   348,   349,   350,   888,
   10360             :      352,     0,   353,     0,   354,   355,   356,     0,   357,   358,
   10361             :      359,   360,   361,     0,   362,     0,     0,     0,   365,   366,
   10362             :        0,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   10363             :      376,  2731,   377,   378,   379,   380,   381,   382,   383,   384,
   10364             :        0,   385,   386,  2732,   388,   389,   390,   391,   889,   890,
   10365             :        0,   891,     0,   395,   396,   397,   398,   399,   892,     0,
   10366             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   411,
   10367             :      412,   413,   414,   415,   416,   417,     0,     0,   418,     0,
   10368             :      420,   421,   422,     0,   423,   424,   425,     0,     0,   426,
   10369             :      427,   428,   429,   430,   431,   432,   433,   434,   435,     0,
   10370             :      437,   438,   439,   440,   441,   442,   443,   444,   893,   446,
   10371             :      894,   448,   449,   450,   451,   452,   453,   454,   455,     0,
   10372             :        0,   458,     0,   459,   460,   461,   462,     0,     0,   464,
   10373             :      895,   466,   467,   468,     0,   469,   470,   471,     0,     0,
   10374             :      472,   473,   474,     0,  2733,   475,   476,  2734,   478,   479,
   10375             :      480,     0,   482,   483,   484,   485,   486,   487,   488,   489,
   10376             :      490,   491,   492,   493,   494,     0,   495,   496,   497,     0,
   10377             :      499,     0,   501,   502,   503,     0,   504,   505,   506,   507,
   10378             :      508,   509,   510,   511,   512,   513,   514,   896,   516,   517,
   10379             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   10380             :      527,   528,   529,   530,   531,   532,     0,   533,   534,   535,
   10381             :      536,   537,   538,   539,   540,     0,   542,   543,   544,   545,
   10382             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   10383             :      555,   556,     0,   557,   558,  2735,   560,   561,   562,   563,
   10384             :      564,   898,   566,     0,   567,   568,   569,   570,   571,   572,
   10385             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   10386             :        0,   584,     0,   585,   586,     0,     0,   587,   588,   589,
   10387             :      590,   591,   592,   593,   594,     0,   595,   899,   900,     0,
   10388             :        0,   598,   599,     0,   601,     0,     0,   603,   604,   605,
   10389             :      606,   607,   608,   609,   610,   611,     0,     0,   612,   613,
   10390             :      614,   615,   616,     0,     0,   617,   618,   619,   620,   621,
   10391             :        0,   901,  2736,   624,   625,   626,   627,   628,   629,     0,
   10392             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   10393             :        0,     0,     0,  3961,     0,     0,     0,     0,     0,     0,
   10394             :        0,   648,   649,   650,     0,     0,     0,     0,     0,     0,
   10395             :      235,   236,   237,   238,   239,   240,   241,   242,   243,  2737,
   10396             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   10397             :      247,   248,   249,     0,   250,   251,   252,   253,   254,   255,
   10398             :      256,   257,     0,   880,   260,   881,   882,     0,   263,   264,
   10399             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   883,
   10400             :      884,   274,     0,   275,   276,   277,   278,     0,     0,   280,
   10401             :        0,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   10402             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   10403             :      298,   299,   300,   301,     0,     0,     0,   302,     0,     0,
   10404             :        0,   303,   304,   305,   306,   307,   308,   885,   886,   311,
   10405             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   10406             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   887,
   10407             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   10408             :      335,   336,     0,   337,   338,   339,   340,     0,   342,   343,
   10409             :      344,   345,     0,     0,   347,     0,   348,   349,   350,   888,
   10410             :      352,     0,   353,     0,   354,   355,   356,     0,   357,   358,
   10411             :      359,   360,   361,     0,   362,     0,     0,     0,   365,   366,
   10412             :        0,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   10413             :      376,  2731,   377,   378,   379,   380,   381,   382,   383,   384,
   10414             :        0,   385,   386,  2732,   388,   389,   390,   391,   889,   890,
   10415             :        0,   891,     0,   395,   396,   397,   398,   399,   892,     0,
   10416             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   411,
   10417             :      412,   413,   414,   415,   416,   417,     0,     0,   418,     0,
   10418             :      420,   421,   422,     0,   423,   424,   425,     0,     0,   426,
   10419             :      427,   428,   429,   430,   431,   432,   433,   434,   435,     0,
   10420             :      437,   438,   439,   440,   441,   442,   443,   444,   893,   446,
   10421             :      894,   448,   449,   450,   451,   452,   453,   454,   455,     0,
   10422             :        0,   458,     0,   459,   460,   461,   462,     0,     0,   464,
   10423             :      895,   466,   467,   468,     0,   469,   470,   471,     0,     0,
   10424             :      472,   473,   474,     0,  2733,   475,   476,  2734,   478,   479,
   10425             :      480,     0,   482,   483,   484,   485,   486,   487,   488,   489,
   10426             :      490,   491,   492,   493,   494,     0,   495,   496,   497,     0,
   10427             :      499,     0,   501,   502,   503,     0,   504,   505,   506,   507,
   10428             :      508,   509,   510,   511,   512,   513,   514,   896,   516,   517,
   10429             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   10430             :      527,   528,   529,   530,   531,   532,     0,   533,   534,   535,
   10431             :      536,   537,   538,   539,   540,     0,   542,   543,   544,   545,
   10432             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   10433             :      555,   556,     0,   557,   558,  2735,   560,   561,   562,   563,
   10434             :      564,   898,   566,     0,   567,   568,   569,   570,   571,   572,
   10435             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   10436             :        0,   584,     0,   585,   586,     0,     0,   587,   588,   589,
   10437             :      590,   591,   592,   593,   594,     0,   595,   899,   900,     0,
   10438             :        0,   598,   599,     0,   601,     0,     0,   603,   604,   605,
   10439             :      606,   607,   608,   609,   610,   611,     0,     0,   612,   613,
   10440             :      614,   615,   616,     0,     0,   617,   618,   619,   620,   621,
   10441             :        0,   901,  2736,   624,   625,   626,   627,   628,   629,     0,
   10442             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   10443             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   10444             :        0,   648,   649,   650,   967,     0,  1603,   717,     0,     0,
   10445             :        0,     0,   778,     0,     0,     0,     0,     0,     0,  2737,
   10446             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   10447             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   10448             :        0,   247,   248,   249,     0,   250,   251,   252,   253,   254,
   10449             :      255,   256,   257,   258,   259,   260,   261,   262,     0,   263,
   10450             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   10451             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
   10452             :      280,     0,   281,   282,   283,   284,   285,   286,   287,   288,
   10453             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   10454             :        0,   298,   299,   300,   301,     0,     0,     0,   302,     0,
   10455             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
   10456             :      311,  2622,   312,     0,   313,   314,   315,   316,   317,   318,
   10457             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   10458             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   10459             :      334,   335,   336,     0,   337,   338,   339,   340,   341,   342,
   10460             :      343,   344,   345,   346,  1829,   347,     0,   348,   349,   350,
   10461             :      351,   352,     0,   353,     0,   354,   355,   356,     0,   357,
   10462             :      358,   359,   360,   361,     0,   362,   363,     0,   364,   365,
   10463             :      366,     0,   367,   368,   369,   370,   371,   372,   373,   374,
   10464             :      375,   376,     0,   377,   378,   379,   380,   381,   382,   383,
   10465             :      384,     0,   385,   386,   387,   388,   389,   390,   391,   392,
   10466             :      393,     0,   394,     0,   395,   396,   397,   398,   399,   400,
   10467             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   10468             :      411,   412,   413,   414,   415,   416,   417,     0,     0,   418,
   10469             :      419,   420,   421,   422,     0,   423,   424,   425,     0,     0,
   10470             :      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   10471             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   10472             :      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
   10473             :      456,   457,   458,     0,   459,   460,   461,   462,     0,   463,
   10474             :      464,   465,   466,   467,   468,     0,   469,   470,   471,  1830,
   10475             :        0,   472,   473,   474,     0,     0,   475,   476,   477,   478,
   10476             :      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
   10477             :      489,   490,   491,   492,   493,   494,     0,   495,   496,   497,
   10478             :      498,   499,   500,   501,   502,   503,     0,   504,   505,   506,
   10479             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   10480             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   10481             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   10482             :      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   10483             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   10484             :      554,   555,   556,     0,   557,   558,   559,   560,   561,   562,
   10485             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   10486             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   10487             :      582,   583,   584,     0,   585,   586,     0,     0,   587,   588,
   10488             :      589,   590,   591,   592,   593,   594,     0,   595,   596,   597,
   10489             :        0,     0,   598,   599,   600,   601,   602,  1831,   603,   604,
   10490             :      605,   606,   607,   608,   609,   610,   611,     0,     0,   612,
   10491             :      613,   614,   615,   616,     0,     0,   617,   618,   619,   620,
   10492             :      621,   622,   623,     0,   624,   625,   626,   627,   628,   629,
   10493             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   10494             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   10495             :      646,   647,   648,   649,   650,   967,     0,  1603,   717,     0,
   10496             :        0,     0,     0,   778,     0,     0,     0,     0,  1604,  1605,
   10497             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   10498             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   10499             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   10500             :      254,   255,   256,   257,   258,   259,   260,   261,   262,     0,
   10501             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   10502             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
   10503             :        0,   280,     0,   281,   282,   283,   284,   285,   286,   287,
   10504             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   10505             :      297,     0,   298,   299,   300,   301,     0,     0,     0,   302,
   10506             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   10507             :      310,   311,  2627,   312,     0,   313,   314,   315,   316,   317,
   10508             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   10509             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   10510             :      333,   334,   335,   336,     0,   337,   338,   339,   340,   341,
   10511             :      342,   343,   344,   345,   346,  1829,   347,     0,   348,   349,
   10512             :      350,   351,   352,     0,   353,     0,   354,   355,   356,     0,
   10513             :      357,   358,   359,   360,   361,     0,   362,   363,     0,   364,
   10514             :      365,   366,     0,   367,   368,   369,   370,   371,   372,   373,
   10515             :      374,   375,   376,     0,   377,   378,   379,   380,   381,   382,
   10516             :      383,   384,     0,   385,   386,   387,   388,   389,   390,   391,
   10517             :      392,   393,     0,   394,     0,   395,   396,   397,   398,   399,
   10518             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   10519             :      410,   411,   412,   413,   414,   415,   416,   417,     0,     0,
   10520             :      418,   419,   420,   421,   422,     0,   423,   424,   425,     0,
   10521             :        0,   426,   427,   428,   429,   430,   431,   432,   433,   434,
   10522             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   10523             :      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
   10524             :      455,   456,   457,   458,     0,   459,   460,   461,   462,     0,
   10525             :      463,   464,   465,   466,   467,   468,     0,   469,   470,   471,
   10526             :     1830,     0,   472,   473,   474,     0,     0,   475,   476,   477,
   10527             :      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
   10528             :      488,   489,   490,   491,   492,   493,   494,     0,   495,   496,
   10529             :      497,   498,   499,   500,   501,   502,   503,     0,   504,   505,
   10530             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   10531             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   10532             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   10533             :      534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
   10534             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   10535             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
   10536             :      562,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   10537             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   10538             :      581,   582,   583,   584,     0,   585,   586,     0,     0,   587,
   10539             :      588,   589,   590,   591,   592,   593,   594,     0,   595,   596,
   10540             :      597,     0,     0,   598,   599,   600,   601,   602,  1831,   603,
   10541             :      604,   605,   606,   607,   608,   609,   610,   611,     0,     0,
   10542             :      612,   613,   614,   615,   616,     0,     0,   617,   618,   619,
   10543             :      620,   621,   622,   623,     0,   624,   625,   626,   627,   628,
   10544             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   10545             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   10546             :      645,   646,   647,   648,   649,   650,   967,     0,  1603,   717,
   10547             :        0,     0,     0,     0,   778,     0,     0,     0,     0,  1604,
   10548             :     1605,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   10549             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
   10550             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   10551             :      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
   10552             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   10553             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   10554             :      279,     0,   280,     0,   281,   282,   283,   284,   285,   286,
   10555             :      287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   10556             :      296,   297,     0,   298,   299,   300,   301,     0,     0,     0,
   10557             :      302,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   10558             :      309,   310,   311,  3567,   312,     0,   313,   314,   315,   316,
   10559             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   10560             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   10561             :        0,   333,   334,   335,   336,     0,   337,   338,   339,   340,
   10562             :      341,   342,   343,   344,   345,   346,  1829,   347,     0,   348,
   10563             :      349,   350,   351,   352,     0,   353,     0,   354,   355,   356,
   10564             :        0,   357,   358,   359,   360,   361,     0,   362,   363,     0,
   10565             :      364,   365,   366,     0,   367,   368,   369,   370,   371,   372,
   10566             :      373,   374,   375,   376,     0,   377,   378,   379,   380,   381,
   10567             :      382,   383,   384,     0,   385,   386,   387,   388,   389,   390,
   10568             :      391,   392,   393,     0,   394,     0,   395,   396,   397,   398,
   10569             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   10570             :      409,   410,   411,   412,   413,   414,   415,   416,   417,     0,
   10571             :        0,   418,   419,   420,   421,   422,     0,   423,   424,   425,
   10572             :        0,     0,   426,   427,   428,   429,   430,   431,   432,   433,
   10573             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   10574             :      444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
   10575             :      454,   455,   456,   457,   458,     0,   459,   460,   461,   462,
   10576             :        0,   463,   464,   465,   466,   467,   468,     0,   469,   470,
   10577             :      471,  1830,     0,   472,   473,   474,     0,     0,   475,   476,
   10578             :      477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
   10579             :      487,   488,   489,   490,   491,   492,   493,   494,     0,   495,
   10580             :      496,   497,   498,   499,   500,   501,   502,   503,     0,   504,
   10581             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   10582             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   10583             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   10584             :      533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
   10585             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   10586             :      552,   553,   554,   555,   556,     0,   557,   558,   559,   560,
   10587             :      561,   562,   563,   564,   565,   566,     0,   567,   568,   569,
   10588             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   10589             :      580,   581,   582,   583,   584,     0,   585,   586,     0,     0,
   10590             :      587,   588,   589,   590,   591,   592,   593,   594,     0,   595,
   10591             :      596,   597,     0,     0,   598,   599,   600,   601,   602,  1831,
   10592             :      603,   604,   605,   606,   607,   608,   609,   610,   611,     0,
   10593             :        0,   612,   613,   614,   615,   616,     0,     0,   617,   618,
   10594             :      619,   620,   621,   622,   623,     0,   624,   625,   626,   627,
   10595             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   10596             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   10597             :      644,   645,   646,   647,   648,   649,   650,   967,     0,  1603,
   10598             :      717,     0,     0,     0,     0,   778,     0,     0,     0,     0,
   10599             :     1604,  1605,     0,     0,   235,   236,   237,   238,   239,   240,
   10600             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
   10601             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   10602             :      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
   10603             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   10604             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   10605             :      278,   279,     0,   280,     0,   281,   282,   283,   284,   285,
   10606             :      286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
   10607             :      295,   296,   297,     0,   298,   299,   300,   301,     0,     0,
   10608             :        0,   302,     0,     0,     0,   303,   304,   305,   306,   307,
   10609             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   10610             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   10611             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   10612             :      332,     0,   333,   334,   335,   336,     0,   337,   338,   339,
   10613             :      340,   341,   342,   343,   344,   345,   346,  1829,   347,     0,
   10614             :      348,   349,   350,   351,   352,     0,   353,     0,   354,   355,
   10615             :      356,     0,   357,   358,   359,   360,   361,     0,   362,   363,
   10616             :        0,   364,   365,   366,     0,   367,   368,   369,   370,   371,
   10617             :      372,   373,   374,   375,   376,     0,   377,   378,   379,   380,
   10618             :      381,   382,   383,   384,     0,   385,   386,   387,   388,   389,
   10619             :      390,   391,   392,   393,     0,   394,     0,   395,   396,   397,
   10620             :      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
   10621             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   10622             :        0,     0,   418,   419,   420,   421,   422,     0,   423,   424,
   10623             :      425,     0,     0,   426,   427,   428,   429,   430,   431,   432,
   10624             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   10625             :      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
   10626             :      453,   454,   455,   456,   457,   458,     0,   459,   460,   461,
   10627             :      462,     0,   463,   464,   465,   466,   467,   468,     0,   469,
   10628             :      470,   471,  1830,     0,   472,   473,   474,     0,     0,   475,
   10629             :      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
   10630             :      486,   487,   488,   489,   490,   491,   492,   493,   494,     0,
   10631             :      495,   496,   497,   498,   499,   500,   501,   502,   503,     0,
   10632             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   10633             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
   10634             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   10635             :        0,   533,   534,   535,   536,   537,   538,   539,   540,   541,
   10636             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   10637             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   559,
   10638             :      560,   561,   562,   563,   564,   565,   566,     0,   567,   568,
   10639             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   10640             :      579,   580,   581,   582,   583,   584,     0,   585,   586,     0,
   10641             :        0,   587,   588,   589,   590,   591,   592,   593,   594,     0,
   10642             :      595,   596,   597,     0,     0,   598,   599,   600,   601,   602,
   10643             :     1831,   603,   604,   605,   606,   607,   608,   609,   610,   611,
   10644             :        0,     0,   612,   613,   614,   615,   616,     0,     0,   617,
   10645             :      618,   619,   620,   621,   622,   623,     0,   624,   625,   626,
   10646             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   10647             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   10648             :      643,   644,   645,   646,   647,   648,   649,   650,   658,     0,
   10649             :        0,     0,     0,     0,     0,     0,   778,     0,     0,     0,
   10650             :        0,  1604,  1605,     0,     0,   235,   236,   779,   238,   239,
   10651             :      240,   241,   242,   243,   780,   244,   245,   246,     0,     0,
   10652             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   10653             :      251,   252,   253,     0,   781,   256,   257,   258,   259,     0,
   10654             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   10655             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
   10656             :      277,   278,   279,     0,     0,     0,   281,   282,   283,   284,
   10657             :      285,   286,     0,   288,   289,   290,   291,     0,   292,   293,
   10658             :      294,   295,   296,   297,     0,     0,   299,   300,   301,     0,
   10659             :        0,     0,     0,     0,     0,     0,   303,   304,   305,   306,
   10660             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   10661             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   10662             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   10663             :      331,   332,     0,   333,   334,   335,   336,     0,   337,   338,
   10664             :      339,   340,   341,   342,   343,   344,   345,   346,     0,   347,
   10665             :        0,   348,   349,   782,   351,   352,     0,   353,     0,   354,
   10666             :      783,     0,   784,     0,   358,   359,   360,   361,     0,   362,
   10667             :      363,     0,   364,   365,   366,     0,   367,   368,   369,   370,
   10668             :      371,     0,   373,   374,   375,   376,   785,   377,   378,   379,
   10669             :      380,   381,   382,   383,   384,     0,   385,     0,   387,   388,
   10670             :      389,   390,   391,   392,   393,     0,   394,     0,   395,     0,
   10671             :        0,   398,     0,   400,   401,   402,   403,   404,   405,   406,
   10672             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   10673             :      786,     0,     0,   418,   419,     0,   421,     0,     0,   423,
   10674             :      424,   425,     0,     0,   426,   427,   428,   429,   430,   431,
   10675             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   10676             :      442,   443,   444,   445,     0,   447,   448,   449,   787,   451,
   10677             :      452,   453,   454,   455,   456,   457,   458,     0,   459,   460,
   10678             :        0,   462,     0,   463,   464,   465,   466,   467,   468,     0,
   10679             :      469,   470,   471,     0,     0,   472,   473,   474,     0,     0,
   10680             :      475,   476,   477,     0,   479,     0,   481,   482,   483,   484,
   10681             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   10682             :        0,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   10683             :        0,   788,   505,   506,   507,   508,   509,   510,   511,   512,
   10684             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
   10685             :      522,   789,   524,   525,   526,   527,   528,   529,   530,   531,
   10686             :      532,     0,   533,   534,     0,   536,   537,   538,   539,   540,
   10687             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   10688             :      551,     0,   552,   553,   554,   555,   556,     0,   557,   558,
   10689             :      559,   560,   561,     0,   563,   564,   565,   566,     0,   567,
   10690             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   10691             :      578,   579,   580,   581,   582,   583,   584,     0,   585,   586,
   10692             :        0,     0,   587,     0,   589,   590,   591,   592,   593,   594,
   10693             :        0,   595,   596,   597,     0,     0,   598,   599,   600,   601,
   10694             :      602,     0,   603,   604,   605,   606,   607,   608,   609,   610,
   10695             :      611,     0,     0,   612,   613,   614,   615,   616,     0,     0,
   10696             :      617,   618,   619,   620,   621,   622,   623,     0,   624,     0,
   10697             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   10698             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
   10699             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   967,
   10700             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   10701             :        0,     0,   790,   791,     0,     0,   235,   236,   237,   238,
   10702             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     3,
   10703             :        4,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   10704             :      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
   10705             :      260,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   10706             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
   10707             :      276,   277,   278,   279,     0,   280,     0,   281,   282,   283,
   10708             :      284,   285,   286,   287,   288,   289,   290,   291,     0,   292,
   10709             :      293,   294,   295,   296,   297,     0,   298,   299,   300,   301,
   10710             :        0,     0,     0,   302,     0,     0,     0,   303,   304,   305,
   10711             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   10712             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   10713             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   10714             :      330,   331,   332,     0,   333,   334,   335,   336,     0,   337,
   10715             :      338,   339,   340,   341,   342,   343,   344,   345,   346,     0,
   10716             :      347,     0,   348,   349,   350,   351,   352,     0,   353,     0,
   10717             :      354,   355,   356,     0,   357,   358,   359,   360,   361,     0,
   10718             :      362,   363,     0,   364,   365,   366,     0,   367,   368,   369,
   10719             :      370,   371,   372,   373,   374,   375,   376,     0,   377,   378,
   10720             :      379,   380,   381,   382,   383,   384,     0,   385,   386,   387,
   10721             :      388,   389,   390,   391,   392,   393,     0,   394,     0,   395,
   10722             :      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
   10723             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   10724             :      416,   417,     0,     0,   418,   419,   420,   421,   422,     0,
   10725             :      423,   424,   425,     0,     0,   426,   427,   428,   429,   430,
   10726             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   10727             :      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
   10728             :      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
   10729             :      460,   461,   462,     0,   463,   464,   465,   466,   467,   468,
   10730             :        0,   469,   470,   471,     0,     0,   472,   473,   474,     0,
   10731             :        0,   475,   476,   477,   478,   479,   480,   481,   482,   483,
   10732             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   10733             :      494,     0,   495,   496,   497,   498,   499,   500,   501,   502,
   10734             :      503,     0,   504,   505,   506,   507,   508,   509,   510,   511,
   10735             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   10736             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   10737             :      531,   532,     0,   533,   534,   535,   536,   537,   538,   539,
   10738             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
   10739             :      550,   551,     0,   552,   553,   554,   555,   556,     0,   557,
   10740             :      558,   559,   560,   561,   562,   563,   564,   565,   566,     0,
   10741             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   10742             :      577,   578,   579,   580,   581,   582,   583,   584,     0,   585,
   10743             :      586,     0,     0,   587,   588,   589,   590,   591,   592,   593,
   10744             :      594,     0,   595,   596,   597,     0,     0,   598,   599,   600,
   10745             :      601,   602,     0,   603,   604,   605,   606,   607,   608,   609,
   10746             :      610,   611,     0,     0,   612,   613,   614,   615,   616,     0,
   10747             :        0,   617,   618,   619,   620,   621,   622,   623,     0,   624,
   10748             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   10749             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
   10750             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   10751             :     1046,  1740,     0,  6430,   717,     0,     0,     0,     0,   778,
   10752             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   10753             :      237,   238,   239,   240,   241,   242,   243,  1741,   244,   245,
   10754             :      246,  1742,  1743,  1744,  1745,  1746,  1747,  1748,   247,   248,
   10755             :      249,  1749,   250,   251,   252,   253,   254,   255,   256,   257,
   10756             :      258,   259,   260,   261,   262,  1750,   263,   264,   265,   266,
   10757             :      267,   268,   269,  1751,  1752,   270,   271,   272,   273,   274,
   10758             :     1753,   275,   276,   277,   278,   279,  1754,   280,  1755,   281,
   10759             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   10760             :     1756,   292,   293,   294,   295,   296,   297,  1757,   298,   299,
   10761             :      300,   301,  1758,  1759,  1760,   302,  1761,  1762,  1763,   303,
   10762             :      304,   305,   306,   307,   308,   309,   310,   311,  1764,   312,
   10763             :     1765,   313,   314,   315,   316,   317,   318,   319,  1766,   320,
   10764             :      321,   322,   323,  1767,  1768,   324,   325,   326,   327,   328,
   10765             :     1769,   329,   330,   331,   332,  1770,   333,   334,   335,   336,
   10766             :     1771,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   10767             :      346,  1772,   347,  1773,   348,   349,   350,   351,   352,  1774,
   10768             :      353,  1775,   354,   355,   356,  1776,   357,   358,   359,   360,
   10769             :      361,  1777,   362,   363,  1778,   364,   365,   366,  1779,   367,
   10770             :      368,   369,   370,   371,   372,   373,   374,   375,   376,  1780,
   10771             :      377,   378,   379,   380,   381,   382,   383,   384,  1781,   385,
   10772             :      386,   387,   388,   389,   390,   391,   392,   393,  1782,   394,
   10773             :     1783,   395,   396,   397,   398,   399,   400,   401,   402,   403,
   10774             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   10775             :      414,   415,   416,   417,  1784,  1785,   418,   419,   420,   421,
   10776             :      422,  1786,   423,   424,   425,  1787,  1788,   426,   427,   428,
   10777             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   10778             :      439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
   10779             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   10780             :     1789,   459,   460,   461,   462,  1790,   463,   464,   465,   466,
   10781             :      467,   468,  1791,   469,   470,   471,  1792,  1793,   472,   473,
   10782             :      474,  1794,  1795,   475,   476,   477,   478,   479,   480,   481,
   10783             :      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   10784             :      492,   493,   494,  1796,   495,   496,   497,   498,   499,   500,
   10785             :      501,   502,   503,  1797,   504,   505,   506,   507,   508,   509,
   10786             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   10787             :     1798,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   10788             :      529,   530,   531,   532,  1799,   533,   534,   535,   536,   537,
   10789             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   10790             :      548,   549,   550,   551,  1800,   552,   553,   554,   555,   556,
   10791             :     1801,   557,   558,   559,   560,   561,   562,   563,   564,   565,
   10792             :      566,  1802,   567,   568,   569,   570,   571,   572,   573,   574,
   10793             :      575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
   10794             :     1803,   585,   586,  1804,  1805,   587,   588,   589,   590,   591,
   10795             :      592,   593,   594,  1806,   595,   596,   597,  1807,  1808,   598,
   10796             :      599,   600,   601,   602,  1809,   603,   604,   605,   606,   607,
   10797             :      608,   609,   610,   611,  1810,  1811,   612,   613,   614,   615,
   10798             :      616,  1812,  1813,   617,   618,   619,   620,   621,   622,   623,
   10799             :     1814,   624,   625,   626,   627,   628,   629,  1815,  1816,   630,
   10800             :     1817,  1818,   631,   632,   633,   634,   635,   636,   637,   638,
   10801             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   10802             :      649,   650,  1740,     0,     0,     0,     0,     0,     0,     0,
   10803             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   10804             :      236,   237,   238,   239,   240,   241,   242,   243,  1741,   244,
   10805             :      245,   246,  1742,  1743,  1744,  1745,  1746,  1747,  1748,   247,
   10806             :      248,   249,  1749,   250,   251,   252,   253,   254,   255,   256,
   10807             :      257,   258,   259,   260,   261,   262,  1750,   263,   264,   265,
   10808             :      266,   267,   268,   269,  1751,  1752,   270,   271,   272,   273,
   10809             :      274,  1753,   275,   276,   277,   278,   279,  1754,   280,  1755,
   10810             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   10811             :      291,  1756,   292,   293,   294,   295,   296,   297,  1757,   298,
   10812             :      299,   300,   301,  1758,  1759,  1760,   302,  1761,  1762,  1763,
   10813             :      303,   304,   305,   306,   307,   308,   309,   310,   311,  1764,
   10814             :      312,  1765,   313,   314,   315,   316,   317,   318,   319,  1766,
   10815             :      320,   321,   322,   323,  1767,  1768,   324,   325,   326,   327,
   10816             :      328,  1769,   329,   330,   331,   332,  1770,   333,   334,   335,
   10817             :      336,  1771,   337,   338,   339,   340,   341,   342,   343,   344,
   10818             :      345,   346,  1772,   347,  1773,   348,   349,   350,   351,   352,
   10819             :     1774,   353,  1775,   354,   355,   356,  1776,   357,   358,   359,
   10820             :      360,   361,  1777,   362,   363,  1778,   364,   365,   366,  1779,
   10821             :      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
   10822             :     1780,   377,   378,   379,   380,   381,   382,   383,   384,  1781,
   10823             :      385,   386,   387,   388,   389,   390,   391,   392,   393,  1782,
   10824             :      394,  1783,   395,   396,   397,   398,   399,   400,   401,   402,
   10825             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   10826             :      413,   414,   415,   416,   417,  1784,  1785,   418,   419,   420,
   10827             :      421,   422,  1786,   423,   424,   425,  1787,  1788,   426,   427,
   10828             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   10829             :      438,   439,   440,   441,   442,   443,   444,   445,   446,   447,
   10830             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   10831             :      458,  1789,   459,   460,   461,   462,  1790,   463,   464,   465,
   10832             :      466,   467,   468,  1791,   469,   470,   471,  1792,  1793,   472,
   10833             :      473,   474,  1794,  1795,   475,   476,   477,   478,   479,   480,
   10834             :      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
   10835             :      491,   492,   493,   494,  1796,   495,   496,   497,   498,   499,
   10836             :      500,   501,   502,   503,  1797,   504,   505,   506,   507,   508,
   10837             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   10838             :      519,  1798,   520,   521,   522,   523,   524,   525,   526,   527,
   10839             :      528,   529,   530,   531,   532,  1799,   533,   534,   535,   536,
   10840             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   10841             :      547,   548,   549,   550,   551,  1800,   552,   553,   554,   555,
   10842             :      556,  1801,   557,   558,   559,   560,   561,   562,   563,   564,
   10843             :      565,   566,  1802,   567,   568,   569,   570,   571,   572,   573,
   10844             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   10845             :      584,  1803,   585,   586,  1804,  1805,   587,   588,   589,   590,
   10846             :      591,   592,   593,   594,  1806,   595,   596,   597,  1807,  1808,
   10847             :      598,   599,   600,   601,   602,  1809,   603,   604,   605,   606,
   10848             :      607,   608,   609,   610,   611,  1810,  1811,   612,   613,   614,
   10849             :      615,   616,  1812,  1813,   617,   618,   619,   620,   621,   622,
   10850             :      623,  1814,   624,   625,   626,   627,   628,   629,  1815,  1816,
   10851             :      630,  1817,  1818,   631,   632,   633,   634,   635,   636,   637,
   10852             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   10853             :      648,   649,   650,  1740,     0,     0,     0,     0,     0,     0,
   10854             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   10855             :      235,   236,   237,   238,   239,  3676,   241,   242,   243,  1741,
   10856             :      244,   245,   246,  1742,  1743,  1744,  1745,  1746,  1747,  1748,
   10857             :      247,   248,   249,  1749,   250,   251,   252,   253,   254,   255,
   10858             :      256,   257,   258,   259,   260,   261,   262,  1750,   263,   264,
   10859             :      265,   266,   267,   268,   269,  1751,  1752,   270,   271,   272,
   10860             :      273,   274,  1753,   275,   276,   277,   278,   279,  1754,   280,
   10861             :     1755,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   10862             :      290,   291,  1756,   292,   293,   294,   295,   296,   297,  1757,
   10863             :      298,   299,   300,   301,  1758,  1759,  1760,   302,  1761,  1762,
   10864             :     1763,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   10865             :     1764,   312,  1765,   313,   314,   315,   316,   317,   318,   319,
   10866             :     1766,   320,   321,   322,   323,  1767,  1768,   324,   325,   326,
   10867             :     3677,   328,  1769,   329,   330,   331,   332,  1770,   333,   334,
   10868             :      335,   336,  1771,   337,   338,   339,   340,   341,   342,   343,
   10869             :      344,   345,   346,  1772,   347,  1773,   348,   349,   350,   351,
   10870             :      352,  1774,   353,  1775,   354,   355,   356,  1776,   357,   358,
   10871             :      359,   360,   361,  1777,   362,   363,  1778,   364,   365,   366,
   10872             :     1779,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   10873             :      376,  1780,   377,   378,   379,   380,   381,   382,   383,   384,
   10874             :     1781,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   10875             :     1782,   394,  1783,   395,   396,   397,   398,   399,   400,   401,
   10876             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   10877             :      412,   413,   414,   415,   416,   417,  1784,  1785,   418,   419,
   10878             :      420,   421,   422,  1786,   423,   424,   425,  1787,  1788,   426,
   10879             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   10880             :      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
   10881             :      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   10882             :      457,   458,  1789,   459,   460,   461,   462,  1790,   463,   464,
   10883             :      465,   466,   467,   468,  1791,   469,   470,   471,  1792,  1793,
   10884             :      472,   473,   474,  1794,  1795,   475,   476,   477,   478,   479,
   10885             :      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
   10886             :      490,   491,   492,   493,   494,  1796,   495,   496,   497,   498,
   10887             :      499,   500,   501,   502,   503,  1797,   504,   505,   506,   507,
   10888             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   10889             :      518,   519,  1798,   520,   521,   522,   523,   524,   525,   526,
   10890             :      527,   528,   529,   530,   531,   532,  1799,   533,   534,   535,
   10891             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   10892             :      546,   547,   548,   549,   550,   551,  1800,   552,   553,   554,
   10893             :      555,   556,  1801,  3678,   558,   559,   560,   561,   562,   563,
   10894             :      564,   565,   566,  1802,   567,   568,   569,   570,   571,   572,
   10895             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   10896             :      583,   584,  1803,   585,   586,  1804,  1805,   587,   588,   589,
   10897             :      590,   591,   592,   593,   594,  1806,   595,   596,   597,  1807,
   10898             :     1808,   598,   599,   600,   601,   602,  1809,   603,   604,   605,
   10899             :      606,   607,   608,   609,   610,   611,  1810,  1811,   612,   613,
   10900             :      614,   615,   616,  1812,  1813,   617,   618,   619,   620,   621,
   10901             :      622,   623,  1814,   624,   625,   626,   627,   628,   629,  1815,
   10902             :     1816,   630,  1817,  1818,   631,   632,   633,   634,   635,   636,
   10903             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   10904             :      647,   648,   649,   650,   234,     0,     0,     0,     0,     0,
   10905             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   10906             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   10907             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   10908             :        0,   247,   248,   249,     0,   250,   251,   252,   253,   254,
   10909             :      255,   256,   257,   258,   259,   260,   261,   262,     0,   263,
   10910             :      264,   265,   266,   267,   268,   269,     0,  1281,   270,   271,
   10911             :      272,   273,   274,     0,   275,   276,   277,   278,  1284,     0,
   10912             :     1285,     0,   281,   282,   283,   284,   285,   286,   287,   288,
   10913             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   10914             :        0,   298,   299,   300,   301,  1286,  1287,  1288,  1289,  1290,
   10915             :     1291,  1292,   303,   304,   305,   306,   307,   308,   309,   310,
   10916             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   10917             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   10918             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   10919             :      334,   335,   336,     0,   337,   338,   339,   340,   341,   342,
   10920             :      343,   344,   345,  1297,     0,   347,     0,   348,   349,   350,
   10921             :      351,   352,     0,   353,     0,   354,   355,   356,     0,   357,
   10922             :      358,   359,   360,   361,     0,   362,  1300,     0,   364,   365,
   10923             :      366,     0,   367,   368,   369,   370,   371,   372,   373,   374,
   10924             :      375,   376,     0,   377,   378,   379,   380,   381,   382,   383,
   10925             :      384,     0,   385,   386,   387,   388,   389,   390,   391,   392,
   10926             :      393,     0,   394,     0,   395,   396,   397,   398,   399,  3472,
   10927             :     1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,   409,  1314,
   10928             :      411,   412,   413,   414,   415,   416,   417,     0,     0,   418,
   10929             :     1315,   420,   421,   422,     0,   423,   424,   425,  1316,  1317,
   10930             :      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   10931             :     1318,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   10932             :      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
   10933             :      456,  1321,   458,     0,   459,   460,   461,   462,     0,  1324,
   10934             :      464,   465,   466,   467,   468,     0,   469,   470,   471,     0,
   10935             :        0,   472,   473,   474,     0,     0,   475,   476,   477,   478,
   10936             :      479,   480,  1327,   482,   483,   484,   485,   486,   487,   488,
   10937             :      489,   490,   491,   492,   493,   494,     0,   495,   496,   497,
   10938             :     1328,   499,   500,   501,   502,   503,     0,   504,   505,   506,
   10939             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   10940             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   10941             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   10942             :      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   10943             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   10944             :      554,   555,   556,  1331,   557,   558,   559,   560,   561,   562,
   10945             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   10946             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   10947             :      582,  1333,   584,     0,   585,   586,  1334,     0,   587,   588,
   10948             :      589,   590,   591,   592,   593,   594,     0,   595,   596,   597,
   10949             :        0,     0,   598,   599,  1337,   601,  1338,     0,   603,   604,
   10950             :      605,   606,   607,   608,   609,   610,   611,     0,     0,   612,
   10951             :      613,   614,   615,   616,  1341,     0,   617,   618,   619,   620,
   10952             :      621,   622,   623,     0,   624,   625,   626,   627,   628,   629,
   10953             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   10954             :      636,   637,  1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,
   10955             :     1350,   647,   648,   649,   650,   234,     0,  1271,   717,     0,
   10956             :     1272,  1273,     0,   778,     0,     0,     0,     0,     0,     0,
   10957             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   10958             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   10959             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   10960             :      254,   255,   256,   257,   258,  1277,   260,  1278,  1279,     0,
   10961             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   10962             :      271,  1282,  1283,   274,     0,   275,   276,   277,   278,   279,
   10963             :        0,   280,     0,   281,   282,   283,   284,   285,   286,   287,
   10964             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   10965             :      297,     0,   298,   299,   300,   301,     0,     0,     0,   302,
   10966             :        0,     0,     0,   303,   304,   305,   306,   307,   308,  1293,
   10967             :     1294,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   10968             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   10969             :      325,   887,   327,   328,     0,   329,   330,   331,   332,     0,
   10970             :      333,   334,   335,   336,     0,   337,   338,   339,   340,   341,
   10971             :      342,   343,   344,   345,   346,  1298,   347,     0,   348,   349,
   10972             :      350,  1299,   352,     0,   353,     0,   354,   355,   356,     0,
   10973             :      357,   358,   359,   360,   361,     0,   362,   363,     0,   364,
   10974             :      365,   366,     0,   367,   368,   369,   370,   371,   372,   373,
   10975             :      374,   375,   376,     0,   377,   378,   379,   380,   381,   382,
   10976             :      383,   384,     0,   385,   386,   387,   388,   389,   390,   391,
   10977             :     1302,  1303,     0,  1304,     0,   395,   396,   397,   398,   399,
   10978             :     6402,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   10979             :      410,   411,   412,   413,   414,   415,   416,   417,     0,     0,
   10980             :      418,   419,   420,   421,   422,     0,   423,   424,   425,     0,
   10981             :        0,   426,   427,   428,   429,   430,   431,   432,   433,   434,
   10982             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   10983             :     1319,   446,  1320,   448,   449,   450,   451,   452,   453,   454,
   10984             :      455,   456,   457,   458,     0,   459,   460,   461,   462,  1323,
   10985             :      463,   464,  1325,   466,   467,   468,     0,   469,   470,   471,
   10986             :        0,     0,   472,   473,   474,     0,     0,   475,   476,   477,
   10987             :      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
   10988             :      488,   489,   490,   491,   492,   493,   494,     0,   495,   496,
   10989             :      497,   498,   499,   500,   501,   502,   503,     0,   504,   505,
   10990             :      506,   507,   508,   509,   510,   511,   512,   513,   514,  1329,
   10991             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   10992             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   10993             :      534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
   10994             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   10995             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
   10996             :      562,   563,   564,  1332,   566,     0,   567,   568,   569,   570,
   10997             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   10998             :      581,   582,   583,   584,     0,   585,   586,     0,     0,   587,
   10999             :      588,   589,   590,   591,   592,   593,   594,     0,   595,  1335,
   11000             :     1336,     0,     0,   598,   599,   600,   601,   602,  1339,   603,
   11001             :      604,   605,   606,   607,   608,   609,   610,   611,     0,     0,
   11002             :      612,   613,   614,   615,   616,     0,     0,   617,   618,   619,
   11003             :      620,   621,   622,  1342,     0,   624,   625,   626,   627,   628,
   11004             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   11005             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   11006             :      645,   646,   647,   648,   649,   650,   967,     0,     0,     0,
   11007             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11008             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   11009             :      242,   243,  1006,   244,   245,   246,     0,     0,     0,     0,
   11010             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   11011             :      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
   11012             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   11013             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   11014             :      279,     0,   280,     0,   281,   282,   283,   284,   285,   286,
   11015             :      287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   11016             :      296,   297,     0,   298,   299,   300,   301,     0,     0,   968,
   11017             :      302,     0,     0,   969,   303,   304,   305,   306,   307,   308,
   11018             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
   11019             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   11020             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   11021             :        0,   333,   334,   335,   336,     0,   337,   338,   339,   340,
   11022             :      341,   342,   343,   344,   345,   346,     0,   347,     0,   348,
   11023             :      349,   350,   351,   352,     0,   353,     0,   354,   355,   356,
   11024             :        0,   357,   358,   359,   360,   361,     0,   362,   363,     0,
   11025             :      364,   365,   366,     0,   367,   368,   369,   370,   371,   372,
   11026             :      373,   374,   375,   376,     0,   377,   378,   379,   380,   381,
   11027             :      382,   383,   384,     0,   385,   386,   387,   388,   389,   390,
   11028             :      391,   392,   393,     0,   394,     0,   395,   396,   397,   398,
   11029             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   11030             :      409,   410,   411,   412,   413,   414,   415,   416,   417,     0,
   11031             :        0,   418,   419,   420,   421,   422,     0,   423,   424,   425,
   11032             :        0,     0,   426,   427,   428,   429,   430,   431,   432,   433,
   11033             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   11034             :      444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
   11035             :      454,   455,   456,   457,   458,     0,   459,   460,   461,   462,
   11036             :        0,   463,   464,   465,   466,   467,   468,     0,   469,   470,
   11037             :      471,     0,     0,   472,   473,   474,     0,     0,   475,   476,
   11038             :      477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
   11039             :      487,   488,   489,   490,   491,   492,   493,   494,     0,   495,
   11040             :      496,   497,   498,   499,   500,   501,   502,   503,     0,   504,
   11041             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   11042             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   11043             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   11044             :      533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
   11045             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   11046             :      552,   553,   554,   555,   556,   970,   557,   558,   559,   560,
   11047             :      561,   562,   563,   564,   565,   566,     0,   567,   568,   569,
   11048             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   11049             :      580,   581,   582,   583,   584,     0,   585,   586,     0,     0,
   11050             :      587,   588,   589,   590,   591,   592,   593,   594,     0,   595,
   11051             :      596,   597,     0,     0,   598,   599,   600,   601,   602,     0,
   11052             :      603,   604,   605,   606,   607,   608,   609,   610,   611,     0,
   11053             :        0,   612,   613,   614,   615,   616,     0,     0,   617,   618,
   11054             :      619,   620,   621,   622,   623,     0,   624,   625,   626,   627,
   11055             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   11056             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   11057             :      644,   645,   646,   647,   648,   649,   650,   967,     0,     0,
   11058             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11059             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   11060             :      241,   242,   243,  1027,   244,   245,   246,     0,     0,     0,
   11061             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   11062             :      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
   11063             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   11064             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   11065             :      278,   279,     0,   280,     0,   281,   282,   283,   284,   285,
   11066             :      286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
   11067             :      295,   296,   297,     0,   298,   299,   300,   301,     0,     0,
   11068             :      968,   302,     0,     0,   969,   303,   304,   305,   306,   307,
   11069             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   11070             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   11071             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   11072             :      332,     0,   333,   334,   335,   336,     0,   337,   338,   339,
   11073             :      340,   341,   342,   343,   344,   345,   346,     0,   347,     0,
   11074             :      348,   349,   350,   351,   352,     0,   353,     0,   354,   355,
   11075             :      356,     0,   357,   358,   359,   360,   361,     0,   362,   363,
   11076             :        0,   364,   365,   366,     0,   367,   368,   369,   370,   371,
   11077             :      372,   373,   374,   375,   376,     0,   377,   378,   379,   380,
   11078             :      381,   382,   383,   384,     0,   385,   386,   387,   388,   389,
   11079             :      390,   391,   392,   393,     0,   394,     0,   395,   396,   397,
   11080             :      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
   11081             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   11082             :        0,     0,   418,   419,   420,   421,   422,     0,   423,   424,
   11083             :      425,     0,     0,   426,   427,   428,   429,  1028,   431,   432,
   11084             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   11085             :      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
   11086             :      453,   454,   455,   456,   457,   458,     0,   459,   460,   461,
   11087             :      462,     0,   463,   464,   465,   466,   467,   468,     0,   469,
   11088             :      470,   471,     0,     0,   472,   473,   474,     0,     0,   475,
   11089             :      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
   11090             :      486,   487,   488,   489,   490,   491,   492,   493,   494,     0,
   11091             :      495,   496,   497,   498,   499,   500,   501,   502,   503,     0,
   11092             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   11093             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
   11094             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   11095             :        0,   533,   534,   535,   536,   537,   538,   539,   540,   541,
   11096             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   11097             :        0,   552,   553,   554,   555,   556,   970,   557,   558,   559,
   11098             :      560,   561,   562,   563,   564,   565,   566,     0,   567,   568,
   11099             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   11100             :      579,   580,   581,   582,   583,   584,     0,   585,   586,     0,
   11101             :        0,   587,   588,   589,   590,   591,   592,   593,   594,     0,
   11102             :      595,   596,   597,     0,     0,   598,   599,   600,   601,   602,
   11103             :        0,   603,   604,   605,   606,   607,   608,   609,   610,   611,
   11104             :        0,     0,   612,   613,   614,   615,   616,     0,     0,   617,
   11105             :      618,   619,   620,   621,   622,   623,     0,   624,   625,   626,
   11106             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   11107             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   11108             :      643,   644,   645,   646,   647,   648,   649,   650,   967,     0,
   11109             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11110             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
   11111             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
   11112             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   11113             :      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
   11114             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   11115             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
   11116             :      277,   278,   279,     0,   280,     0,   281,   282,   283,   284,
   11117             :      285,   286,   287,   288,   289,   290,   291,     0,   292,   293,
   11118             :      294,   295,   296,   297,     0,   298,   299,   300,   301,     0,
   11119             :        0,   968,   302,     0,     0,   969,   303,   304,   305,   306,
   11120             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   11121             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   11122             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   11123             :      331,   332,     0,   333,   334,   335,   336,     0,   337,   338,
   11124             :      339,   340,   341,   342,   343,   344,   345,   346,     0,   347,
   11125             :        0,   348,   349,   350,   351,   352,     0,   353,     0,   354,
   11126             :      355,   356,     0,   357,   358,   359,   360,   361,     0,   362,
   11127             :      363,     0,   364,   365,   366,     0,   367,   368,   369,   370,
   11128             :      371,   372,   373,   374,   375,   376,     0,   377,   378,   379,
   11129             :      380,   381,   382,   383,   384,     0,   385,   386,   387,   388,
   11130             :      389,   390,   391,   392,   393,     0,   394,     0,   395,   396,
   11131             :      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
   11132             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   11133             :      417,     0,     0,   418,   419,   420,   421,   422,     0,   423,
   11134             :      424,   425,     0,     0,   426,   427,   428,   429,   430,   431,
   11135             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   11136             :      442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
   11137             :      452,   453,   454,   455,   456,   457,   458,     0,   459,   460,
   11138             :      461,   462,     0,   463,   464,   465,   466,   467,   468,     0,
   11139             :      469,   470,   471,     0,     0,   472,   473,   474,     0,     0,
   11140             :      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
   11141             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   11142             :        0,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   11143             :        0,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   11144             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
   11145             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   11146             :      532,     0,   533,   534,   535,   536,   537,   538,   539,   540,
   11147             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   11148             :      551,     0,   552,   553,   554,   555,   556,   970,   557,   558,
   11149             :      559,   560,   561,   562,   563,   564,   565,   566,     0,   567,
   11150             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   11151             :      578,   579,   580,   581,   582,   583,   584,     0,   585,   586,
   11152             :        0,     0,   587,   588,   589,   590,   591,   592,   593,   594,
   11153             :        0,   595,   596,   597,     0,     0,   598,   599,   600,   601,
   11154             :      602,     0,   603,   604,   605,   606,   607,   608,   609,   610,
   11155             :      611,     0,     0,   612,   613,   614,   615,   616,  3005,     0,
   11156             :      617,   618,   619,   620,   621,   622,   623,     0,   624,   625,
   11157             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   11158             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
   11159             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   967,
   11160             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11161             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
   11162             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
   11163             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   11164             :      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
   11165             :      260,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   11166             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
   11167             :      276,   277,   278,   279,     0,   280,     0,   281,   282,   283,
   11168             :      284,   285,   286,   287,   288,   289,   290,   291,     0,   292,
   11169             :      293,   294,   295,   296,   297,     0,   298,   299,   300,   301,
   11170             :        0,     0,   968,   302,     0,     0,   969,   303,   304,   305,
   11171             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   11172             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   11173             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   11174             :      330,   331,   332,     0,   333,   334,   335,   336,     0,   337,
   11175             :      338,   339,   340,   341,   342,   343,   344,   345,   346,     0,
   11176             :      347,     0,   348,   349,   350,   351,   352,     0,   353,     0,
   11177             :      354,   355,   356,     0,   357,   358,   359,   360,   361,     0,
   11178             :      362,   363,  4032,   364,   365,   366,     0,   367,   368,   369,
   11179             :      370,   371,   372,   373,   374,   375,   376,     0,   377,   378,
   11180             :      379,   380,   381,   382,   383,   384,     0,   385,   386,   387,
   11181             :      388,   389,   390,   391,   392,   393,     0,   394,     0,   395,
   11182             :      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
   11183             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   11184             :      416,   417,     0,     0,   418,   419,   420,   421,   422,     0,
   11185             :      423,   424,   425,     0,     0,   426,   427,   428,   429,   430,
   11186             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   11187             :      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
   11188             :      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
   11189             :      460,   461,   462,     0,   463,   464,   465,   466,   467,   468,
   11190             :        0,   469,   470,   471,     0,     0,   472,   473,   474,     0,
   11191             :        0,   475,   476,   477,   478,   479,   480,   481,   482,   483,
   11192             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   11193             :      494,     0,   495,   496,   497,   498,   499,   500,   501,   502,
   11194             :      503,     0,   504,   505,   506,   507,   508,   509,   510,   511,
   11195             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   11196             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   11197             :      531,   532,     0,   533,   534,   535,   536,   537,   538,   539,
   11198             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
   11199             :      550,   551,     0,   552,   553,   554,   555,   556,   970,   557,
   11200             :      558,   559,   560,   561,   562,   563,   564,   565,   566,     0,
   11201             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   11202             :      577,   578,   579,   580,   581,   582,   583,   584,     0,   585,
   11203             :      586,     0,     0,   587,   588,   589,   590,   591,   592,   593,
   11204             :      594,     0,   595,   596,   597,     0,     0,   598,   599,   600,
   11205             :      601,   602,     0,   603,   604,   605,   606,   607,   608,   609,
   11206             :      610,   611,     0,     0,   612,   613,   614,   615,   616,     0,
   11207             :        0,   617,   618,   619,   620,   621,   622,   623,     0,   624,
   11208             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   11209             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
   11210             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   11211             :      967,     0,     0,   717,     0,     0,     0,     0,     0,     0,
   11212             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   11213             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   11214             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   11215             :        0,   250,   251,   252,   253,   254,   255,   256,   257,   258,
   11216             :      259,   260,   261,   262,     0,   263,   264,   265,   266,   267,
   11217             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
   11218             :      275,   276,   277,   278,   279,     0,   280,     0,   281,   282,
   11219             :      283,   284,   285,   286,   287,   288,   289,   290,   291,     0,
   11220             :      292,   293,   294,   295,   296,   297,     0,   298,   299,   300,
   11221             :      301,     0,     0,     0,   302,     0,     0,     0,   303,   304,
   11222             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   11223             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   11224             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
   11225             :      329,   330,   331,   332,     0,   333,   334,   335,   336,     0,
   11226             :      337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   11227             :     1829,   347,     0,   348,   349,   350,   351,   352,     0,   353,
   11228             :        0,   354,   355,   356,     0,   357,   358,   359,   360,   361,
   11229             :        0,   362,   363,     0,   364,   365,   366,     0,   367,   368,
   11230             :      369,   370,   371,   372,   373,   374,   375,   376,     0,   377,
   11231             :      378,   379,   380,   381,   382,   383,   384,     0,   385,   386,
   11232             :      387,   388,   389,   390,   391,   392,   393,     0,   394,     0,
   11233             :      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
   11234             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   11235             :      415,   416,   417,     0,     0,   418,   419,   420,   421,   422,
   11236             :        0,   423,   424,   425,     0,     0,   426,   427,   428,   429,
   11237             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   11238             :      440,   441,   442,   443,   444,   445,   446,   447,   448,   449,
   11239             :      450,   451,   452,   453,   454,   455,   456,   457,   458,     0,
   11240             :      459,   460,   461,   462,     0,   463,   464,   465,   466,   467,
   11241             :      468,     0,   469,   470,   471,  1830,     0,   472,   473,   474,
   11242             :        0,     0,   475,   476,   477,   478,   479,   480,   481,   482,
   11243             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   11244             :      493,   494,     0,   495,   496,   497,   498,   499,   500,   501,
   11245             :      502,   503,     0,   504,   505,   506,   507,   508,   509,   510,
   11246             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   11247             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   11248             :      530,   531,   532,     0,   533,   534,   535,   536,   537,   538,
   11249             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
   11250             :      549,   550,   551,     0,   552,   553,   554,   555,   556,     0,
   11251             :      557,   558,   559,   560,   561,   562,   563,   564,   565,   566,
   11252             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   11253             :      576,   577,   578,   579,   580,   581,   582,   583,   584,     0,
   11254             :      585,   586,     0,     0,   587,   588,   589,   590,   591,   592,
   11255             :      593,   594,     0,   595,   596,   597,     0,     0,   598,   599,
   11256             :      600,   601,   602,  1831,   603,   604,   605,   606,   607,   608,
   11257             :      609,   610,   611,     0,     0,   612,   613,   614,   615,   616,
   11258             :        0,     0,   617,   618,   619,   620,   621,   622,   623,     0,
   11259             :      624,   625,   626,   627,   628,   629,     0,     0,   630,     0,
   11260             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   11261             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   11262             :      650,   967,     0,     0,     0,     0,     0,     0,     0,     0,
   11263             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   11264             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   11265             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   11266             :      249,     0,   250,   251,   252,   253,   254,   255,   256,   257,
   11267             :      258,   259,   260,   261,   262,     0,   263,   264,   265,   266,
   11268             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
   11269             :        0,   275,   276,   277,   278,   279,     0,   280,     0,   281,
   11270             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   11271             :        0,   292,   293,   294,   295,   296,   297,     0,   298,   299,
   11272             :      300,   301,     0,     0,   968,   302,     0,     0,   969,   303,
   11273             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   11274             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   11275             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   11276             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   11277             :        0,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   11278             :      346,     0,   347,     0,   348,   349,   350,   351,   352,     0,
   11279             :      353,     0,   354,   355,   356,     0,   357,   358,   359,   360,
   11280             :      361,     0,   362,   363,     0,   364,   365,   366,     0,   367,
   11281             :      368,   369,   370,   371,   372,   373,   374,   375,   376,     0,
   11282             :      377,   378,   379,   380,   381,   382,   383,   384,     0,   385,
   11283             :      386,   387,   388,   389,   390,   391,   392,   393,     0,   394,
   11284             :        0,   395,   396,   397,   398,   399,   400,   401,   402,   403,
   11285             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   11286             :      414,   415,   416,   417,     0,     0,   418,   419,   420,   421,
   11287             :      422,     0,   423,   424,   425,     0,     0,   426,   427,   428,
   11288             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   11289             :      439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
   11290             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   11291             :        0,   459,   460,   461,   462,     0,   463,   464,   465,   466,
   11292             :      467,   468,     0,   469,   470,   471,     0,     0,   472,   473,
   11293             :      474,     0,     0,   475,   476,   477,   478,   479,   480,   481,
   11294             :      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   11295             :      492,   493,   494,     0,   495,   496,   497,   498,   499,   500,
   11296             :      501,   502,   503,     0,   504,   505,   506,   507,   508,   509,
   11297             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   11298             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   11299             :      529,   530,   531,   532,     0,   533,   534,   535,   536,   537,
   11300             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   11301             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
   11302             :      970,   557,   558,   559,   560,   561,   562,   563,   564,   565,
   11303             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   11304             :      575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
   11305             :        0,   585,   586,     0,     0,   587,   588,   589,   590,   591,
   11306             :      592,   593,   594,     0,   595,   596,   597,     0,     0,   598,
   11307             :      599,   600,   601,   602,     0,   603,   604,   605,   606,   607,
   11308             :      608,   609,   610,   611,     0,     0,   612,   613,   614,   615,
   11309             :      616,     0,     0,   617,   618,   619,   620,   621,   622,   623,
   11310             :        0,   624,   625,   626,   627,   628,   629,     0,     0,   630,
   11311             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
   11312             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   11313             :      649,   650,   967,     0,     0,     0,     0,     0,     0,     0,
   11314             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   11315             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   11316             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   11317             :      248,   249,     0,   250,   251,   252,   253,   254,   255,   256,
   11318             :      257,   258,   259,   260,   261,   262,     0,   263,   264,   265,
   11319             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
   11320             :      274,     0,   275,   276,   277,   278,   279,     0,   280,     0,
   11321             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   11322             :      291,     0,   292,   293,   294,   295,   296,   297,     0,   298,
   11323             :      299,   300,   301,     0,     0,   968,   302,     0,     0,   969,
   11324             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   11325             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   11326             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   11327             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   11328             :      336,     0,   337,   338,   339,   340,   341,   342,   343,   344,
   11329             :      345,   346,     0,   347,     0,   348,   349,   350,   351,   352,
   11330             :        0,   353,     0,   354,   355,   356,     0,   357,   358,   359,
   11331             :      360,   361,     0,   362,   363,     0,   364,   365,   366,     0,
   11332             :      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
   11333             :        0,   377,   378,   379,   380,   381,   382,   383,   384,     0,
   11334             :      385,   386,   387,   388,   389,   390,   391,   392,   393,     0,
   11335             :      394,     0,   395,   396,   397,   398,   399,   400,   401,   402,
   11336             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   11337             :      413,   414,   415,   416,   417,     0,     0,   418,   419,   420,
   11338             :      421,   422,     0,   423,   424,   425,     0,     0,   426,   427,
   11339             :      428,   429,  1122,   431,   432,   433,   434,   435,   436,   437,
   11340             :      438,   439,   440,   441,   442,   443,   444,   445,   446,   447,
   11341             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   11342             :      458,     0,   459,   460,   461,   462,     0,   463,   464,   465,
   11343             :      466,   467,   468,     0,   469,   470,   471,     0,     0,   472,
   11344             :      473,   474,     0,     0,   475,   476,   477,   478,   479,   480,
   11345             :      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
   11346             :      491,   492,   493,   494,     0,   495,   496,   497,   498,   499,
   11347             :      500,   501,   502,   503,     0,   504,   505,   506,   507,   508,
   11348             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   11349             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   11350             :      528,   529,   530,   531,   532,     0,   533,   534,   535,   536,
   11351             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   11352             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   11353             :      556,   970,   557,   558,   559,   560,   561,   562,   563,   564,
   11354             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   11355             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   11356             :      584,     0,   585,   586,     0,     0,   587,   588,   589,   590,
   11357             :      591,   592,   593,   594,     0,   595,   596,   597,     0,     0,
   11358             :      598,   599,   600,   601,   602,     0,   603,   604,   605,   606,
   11359             :      607,   608,   609,   610,   611,     0,     0,   612,   613,   614,
   11360             :      615,   616,     0,     0,   617,   618,   619,   620,   621,   622,
   11361             :      623,     0,   624,   625,   626,   627,   628,   629,     0,     0,
   11362             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
   11363             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   11364             :      648,   649,   650,   967,     0,     0,     0,     0,     0,     0,
   11365             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11366             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   11367             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   11368             :      247,   248,   249,     0,   250,   251,   252,   253,   254,   255,
   11369             :      256,   257,   258,   259,   260,   261,   262,     0,   263,   264,
   11370             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   11371             :      273,   274,     0,   275,   276,   277,   278,   279,     0,   280,
   11372             :        0,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   11373             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   11374             :      298,   299,   300,   301,     0,     0,   968,   302,     0,     0,
   11375             :      969,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   11376             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   11377             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   11378             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   11379             :      335,   336,     0,   337,   338,   339,   340,   341,   342,   343,
   11380             :      344,   345,   346,     0,   347,     0,   348,   349,   350,   351,
   11381             :      352,     0,   353,     0,   354,   355,   356,     0,   357,   358,
   11382             :      359,   360,   361,     0,   362,   363,     0,   364,   365,   366,
   11383             :        0,   367,   368,   369,   370,  1164,   372,   373,   374,   375,
   11384             :      376,     0,   377,   378,   379,   380,   381,   382,   383,   384,
   11385             :        0,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   11386             :        0,   394,     0,   395,   396,   397,   398,   399,   400,   401,
   11387             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   11388             :      412,   413,   414,   415,   416,   417,     0,     0,   418,   419,
   11389             :      420,   421,   422,     0,   423,   424,   425,     0,     0,   426,
   11390             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   11391             :      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
   11392             :      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   11393             :      457,   458,     0,   459,   460,   461,   462,     0,   463,   464,
   11394             :      465,   466,   467,   468,     0,   469,   470,   471,     0,     0,
   11395             :      472,   473,   474,     0,     0,   475,   476,   477,   478,   479,
   11396             :      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
   11397             :      490,   491,   492,   493,   494,     0,   495,   496,   497,   498,
   11398             :      499,   500,   501,   502,   503,     0,   504,   505,   506,   507,
   11399             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   11400             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   11401             :      527,   528,   529,   530,   531,   532,     0,   533,   534,   535,
   11402             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   11403             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   11404             :      555,   556,   970,   557,   558,   559,   560,   561,   562,   563,
   11405             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   11406             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   11407             :      583,   584,     0,   585,   586,     0,     0,   587,   588,   589,
   11408             :      590,   591,   592,   593,   594,     0,   595,   596,   597,     0,
   11409             :        0,   598,   599,   600,   601,   602,     0,   603,   604,   605,
   11410             :      606,   607,   608,   609,   610,   611,     0,     0,   612,   613,
   11411             :      614,   615,   616,     0,     0,   617,   618,   619,   620,   621,
   11412             :      622,   623,     0,   624,   625,   626,   627,   628,   629,     0,
   11413             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   11414             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   11415             :      647,   648,   649,   650,   967,     0,     0,     0,     0,     0,
   11416             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11417             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   11418             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   11419             :        0,   247,   248,   249,     0,   250,   251,   252,   253,   254,
   11420             :      255,   256,   257,   258,   259,   260,   261,   262,     0,   263,
   11421             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   11422             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
   11423             :      280,     0,   281,   282,   283,   284,   285,   286,   287,   288,
   11424             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   11425             :        0,   298,   299,   300,   301,     0,     0,   968,   302,     0,
   11426             :        0,   969,   303,   304,   305,   306,   307,   308,   309,   310,
   11427             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   11428             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   11429             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   11430             :      334,   335,   336,     0,   337,   338,   339,   340,   341,   342,
   11431             :      343,   344,   345,   346,     0,   347,     0,   348,   349,   350,
   11432             :      351,   352,     0,   353,     0,   354,   355,   356,     0,   357,
   11433             :      358,   359,   360,   361,     0,   362,   363,     0,   364,   365,
   11434             :      366,     0,   367,   368,   369,   370,  1177,   372,   373,   374,
   11435             :      375,   376,     0,   377,   378,   379,   380,   381,   382,   383,
   11436             :      384,     0,   385,   386,   387,   388,   389,   390,   391,   392,
   11437             :      393,     0,   394,     0,   395,   396,   397,   398,   399,   400,
   11438             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   11439             :      411,   412,   413,   414,   415,   416,   417,     0,     0,   418,
   11440             :      419,   420,   421,   422,     0,   423,   424,   425,     0,     0,
   11441             :      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   11442             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   11443             :      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
   11444             :      456,   457,   458,     0,   459,   460,   461,   462,     0,   463,
   11445             :      464,   465,   466,   467,   468,     0,   469,   470,   471,     0,
   11446             :        0,   472,   473,   474,     0,     0,   475,   476,   477,   478,
   11447             :      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
   11448             :      489,   490,   491,   492,   493,   494,     0,   495,   496,   497,
   11449             :      498,   499,   500,   501,   502,   503,     0,   504,   505,   506,
   11450             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   11451             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   11452             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   11453             :      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   11454             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   11455             :      554,   555,   556,   970,   557,   558,   559,   560,   561,   562,
   11456             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   11457             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   11458             :      582,   583,   584,     0,   585,   586,     0,     0,   587,   588,
   11459             :      589,   590,   591,   592,   593,   594,     0,   595,   596,   597,
   11460             :        0,     0,   598,   599,   600,   601,   602,     0,   603,   604,
   11461             :      605,   606,   607,   608,   609,   610,   611,     0,     0,   612,
   11462             :      613,   614,   615,   616,     0,     0,   617,   618,   619,   620,
   11463             :      621,   622,   623,     0,   624,   625,   626,   627,   628,   629,
   11464             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   11465             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   11466             :      646,   647,   648,   649,   650,   967,     0,     0,     0,     0,
   11467             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11468             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   11469             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   11470             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   11471             :      254,   255,   256,   257,   258,   259,   260,   261,   262,     0,
   11472             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   11473             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
   11474             :        0,   280,     0,   281,   282,   283,   284,   285,   286,   287,
   11475             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   11476             :      297,     0,   298,   299,   300,   301,     0,     0,   968,   302,
   11477             :        0,     0,   969,   303,   304,   305,   306,   307,   308,   309,
   11478             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   11479             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   11480             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   11481             :      333,   334,   335,   336,     0,   337,   338,   339,   340,   341,
   11482             :      342,   343,   344,   345,   346,     0,   347,     0,   348,   349,
   11483             :      350,   351,   352,     0,   353,     0,   354,   355,   356,     0,
   11484             :      357,   358,   359,   360,   361,     0,   362,   363,     0,   364,
   11485             :      365,   366,     0,   367,   368,   369,   370,  1189,   372,   373,
   11486             :      374,   375,   376,     0,   377,   378,   379,   380,   381,   382,
   11487             :      383,   384,     0,   385,   386,   387,   388,   389,   390,   391,
   11488             :      392,   393,     0,   394,     0,   395,   396,   397,   398,   399,
   11489             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   11490             :      410,   411,   412,   413,   414,   415,   416,   417,     0,     0,
   11491             :      418,   419,   420,   421,   422,     0,   423,   424,   425,     0,
   11492             :        0,   426,   427,   428,   429,  1190,   431,   432,   433,   434,
   11493             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   11494             :      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
   11495             :      455,   456,   457,   458,     0,   459,   460,   461,   462,     0,
   11496             :      463,   464,   465,   466,   467,   468,     0,   469,   470,   471,
   11497             :        0,     0,   472,   473,   474,     0,     0,   475,   476,   477,
   11498             :      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
   11499             :      488,   489,   490,   491,   492,   493,   494,     0,   495,   496,
   11500             :      497,   498,   499,   500,   501,   502,   503,     0,   504,   505,
   11501             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   11502             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   11503             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   11504             :      534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
   11505             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   11506             :      553,   554,   555,   556,   970,   557,   558,   559,   560,   561,
   11507             :      562,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   11508             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   11509             :      581,   582,   583,   584,     0,   585,   586,     0,     0,   587,
   11510             :      588,   589,   590,   591,   592,   593,   594,     0,   595,   596,
   11511             :      597,     0,     0,   598,   599,   600,   601,   602,     0,   603,
   11512             :      604,   605,   606,   607,   608,   609,   610,   611,     0,     0,
   11513             :      612,   613,   614,   615,   616,     0,     0,   617,   618,   619,
   11514             :      620,   621,   622,   623,     0,   624,   625,   626,   627,   628,
   11515             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   11516             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   11517             :      645,   646,   647,   648,   649,   650,   967,     0,     0,   717,
   11518             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11519             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   11520             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
   11521             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   11522             :      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
   11523             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   11524             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   11525             :      279,     0,   280,     0,   281,   282,   283,   284,   285,   286,
   11526             :      287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   11527             :      296,   297,     0,   298,   299,   300,   301,     0,     0,     0,
   11528             :      302,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   11529             :      309,   310,   311,  2607,   312,     0,   313,   314,   315,   316,
   11530             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   11531             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   11532             :        0,   333,   334,   335,   336,     0,   337,   338,   339,   340,
   11533             :      341,   342,   343,   344,   345,   346,     0,   347,     0,   348,
   11534             :      349,   350,   351,   352,     0,   353,     0,   354,   355,   356,
   11535             :        0,   357,   358,   359,   360,   361,     0,   362,   363,     0,
   11536             :      364,   365,   366,     0,   367,   368,   369,   370,   371,   372,
   11537             :      373,   374,   375,   376,     0,   377,   378,   379,   380,   381,
   11538             :      382,   383,   384,     0,   385,   386,   387,   388,   389,   390,
   11539             :      391,   392,   393,     0,   394,     0,   395,   396,   397,   398,
   11540             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   11541             :      409,   410,   411,   412,   413,   414,   415,   416,   417,     0,
   11542             :        0,   418,   419,   420,   421,   422,     0,   423,   424,   425,
   11543             :        0,     0,   426,   427,   428,   429,   430,   431,   432,   433,
   11544             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   11545             :      444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
   11546             :      454,   455,   456,   457,   458,     0,   459,   460,   461,   462,
   11547             :        0,   463,   464,   465,   466,   467,   468,     0,   469,   470,
   11548             :      471,     0,     0,   472,   473,   474,     0,     0,   475,   476,
   11549             :      477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
   11550             :      487,   488,   489,   490,   491,   492,   493,   494,     0,   495,
   11551             :      496,   497,   498,   499,   500,   501,   502,   503,     0,   504,
   11552             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   11553             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   11554             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   11555             :      533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
   11556             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   11557             :      552,   553,   554,   555,   556,     0,   557,   558,   559,   560,
   11558             :      561,   562,   563,   564,   565,   566,     0,   567,   568,   569,
   11559             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   11560             :      580,   581,   582,   583,   584,     0,   585,   586,     0,     0,
   11561             :      587,   588,   589,   590,   591,   592,   593,   594,     0,   595,
   11562             :      596,   597,     0,     0,   598,   599,   600,   601,   602,     0,
   11563             :      603,   604,   605,   606,   607,   608,   609,   610,   611,     0,
   11564             :        0,   612,   613,   614,   615,   616,     0,     0,   617,   618,
   11565             :      619,   620,   621,   622,   623,     0,   624,   625,   626,   627,
   11566             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   11567             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   11568             :      644,   645,   646,   647,   648,   649,   650,   967,     0,     0,
   11569             :      717,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11570             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   11571             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
   11572             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   11573             :      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
   11574             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   11575             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   11576             :      278,   279,     0,   280,     0,   281,   282,   283,   284,   285,
   11577             :      286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
   11578             :      295,   296,   297,     0,   298,   299,   300,   301,     0,     0,
   11579             :        0,   302,     0,     0,     0,   303,   304,   305,   306,   307,
   11580             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   11581             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   11582             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   11583             :      332,     0,   333,   334,   335,   336,     0,   337,   338,   339,
   11584             :      340,   341,   342,   343,   344,   345,   346,     0,   347,     0,
   11585             :      348,   349,   350,   351,   352,     0,   353,     0,   354,   355,
   11586             :      356,     0,   357,   358,   359,   360,   361,     0,   362,   363,
   11587             :        0,   364,   365,   366,     0,   367,   368,   369,   370,   371,
   11588             :      372,   373,   374,   375,   376,     0,   377,   378,   379,   380,
   11589             :      381,   382,   383,   384,     0,   385,   386,   387,   388,   389,
   11590             :      390,   391,   392,   393,     0,   394,     0,   395,   396,   397,
   11591             :      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
   11592             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   11593             :        0,     0,   418,   419,   420,   421,   422,     0,   423,   424,
   11594             :      425,     0,     0,   426,   427,   428,   429,   430,   431,   432,
   11595             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   11596             :      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
   11597             :      453,   454,   455,   456,   457,   458,     0,   459,   460,   461,
   11598             :      462,     0,   463,   464,   465,   466,   467,   468,     0,   469,
   11599             :      470,   471,     0,     0,   472,   473,   474,     0,     0,   475,
   11600             :      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
   11601             :      486,   487,   488,   489,   490,   491,   492,   493,   494,     0,
   11602             :      495,   496,   497,   498,   499,   500,   501,   502,   503,     0,
   11603             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   11604             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
   11605             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   11606             :        0,   533,   534,   535,   536,   537,   538,   539,   540,   541,
   11607             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   11608             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   559,
   11609             :      560,   561,   562,   563,   564,   565,   566,     0,   567,   568,
   11610             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   11611             :      579,   580,   581,   582,   583,   584,     0,   585,   586,     0,
   11612             :        0,   587,   588,   589,   590,   591,   592,   593,   594,     0,
   11613             :      595,   596,   597,     0,     0,   598,   599,   600,   601,   602,
   11614             :        0,   603,   604,   605,   606,   607,   608,   609,   610,   611,
   11615             :        0,     0,   612,   613,   614,   615,   616,     0,     0,   617,
   11616             :      618,   619,   620,   621,   622,   623,     0,   624,   625,   626,
   11617             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   11618             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   11619             :      643,   644,   645,   646,   647,   648,   649,   650,   234,     0,
   11620             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11621             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
   11622             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
   11623             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   11624             :      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
   11625             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   11626             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
   11627             :      277,   278,   279,     0,   280,     0,   281,   282,   283,   284,
   11628             :      285,   286,   287,   288,   289,   290,   291,     0,   292,   293,
   11629             :      294,   295,   296,   297,     0,   298,   299,   300,   301,     0,
   11630             :        0,     0,   302,     0,     0,     0,   303,   304,   305,   306,
   11631             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   11632             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   11633             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   11634             :      331,   332,     0,   333,   334,   335,   336,     0,   337,   338,
   11635             :      339,   340,   341,   342,   343,   344,   345,   346,     0,   347,
   11636             :        0,   348,   349,   350,   351,   352,     0,   353,     0,   354,
   11637             :      355,   356,     0,   357,   358,   359,   360,   361,     0,   362,
   11638             :      363,     0,   364,   365,   366,     0,   367,   368,   369,   370,
   11639             :      371,   372,   373,   374,   375,   376,     0,   377,   378,   379,
   11640             :      380,   381,   382,   383,   384,     0,   385,   386,   387,   388,
   11641             :      389,   390,   391,   392,   393,     0,   394,     0,   395,   396,
   11642             :      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
   11643             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   11644             :      417,     0,     0,   418,   419,   420,   421,   422,     0,   423,
   11645             :      424,   425,     0,     0,   426,   427,   428,   429,   430,   431,
   11646             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   11647             :      442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
   11648             :      452,   453,   454,   455,   456,   457,   458,     0,   459,   460,
   11649             :      461,   462,     0,   463,   464,   465,   466,   467,   468,     0,
   11650             :      469,   470,   471,     0,     0,   472,   473,   474,     0,     0,
   11651             :      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
   11652             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   11653             :        0,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   11654             :        0,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   11655             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
   11656             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   11657             :      532,     0,   533,   534,   535,   536,   537,   538,   539,   540,
   11658             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   11659             :      551,     0,   552,   553,   554,   555,   556,     0,   557,   558,
   11660             :      559,   560,   561,   562,   563,   564,   565,   566,     0,   567,
   11661             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   11662             :      578,   579,   580,   581,   582,   583,   584,     0,   585,   586,
   11663             :        0,     0,   587,   588,   589,   590,   591,   592,   593,   594,
   11664             :        0,   595,   596,   597,     0,     0,   598,   599,   600,   601,
   11665             :      602,     0,   603,   604,   605,   606,   607,   608,   609,   610,
   11666             :      611,     0,     0,   612,   613,   614,   615,   616,     0,     0,
   11667             :      617,   618,   619,   620,   621,   622,   623,     0,   624,   625,
   11668             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   11669             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
   11670             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   234,
   11671             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11672             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
   11673             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
   11674             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   11675             :      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
   11676             :      260,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   11677             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
   11678             :      276,   277,   278,   279,     0,   280,     0,   281,   282,   283,
   11679             :      284,   285,   286,   287,   288,   289,   290,   291,     0,   292,
   11680             :      293,   294,   295,   296,   297,     0,   298,   299,   300,   301,
   11681             :        0,     0,     0,   302,     0,     0,     0,   303,   304,   305,
   11682             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   11683             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   11684             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   11685             :      330,   331,   332,     0,   333,   334,   335,   336,     0,   337,
   11686             :      338,   339,   340,   341,   342,   343,   344,   345,   346,     0,
   11687             :      347,     0,   348,   349,   350,   351,   352,     0,   353,     0,
   11688             :      354,   355,   356,     0,   357,   358,   359,   360,   361,     0,
   11689             :      362,   363,     0,   364,   365,   366,     0,   367,   368,   369,
   11690             :      370,  1148,   372,   373,   374,   375,   376,     0,   377,   378,
   11691             :      379,   380,   381,   382,   383,   384,     0,   385,   386,   387,
   11692             :      388,   389,   390,   391,   392,   393,     0,   394,     0,   395,
   11693             :      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
   11694             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   11695             :      416,   417,     0,     0,   418,   419,   420,   421,   422,     0,
   11696             :      423,   424,   425,     0,     0,   426,   427,   428,   429,   430,
   11697             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   11698             :      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
   11699             :      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
   11700             :      460,   461,   462,     0,   463,   464,   465,   466,   467,   468,
   11701             :        0,   469,   470,   471,     0,     0,   472,   473,   474,     0,
   11702             :        0,   475,   476,   477,   478,   479,   480,   481,   482,   483,
   11703             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   11704             :      494,     0,   495,   496,   497,   498,   499,   500,   501,   502,
   11705             :      503,     0,   504,   505,   506,   507,   508,   509,   510,   511,
   11706             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   11707             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   11708             :      531,   532,     0,   533,   534,   535,   536,   537,   538,   539,
   11709             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
   11710             :      550,   551,     0,   552,   553,   554,   555,   556,     0,   557,
   11711             :      558,   559,   560,   561,   562,   563,   564,   565,   566,     0,
   11712             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   11713             :      577,   578,   579,   580,   581,   582,   583,   584,     0,   585,
   11714             :      586,     0,     0,   587,   588,   589,   590,   591,   592,   593,
   11715             :      594,     0,   595,   596,   597,     0,     0,   598,   599,   600,
   11716             :      601,   602,     0,   603,   604,   605,   606,   607,   608,   609,
   11717             :      610,   611,     0,     0,   612,   613,   614,   615,   616,     0,
   11718             :        0,   617,   618,   619,   620,   621,   622,   623,     0,   624,
   11719             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   11720             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
   11721             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   11722             :      234,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11723             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   11724             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   11725             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   11726             :        0,   250,   251,   252,   253,   254,   255,   256,   257,   258,
   11727             :      259,   260,   261,   262,     0,   263,   264,   265,   266,   267,
   11728             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
   11729             :      275,   276,   277,   278,   279,     0,   280,     0,   281,   282,
   11730             :      283,   284,   285,   286,   287,   288,   289,   290,   291,     0,
   11731             :      292,   293,   294,   295,   296,   297,     0,   298,   299,   300,
   11732             :      301,     0,     0,     0,   302,     0,     0,     0,   303,   304,
   11733             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   11734             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   11735             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
   11736             :      329,   330,   331,   332,     0,   333,   334,   335,   336,     0,
   11737             :      337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   11738             :        0,   347,     0,   348,   349,   350,   351,   352,     0,   353,
   11739             :        0,   354,   355,   356,     0,   357,   358,   359,   360,   361,
   11740             :        0,   362,   363,     0,   364,   365,   366,     0,   367,   368,
   11741             :      369,   370,  1161,   372,   373,   374,   375,   376,     0,   377,
   11742             :      378,   379,   380,   381,   382,   383,   384,     0,   385,   386,
   11743             :      387,   388,   389,   390,   391,   392,   393,     0,   394,     0,
   11744             :      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
   11745             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   11746             :      415,   416,   417,     0,     0,   418,   419,   420,   421,   422,
   11747             :        0,   423,   424,   425,     0,     0,   426,   427,   428,   429,
   11748             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   11749             :      440,   441,   442,   443,   444,   445,   446,   447,   448,   449,
   11750             :      450,   451,   452,   453,   454,   455,   456,   457,   458,     0,
   11751             :      459,   460,   461,   462,     0,   463,   464,   465,   466,   467,
   11752             :      468,     0,   469,   470,   471,     0,     0,   472,   473,   474,
   11753             :        0,     0,   475,   476,   477,   478,   479,   480,   481,   482,
   11754             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   11755             :      493,   494,     0,   495,   496,   497,   498,   499,   500,   501,
   11756             :      502,   503,     0,   504,   505,   506,   507,   508,   509,   510,
   11757             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   11758             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   11759             :      530,   531,   532,     0,   533,   534,   535,   536,   537,   538,
   11760             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
   11761             :      549,   550,   551,     0,   552,   553,   554,   555,   556,     0,
   11762             :      557,   558,   559,   560,   561,   562,   563,   564,   565,   566,
   11763             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   11764             :      576,   577,   578,   579,   580,   581,   582,   583,   584,     0,
   11765             :      585,   586,     0,     0,   587,   588,   589,   590,   591,   592,
   11766             :      593,   594,     0,   595,   596,   597,     0,     0,   598,   599,
   11767             :      600,   601,   602,     0,   603,   604,   605,   606,   607,   608,
   11768             :      609,   610,   611,     0,     0,   612,   613,   614,   615,   616,
   11769             :        0,     0,   617,   618,   619,   620,   621,   622,   623,     0,
   11770             :      624,   625,   626,   627,   628,   629,     0,     0,   630,     0,
   11771             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   11772             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   11773             :      650,   234,     0,     0,     0,     0,     0,     0,     0,     0,
   11774             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   11775             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   11776             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   11777             :      249,     0,   250,   251,   252,   253,   254,   255,   256,   257,
   11778             :      258,   259,   260,   261,   262,     0,   263,   264,   265,   266,
   11779             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
   11780             :        0,   275,   276,   277,   278,   279,     0,   280,     0,   281,
   11781             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   11782             :        0,   292,   293,   294,   295,   296,   297,     0,   298,   299,
   11783             :      300,   301,     0,     0,     0,   302,     0,     0,     0,   303,
   11784             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   11785             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   11786             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   11787             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   11788             :        0,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   11789             :      346,     0,   347,     0,   348,   349,   350,   351,   352,     0,
   11790             :      353,     0,   354,   355,   356,     0,   357,   358,   359,   360,
   11791             :      361,     0,   362,   363,     0,   364,   365,   366,     0,   367,
   11792             :      368,   369,   370,  1175,   372,   373,   374,   375,   376,     0,
   11793             :      377,   378,   379,   380,   381,   382,   383,   384,     0,   385,
   11794             :      386,   387,   388,   389,   390,   391,   392,   393,     0,   394,
   11795             :        0,   395,   396,   397,   398,   399,   400,   401,   402,   403,
   11796             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   11797             :      414,   415,   416,   417,     0,     0,   418,   419,   420,   421,
   11798             :      422,     0,   423,   424,   425,     0,     0,   426,   427,   428,
   11799             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   11800             :      439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
   11801             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   11802             :        0,   459,   460,   461,   462,     0,   463,   464,   465,   466,
   11803             :      467,   468,     0,   469,   470,   471,     0,     0,   472,   473,
   11804             :      474,     0,     0,   475,   476,   477,   478,   479,   480,   481,
   11805             :      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   11806             :      492,   493,   494,     0,   495,   496,   497,   498,   499,   500,
   11807             :      501,   502,   503,     0,   504,   505,   506,   507,   508,   509,
   11808             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   11809             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   11810             :      529,   530,   531,   532,     0,   533,   534,   535,   536,   537,
   11811             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   11812             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
   11813             :        0,   557,   558,   559,   560,   561,   562,   563,   564,   565,
   11814             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   11815             :      575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
   11816             :        0,   585,   586,     0,     0,   587,   588,   589,   590,   591,
   11817             :      592,   593,   594,     0,   595,   596,   597,     0,     0,   598,
   11818             :      599,   600,   601,   602,     0,   603,   604,   605,   606,   607,
   11819             :      608,   609,   610,   611,     0,     0,   612,   613,   614,   615,
   11820             :      616,     0,     0,   617,   618,   619,   620,   621,   622,   623,
   11821             :        0,   624,   625,   626,   627,   628,   629,     0,     0,   630,
   11822             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
   11823             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   11824             :      649,   650,   234,     0,     0,     0,     0,     0,     0,     0,
   11825             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   11826             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   11827             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   11828             :      248,   249,     0,   250,   251,   252,   253,   254,   255,   256,
   11829             :      257,   258,   259,   260,   261,   262,     0,   263,   264,   265,
   11830             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
   11831             :      274,     0,   275,   276,   277,   278,   279,     0,   280,     0,
   11832             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   11833             :      291,     0,   292,   293,   294,   295,   296,   297,     0,   298,
   11834             :      299,   300,   301,     0,     0,     0,   302,     0,     0,     0,
   11835             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   11836             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   11837             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   11838             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   11839             :      336,     0,   337,   338,   339,   340,   341,   342,   343,   344,
   11840             :      345,   346,     0,   347,     0,   348,   349,   350,   351,   352,
   11841             :        0,   353,     0,   354,   355,   356,     0,   357,   358,   359,
   11842             :      360,   361,     0,   362,   363,     0,   364,   365,   366,     0,
   11843             :      367,   368,   369,   370,  1179,   372,   373,   374,   375,   376,
   11844             :        0,   377,   378,   379,   380,   381,   382,   383,   384,     0,
   11845             :      385,   386,   387,   388,   389,   390,   391,   392,   393,     0,
   11846             :      394,     0,   395,   396,   397,   398,   399,   400,   401,   402,
   11847             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   11848             :      413,   414,   415,   416,   417,     0,     0,   418,   419,   420,
   11849             :      421,   422,     0,   423,   424,   425,     0,     0,   426,   427,
   11850             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   11851             :      438,   439,   440,   441,   442,   443,   444,   445,   446,   447,
   11852             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   11853             :      458,     0,   459,   460,   461,   462,     0,   463,   464,   465,
   11854             :      466,   467,   468,     0,   469,   470,   471,     0,     0,   472,
   11855             :      473,   474,     0,     0,   475,   476,   477,   478,   479,   480,
   11856             :      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
   11857             :      491,   492,   493,   494,     0,   495,   496,   497,   498,   499,
   11858             :      500,   501,   502,   503,     0,   504,   505,   506,   507,   508,
   11859             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   11860             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   11861             :      528,   529,   530,   531,   532,     0,   533,   534,   535,   536,
   11862             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   11863             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   11864             :      556,     0,   557,   558,   559,   560,   561,   562,   563,   564,
   11865             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   11866             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   11867             :      584,     0,   585,   586,     0,     0,   587,   588,   589,   590,
   11868             :      591,   592,   593,   594,     0,   595,   596,   597,     0,     0,
   11869             :      598,   599,   600,   601,   602,     0,   603,   604,   605,   606,
   11870             :      607,   608,   609,   610,   611,     0,     0,   612,   613,   614,
   11871             :      615,   616,     0,     0,   617,   618,   619,   620,   621,   622,
   11872             :      623,     0,   624,   625,   626,   627,   628,   629,     0,     0,
   11873             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
   11874             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   11875             :      648,   649,   650,   967,     0,     0,     0,     0,     0,     0,
   11876             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11877             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   11878             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   11879             :      247,   248,   249,     0,   250,   251,   252,   253,   254,   255,
   11880             :      256,   257,   258,   259,   260,   261,   262,     0,   263,   264,
   11881             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   11882             :      273,   274,     0,   275,   276,   277,   278,   279,     0,   280,
   11883             :        0,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   11884             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   11885             :      298,   299,   300,   301,     0,     0,     0,   302,     0,     0,
   11886             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   11887             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   11888             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   11889             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   11890             :      335,   336,     0,   337,   338,   339,   340,   341,   342,   343,
   11891             :      344,   345,   346,     0,   347,     0,   348,   349,   350,   351,
   11892             :      352,     0,   353,     0,   354,   355,   356,     0,   357,   358,
   11893             :      359,   360,   361,     0,   362,   363,     0,   364,   365,   366,
   11894             :        0,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   11895             :      376,     0,   377,   378,   379,   380,   381,   382,   383,   384,
   11896             :        0,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   11897             :        0,   394,     0,   395,   396,   397,   398,   399,   400,   401,
   11898             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   11899             :      412,   413,   414,   415,   416,   417,     0,     0,   418,   419,
   11900             :      420,   421,   422,     0,   423,   424,   425,     0,     0,   426,
   11901             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   11902             :      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
   11903             :      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   11904             :      457,   458,     0,   459,   460,   461,   462,     0,   463,   464,
   11905             :      465,   466,   467,   468,     0,   469,   470,   471,     0,     0,
   11906             :      472,   473,   474,     0,     0,   475,   476,   477,   478,   479,
   11907             :      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
   11908             :      490,   491,   492,   493,   494,     0,   495,   496,   497,   498,
   11909             :      499,   500,   501,   502,   503,     0,   504,   505,   506,   507,
   11910             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   11911             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   11912             :      527,   528,   529,   530,   531,   532,     0,   533,   534,   535,
   11913             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   11914             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   11915             :      555,   556,     0,   557,   558,   559,   560,   561,   562,   563,
   11916             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   11917             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   11918             :      583,   584,     0,   585,   586,     0,     0,   587,   588,   589,
   11919             :      590,   591,   592,   593,   594,     0,   595,   596,   597,     0,
   11920             :        0,   598,   599,   600,   601,   602,     0,   603,   604,   605,
   11921             :      606,   607,   608,   609,   610,   611,     0,     0,   612,   613,
   11922             :      614,   615,   616,     0,     0,   617,   618,   619,   620,   621,
   11923             :      622,   623,     0,   624,   625,   626,   627,   628,   629,     0,
   11924             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   11925             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   11926             :      647,   648,   649,   650,   658,     0,     0,     0,     0,     0,
   11927             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11928             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   11929             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   11930             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
   11931             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
   11932             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   11933             :      272,   273,   274,  2836,   275,   276,   277,   278,   279,     0,
   11934             :        0,  2837,   281,   282,   283,   284,   285,   286,     0,   288,
   11935             :      289,   290,   291,  2838,   292,   293,   294,   295,   296,   297,
   11936             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
   11937             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
   11938             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   11939             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   11940             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   11941             :      334,   335,   336,     0,  2839,   338,   339,   340,   341,   342,
   11942             :      343,   344,   345,   346,     0,   347,     0,   348,   349,   350,
   11943             :      351,   352,     0,   353,  2840,   354,   355,     0,     0,     0,
   11944             :      358,   359,   360,   361,     0,   362,   363,     0,   364,   365,
   11945             :      366,     0,   367,   368,   369,   370,  2841,     0,   373,   374,
   11946             :      375,   376,     0,   377,   378,   379,   380,   381,   382,   383,
   11947             :      384,     0,   385,     0,   387,   388,   389,   390,   391,   392,
   11948             :      393,     0,   394,     0,   395,     0,     0,   398,     0,   400,
   11949             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   11950             :      411,   412,   413,   414,   415,   416,   417,     0,     0,   418,
   11951             :      419,     0,   421,     0,     0,   423,   424,   425,     0,     0,
   11952             :      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   11953             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   11954             :        0,   447,   448,   449,   450,   451,   452,   453,   454,   455,
   11955             :      456,   457,   458,  2842,   459,   460,     0,   462,     0,   463,
   11956             :      464,   465,   466,   467,   468,     0,   469,   470,   471,     0,
   11957             :        0,   472,   473,   474,     0,     0,   475,   476,   477,     0,
   11958             :      479,     0,   481,   482,   483,   484,   485,   486,   487,   488,
   11959             :      489,   490,   491,   492,   493,   494,     0,   495,   496,   497,
   11960             :      498,   499,   500,   501,   502,   503,  2843,   504,   505,   506,
   11961             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   11962             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   11963             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   11964             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   11965             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   11966             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
   11967             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   11968             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   11969             :      582,   583,   584,     0,   585,   586,     0,     0,   587,     0,
   11970             :      589,   590,   591,   592,   593,   594,     0,   595,   596,   597,
   11971             :        0,     0,   598,   599,   600,   601,   602,     0,   603,   604,
   11972             :      605,   606,   607,   608,   609,   610,   611,     0,  2844,   612,
   11973             :      613,   614,   615,   616,     0,     0,   617,   618,   619,   620,
   11974             :      621,   622,   623,     0,   624,     0,   626,   627,   628,   629,
   11975             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   11976             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   11977             :      646,   647,   648,   649,   650,   658,     0,     0,     0,     0,
   11978             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11979             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   11980             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   11981             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   11982             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
   11983             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   11984             :      271,   272,   273,   274,  2836,   275,   276,   277,   278,   279,
   11985             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
   11986             :      288,   289,   290,   291,  2838,   292,   293,   294,   295,   296,
   11987             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
   11988             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   11989             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   11990             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   11991             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   11992             :      333,   334,   335,   336,     0,  2839,   338,   339,   340,   341,
   11993             :      342,   343,   344,   345,   346,     0,   347,     0,   348,   349,
   11994             :      350,   351,   352,     0,   353,  2840,   354,   355,     0,     0,
   11995             :        0,   358,   359,   360,   361,     0,   362,   363,     0,   364,
   11996             :      365,   366,     0,   367,   368,   369,   370,   371,     0,   373,
   11997             :      374,   375,   376,     0,   377,   378,   379,   380,   381,   382,
   11998             :      383,   384,     0,   385,     0,   387,   388,   389,   390,   391,
   11999             :      392,   393,     0,   394,     0,   395,     0,     0,   398,     0,
   12000             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   12001             :      410,   411,   412,   413,   414,   415,   416,   417,     0,     0,
   12002             :      418,   419,     0,   421,  3895,     0,   423,   424,   425,     0,
   12003             :        0,   426,   427,   428,   429,   430,   431,   432,   433,   434,
   12004             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   12005             :      445,     0,   447,   448,   449,   450,   451,   452,   453,   454,
   12006             :      455,   456,   457,   458,  2842,   459,   460,     0,   462,     0,
   12007             :      463,   464,   465,   466,   467,   468,     0,   469,   470,   471,
   12008             :        0,     0,   472,   473,   474,     0,     0,   475,   476,   477,
   12009             :        0,   479,     0,   481,   482,   483,   484,   485,   486,   487,
   12010             :      488,   489,   490,   491,   492,   493,   494,     0,   495,   496,
   12011             :      497,   498,   499,   500,   501,   502,   503,  2843,   504,   505,
   12012             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   12013             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   12014             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   12015             :      534,     0,   536,   537,   538,   539,   540,   541,   542,   543,
   12016             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   12017             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
   12018             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   12019             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   12020             :      581,   582,   583,   584,     0,   585,   586,     0,     0,   587,
   12021             :        0,   589,   590,   591,   592,   593,   594,     0,   595,   596,
   12022             :      597,     0,     0,   598,   599,   600,   601,   602,     0,   603,
   12023             :      604,   605,   606,   607,   608,   609,   610,   611,     0,  2844,
   12024             :      612,   613,   614,   615,   616,     0,     0,   617,   618,   619,
   12025             :      620,   621,   622,   623,     0,   624,     0,   626,   627,   628,
   12026             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   12027             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   12028             :      645,   646,   647,   648,   649,   650,   658,     0,     0,     0,
   12029             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12030             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   12031             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
   12032             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   12033             :      253,     0,   255,   256,   257,   258,   259,     0,   261,   262,
   12034             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   12035             :      270,   271,   272,   273,   274,  2836,   275,   276,   277,   278,
   12036             :      279,     0,     0,     0,   281,   282,   283,   284,   285,   286,
   12037             :        0,   288,   289,   290,   291,  2838,   292,   293,   294,   295,
   12038             :      296,   297,     0,     0,   299,   300,   301,     0,     0,     0,
   12039             :        0,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   12040             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
   12041             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   12042             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   12043             :        0,   333,   334,   335,   336,     0,  2839,   338,   339,   340,
   12044             :      341,   342,   343,   344,   345,   346,     0,   347,     0,   348,
   12045             :      349,   350,   351,   352,     0,   353,  2840,   354,   355,     0,
   12046             :        0,     0,   358,   359,   360,   361,     0,   362,   363,     0,
   12047             :      364,   365,   366,     0,   367,   368,   369,   370,   371,     0,
   12048             :      373,   374,   375,   376,     0,   377,   378,   379,   380,   381,
   12049             :      382,   383,   384,     0,   385,     0,   387,   388,   389,   390,
   12050             :      391,   392,   393,     0,   394,     0,   395,     0,     0,   398,
   12051             :        0,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   12052             :      409,   410,   411,   412,   413,   414,   415,   416,   417,     0,
   12053             :        0,   418,   419,     0,   421,     0,     0,   423,   424,   425,
   12054             :        0,     0,   426,   427,   428,   429,   430,   431,   432,   433,
   12055             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   12056             :      444,   445,     0,   447,   448,   449,   450,   451,   452,   453,
   12057             :      454,   455,   456,   457,   458,  2842,   459,   460,     0,   462,
   12058             :        0,   463,   464,   465,   466,   467,   468,     0,   469,   470,
   12059             :      471,     0,     0,   472,   473,   474,     0,     0,   475,   476,
   12060             :      477,     0,   479,     0,   481,   482,   483,   484,   485,   486,
   12061             :      487,   488,   489,   490,   491,   492,   493,   494,     0,   495,
   12062             :      496,   497,   498,   499,   500,   501,   502,   503,  2843,   504,
   12063             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   12064             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   12065             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   12066             :      533,   534,     0,   536,   537,   538,   539,   540,   541,   542,
   12067             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   12068             :      552,   553,   554,   555,   556,     0,   557,   558,   559,   560,
   12069             :      561,     0,   563,   564,   565,   566,     0,   567,   568,   569,
   12070             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   12071             :      580,   581,   582,   583,   584,     0,   585,   586,     0,     0,
   12072             :      587,     0,   589,   590,   591,   592,   593,   594,     0,   595,
   12073             :      596,   597,     0,     0,   598,   599,   600,   601,   602,     0,
   12074             :      603,   604,   605,   606,   607,   608,   609,   610,   611,     0,
   12075             :     2844,   612,   613,   614,   615,   616,     0,     0,   617,   618,
   12076             :      619,   620,   621,   622,   623,     0,   624,     0,   626,   627,
   12077             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   12078             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   12079             :      644,   645,   646,   647,   648,   649,   650,   658,     0,     0,
   12080             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12081             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   12082             :      241,   242,   243,   797,   244,   798,   246,     0,     0,     0,
   12083             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   12084             :      252,   253,     0,   255,   256,   257,   258,   259,     0,   261,
   12085             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   12086             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   12087             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
   12088             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
   12089             :      295,   296,   297,   799,     0,   299,   300,   301,     0,     0,
   12090             :        0,     0,     0,     0,     0,   303,   304,   305,   306,   307,
   12091             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   12092             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   12093             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   12094             :      332,     0,   333,   334,   335,   336,     0,   337,   338,   339,
   12095             :      340,   341,   342,   343,   344,   345,   346,     0,   347,     0,
   12096             :      348,   349,   350,   351,   352,     0,   353,     0,   354,   355,
   12097             :        0,     0,     0,   358,   359,   360,   361,   830,   362,   363,
   12098             :        0,   364,   365,   366,     0,   367,   368,   369,   370,   371,
   12099             :        0,   373,   374,   375,   376,     0,   377,   378,   379,   380,
   12100             :      381,   382,   383,   384,     0,   385,     0,   387,   388,   389,
   12101             :      390,   391,   392,   393,     0,   394,     0,   395,     0,     0,
   12102             :      398,     0,   400,   401,   402,   403,   404,   405,   406,   407,
   12103             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   12104             :        0,     0,   418,   419,     0,   421,     0,     0,   423,   424,
   12105             :      425,     0,     0,   426,   427,   428,   429,   430,   431,   432,
   12106             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   12107             :      443,   444,   445,     0,   447,   448,   449,   450,   451,   452,
   12108             :      453,   454,   455,   456,   457,   458,     0,   459,   460,     0,
   12109             :      462,     0,   463,   464,   465,   466,   467,   468,     0,   469,
   12110             :      470,   471,     0,     0,   472,   473,   474,     0,     0,   475,
   12111             :      476,   477,     0,   479,     0,   481,   482,   483,   484,   485,
   12112             :      486,   487,   488,   489,   490,   491,   492,   493,   494,     0,
   12113             :      495,   496,   497,   498,   499,   500,   501,   502,   503,     0,
   12114             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   12115             :      514,   515,   516,   517,   518,   519,   800,   520,   521,   522,
   12116             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   12117             :        0,   533,   534,     0,   536,   537,   538,   539,   540,   541,
   12118             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   12119             :      801,   552,   553,   554,   555,   556,     0,   557,   558,   559,
   12120             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
   12121             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   12122             :      579,   580,   581,   582,   583,   584,     0,   585,   586,     0,
   12123             :        0,   587,     0,   589,   590,   591,   592,   593,   594,     0,
   12124             :      595,   596,   597,     0,     0,   598,   599,   600,   601,   602,
   12125             :        0,   603,   604,   605,   606,   607,   608,   609,   610,   611,
   12126             :        0,     0,   612,   613,   614,   615,   616,     0,     0,   617,
   12127             :      618,   619,   620,   621,   622,   623,     0,   624,     0,   626,
   12128             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   12129             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   12130             :      643,   644,   645,   646,   647,   648,   649,   650,   658,     0,
   12131             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12132             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
   12133             :      240,   241,   242,   243,   797,   244,   798,   246,     0,     0,
   12134             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   12135             :      251,   252,   253,     0,   255,   256,   257,   258,   259,     0,
   12136             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   12137             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
   12138             :      277,   278,   279,     0,     0,     0,   281,   282,   283,   284,
   12139             :      285,   286,     0,   288,   289,   290,   291,     0,   292,   293,
   12140             :      294,   295,   296,   297,   799,     0,   299,   300,   301,     0,
   12141             :        0,     0,     0,     0,     0,     0,   303,   304,   305,   306,
   12142             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   12143             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   12144             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   12145             :      331,   332,     0,   333,   334,   335,   336,     0,   337,   338,
   12146             :      339,   340,   341,   342,   343,   344,   345,   346,     0,   347,
   12147             :        0,   348,   349,   350,   351,   352,     0,   353,     0,   354,
   12148             :      355,     0,     0,     0,   358,   359,   360,   361,  3574,   362,
   12149             :      363,     0,   364,   365,   366,     0,   367,   368,   369,   370,
   12150             :      371,     0,   373,   374,   375,   376,     0,   377,   378,   379,
   12151             :      380,   381,   382,   383,   384,     0,   385,     0,   387,   388,
   12152             :      389,   390,   391,   392,   393,     0,   394,     0,   395,     0,
   12153             :        0,   398,     0,   400,   401,   402,   403,   404,   405,   406,
   12154             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   12155             :      417,     0,     0,   418,   419,     0,   421,     0,     0,   423,
   12156             :      424,   425,     0,     0,   426,   427,   428,   429,   430,   431,
   12157             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   12158             :      442,   443,   444,   445,     0,   447,   448,   449,   450,   451,
   12159             :      452,   453,   454,   455,   456,   457,   458,     0,   459,   460,
   12160             :        0,   462,     0,   463,   464,   465,   466,   467,   468,     0,
   12161             :      469,   470,   471,     0,     0,   472,   473,   474,     0,     0,
   12162             :      475,   476,   477,     0,   479,     0,   481,   482,   483,   484,
   12163             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   12164             :        0,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   12165             :        0,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   12166             :      513,   514,   515,   516,   517,   518,   519,   800,   520,   521,
   12167             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   12168             :      532,     0,   533,   534,     0,   536,   537,   538,   539,   540,
   12169             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   12170             :      551,   801,   552,   553,   554,   555,   556,     0,   557,   558,
   12171             :      559,   560,   561,     0,   563,   564,   565,   566,     0,   567,
   12172             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   12173             :      578,   579,   580,   581,   582,   583,   584,     0,   585,   586,
   12174             :        0,     0,   587,     0,   589,   590,   591,   592,   593,   594,
   12175             :        0,   595,   596,   597,     0,     0,   598,   599,   600,   601,
   12176             :      602,     0,   603,   604,   605,   606,   607,   608,   609,   610,
   12177             :      611,     0,     0,   612,   613,   614,   615,   616,     0,     0,
   12178             :      617,   618,   619,   620,   621,   622,   623,     0,   624,     0,
   12179             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   12180             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
   12181             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   658,
   12182             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12183             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
   12184             :      239,   240,   241,   242,   243,   797,   244,   798,   246,     0,
   12185             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   12186             :      250,   251,   252,   253,     0,   255,   256,   257,   258,   259,
   12187             :        0,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   12188             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
   12189             :      276,   277,   278,   279,     0,     0,     0,   281,   282,   283,
   12190             :      284,   285,   286,     0,   288,   289,   290,   291,     0,   292,
   12191             :      293,   294,   295,   296,   297,   799,     0,   299,   300,   301,
   12192             :        0,     0,     0,     0,     0,     0,     0,   303,   304,   305,
   12193             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   12194             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   12195             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   12196             :      330,   331,   332,     0,   333,   334,   335,   336,     0,   337,
   12197             :      338,   339,   340,   341,   342,   343,   344,   345,   346,     0,
   12198             :      347,     0,   348,   349,   350,   351,   352,     0,   353,     0,
   12199             :      354,   355,     0,     0,     0,   358,   359,   360,   361,     0,
   12200             :      362,   363,     0,   364,   365,   366,     0,   367,   368,   369,
   12201             :      370,   371,     0,   373,   374,   375,   376,     0,   377,   378,
   12202             :      379,   380,   381,   382,   383,   384,     0,   385,     0,   387,
   12203             :      388,   389,   390,   391,   392,   393,     0,   394,     0,   395,
   12204             :        0,     0,   398,     0,   400,   401,   402,   403,   404,   405,
   12205             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   12206             :      416,   417,     0,     0,   418,   419,     0,   421,     0,     0,
   12207             :      423,   424,   425,     0,     0,   426,   427,   428,   429,   430,
   12208             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   12209             :      441,   442,   443,   444,   445,     0,   447,   448,   449,   450,
   12210             :      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
   12211             :      460,     0,   462,     0,   463,   464,   465,   466,   467,   468,
   12212             :        0,   469,   470,   471,     0,     0,   472,   473,   474,     0,
   12213             :        0,   475,   476,   477,     0,   479,     0,   481,   482,   483,
   12214             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   12215             :      494,     0,   495,   496,   497,   498,   499,   500,   501,   502,
   12216             :      503,     0,   504,   505,   506,   507,   508,   509,   510,   511,
   12217             :      512,   513,   514,   515,   516,   517,   518,   519,   800,   520,
   12218             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   12219             :      531,   532,     0,   533,   534,     0,   536,   537,   538,   539,
   12220             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
   12221             :      550,   551,   801,   552,   553,   554,   555,   556,     0,   557,
   12222             :      558,   559,   560,   561,     0,   563,   564,   565,   566,     0,
   12223             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   12224             :      577,   578,   579,   580,   581,   582,   583,   584,     0,   585,
   12225             :      586,     0,     0,   587,     0,   589,   590,   591,   592,   593,
   12226             :      594,     0,   595,   596,   597,     0,     0,   598,   599,   600,
   12227             :      601,   602,     0,   603,   604,   605,   606,   607,   608,   609,
   12228             :      610,   611,     0,     0,   612,   613,   614,   615,   616,     0,
   12229             :        0,   617,   618,   619,   620,   621,   622,   623,     0,   624,
   12230             :        0,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   12231             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
   12232             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   12233             :      658,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12234             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   12235             :      238,   239,   240,   241,   242,   243,  3081,   244,   245,   246,
   12236             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   12237             :        0,   250,   251,   252,   253,     0,   255,   256,   257,   258,
   12238             :      259,     0,   261,   262,     0,   263,   264,   265,   266,   267,
   12239             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
   12240             :      275,   276,   277,   278,   279,     0,     0,     0,   281,   282,
   12241             :      283,   284,   285,   286,     0,   288,   289,   290,   291,     0,
   12242             :      292,   293,   294,   295,   296,   297,     0,     0,   299,   300,
   12243             :      301,     0,     0,     0,  2909,     0,     0,     0,   303,   304,
   12244             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   12245             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   12246             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
   12247             :      329,   330,   331,   332,     0,   333,   334,   335,   336,     0,
   12248             :      337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   12249             :        0,   347,     0,   348,   349,   350,   351,   352,     0,   353,
   12250             :        0,   354,   355,     0,     0,     0,   358,   359,   360,   361,
   12251             :        0,   362,   363,     0,   364,   365,   366,     0,   367,   368,
   12252             :      369,   370,   371,     0,   373,   374,   375,   376,     0,   377,
   12253             :      378,   379,   380,   381,   382,   383,   384,     0,   385,     0,
   12254             :      387,   388,   389,   390,   391,   392,   393,     0,   394,     0,
   12255             :      395,     0,     0,   398,     0,   400,   401,   402,   403,   404,
   12256             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   12257             :      415,   416,   417,     0,     0,   418,   419,     0,   421,     0,
   12258             :        0,   423,   424,   425,     0,     0,   426,   427,   428,   429,
   12259             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   12260             :      440,   441,   442,   443,   444,   445,     0,   447,   448,   449,
   12261             :      450,   451,   452,   453,   454,   455,   456,   457,   458,     0,
   12262             :      459,   460,     0,   462,     0,   463,   464,   465,   466,   467,
   12263             :      468,     0,   469,   470,   471,     0,   862,   472,   473,   474,
   12264             :        0,     0,   475,   476,   477,     0,   479,     0,   481,   482,
   12265             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   12266             :      493,   494,     0,   495,   496,   497,   498,   499,   500,   501,
   12267             :      502,   503,     0,   504,   505,   506,   507,   508,   509,   510,
   12268             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   12269             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   12270             :      530,   531,   532,     0,   533,   534,     0,   536,   537,   538,
   12271             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
   12272             :      549,   550,   551,     0,   552,   553,   554,   555,   556,     0,
   12273             :      557,   558,   559,   560,   561,     0,   563,   564,   565,   566,
   12274             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   12275             :      576,   577,   578,   579,   580,   581,   582,   583,   584,     0,
   12276             :      585,   586,     0,  2910,  2911,     0,   589,   590,   591,   592,
   12277             :      593,   594,     0,   595,   596,   597,     0,     0,   598,   599,
   12278             :      600,   601,   602,     0,   603,   604,   605,   606,   607,   608,
   12279             :      609,   610,   611,     0,     0,   612,   613,   614,   615,   616,
   12280             :        0,     0,   617,   618,   619,   620,   621,   622,   623,     0,
   12281             :      624,     0,   626,   627,   628,   629,     0,     0,   630,     0,
   12282             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   12283             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   12284             :      650,   658,     0,     0,     0,     0,     0,     0,     0,     0,
   12285             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   12286             :      237,   238,   239,   240,   241,   242,   243,  2007,   244,   245,
   12287             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   12288             :      249,     0,   250,   251,   252,   253,     0,   255,   256,   257,
   12289             :      258,   259,     0,   261,   262,     0,   263,   264,   265,   266,
   12290             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
   12291             :        0,   275,   276,   277,   278,   279,     0,     0,     0,   281,
   12292             :      282,   283,   284,   285,   286,     0,   288,   289,   290,   291,
   12293             :        0,   292,   293,   294,   295,   296,   297,     0,     0,   299,
   12294             :      300,   301,     0,     0,     0,     0,     0,     0,     0,   303,
   12295             :      304,   305,  2008,   307,   308,   309,   310,   311,     0,   312,
   12296             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   12297             :      321,   322,   323,     0,     0,   324,  2009,   326,   327,   328,
   12298             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   12299             :        0,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   12300             :      346,     0,   347,     0,   348,   349,   350,   351,   352,     0,
   12301             :      353,  2010,   354,   355,     0,     0,     0,  2011,   359,   360,
   12302             :      361,     0,   362,   363,     0,   364,   365,   366,     0,   367,
   12303             :      368,   369,   370,   371,     0,   373,   374,   375,   376,     0,
   12304             :      377,   378,   379,   380,   381,   382,   383,   384,     0,   385,
   12305             :        0,   387,   388,   389,   390,   391,   392,   393,     0,   394,
   12306             :        0,   395,     0,     0,   398,     0,   400,   401,   402,   403,
   12307             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   12308             :      414,  2012,  2013,   417,     0,     0,   418,   419,     0,   421,
   12309             :        0,     0,   423,   424,   425,     0,     0,   426,   427,   428,
   12310             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   12311             :      439,   440,   441,   442,   443,   444,   445,     0,   447,   448,
   12312             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   12313             :        0,   459,   460,     0,   462,     0,   463,   464,   465,   466,
   12314             :      467,   468,     0,   469,   470,   471,     0,     0,   472,   473,
   12315             :      474,     0,     0,   475,   476,   477,     0,   479,     0,   481,
   12316             :      482,   483,   484,   485,  2014,   487,   488,   489,   490,   491,
   12317             :      492,   493,   494,     0,   495,   496,   497,   498,   499,   500,
   12318             :      501,   502,   503,     0,   504,   505,   506,  2015,   508,   509,
   12319             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   12320             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   12321             :      529,   530,   531,   532,     0,   533,   534,     0,   536,   537,
   12322             :      538,  2016,   540,   541,   542,   543,   544,   545,  2017,   547,
   12323             :      548,   549,   550,   551,     0,  2018,   553,   554,   555,   556,
   12324             :        0,   557,   558,   559,   560,   561,     0,   563,   564,   565,
   12325             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   12326             :      575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
   12327             :        0,   585,   586,     0,  2019,   587,     0,  2020,   590,   591,
   12328             :      592,   593,   594,     0,   595,   596,   597,     0,     0,   598,
   12329             :      599,   600,   601,   602,     0,   603,   604,  2021,   606,   607,
   12330             :      608,   609,   610,   611,     0,     0,   612,   613,   614,   615,
   12331             :      616,     0,     0,   617,   618,   619,   620,   621,   622,   623,
   12332             :        0,   624,     0,   626,   627,   628,   629,     0,     0,   630,
   12333             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
   12334             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   12335             :      649,   650,   658,     0,     0,     0,     0,     0,     0,     0,
   12336             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   12337             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   12338             :      798,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   12339             :      248,   249,     0,   250,   251,   252,   253,     0,   255,   256,
   12340             :      257,   258,   259,     0,   261,   262,     0,   263,   264,   265,
   12341             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
   12342             :      274,     0,   275,   276,   277,   278,   279,     0,     0,     0,
   12343             :      281,   282,   283,   284,   285,   286,     0,   288,   289,   290,
   12344             :      291,     0,   292,   293,   294,   295,   296,   297,   799,     0,
   12345             :      299,   300,   301,     0,     0,     0,     0,     0,     0,     0,
   12346             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   12347             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   12348             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   12349             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   12350             :      336,     0,   337,   338,   339,   340,   341,   342,   343,   344,
   12351             :      345,   346,     0,   347,     0,   348,   349,   350,   351,   352,
   12352             :        0,   353,     0,   354,   355,     0,     0,     0,   358,   359,
   12353             :      360,   361,     0,   362,   363,     0,   364,   365,   366,     0,
   12354             :      367,   368,   369,   370,   371,     0,   373,   374,   375,   376,
   12355             :        0,   377,   378,   379,   380,   381,   382,   383,   384,     0,
   12356             :      385,     0,   387,   388,   389,   390,   391,   392,   393,     0,
   12357             :      394,     0,   395,     0,     0,   398,     0,   400,   401,   402,
   12358             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   12359             :      413,   414,   415,   416,   417,     0,     0,   418,   419,     0,
   12360             :      421,     0,     0,   423,   424,   425,     0,     0,   426,   427,
   12361             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   12362             :      438,   439,   440,   441,   442,   443,   444,   445,     0,   447,
   12363             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   12364             :      458,     0,   459,   460,     0,   462,     0,   463,   464,   465,
   12365             :      466,   467,   468,     0,   469,   470,   471,     0,     0,   472,
   12366             :      473,   474,     0,     0,   475,   476,   477,     0,   479,     0,
   12367             :      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
   12368             :      491,   492,   493,   494,     0,   495,   496,   497,   498,   499,
   12369             :      500,   501,   502,   503,     0,   504,   505,   506,   507,   508,
   12370             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   12371             :      519,   800,   520,   521,   522,   523,   524,   525,   526,   527,
   12372             :      528,   529,   530,   531,   532,     0,   533,   534,     0,   536,
   12373             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   12374             :      547,   548,   549,   550,   551,   801,   552,   553,   554,   555,
   12375             :      556,     0,   557,   558,   559,   560,   561,     0,   563,   564,
   12376             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   12377             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   12378             :      584,     0,   585,   586,     0,     0,   587,     0,   589,   590,
   12379             :      591,   592,   593,   594,     0,   595,   596,   597,     0,     0,
   12380             :      598,   599,   600,   601,   602,     0,   603,   604,   605,   606,
   12381             :      607,   608,   609,   610,   611,     0,     0,   612,   613,   614,
   12382             :      615,   616,     0,     0,   617,   618,   619,   620,   621,   622,
   12383             :      623,     0,   624,     0,   626,   627,   628,   629,     0,     0,
   12384             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
   12385             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   12386             :      648,   649,   650,   658,     0,     0,     0,     0,     0,     0,
   12387             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12388             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   12389             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   12390             :      247,   248,   249,     0,   250,   251,   252,   253,     0,   255,
   12391             :      256,   257,   258,   259,     0,   261,   262,     0,   263,   264,
   12392             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   12393             :      273,   274,     0,   275,   276,   277,   278,   279,     0,     0,
   12394             :        0,   281,   282,   283,   284,   285,   286,     0,   288,   289,
   12395             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   12396             :        0,   299,   300,   301,     0,     0,     0,  2909,     0,     0,
   12397             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   12398             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   12399             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   12400             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   12401             :      335,   336,     0,   337,   338,   339,   340,   341,   342,   343,
   12402             :      344,   345,   346,     0,   347,     0,   348,   349,   350,   351,
   12403             :      352,     0,   353,     0,   354,   355,     0,     0,     0,   358,
   12404             :      359,   360,   361,     0,   362,   363,     0,   364,   365,   366,
   12405             :        0,   367,   368,   369,   370,   371,     0,   373,   374,   375,
   12406             :      376,     0,   377,   378,   379,   380,   381,   382,   383,   384,
   12407             :        0,   385,     0,   387,   388,   389,   390,   391,   392,   393,
   12408             :        0,   394,     0,   395,     0,     0,   398,     0,   400,   401,
   12409             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   12410             :      412,   413,   414,   415,   416,   417,     0,     0,   418,   419,
   12411             :        0,   421,     0,     0,   423,   424,   425,     0,     0,   426,
   12412             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   12413             :      437,   438,   439,   440,   441,   442,   443,   444,   445,     0,
   12414             :      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   12415             :      457,   458,     0,   459,   460,     0,   462,     0,   463,   464,
   12416             :      465,   466,   467,   468,     0,   469,   470,   471,     0,   862,
   12417             :      472,   473,   474,     0,     0,   475,   476,   477,     0,   479,
   12418             :        0,   481,   482,   483,   484,   485,   486,   487,   488,   489,
   12419             :      490,   491,   492,   493,   494,     0,   495,   496,   497,   498,
   12420             :      499,   500,   501,   502,   503,     0,   504,   505,   506,   507,
   12421             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   12422             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   12423             :      527,   528,   529,   530,   531,   532,     0,   533,   534,     0,
   12424             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   12425             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   12426             :      555,   556,     0,   557,   558,   559,   560,   561,     0,   563,
   12427             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   12428             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   12429             :      583,   584,     0,   585,   586,     0,  2910,  2911,     0,   589,
   12430             :      590,   591,   592,   593,   594,     0,   595,   596,   597,     0,
   12431             :        0,   598,   599,   600,   601,   602,     0,   603,   604,   605,
   12432             :      606,   607,   608,   609,   610,   611,     0,     0,   612,   613,
   12433             :      614,   615,   616,     0,     0,   617,   618,   619,   620,   621,
   12434             :      622,   623,     0,   624,     0,   626,   627,   628,   629,     0,
   12435             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   12436             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   12437             :      647,   648,   649,   650,   658,     0,     0,     0,     0,     0,
   12438             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12439             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   12440             :     1020,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   12441             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
   12442             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
   12443             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   12444             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
   12445             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
   12446             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   12447             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
   12448             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
   12449             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   12450             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   12451             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   12452             :      334,   335,   336,     0,   337,   338,   339,   340,   341,   342,
   12453             :      343,   344,   345,   346,     0,   347,     0,   348,   349,   350,
   12454             :      351,   352,     0,   353,     0,   354,   355,     0,     0,     0,
   12455             :      358,   359,   360,   361,     0,   362,   363,     0,   364,   365,
   12456             :      366,     0,   367,   368,   369,   370,  1021,     0,   373,   374,
   12457             :      375,   376,     0,   377,   378,   379,   380,   381,   382,   383,
   12458             :      384,     0,   385,     0,   387,   388,   389,   390,   391,   392,
   12459             :      393,     0,   394,     0,   395,     0,     0,   398,     0,   400,
   12460             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   12461             :      411,   412,   413,   414,   415,   416,   417,     0,     0,   418,
   12462             :      419,     0,   421,     0,     0,   423,   424,   425,     0,     0,
   12463             :      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   12464             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   12465             :        0,   447,   448,   449,   450,   451,   452,   453,   454,   455,
   12466             :      456,   457,   458,     0,   459,   460,     0,   462,     0,   463,
   12467             :      464,   465,   466,   467,   468,     0,   469,   470,   471,     0,
   12468             :      862,   472,   473,   474,     0,     0,   475,   476,   477,     0,
   12469             :      479,     0,   481,   482,   483,   484,   485,   486,   487,   488,
   12470             :      489,   490,   491,   492,   493,   494,     0,   495,   496,   497,
   12471             :      498,   499,   500,   501,   502,   503,     0,   504,   505,   506,
   12472             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   12473             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   12474             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   12475             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   12476             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   12477             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
   12478             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   12479             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   12480             :      582,   583,   584,     0,   585,   586,     0,     0,   587,     0,
   12481             :      589,   590,   591,   592,   593,   594,     0,   595,   596,   597,
   12482             :        0,     0,   598,   599,   600,   601,   602,     0,   603,   604,
   12483             :      605,   606,   607,   608,   609,   610,   611,     0,     0,   612,
   12484             :      613,   614,   615,   616,     0,     0,   617,   618,   619,   620,
   12485             :      621,   622,   623,     0,   624,     0,   626,   627,   628,   629,
   12486             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   12487             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   12488             :      646,   647,   648,   649,   650,   658,     0,     0,     0,     0,
   12489             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12490             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   12491             :      243,  3657,   244,   245,   246,     0,     0,     0,     0,     0,
   12492             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   12493             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
   12494             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   12495             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
   12496             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
   12497             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   12498             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
   12499             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   12500             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   12501             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   12502             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   12503             :      333,   334,   335,   336,     0,   337,   338,   339,   340,   341,
   12504             :      342,   343,   344,   345,   346,     0,   347,     0,   348,   349,
   12505             :      350,   351,   352,     0,   353,     0,   354,   355,     0,     0,
   12506             :        0,   358,   359,   360,   361,     0,   362,   363,     0,   364,
   12507             :      365,   366,     0,   367,   368,   369,   370,   371,     0,   373,
   12508             :      374,   375,   376,     0,   377,   378,   379,   380,   381,   382,
   12509             :      383,   384,     0,   385,     0,   387,   388,   389,   390,   391,
   12510             :      392,   393,     0,   394,     0,   395,     0,     0,   398,     0,
   12511             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   12512             :      410,   411,   412,   413,   414,   415,   416,   417,     0,     0,
   12513             :      418,   419,     0,   421,     0,     0,   423,   424,   425,     0,
   12514             :        0,   426,   427,   428,   429,   430,   431,   432,   433,   434,
   12515             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   12516             :      445,     0,   447,   448,   449,   450,   451,   452,   453,   454,
   12517             :      455,   456,   457,   458,     0,   459,   460,     0,   462,     0,
   12518             :      463,   464,   465,   466,   467,   468,     0,   469,   470,   471,
   12519             :        0,     0,   472,   473,   474,     0,     0,   475,   476,   477,
   12520             :        0,   479,     0,   481,   482,   483,   484,   485,   486,   487,
   12521             :      488,   489,   490,   491,   492,   493,   494,     0,   495,   496,
   12522             :      497,   498,   499,   500,   501,   502,   503,     0,   504,   505,
   12523             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   12524             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   12525             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   12526             :      534,     0,   536,   537,   538,   539,   540,   541,   542,   543,
   12527             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   12528             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
   12529             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   12530             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   12531             :      581,   582,   583,   584,     0,   585,   586,     0,     0,   587,
   12532             :        0,   589,   590,   591,   592,   593,   594,     0,   595,   596,
   12533             :      597,     0,     0,   598,   599,   600,   601,   602,     0,   603,
   12534             :      604,   605,   606,   607,   608,   609,   610,   611,     0,     0,
   12535             :      612,   613,   614,   615,   616,  3658,     0,   617,   618,   619,
   12536             :      620,   621,   622,   623,     0,   624,     0,   626,   627,   628,
   12537             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   12538             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   12539             :      645,   646,   647,   648,   649,   650,   658,     0,     0,     0,
   12540             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12541             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   12542             :      242,   243,  3670,   244,   245,   246,     0,     0,     0,     0,
   12543             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   12544             :      253,     0,   255,   256,   257,   258,   259,     0,   261,   262,
   12545             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   12546             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   12547             :      279,     0,     0,     0,   281,   282,   283,   284,   285,   286,
   12548             :        0,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   12549             :      296,   297,     0,     0,   299,   300,   301,     0,     0,     0,
   12550             :        0,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   12551             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
   12552             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   12553             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   12554             :        0,   333,   334,   335,   336,     0,   337,   338,   339,   340,
   12555             :      341,   342,   343,   344,   345,   346,     0,   347,     0,   348,
   12556             :      349,   350,   351,   352,     0,   353,     0,   354,   355,     0,
   12557             :        0,     0,   358,   359,   360,   361,     0,   362,   363,     0,
   12558             :      364,   365,   366,     0,   367,   368,   369,   370,   371,     0,
   12559             :      373,   374,   375,   376,     0,   377,   378,   379,   380,   381,
   12560             :      382,   383,   384,     0,   385,     0,   387,   388,   389,   390,
   12561             :      391,   392,   393,     0,   394,     0,   395,     0,     0,   398,
   12562             :        0,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   12563             :      409,   410,   411,   412,   413,   414,   415,   416,   417,     0,
   12564             :        0,   418,   419,     0,   421,     0,     0,   423,   424,   425,
   12565             :        0,     0,   426,   427,   428,   429,   430,   431,   432,   433,
   12566             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   12567             :      444,   445,     0,   447,   448,   449,   450,   451,   452,   453,
   12568             :      454,   455,   456,   457,   458,     0,   459,   460,     0,   462,
   12569             :        0,   463,   464,   465,   466,   467,   468,     0,   469,   470,
   12570             :      471,     0,     0,   472,   473,   474,     0,     0,   475,   476,
   12571             :      477,     0,   479,     0,   481,   482,   483,   484,   485,   486,
   12572             :      487,   488,   489,   490,   491,   492,   493,   494,     0,   495,
   12573             :      496,   497,   498,   499,   500,   501,   502,   503,     0,   504,
   12574             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   12575             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   12576             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   12577             :      533,   534,     0,   536,   537,   538,   539,   540,   541,   542,
   12578             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   12579             :      552,   553,   554,   555,   556,     0,   557,   558,   559,   560,
   12580             :      561,     0,   563,   564,   565,   566,     0,   567,   568,   569,
   12581             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   12582             :      580,   581,   582,   583,   584,     0,   585,   586,     0,     0,
   12583             :      587,     0,   589,   590,   591,   592,   593,   594,     0,   595,
   12584             :      596,   597,     0,     0,   598,   599,   600,   601,   602,     0,
   12585             :      603,   604,   605,   606,   607,   608,   609,   610,   611,     0,
   12586             :        0,   612,   613,   614,   615,   616,  3671,     0,   617,   618,
   12587             :      619,   620,   621,   622,   623,     0,   624,     0,   626,   627,
   12588             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   12589             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   12590             :      644,   645,   646,   647,   648,   649,   650,   658,     0,     0,
   12591             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12592             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   12593             :      241,   242,   243,   659,   244,   245,   246,     0,     0,     0,
   12594             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   12595             :      252,   253,     0,   255,   256,   257,   258,   259,     0,   261,
   12596             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   12597             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   12598             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
   12599             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
   12600             :      295,   296,   297,     0,     0,   299,   300,   301,     0,     0,
   12601             :        0,     0,     0,     0,     0,   303,   304,   305,   306,   307,
   12602             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   12603             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   12604             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   12605             :      332,     0,   333,   334,   335,   336,     0,   337,   338,   339,
   12606             :      340,   341,   342,   343,   344,   345,   346,     0,   347,     0,
   12607             :      348,   349,   350,   351,   352,     0,   353,     0,   354,   355,
   12608             :        0,     0,     0,   358,   359,   360,   361,     0,   362,   363,
   12609             :        0,   364,   365,   366,     0,   367,   368,   369,   370,   371,
   12610             :        0,   373,   374,   375,   376,     0,   377,   378,   379,   380,
   12611             :      381,   382,   383,   384,     0,   385,     0,   387,   388,   389,
   12612             :      390,   391,   392,   393,     0,   394,     0,   395,     0,     0,
   12613             :      398,     0,   400,   401,   402,   403,   404,   405,   406,   407,
   12614             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   12615             :        0,     0,   418,   419,     0,   421,     0,     0,   423,   424,
   12616             :      425,     0,     0,   426,   427,   428,   429,   430,   431,   432,
   12617             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   12618             :      443,   444,   445,     0,   447,   448,   449,   450,   451,   452,
   12619             :      453,   454,   455,   456,   457,   458,     0,   459,   460,     0,
   12620             :      462,     0,   463,   464,   465,   466,   467,   468,     0,   469,
   12621             :      470,   471,     0,     0,   472,   473,   474,     0,     0,   475,
   12622             :      476,   477,     0,   479,     0,   481,   482,   483,   484,   485,
   12623             :      486,   487,   488,   489,   490,   491,   492,   493,   494,     0,
   12624             :      495,   496,   497,   498,   499,   500,   501,   502,   503,     0,
   12625             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   12626             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
   12627             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   12628             :        0,   533,   534,     0,   536,   537,   538,   539,   540,   541,
   12629             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   12630             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   559,
   12631             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
   12632             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   12633             :      579,   580,   581,   582,   583,   584,     0,   585,   586,     0,
   12634             :        0,   587,     0,   589,   590,   591,   592,   593,   594,     0,
   12635             :      595,   596,   597,     0,     0,   598,   599,   600,   601,   602,
   12636             :        0,   603,   604,   605,   606,   607,   608,   609,   610,   611,
   12637             :        0,     0,   612,   613,   614,   615,   616,     0,     0,   617,
   12638             :      618,   619,   620,   621,   622,   623,     0,   624,     0,   626,
   12639             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   12640             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   12641             :      643,   644,   645,   646,   647,   648,   649,   650,   658,     0,
   12642             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12643             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
   12644             :      240,   241,   242,   243,   708,   244,   245,   246,     0,     0,
   12645             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   12646             :      251,   252,   253,     0,   255,   256,   257,   258,   259,     0,
   12647             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   12648             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
   12649             :      277,   278,   279,     0,     0,     0,   281,   282,   283,   284,
   12650             :      285,   286,     0,   288,   289,   290,   291,     0,   292,   293,
   12651             :      294,   295,   296,   297,     0,     0,   299,   300,   301,     0,
   12652             :        0,     0,     0,     0,     0,     0,   303,   304,   305,   306,
   12653             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   12654             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   12655             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   12656             :      331,   332,     0,   333,   334,   335,   336,     0,   337,   338,
   12657             :      339,   340,   341,   342,   343,   344,   345,   346,     0,   347,
   12658             :        0,   348,   349,   350,   351,   352,     0,   353,     0,   354,
   12659             :      355,     0,     0,     0,   358,   359,   360,   361,     0,   362,
   12660             :      363,     0,   364,   365,   366,     0,   367,   368,   369,   370,
   12661             :      371,     0,   373,   374,   375,   376,     0,   377,   378,   379,
   12662             :      380,   381,   382,   383,   384,     0,   385,     0,   387,   388,
   12663             :      389,   390,   391,   392,   393,     0,   394,     0,   395,     0,
   12664             :        0,   398,     0,   400,   401,   402,   403,   404,   405,   406,
   12665             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   12666             :      417,     0,     0,   418,   419,     0,   421,     0,     0,   423,
   12667             :      424,   425,     0,     0,   426,   427,   428,   429,   430,   431,
   12668             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   12669             :      442,   443,   444,   445,     0,   447,   448,   449,   450,   451,
   12670             :      452,   453,   454,   455,   456,   457,   458,     0,   459,   460,
   12671             :        0,   462,     0,   463,   464,   465,   466,   467,   468,     0,
   12672             :      469,   470,   471,     0,     0,   472,   473,   474,     0,     0,
   12673             :      475,   476,   477,     0,   479,     0,   481,   482,   483,   484,
   12674             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   12675             :        0,   495,   496,   497,   498,   499,   500,   501,   709,   503,
   12676             :        0,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   12677             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
   12678             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   12679             :      532,     0,   533,   534,     0,   536,   537,   538,   539,   540,
   12680             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   12681             :      551,     0,   552,   553,   554,   555,   556,     0,   557,   558,
   12682             :      559,   560,   561,     0,   563,   564,   565,   566,     0,   567,
   12683             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   12684             :      578,   579,   580,   581,   582,   583,   584,     0,   585,   586,
   12685             :        0,     0,   587,     0,   589,   590,   591,   592,   593,   594,
   12686             :        0,   595,   596,   597,     0,     0,   598,   599,   600,   601,
   12687             :      602,     0,   603,   604,   605,   606,   607,   608,   609,   610,
   12688             :      611,     0,     0,   612,   613,   614,   615,   616,     0,     0,
   12689             :      617,   618,   619,   620,   621,   622,   623,     0,   624,     0,
   12690             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   12691             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
   12692             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   658,
   12693             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12694             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
   12695             :      239,   240,   241,   242,   243,   822,   244,   245,   246,     0,
   12696             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   12697             :      250,   251,   252,   253,     0,   255,   256,   257,   258,   259,
   12698             :        0,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   12699             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
   12700             :      276,   277,   278,   279,     0,     0,     0,   281,   282,   283,
   12701             :      284,   285,   286,     0,   288,   289,   290,   291,     0,   292,
   12702             :      293,   294,   295,   296,   297,     0,     0,   299,   300,   301,
   12703             :        0,     0,     0,     0,     0,     0,     0,   303,   304,   305,
   12704             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   12705             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   12706             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   12707             :      330,   331,   332,     0,   333,   334,   335,   336,     0,   337,
   12708             :      338,   339,   340,   341,   342,   343,   344,   345,   346,     0,
   12709             :      347,     0,   348,   349,   350,   351,   352,     0,   353,     0,
   12710             :      354,   355,     0,     0,     0,   358,   359,   360,   361,     0,
   12711             :      362,   363,     0,   364,   365,   366,     0,   367,   368,   369,
   12712             :      370,   371,     0,   373,   374,   375,   376,     0,   377,   378,
   12713             :      379,   380,   381,   382,   383,   384,     0,   385,     0,   387,
   12714             :      388,   389,   390,   391,   392,   393,     0,   394,     0,   395,
   12715             :        0,     0,   398,     0,   400,   401,   402,   403,   404,   405,
   12716             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   12717             :      416,   417,     0,     0,   418,   419,     0,   421,     0,     0,
   12718             :      423,   424,   425,     0,     0,   426,   427,   428,   429,   430,
   12719             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   12720             :      441,   442,   443,   444,   445,     0,   447,   448,   449,   450,
   12721             :      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
   12722             :      460,     0,   462,     0,   463,   464,   465,   466,   467,   468,
   12723             :        0,   469,   470,   471,     0,     0,   472,   473,   474,     0,
   12724             :        0,   475,   476,   477,     0,   479,     0,   481,   482,   483,
   12725             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   12726             :      494,     0,   495,   496,   497,   498,   499,   500,   501,   502,
   12727             :      503,     0,   504,   505,   506,   507,   508,   509,   510,   511,
   12728             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   12729             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   12730             :      531,   532,     0,   533,   534,     0,   536,   537,   538,   539,
   12731             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
   12732             :      550,   551,     0,   552,   553,   554,   555,   823,     0,   557,
   12733             :      558,   559,   560,   561,     0,   563,   564,   565,   566,     0,
   12734             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   12735             :      577,   578,   579,   580,   581,   582,   583,   584,     0,   585,
   12736             :      586,     0,     0,   587,     0,   589,   590,   591,   592,   593,
   12737             :      594,     0,   595,   824,   597,     0,     0,   825,   599,   600,
   12738             :      601,   602,     0,   603,   604,   605,   606,   607,   608,   609,
   12739             :      610,   611,     0,     0,   612,   613,   614,   615,   616,     0,
   12740             :        0,   617,   618,   619,   620,   621,   622,   623,     0,   624,
   12741             :        0,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   12742             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
   12743             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   12744             :      658,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12745             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   12746             :      238,   239,   240,   241,   242,   243,   856,   244,   245,   246,
   12747             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   12748             :        0,   250,   251,   252,   253,     0,   255,   256,   257,   258,
   12749             :      259,     0,   261,   262,     0,   263,   264,   265,   266,   267,
   12750             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
   12751             :      275,   276,   277,   278,   279,     0,     0,     0,   281,   282,
   12752             :      283,   284,   285,   286,     0,   288,   289,   290,   291,     0,
   12753             :      292,   293,   294,   295,   296,   297,     0,     0,   299,   300,
   12754             :      301,     0,     0,     0,     0,     0,     0,     0,   303,   304,
   12755             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   12756             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   12757             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
   12758             :      329,   330,   331,   332,     0,   333,   334,   335,   336,     0,
   12759             :      337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   12760             :        0,   347,     0,   348,   349,   350,   351,   352,     0,   353,
   12761             :        0,   354,   355,     0,     0,     0,   358,   359,   360,   361,
   12762             :        0,   362,   363,     0,   364,   365,   366,     0,   367,   368,
   12763             :      369,   370,   371,     0,   373,   374,   375,   376,     0,   377,
   12764             :      378,   379,   380,   381,   382,   383,   384,     0,   385,     0,
   12765             :      387,   388,   389,   390,   391,   392,   393,     0,   394,     0,
   12766             :      395,     0,     0,   398,     0,   400,   401,   402,   403,   404,
   12767             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   12768             :      415,   416,   417,     0,     0,   418,   419,     0,   421,     0,
   12769             :        0,   423,   424,   425,     0,     0,   426,   427,   428,   429,
   12770             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   12771             :      440,   441,   442,   443,   444,   445,     0,   447,   448,   449,
   12772             :      450,   451,   452,   453,   454,   455,   456,   457,   458,     0,
   12773             :      459,   460,     0,   462,     0,   463,   464,   465,   466,   467,
   12774             :      468,     0,   469,   470,   471,     0,     0,   472,   473,   474,
   12775             :        0,     0,   475,   476,   477,     0,   479,     0,   481,   482,
   12776             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   12777             :      493,   494,     0,   495,   496,   497,   498,   499,   500,   501,
   12778             :      502,   503,     0,   504,   505,   506,   507,   508,   509,   510,
   12779             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   12780             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   12781             :      530,   531,   532,     0,   533,   534,     0,   536,   537,   538,
   12782             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
   12783             :      549,   550,   551,     0,   552,   553,   554,   555,   857,     0,
   12784             :      557,   558,   559,   560,   561,     0,   563,   564,   565,   566,
   12785             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   12786             :      576,   577,   578,   579,   580,   581,   582,   583,   584,     0,
   12787             :      585,   586,     0,     0,   587,     0,   589,   590,   591,   592,
   12788             :      593,   594,     0,   595,   858,   597,     0,     0,   859,   599,
   12789             :      600,   601,   602,     0,   603,   604,   605,   606,   607,   608,
   12790             :      609,   610,   611,     0,     0,   612,   613,   614,   615,   616,
   12791             :        0,     0,   617,   618,   619,   620,   621,   622,   623,     0,
   12792             :      624,     0,   626,   627,   628,   629,     0,     0,   630,     0,
   12793             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   12794             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   12795             :      650,   658,     0,     0,     0,     0,     0,     0,     0,     0,
   12796             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   12797             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   12798             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   12799             :      249,     0,   250,   251,   252,   253,     0,   255,   256,   257,
   12800             :      258,   259,     0,   261,   262,     0,   263,   264,   265,   266,
   12801             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
   12802             :        0,   275,   276,   277,   278,   279,     0,     0,     0,   281,
   12803             :      282,   283,   284,   285,   286,     0,   288,   289,   290,   291,
   12804             :        0,   292,   293,   294,   295,   296,   297,     0,     0,   299,
   12805             :      300,   301,     0,     0,     0,     0,     0,     0,     0,   303,
   12806             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   12807             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   12808             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   12809             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   12810             :        0,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   12811             :      346,     0,   347,     0,   348,   349,   350,   351,   352,     0,
   12812             :      353,     0,   354,   355,     0,     0,     0,   358,   359,   360,
   12813             :      361,     0,   362,   363,     0,   364,   365,   366,     0,   367,
   12814             :      368,   369,   370,   371,     0,   373,   374,   375,   376,     0,
   12815             :      377,   378,   379,   380,   381,   382,   383,   384,     0,   385,
   12816             :        0,   387,   388,   389,   390,   391,   392,   393,     0,   394,
   12817             :        0,   395,     0,     0,   398,     0,   400,   401,   402,   403,
   12818             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   12819             :      414,   415,   416,   417,     0,     0,   418,   419,     0,   421,
   12820             :        0,     0,   423,   424,   425,     0,     0,   426,   427,   428,
   12821             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   12822             :      439,   440,   441,   442,   443,   444,   445,     0,   447,   448,
   12823             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   12824             :        0,   459,   460,     0,   462,     0,   463,   464,   465,   466,
   12825             :      467,   468,     0,   469,   470,   471,     0,   862,   472,   473,
   12826             :      474,     0,     0,   475,   476,   477,     0,   479,     0,   481,
   12827             :      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   12828             :      492,   493,   494,     0,   495,   496,   497,   498,   499,   500,
   12829             :      501,   502,   503,     0,   504,   505,   506,   507,   508,   509,
   12830             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   12831             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   12832             :      529,   530,   531,   532,     0,   533,   534,     0,   536,   537,
   12833             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   12834             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
   12835             :        0,   557,   558,   559,   560,   561,     0,   563,   564,   565,
   12836             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   12837             :      575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
   12838             :        0,   585,   586,     0,     0,   587,     0,   589,   590,   591,
   12839             :      592,   593,   594,     0,   595,   596,   597,     0,     0,   598,
   12840             :      599,   600,   601,   602,     0,   603,   604,   605,   606,   607,
   12841             :      608,   609,   610,   611,     0,     0,   612,   613,   614,   615,
   12842             :      616,     0,     0,   617,   618,   619,   620,   621,   622,   623,
   12843             :        0,   624,     0,   626,   627,   628,   629,     0,     0,   630,
   12844             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
   12845             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   12846             :      649,   650,   658,     0,     0,     0,     0,     0,     0,     0,
   12847             :        0,   922,     0,     0,     0,     0,     0,     0,     0,   235,
   12848             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   12849             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   12850             :      248,   249,     0,   250,   251,   252,   253,     0,   255,   256,
   12851             :      257,   258,   259,     0,   261,   262,     0,   263,   264,   265,
   12852             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
   12853             :      274,     0,   275,   276,   277,   278,   279,     0,     0,     0,
   12854             :      281,   282,   283,   284,   285,   286,     0,   288,   289,   290,
   12855             :      291,     0,   292,   293,   294,   295,   296,   297,     0,     0,
   12856             :      299,   300,   301,     0,     0,     0,     0,     0,     0,     0,
   12857             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   12858             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   12859             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   12860             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   12861             :      336,     0,   337,   338,   339,   340,   341,   342,   343,   344,
   12862             :      345,   346,     0,   347,     0,   348,   349,   350,   351,   352,
   12863             :        0,   353,     0,   354,   355,     0,     0,     0,   358,   359,
   12864             :      360,   361,     0,   362,   363,     0,   364,   365,   366,     0,
   12865             :      367,   368,   369,   370,   371,     0,   373,   374,   375,   376,
   12866             :        0,   377,   378,   379,   380,   381,   382,   383,   384,     0,
   12867             :      385,     0,   387,   388,   389,   390,   391,   392,   393,     0,
   12868             :      394,     0,   395,     0,     0,   398,     0,   400,   401,   402,
   12869             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   12870             :      413,   414,   415,   416,   417,     0,     0,   418,   419,     0,
   12871             :      421,     0,     0,   423,   424,   425,     0,     0,   426,   427,
   12872             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   12873             :      438,   439,   440,   441,   442,   443,   444,   445,     0,   447,
   12874             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   12875             :      458,     0,   459,   460,     0,   462,     0,   463,   464,   465,
   12876             :      466,   467,   468,     0,   469,   470,   471,     0,     0,   472,
   12877             :      473,   474,     0,     0,   475,   476,   477,     0,   479,     0,
   12878             :      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
   12879             :      491,   492,   493,   494,     0,   495,   496,   497,   498,   499,
   12880             :      500,   501,   502,   503,     0,   504,   505,   506,   507,   508,
   12881             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   12882             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   12883             :      528,   529,   530,   531,   532,     0,   533,   534,     0,   536,
   12884             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   12885             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   12886             :      556,     0,   557,   558,   559,   560,   561,     0,   563,   564,
   12887             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   12888             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   12889             :      584,     0,   585,   586,     0,     0,   587,     0,   589,   590,
   12890             :      591,   592,   593,   594,     0,   595,   596,   597,     0,     0,
   12891             :      598,   599,   600,   601,   602,     0,   603,   604,   605,   606,
   12892             :      607,   608,   609,   610,   611,     0,     0,   612,   613,   614,
   12893             :      615,   616,     0,     0,   617,   618,   619,   620,   621,   622,
   12894             :      623,     0,   624,     0,   626,   627,   628,   629,     0,     0,
   12895             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
   12896             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   12897             :      648,   649,   650,   658,     0,     0,     0,     0,     0,     0,
   12898             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12899             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   977,
   12900             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   12901             :      247,   248,   249,     0,   250,   251,   252,   253,     0,   255,
   12902             :      256,   257,   258,   259,     0,   261,   262,     0,   263,   264,
   12903             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   12904             :      273,   274,     0,   275,   276,   277,   278,   279,     0,     0,
   12905             :        0,   281,   282,   283,   284,   285,   286,     0,   288,   289,
   12906             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   12907             :        0,   299,   300,   301,     0,     0,     0,     0,     0,     0,
   12908             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   12909             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   12910             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   12911             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   12912             :      335,   336,     0,   337,   338,   339,   340,   341,   342,   343,
   12913             :      344,   345,   346,     0,   347,     0,   348,   349,   350,   351,
   12914             :      352,     0,   353,     0,   354,   355,     0,     0,     0,   358,
   12915             :      359,   360,   361,     0,   362,   363,     0,   364,   365,   366,
   12916             :        0,   367,   368,   369,   370,   978,     0,   373,   374,   375,
   12917             :      376,     0,   377,   378,   379,   380,   381,   382,   383,   384,
   12918             :        0,   385,     0,   387,   388,   389,   390,   391,   392,   393,
   12919             :        0,   394,     0,   395,     0,     0,   398,     0,   400,   401,
   12920             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   12921             :      412,   413,   414,   415,   416,   417,     0,     0,   418,   419,
   12922             :        0,   421,     0,     0,   423,   424,   425,     0,     0,   426,
   12923             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   12924             :      437,   438,   439,   440,   441,   442,   443,   444,   445,     0,
   12925             :      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   12926             :      457,   458,     0,   459,   460,     0,   462,     0,   463,   464,
   12927             :      465,   466,   467,   468,     0,   469,   470,   471,     0,     0,
   12928             :      472,   473,   474,     0,     0,   475,   476,   477,     0,   479,
   12929             :        0,   481,   482,   483,   484,   485,   486,   487,   488,   489,
   12930             :      490,   491,   492,   493,   494,     0,   495,   496,   497,   498,
   12931             :      499,   500,   501,   502,   503,     0,   504,   505,   506,   507,
   12932             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   12933             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   12934             :      527,   528,   529,   530,   531,   532,     0,   533,   534,     0,
   12935             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   12936             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   12937             :      555,   556,     0,   557,   558,   559,   560,   561,     0,   563,
   12938             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   12939             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   12940             :      583,   584,     0,   585,   586,     0,     0,   587,     0,   589,
   12941             :      590,   591,   592,   593,   594,     0,   595,   596,   597,     0,
   12942             :        0,   598,   599,   600,   601,   602,     0,   603,   604,   605,
   12943             :      606,   607,   608,   609,   610,   611,     0,     0,   612,   613,
   12944             :      614,   615,   616,     0,     0,   617,   618,   619,   620,   621,
   12945             :      622,   623,     0,   624,     0,   626,   627,   628,   629,     0,
   12946             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   12947             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   12948             :      647,   648,   649,   650,   658,     0,     0,     0,     0,     0,
   12949             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12950             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   12951             :     1140,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   12952             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
   12953             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
   12954             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   12955             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
   12956             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
   12957             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   12958             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
   12959             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
   12960             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   12961             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   12962             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   12963             :      334,   335,   336,     0,   337,   338,   339,   340,   341,   342,
   12964             :      343,   344,   345,   346,     0,   347,     0,   348,   349,   350,
   12965             :      351,   352,     0,   353,     0,   354,   355,     0,     0,     0,
   12966             :      358,   359,   360,   361,     0,   362,   363,     0,   364,   365,
   12967             :      366,     0,   367,   368,   369,   370,   371,     0,   373,   374,
   12968             :      375,   376,     0,   377,   378,   379,   380,   381,   382,   383,
   12969             :      384,     0,   385,     0,   387,   388,   389,   390,   391,   392,
   12970             :      393,     0,   394,     0,   395,     0,     0,   398,     0,   400,
   12971             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   12972             :      411,   412,   413,   414,   415,   416,   417,     0,     0,   418,
   12973             :      419,     0,   421,     0,     0,   423,   424,   425,     0,     0,
   12974             :      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   12975             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   12976             :        0,   447,   448,   449,   450,   451,   452,   453,   454,   455,
   12977             :      456,   457,   458,     0,   459,   460,     0,   462,     0,   463,
   12978             :      464,   465,   466,   467,   468,     0,   469,   470,   471,     0,
   12979             :        0,   472,   473,   474,     0,     0,   475,   476,   477,     0,
   12980             :      479,     0,   481,   482,   483,   484,   485,   486,   487,   488,
   12981             :      489,   490,   491,   492,   493,   494,     0,   495,   496,   497,
   12982             :      498,   499,   500,   501,   502,   503,     0,   504,   505,   506,
   12983             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   12984             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   12985             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   12986             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   12987             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   12988             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
   12989             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   12990             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   12991             :      582,   583,   584,     0,   585,   586,     0,     0,   587,     0,
   12992             :      589,   590,   591,   592,   593,   594,     0,   595,   596,   597,
   12993             :        0,     0,   598,   599,   600,   601,   602,     0,   603,   604,
   12994             :      605,   606,   607,   608,   609,   610,   611,     0,     0,   612,
   12995             :      613,   614,   615,   616,     0,     0,   617,   618,   619,   620,
   12996             :      621,   622,   623,     0,   624,     0,   626,   627,   628,   629,
   12997             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   12998             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   12999             :      646,   647,   648,   649,   650,   658,     0,     0,     0,     0,
   13000             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13001             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   13002             :      243,  1390,   244,   245,   246,     0,     0,     0,     0,     0,
   13003             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   13004             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
   13005             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   13006             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
   13007             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
   13008             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   13009             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
   13010             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   13011             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   13012             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   13013             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   13014             :      333,   334,   335,   336,     0,   337,   338,   339,   340,   341,
   13015             :      342,   343,   344,   345,   346,     0,   347,     0,   348,   349,
   13016             :      350,   351,   352,     0,   353,     0,   354,   355,     0,     0,
   13017             :        0,   358,   359,   360,   361,     0,   362,   363,     0,   364,
   13018             :      365,   366,     0,   367,   368,   369,   370,   371,     0,   373,
   13019             :      374,   375,   376,     0,   377,   378,   379,   380,   381,   382,
   13020             :      383,   384,     0,   385,     0,   387,   388,   389,   390,   391,
   13021             :      392,   393,     0,   394,     0,   395,     0,     0,   398,     0,
   13022             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   13023             :      410,   411,   412,   413,   414,   415,   416,   417,     0,     0,
   13024             :      418,   419,     0,   421,     0,     0,   423,   424,   425,     0,
   13025             :        0,   426,   427,   428,   429,   430,   431,   432,   433,   434,
   13026             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   13027             :      445,     0,   447,   448,   449,   450,   451,   452,   453,   454,
   13028             :      455,   456,   457,   458,     0,   459,   460,     0,   462,     0,
   13029             :      463,   464,   465,   466,   467,   468,     0,   469,   470,   471,
   13030             :        0,     0,   472,   473,   474,     0,     0,   475,   476,   477,
   13031             :        0,   479,     0,   481,   482,   483,   484,   485,   486,   487,
   13032             :      488,   489,   490,   491,   492,   493,   494,     0,   495,   496,
   13033             :      497,   498,   499,   500,   501,   502,   503,     0,   504,   505,
   13034             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   13035             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   13036             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   13037             :      534,     0,   536,   537,   538,   539,   540,   541,   542,   543,
   13038             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   13039             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
   13040             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   13041             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   13042             :      581,   582,   583,   584,     0,   585,   586,     0,     0,   587,
   13043             :        0,   589,   590,   591,   592,   593,   594,     0,   595,   596,
   13044             :      597,     0,     0,   598,   599,   600,   601,   602,     0,   603,
   13045             :      604,   605,   606,   607,   608,   609,   610,   611,     0,     0,
   13046             :      612,   613,   614,   615,   616,     0,     0,   617,   618,   619,
   13047             :      620,   621,   622,   623,     0,   624,     0,   626,   627,   628,
   13048             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   13049             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   13050             :      645,   646,   647,   648,   649,   650,   658,     0,     0,     0,
   13051             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13052             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   13053             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
   13054             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   13055             :      253,  1401,   255,   256,   257,   258,   259,     0,   261,   262,
   13056             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   13057             :      842,   271,   272,   273,  1402,     0,   275,   276,   277,   278,
   13058             :      279,     0,     0,     0,   281,   282,   283,   284,   285,   286,
   13059             :        0,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   13060             :      296,   297,     0,     0,   299,   300,   301,     0,     0,     0,
   13061             :        0,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   13062             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
   13063             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   13064             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   13065             :        0,   333,   334,   335,   336,     0,   337,   338,   339,   340,
   13066             :      341,   342,   343,   344,   345,   346,     0,   347,     0,   348,
   13067             :      349,   350,   351,   352,     0,   353,     0,   354,   355,     0,
   13068             :        0,     0,   358,   359,   360,   361,     0,   362,   363,     0,
   13069             :      364,   365,   366,     0,   367,   368,   369,   370,   371,     0,
   13070             :      373,   374,   375,   376,     0,   377,   378,   379,   380,   381,
   13071             :      382,   383,   384,     0,   385,     0,   387,   388,   389,   390,
   13072             :      391,   392,   393,     0,   394,     0,   395,     0,     0,   398,
   13073             :        0,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   13074             :      409,   410,   411,   412,   413,   414,   415,   416,   417,     0,
   13075             :        0,   418,   419,     0,   421,     0,     0,   423,   424,   425,
   13076             :        0,     0,   426,   427,   428,   429,   430,   431,   432,   433,
   13077             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   13078             :      845,   445,     0,   447,   448,   449,   450,   451,   452,   453,
   13079             :      454,   455,   456,   457,   458,     0,   459,   460,     0,   462,
   13080             :        0,   463,   464,   465,   466,   467,   468,     0,   469,   470,
   13081             :      471,     0,     0,   472,   473,   474,     0,     0,   475,   476,
   13082             :      477,     0,   479,     0,   481,   482,   483,   484,   485,   486,
   13083             :      487,   488,   489,   490,   491,   492,   493,   494,     0,   495,
   13084             :      496,   497,   498,   499,   500,   501,   502,   503,     0,   504,
   13085             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   13086             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   13087             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   13088             :      533,   534,     0,   846,   537,   538,   539,   540,   541,   542,
   13089             :      543,   544,   545,   847,   547,   548,   549,   550,   551,     0,
   13090             :      552,   553,   554,   555,  1394,     0,   557,   558,   559,   560,
   13091             :      561,     0,   563,   564,   565,   566,     0,   567,   568,   569,
   13092             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   13093             :      580,   581,   582,   583,   584,     0,   585,   586,     0,     0,
   13094             :      587,     0,   589,   590,   591,   592,   593,   594,     0,   595,
   13095             :      849,   597,     0,     0,   850,   599,   600,   601,   602,     0,
   13096             :      603,   604,   605,   606,   607,   608,   609,   610,   611,     0,
   13097             :        0,   612,   613,   614,   615,   616,     0,     0,   617,   618,
   13098             :      619,   620,   621,   622,   623,     0,   624,     0,   626,   627,
   13099             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   13100             :      634,   635,   851,   637,   638,   639,   640,   641,   642,   643,
   13101             :      644,   645,   646,   647,   648,   649,   650,   658,     0,     0,
   13102             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13103             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   13104             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
   13105             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   13106             :      252,   253,     0,   255,   256,   257,   258,   259,     0,   261,
   13107             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   13108             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   13109             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
   13110             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
   13111             :      295,   296,   297,     0,     0,   299,   300,   301,     0,     0,
   13112             :        0,     0,     0,     0,     0,   303,   304,   305,   306,   307,
   13113             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   13114             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   13115             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   13116             :      332,     0,   333,   334,   335,   336,     0,   337,   338,   339,
   13117             :      340,   341,   342,   343,   344,   345,   346,     0,   347,     0,
   13118             :      348,   349,   350,   351,   352,     0,   353,     0,   354,   355,
   13119             :        0,     0,     0,   358,   359,   360,   361,     0,   362,   363,
   13120             :        0,   364,   365,   366,     0,   367,   368,   369,   370,  1547,
   13121             :        0,   373,   374,   375,   376,     0,   377,   378,   379,   380,
   13122             :      381,   382,   383,   384,     0,   385,     0,   387,   388,   389,
   13123             :      390,   391,   392,   393,     0,   394,     0,   395,     0,     0,
   13124             :      398,     0,   400,   401,   402,   403,   404,   405,   406,   407,
   13125             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   13126             :        0,     0,   418,   419,     0,   421,     0,     0,   423,   424,
   13127             :      425,     0,     0,   426,   427,   428,   429,   430,   431,   432,
   13128             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   13129             :      443,   444,   445,     0,   447,   448,   449,   450,   451,   452,
   13130             :      453,   454,   455,   456,   457,   458,     0,   459,   460,     0,
   13131             :      462,     0,   463,   464,   465,   466,   467,   468,     0,   469,
   13132             :      470,   471,     0,   862,   472,   473,   474,     0,     0,   475,
   13133             :      476,   477,     0,   479,     0,   481,   482,   483,   484,   485,
   13134             :      486,   487,   488,   489,   490,   491,   492,   493,   494,     0,
   13135             :      495,   496,   497,   498,   499,   500,   501,   502,   503,     0,
   13136             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   13137             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
   13138             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   13139             :        0,   533,   534,     0,   536,   537,   538,   539,   540,   541,
   13140             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   13141             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   559,
   13142             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
   13143             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   13144             :      579,   580,   581,   582,   583,   584,     0,   585,   586,     0,
   13145             :        0,   587,     0,   589,   590,   591,   592,   593,   594,     0,
   13146             :      595,   596,   597,     0,     0,   598,   599,   600,   601,   602,
   13147             :        0,   603,   604,   605,   606,   607,   608,   609,   610,   611,
   13148             :        0,     0,   612,   613,   614,   615,   616,     0,     0,   617,
   13149             :      618,   619,   620,   621,   622,   623,     0,   624,     0,   626,
   13150             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   13151             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   13152             :      643,   644,   645,   646,   647,   648,   649,   650,   658,     0,
   13153             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13154             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
   13155             :      240,   241,   242,   243,  1608,   244,   245,   246,     0,     0,
   13156             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   13157             :      251,   252,   253,     0,   255,   256,   257,   258,   259,     0,
   13158             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   13159             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
   13160             :      277,   278,   279,     0,     0,     0,   281,   282,   283,   284,
   13161             :      285,   286,     0,   288,   289,   290,   291,     0,   292,   293,
   13162             :      294,   295,   296,   297,     0,     0,   299,   300,   301,     0,
   13163             :        0,     0,     0,     0,     0,     0,   303,   304,   305,   306,
   13164             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   13165             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   13166             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   13167             :      331,   332,     0,   333,   334,   335,   336,     0,   337,   338,
   13168             :      339,   340,   341,   342,   343,   344,   345,   346,     0,   347,
   13169             :        0,   348,   349,   350,   351,   352,     0,   353,     0,   354,
   13170             :      355,     0,     0,     0,   358,   359,   360,   361,     0,   362,
   13171             :      363,     0,   364,   365,   366,     0,   367,   368,   369,   370,
   13172             :     1609,     0,   373,   374,   375,   376,     0,   377,   378,   379,
   13173             :      380,   381,   382,   383,   384,     0,   385,     0,   387,   388,
   13174             :      389,   390,   391,   392,   393,     0,   394,     0,   395,     0,
   13175             :        0,   398,     0,   400,   401,   402,   403,   404,   405,   406,
   13176             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   13177             :      417,     0,     0,   418,   419,     0,   421,     0,     0,   423,
   13178             :      424,   425,     0,     0,   426,   427,   428,   429,   430,   431,
   13179             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   13180             :      442,   443,   444,   445,     0,   447,   448,   449,   450,   451,
   13181             :      452,   453,   454,   455,   456,   457,   458,     0,   459,   460,
   13182             :        0,   462,     0,   463,   464,   465,   466,   467,   468,     0,
   13183             :      469,   470,   471,     0,     0,   472,   473,   474,     0,     0,
   13184             :      475,   476,   477,     0,   479,     0,   481,   482,   483,   484,
   13185             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   13186             :        0,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   13187             :        0,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   13188             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
   13189             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   13190             :      532,     0,   533,   534,     0,   536,   537,   538,   539,   540,
   13191             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   13192             :      551,     0,   552,   553,   554,   555,   556,     0,   557,   558,
   13193             :      559,   560,   561,     0,   563,   564,   565,   566,     0,   567,
   13194             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   13195             :      578,   579,   580,   581,   582,   583,   584,     0,   585,   586,
   13196             :        0,     0,   587,     0,   589,   590,   591,   592,   593,   594,
   13197             :        0,   595,   596,   597,     0,     0,   598,   599,   600,   601,
   13198             :      602,     0,   603,   604,   605,   606,   607,   608,   609,   610,
   13199             :      611,     0,     0,   612,   613,   614,   615,   616,     0,     0,
   13200             :      617,   618,   619,   620,   621,   622,   623,     0,   624,     0,
   13201             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   13202             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
   13203             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   658,
   13204             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13205             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
   13206             :      239,   240,   241,   242,   243,   822,   244,   245,   246,     0,
   13207             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   13208             :      250,   251,   252,   253,     0,   255,   256,   257,   258,   259,
   13209             :        0,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   13210             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
   13211             :      276,   277,   278,   279,     0,     0,     0,   281,   282,   283,
   13212             :      284,   285,   286,     0,   288,   289,   290,   291,     0,   292,
   13213             :      293,   294,   295,   296,   297,     0,     0,   299,   300,   301,
   13214             :        0,     0,     0,     0,     0,     0,     0,   303,   304,   305,
   13215             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   13216             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   13217             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   13218             :      330,   331,   332,     0,   333,   334,   335,   336,     0,   337,
   13219             :      338,   339,   340,   341,   342,   343,   344,   345,   346,     0,
   13220             :      347,     0,   348,   349,   350,   351,   352,     0,   353,     0,
   13221             :      354,   355,     0,     0,     0,   358,   359,   360,   361,     0,
   13222             :      362,   363,     0,   364,   365,   366,     0,   367,   368,   369,
   13223             :      370,   371,     0,   373,   374,   375,   376,     0,   377,   378,
   13224             :      379,   380,   381,   382,   383,   384,     0,   385,     0,   387,
   13225             :      388,   389,   390,   391,   392,   393,     0,   394,     0,   395,
   13226             :        0,     0,   398,     0,   400,   401,   402,   403,   404,   405,
   13227             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   13228             :      416,   417,     0,     0,   418,   419,     0,   421,     0,     0,
   13229             :      423,   424,   425,     0,     0,   426,   427,   428,   429,   430,
   13230             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   13231             :      441,   442,   443,   444,   445,     0,   447,   448,   449,   450,
   13232             :      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
   13233             :      460,     0,   462,     0,   463,   464,   465,   466,   467,   468,
   13234             :        0,   469,   470,   471,     0,     0,   472,   473,   474,     0,
   13235             :        0,   475,   476,   477,     0,   479,     0,   481,   482,   483,
   13236             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   13237             :      494,     0,   495,   496,   497,   498,   499,   500,   501,   502,
   13238             :      503,     0,   504,   505,   506,   507,   508,   509,   510,   511,
   13239             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   13240             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   13241             :      531,   532,     0,   533,   534,     0,   536,   537,   538,   539,
   13242             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
   13243             :      550,   551,     0,   552,   553,   554,   555,   556,     0,   557,
   13244             :      558,   559,   560,   561,     0,   563,   564,   565,   566,     0,
   13245             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   13246             :      577,   578,   579,   580,   581,   582,   583,   584,     0,   585,
   13247             :      586,     0,     0,   587,     0,   589,   590,   591,   592,   593,
   13248             :      594,     0,   595,   596,   597,     0,     0,   598,   599,   600,
   13249             :      601,   602,     0,   603,   604,   605,   606,   607,   608,   609,
   13250             :      610,   611,     0,     0,   612,   613,   614,   615,   616,     0,
   13251             :        0,   617,   618,   619,   620,   621,   622,   623,     0,   624,
   13252             :        0,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   13253             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
   13254             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   13255             :      658,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13256             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   13257             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   13258             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   13259             :        0,   250,   251,   252,   253,     0,   255,   256,   257,   258,
   13260             :      259,     0,   261,   262,     0,   263,   264,   265,   266,   267,
   13261             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
   13262             :      275,   276,   277,   278,   279,     0,     0,     0,   281,   282,
   13263             :      283,   284,   285,   286,     0,   288,   289,   290,   291,     0,
   13264             :      292,   293,   294,   295,   296,   297,     0,     0,   299,   300,
   13265             :      301,     0,     0,     0,     0,     0,     0,     0,   303,   304,
   13266             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   13267             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   13268             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
   13269             :      329,   330,   331,   332,     0,   333,   334,   335,   336,     0,
   13270             :      337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   13271             :        0,   347,     0,   348,   349,   350,   351,   352,     0,   353,
   13272             :        0,   354,   355,     0,     0,     0,   358,   359,   360,  3421,
   13273             :        0,   362,   363,     0,   364,   365,   366,     0,   367,   368,
   13274             :      369,   370,   371,     0,   373,   374,   375,   376,     0,   377,
   13275             :      378,   379,   380,   381,   382,   383,   384,     0,   385,     0,
   13276             :      387,   388,   389,   390,   391,   392,   393,     0,   394,     0,
   13277             :      395,     0,     0,   398,     0,   400,   401,   402,   403,   404,
   13278             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   13279             :      415,   416,   417,     0,     0,   418,   419,     0,   421,     0,
   13280             :        0,   423,   424,  3422,     0,     0,   426,   427,   428,   429,
   13281             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   13282             :      440,   441,   442,   443,   444,   445,     0,   447,   448,   449,
   13283             :      450,   451,   452,   453,   454,   455,   456,   457,   458,     0,
   13284             :      459,   460,     0,   462,     0,   463,   464,   465,   466,   467,
   13285             :      468,     0,   469,   470,   471,     0,     0,   472,   473,   474,
   13286             :        0,     0,   475,   476,   477,     0,   479,     0,   481,   482,
   13287             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   13288             :      493,   494,     0,   495,   496,   497,   498,   499,   500,   501,
   13289             :      502,   503,     0,   504,   505,   506,   507,   508,   509,   510,
   13290             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   13291             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   13292             :      530,   531,   532,     0,   533,   534,     0,   536,   537,   538,
   13293             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
   13294             :      549,   550,   551,     0,   552,   553,   554,   555,   556,     0,
   13295             :      557,   558,   559,   560,   561,     0,   563,   564,   565,   566,
   13296             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   13297             :      576,   577,   578,   579,   580,   581,   582,   583,   584,     0,
   13298             :      585,   586,     0,  3423,   587,     0,   589,   590,  3424,   592,
   13299             :     3425,   594,     0,   595,   596,   597,     0,     0,   598,   599,
   13300             :      600,   601,   602,     0,   603,   604,   605,   606,   607,   608,
   13301             :      609,   610,   611,     0,     0,   612,   613,  3426,   615,   616,
   13302             :        0,     0,   617,   618,   619,   620,   621,   622,   623,     0,
   13303             :      624,     0,   626,   627,   628,   629,     0,     0,   630,     0,
   13304             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   13305             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   13306             :      650,   658,     0,     0,   717,     0,     0,     0,     0,     0,
   13307             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   13308             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   13309             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   13310             :      249,     0,   250,   251,   252,   253,     0,   255,   256,   257,
   13311             :      258,   259,     0,   261,   262,     0,   263,   264,   265,   266,
   13312             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
   13313             :        0,   275,   276,   277,   278,   279,     0,     0,     0,   281,
   13314             :      282,   283,   284,   285,   286,     0,   288,   289,   290,   291,
   13315             :        0,   292,   293,   294,   295,   296,   297,     0,     0,   299,
   13316             :      300,   301,     0,     0,     0,     0,     0,     0,     0,   303,
   13317             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   13318             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   13319             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   13320             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   13321             :        0,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   13322             :      346,     0,   347,     0,   348,   349,   350,   351,   352,     0,
   13323             :      353,     0,   354,   355,     0,     0,     0,   358,   359,   360,
   13324             :      361,     0,   362,   363,     0,   364,   365,   366,     0,   367,
   13325             :      368,   369,   370,   371,     0,   373,   374,   375,   376,     0,
   13326             :      377,   378,   379,   380,   381,   382,   383,   384,     0,   385,
   13327             :        0,   387,   388,   389,   390,   391,   392,   393,     0,   394,
   13328             :        0,   395,     0,     0,   398,     0,   400,   401,   402,   403,
   13329             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   13330             :      414,   415,   416,   417,     0,     0,   418,   419,     0,   421,
   13331             :        0,     0,   423,   424,   425,     0,     0,   426,   427,   428,
   13332             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   13333             :      439,   440,   441,   442,   443,   444,   445,     0,   447,   448,
   13334             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   13335             :        0,   459,   460,     0,   462,     0,   463,   464,   465,   466,
   13336             :      467,   468,     0,   469,   470,   471,     0,     0,   472,   473,
   13337             :      474,     0,     0,   475,   476,   477,     0,   479,     0,   481,
   13338             :      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   13339             :      492,   493,   494,     0,   495,   496,   497,   498,   499,   500,
   13340             :      501,   502,   503,     0,   504,   505,   506,   507,   508,   509,
   13341             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   13342             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   13343             :      529,   530,   531,   532,     0,   533,   534,     0,   536,   537,
   13344             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   13345             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
   13346             :        0,   557,   558,   559,   560,   561,     0,   563,   564,   565,
   13347             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   13348             :      575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
   13349             :        0,   585,   586,     0,     0,   587,     0,   589,   590,   591,
   13350             :      592,   593,   594,     0,   595,   596,   597,     0,     0,   598,
   13351             :      599,   600,   601,   602,     0,   603,   604,   605,   606,   607,
   13352             :      608,   609,   610,   611,     0,     0,   612,   613,   614,   615,
   13353             :      616,     0,     0,   617,   618,   619,   620,   621,   622,   623,
   13354             :        0,   624,     0,   626,   627,   628,   629,     0,     0,   630,
   13355             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
   13356             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   13357             :      649,   650,   658,     0,     0,     0,     0,     0,     0,     0,
   13358             :      778,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   13359             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   13360             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   13361             :      248,   249,     0,   250,   251,   252,   253,     0,   255,   256,
   13362             :      257,   258,   259,     0,   261,   262,     0,   263,   264,   265,
   13363             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
   13364             :      274,     0,   275,   276,   277,   278,   279,     0,     0,     0,
   13365             :      281,   282,   283,   284,   285,   286,     0,   288,   289,   290,
   13366             :      291,     0,   292,   293,   294,   295,   296,   297,     0,     0,
   13367             :      299,   300,   301,     0,     0,     0,     0,     0,     0,     0,
   13368             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   13369             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   13370             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   13371             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   13372             :      336,     0,   337,   338,   339,   340,   341,   342,   343,   344,
   13373             :      345,   346,     0,   347,     0,   348,   349,   350,   351,   352,
   13374             :        0,   353,     0,   354,   355,     0,     0,     0,   358,   359,
   13375             :      360,   361,     0,   362,   363,     0,   364,   365,   366,     0,
   13376             :      367,   368,   369,   370,   371,     0,   373,   374,   375,   376,
   13377             :        0,   377,   378,   379,   380,   381,   382,   383,   384,     0,
   13378             :      385,     0,   387,   388,   389,   390,   391,   392,   393,     0,
   13379             :      394,     0,   395,     0,     0,   398,     0,   400,   401,   402,
   13380             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   13381             :      413,   414,   415,   416,   417,     0,     0,   418,   419,     0,
   13382             :      421,     0,     0,   423,   424,   425,     0,     0,   426,   427,
   13383             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   13384             :      438,   439,   440,   441,   442,   443,   444,   445,     0,   447,
   13385             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   13386             :      458,     0,   459,   460,     0,   462,     0,   463,   464,   465,
   13387             :      466,   467,   468,     0,   469,   470,   471,     0,     0,   472,
   13388             :      473,   474,     0,     0,   475,   476,   477,     0,   479,     0,
   13389             :      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
   13390             :      491,   492,   493,   494,     0,   495,   496,   497,   498,   499,
   13391             :      500,   501,   502,   503,     0,   504,   505,   506,   507,   508,
   13392             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   13393             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   13394             :      528,   529,   530,   531,   532,     0,   533,   534,     0,   536,
   13395             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   13396             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   13397             :      556,     0,   557,   558,   559,   560,   561,     0,   563,   564,
   13398             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   13399             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   13400             :      584,     0,   585,   586,     0,     0,   587,     0,   589,   590,
   13401             :      591,   592,   593,   594,     0,   595,   596,   597,     0,     0,
   13402             :      598,   599,   600,   601,   602,     0,   603,   604,   605,   606,
   13403             :      607,   608,   609,   610,   611,     0,     0,   612,   613,   614,
   13404             :      615,   616,     0,     0,   617,   618,   619,   620,   621,   622,
   13405             :      623,     0,   624,     0,   626,   627,   628,   629,     0,     0,
   13406             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
   13407             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   13408             :      648,   649,   650,   658,     0,     0,     0,     0,     0,     0,
   13409             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13410             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   13411             :      244,   245,   246,     0,     0,     0,     0,     0,  4250,     0,
   13412             :      247,   248,   249,     0,   250,   251,   252,   253,     0,   255,
   13413             :      256,   257,   258,   259,     0,   261,   262,     0,   263,   264,
   13414             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   13415             :      273,   274,     0,   275,   276,   277,   278,   279,     0,     0,
   13416             :        0,   281,   282,   283,   284,   285,   286,     0,   288,   289,
   13417             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   13418             :        0,   299,   300,   301,     0,     0,     0,     0,     0,     0,
   13419             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   13420             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   13421             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   13422             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   13423             :      335,   336,     0,   337,   338,   339,   340,   341,   342,   343,
   13424             :      344,   345,   346,     0,   347,     0,   348,   349,   350,   351,
   13425             :      352,     0,   353,     0,   354,   355,     0,     0,     0,   358,
   13426             :      359,   360,   361,     0,   362,   363,     0,   364,   365,   366,
   13427             :        0,   367,   368,   369,   370,   371,     0,   373,   374,   375,
   13428             :      376,     0,   377,   378,   379,   380,   381,   382,   383,   384,
   13429             :        0,   385,     0,   387,   388,   389,   390,   391,   392,   393,
   13430             :        0,   394,     0,   395,     0,     0,   398,     0,   400,   401,
   13431             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   13432             :      412,   413,   414,   415,   416,   417,     0,     0,   418,   419,
   13433             :        0,   421,     0,     0,   423,   424,   425,     0,     0,   426,
   13434             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   13435             :      437,   438,   439,   440,   441,   442,   443,   444,   445,     0,
   13436             :      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   13437             :      457,   458,     0,   459,   460,     0,   462,     0,   463,   464,
   13438             :      465,   466,   467,   468,     0,   469,   470,   471,     0,     0,
   13439             :      472,   473,   474,     0,     0,   475,   476,   477,     0,   479,
   13440             :        0,   481,   482,   483,   484,   485,   486,   487,   488,   489,
   13441             :      490,   491,   492,   493,   494,     0,   495,   496,   497,   498,
   13442             :      499,   500,   501,   502,   503,     0,   504,   505,   506,   507,
   13443             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   13444             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   13445             :      527,   528,   529,   530,   531,   532,     0,   533,   534,     0,
   13446             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   13447             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   13448             :      555,   556,     0,   557,   558,   559,   560,   561,     0,   563,
   13449             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   13450             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   13451             :      583,   584,     0,   585,   586,     0,     0,   587,     0,   589,
   13452             :      590,   591,   592,   593,   594,     0,   595,   596,   597,     0,
   13453             :        0,   598,   599,   600,   601,   602,     0,   603,   604,   605,
   13454             :      606,   607,   608,   609,   610,   611,     0,     0,   612,   613,
   13455             :      614,   615,   616,     0,     0,   617,   618,   619,   620,   621,
   13456             :      622,   623,     0,   624,     0,   626,   627,   628,   629,     0,
   13457             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   13458             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   13459             :      647,   648,   649,   650,   658,     0,     0,     0,     0,     0,
   13460             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13461             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   13462             :        0,   244,   245,   246,     0,     0,     0,     0,     0,  4264,
   13463             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
   13464             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
   13465             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   13466             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
   13467             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
   13468             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   13469             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
   13470             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
   13471             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   13472             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   13473             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   13474             :      334,   335,   336,     0,   337,   338,   339,   340,   341,   342,
   13475             :      343,   344,   345,   346,     0,   347,     0,   348,   349,   350,
   13476             :      351,   352,     0,   353,     0,   354,   355,     0,     0,     0,
   13477             :      358,   359,   360,   361,     0,   362,   363,     0,   364,   365,
   13478             :      366,     0,   367,   368,   369,   370,   371,     0,   373,   374,
   13479             :      375,   376,     0,   377,   378,   379,   380,   381,   382,   383,
   13480             :      384,     0,   385,     0,   387,   388,   389,   390,   391,   392,
   13481             :      393,     0,   394,     0,   395,     0,     0,   398,     0,   400,
   13482             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   13483             :      411,   412,   413,   414,   415,   416,   417,     0,     0,   418,
   13484             :      419,     0,   421,     0,     0,   423,   424,   425,     0,     0,
   13485             :      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   13486             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   13487             :        0,   447,   448,   449,   450,   451,   452,   453,   454,   455,
   13488             :      456,   457,   458,     0,   459,   460,     0,   462,     0,   463,
   13489             :      464,   465,   466,   467,   468,     0,   469,   470,   471,     0,
   13490             :        0,   472,   473,   474,     0,     0,   475,   476,   477,     0,
   13491             :      479,     0,   481,   482,   483,   484,   485,   486,   487,   488,
   13492             :      489,   490,   491,   492,   493,   494,     0,   495,   496,   497,
   13493             :      498,   499,   500,   501,   502,   503,     0,   504,   505,   506,
   13494             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   13495             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   13496             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   13497             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   13498             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   13499             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
   13500             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   13501             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   13502             :      582,   583,   584,     0,   585,   586,     0,     0,   587,     0,
   13503             :      589,   590,   591,   592,   593,   594,     0,   595,   596,   597,
   13504             :        0,     0,   598,   599,   600,   601,   602,     0,   603,   604,
   13505             :      605,   606,   607,   608,   609,   610,   611,     0,     0,   612,
   13506             :      613,   614,   615,   616,     0,     0,   617,   618,   619,   620,
   13507             :      621,   622,   623,     0,   624,     0,   626,   627,   628,   629,
   13508             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   13509             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   13510             :      646,   647,   648,   649,   650,   658,     0,     0,     0,     0,
   13511             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13512             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   13513             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   13514             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   13515             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
   13516             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   13517             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
   13518             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
   13519             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   13520             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
   13521             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   13522             :      310,   311,  4411,   312,     0,   313,   314,   315,   316,   317,
   13523             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   13524             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   13525             :      333,   334,   335,   336,     0,   337,   338,   339,   340,   341,
   13526             :      342,   343,   344,   345,   346,     0,   347,     0,   348,   349,
   13527             :      350,   351,   352,     0,   353,     0,   354,   355,     0,     0,
   13528             :        0,   358,   359,   360,   361,     0,   362,   363,     0,   364,
   13529             :      365,   366,     0,   367,   368,   369,   370,   371,     0,   373,
   13530             :      374,   375,   376,     0,   377,   378,   379,   380,   381,   382,
   13531             :      383,   384,     0,   385,     0,   387,   388,   389,   390,   391,
   13532             :      392,   393,     0,   394,     0,   395,     0,     0,   398,     0,
   13533             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   13534             :      410,   411,   412,   413,   414,   415,   416,   417,     0,     0,
   13535             :      418,   419,     0,   421,     0,     0,   423,   424,   425,     0,
   13536             :        0,   426,   427,   428,   429,   430,   431,   432,   433,   434,
   13537             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   13538             :      445,     0,   447,   448,   449,   450,   451,   452,   453,   454,
   13539             :      455,   456,   457,   458,     0,   459,   460,     0,   462,     0,
   13540             :      463,   464,   465,   466,   467,   468,     0,   469,   470,   471,
   13541             :        0,     0,   472,   473,   474,     0,     0,   475,   476,   477,
   13542             :        0,   479,     0,   481,   482,   483,   484,   485,   486,   487,
   13543             :      488,   489,   490,   491,   492,   493,   494,     0,   495,   496,
   13544             :      497,   498,   499,   500,   501,   502,   503,     0,   504,   505,
   13545             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   13546             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   13547             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   13548             :      534,     0,   536,   537,   538,   539,   540,   541,   542,   543,
   13549             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   13550             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
   13551             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   13552             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   13553             :      581,   582,   583,   584,     0,   585,   586,     0,     0,   587,
   13554             :        0,   589,   590,   591,   592,   593,   594,     0,   595,   596,
   13555             :      597,     0,     0,   598,   599,   600,   601,   602,     0,   603,
   13556             :      604,   605,   606,   607,   608,   609,   610,   611,     0,     0,
   13557             :      612,   613,   614,   615,   616,     0,     0,   617,   618,   619,
   13558             :      620,   621,   622,   623,     0,   624,     0,   626,   627,   628,
   13559             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   13560             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   13561             :      645,   646,   647,   648,   649,   650,   658,     0,     0,     0,
   13562             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13563             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   13564             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
   13565             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   13566             :      253,     0,   255,   256,   257,   258,   259,     0,   261,   262,
   13567             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   13568             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   13569             :      279,     0,     0,     0,   281,   282,   283,   284,   285,   286,
   13570             :        0,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   13571             :      296,   297,     0,     0,   299,   300,   301,     0,     0,     0,
   13572             :        0,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   13573             :      309,   310,   311,  4937,   312,     0,   313,   314,   315,   316,
   13574             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   13575             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   13576             :        0,   333,   334,   335,   336,     0,   337,   338,   339,   340,
   13577             :      341,   342,   343,   344,   345,   346,     0,   347,     0,   348,
   13578             :      349,   350,   351,   352,     0,   353,     0,   354,   355,     0,
   13579             :        0,     0,   358,   359,   360,   361,     0,   362,   363,     0,
   13580             :      364,   365,   366,     0,   367,   368,   369,   370,   371,     0,
   13581             :      373,   374,   375,   376,     0,   377,   378,   379,   380,   381,
   13582             :      382,   383,   384,     0,   385,     0,   387,   388,   389,   390,
   13583             :      391,   392,   393,     0,   394,     0,   395,     0,     0,   398,
   13584             :        0,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   13585             :      409,   410,   411,   412,   413,   414,   415,   416,   417,     0,
   13586             :        0,   418,   419,     0,   421,     0,     0,   423,   424,   425,
   13587             :        0,     0,   426,   427,   428,   429,   430,   431,   432,   433,
   13588             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   13589             :      444,   445,     0,   447,   448,   449,   450,   451,   452,   453,
   13590             :      454,   455,   456,   457,   458,     0,   459,   460,     0,   462,
   13591             :        0,   463,   464,   465,   466,   467,   468,     0,   469,   470,
   13592             :      471,     0,     0,   472,   473,   474,     0,     0,   475,   476,
   13593             :      477,     0,   479,     0,   481,   482,   483,   484,   485,   486,
   13594             :      487,   488,   489,   490,   491,   492,   493,   494,     0,   495,
   13595             :      496,   497,   498,   499,   500,   501,   502,   503,     0,   504,
   13596             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   13597             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   13598             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   13599             :      533,   534,     0,   536,   537,   538,   539,   540,   541,   542,
   13600             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   13601             :      552,   553,   554,   555,   556,     0,   557,   558,   559,   560,
   13602             :      561,     0,   563,   564,   565,   566,     0,   567,   568,   569,
   13603             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   13604             :      580,   581,   582,   583,   584,     0,   585,   586,     0,     0,
   13605             :      587,     0,   589,   590,   591,   592,   593,   594,     0,   595,
   13606             :      596,   597,     0,     0,   598,   599,   600,   601,   602,     0,
   13607             :      603,   604,   605,   606,   607,   608,   609,   610,   611,     0,
   13608             :        0,   612,   613,   614,   615,   616,     0,     0,   617,   618,
   13609             :      619,   620,   621,   622,   623,     0,   624,     0,   626,   627,
   13610             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   13611             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   13612             :      644,   645,   646,   647,   648,   649,   650,   658,     0,     0,
   13613             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13614             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   13615             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
   13616             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   13617             :      252,   253,     0,   255,   256,   257,   258,   259,     0,   261,
   13618             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   13619             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   13620             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
   13621             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
   13622             :      295,   296,   297,     0,     0,   299,   300,   301,     0,     0,
   13623             :        0,  5010,     0,     0,     0,   303,   304,   305,   306,   307,
   13624             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   13625             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   13626             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   13627             :      332,     0,   333,   334,   335,   336,     0,   337,   338,   339,
   13628             :      340,   341,   342,   343,   344,   345,   346,     0,   347,     0,
   13629             :      348,   349,   350,   351,   352,     0,   353,     0,   354,   355,
   13630             :        0,     0,     0,   358,   359,   360,   361,     0,   362,   363,
   13631             :        0,   364,   365,   366,     0,   367,   368,   369,   370,   371,
   13632             :        0,   373,   374,   375,   376,     0,   377,   378,   379,   380,
   13633             :      381,   382,   383,   384,     0,   385,     0,   387,   388,   389,
   13634             :      390,   391,   392,   393,     0,   394,     0,   395,     0,     0,
   13635             :      398,     0,   400,   401,   402,   403,   404,   405,   406,   407,
   13636             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   13637             :        0,     0,   418,   419,     0,   421,     0,     0,   423,   424,
   13638             :      425,     0,     0,   426,   427,   428,   429,   430,   431,   432,
   13639             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   13640             :      443,   444,   445,     0,   447,   448,   449,   450,   451,   452,
   13641             :      453,   454,   455,   456,   457,   458,     0,   459,   460,     0,
   13642             :      462,     0,   463,   464,   465,   466,   467,   468,     0,   469,
   13643             :      470,   471,     0,     0,   472,   473,   474,     0,     0,   475,
   13644             :      476,   477,     0,   479,     0,   481,   482,   483,   484,   485,
   13645             :      486,   487,   488,   489,   490,   491,   492,   493,   494,     0,
   13646             :      495,   496,   497,   498,   499,   500,   501,   502,   503,     0,
   13647             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   13648             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
   13649             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   13650             :        0,   533,   534,     0,   536,   537,   538,   539,   540,   541,
   13651             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   13652             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   559,
   13653             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
   13654             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   13655             :      579,   580,   581,   582,   583,   584,     0,   585,   586,     0,
   13656             :        0,   587,     0,   589,   590,   591,   592,   593,   594,     0,
   13657             :      595,   596,   597,     0,     0,   598,   599,   600,   601,   602,
   13658             :        0,   603,   604,   605,   606,   607,   608,   609,   610,   611,
   13659             :        0,     0,   612,   613,   614,   615,   616,     0,     0,   617,
   13660             :      618,   619,   620,   621,   622,   623,     0,   624,     0,   626,
   13661             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   13662             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   13663             :      643,   644,   645,   646,   647,   648,   649,   650,   658,     0,
   13664             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13665             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
   13666             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
   13667             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   13668             :      251,   252,   253,     0,   255,   256,   257,   258,   259,     0,
   13669             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   13670             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
   13671             :      277,   278,   279,     0,     0,     0,   281,   282,   283,   284,
   13672             :      285,   286,     0,   288,   289,   290,   291,     0,   292,   293,
   13673             :      294,   295,   296,   297,     0,     0,   299,   300,   301,     0,
   13674             :        0,     0,     0,     0,     0,     0,   303,   304,   305,   306,
   13675             :      307,   308,   309,   310,   311,  5373,   312,     0,   313,   314,
   13676             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   13677             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   13678             :      331,   332,     0,   333,   334,   335,   336,     0,   337,   338,
   13679             :      339,   340,   341,   342,   343,   344,   345,   346,     0,   347,
   13680             :        0,   348,   349,   350,   351,   352,     0,   353,     0,   354,
   13681             :      355,     0,     0,     0,   358,   359,   360,   361,     0,   362,
   13682             :      363,     0,   364,   365,   366,     0,   367,   368,   369,   370,
   13683             :      371,     0,   373,   374,   375,   376,     0,   377,   378,   379,
   13684             :      380,   381,   382,   383,   384,     0,   385,     0,   387,   388,
   13685             :      389,   390,   391,   392,   393,     0,   394,     0,   395,     0,
   13686             :        0,   398,     0,   400,   401,   402,   403,   404,   405,   406,
   13687             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   13688             :      417,     0,     0,   418,   419,     0,   421,     0,     0,   423,
   13689             :      424,   425,     0,     0,   426,   427,   428,   429,   430,   431,
   13690             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   13691             :      442,   443,   444,   445,     0,   447,   448,   449,   450,   451,
   13692             :      452,   453,   454,   455,   456,   457,   458,     0,   459,   460,
   13693             :        0,   462,     0,   463,   464,   465,   466,   467,   468,     0,
   13694             :      469,   470,   471,     0,     0,   472,   473,   474,     0,     0,
   13695             :      475,   476,   477,     0,   479,     0,   481,   482,   483,   484,
   13696             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   13697             :        0,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   13698             :        0,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   13699             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
   13700             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   13701             :      532,     0,   533,   534,     0,   536,   537,   538,   539,   540,
   13702             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   13703             :      551,     0,   552,   553,   554,   555,   556,     0,   557,   558,
   13704             :      559,   560,   561,     0,   563,   564,   565,   566,     0,   567,
   13705             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   13706             :      578,   579,   580,   581,   582,   583,   584,     0,   585,   586,
   13707             :        0,     0,   587,     0,   589,   590,   591,   592,   593,   594,
   13708             :        0,   595,   596,   597,     0,     0,   598,   599,   600,   601,
   13709             :      602,     0,   603,   604,   605,   606,   607,   608,   609,   610,
   13710             :      611,     0,     0,   612,   613,   614,   615,   616,     0,     0,
   13711             :      617,   618,   619,   620,   621,   622,   623,     0,   624,     0,
   13712             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   13713             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
   13714             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   658,
   13715             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13716             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
   13717             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
   13718             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   13719             :      250,   251,   252,   253,     0,   255,   256,   257,   258,   259,
   13720             :        0,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   13721             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
   13722             :      276,   277,   278,   279,     0,     0,     0,   281,   282,   283,
   13723             :      284,   285,   286,     0,   288,   289,   290,   291,     0,   292,
   13724             :      293,   294,   295,   296,   297,     0,     0,   299,   300,   301,
   13725             :        0,     0,     0,     0,     0,     0,     0,   303,   304,   305,
   13726             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   13727             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   13728             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   13729             :      330,   331,   332,     0,   333,   334,   335,   336,     0,   337,
   13730             :      338,   339,   340,   341,   342,   343,   344,   345,   346,     0,
   13731             :      347,     0,   348,   349,   350,   351,   352,     0,   353,     0,
   13732             :      354,   355,     0,     0,     0,   358,   359,   360,   361,     0,
   13733             :      362,   363,     0,   364,   365,   366,     0,   367,   368,   369,
   13734             :      370,   371,     0,   373,   374,   375,   376,     0,   377,   378,
   13735             :      379,   380,   381,   382,   383,   384,     0,   385,     0,   387,
   13736             :      388,   389,   390,   391,   392,   393,     0,   394,     0,   395,
   13737             :        0,     0,   398,     0,   400,   401,   402,   403,   404,   405,
   13738             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   13739             :      416,   417,     0,     0,   418,   419,     0,   421,     0,     0,
   13740             :      423,   424,   425,     0,     0,   426,   427,   428,   429,   430,
   13741             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   13742             :      441,   442,   443,   444,   445,     0,   447,   448,   449,   450,
   13743             :      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
   13744             :      460,     0,   462,     0,   463,   464,   465,   466,   467,   468,
   13745             :        0,   469,   470,   471,     0,     0,   472,   473,   474,     0,
   13746             :        0,   475,   476,   477,     0,   479,     0,   481,   482,   483,
   13747             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   13748             :      494,     0,   495,   496,   497,   498,   499,   500,   501,   502,
   13749             :      503,     0,   504,   505,   506,   507,   508,   509,   510,   511,
   13750             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   13751             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   13752             :      531,   532,     0,   533,   534,     0,   536,   537,   538,   539,
   13753             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
   13754             :      550,   551,     0,   552,   553,   554,   555,   556,     0,   557,
   13755             :      558,   559,   560,   561,     0,   563,   564,   565,   566,     0,
   13756             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   13757             :      577,   578,   579,   580,   581,   582,   583,   584,     0,   585,
   13758             :      586,     0,     0,   587,     0,   589,   590,   591,   592,   593,
   13759             :      594,     0,   595,   596,   597,     0,     0,   598,   599,   600,
   13760             :      601,   602,     0,   603,   604,   605,   606,   607,   608,   609,
   13761             :      610,   611,     0,     0,   612,   613,   614,   615,   616,     0,
   13762             :        0,   617,   618,   619,   620,   621,   622,   623,     0,   624,
   13763             :        0,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   13764             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
   13765             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   13766             :      658,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13767             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   13768             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   13769             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   13770             :        0,   250,   251,   252,   253,     0,   255,   256,   257,   258,
   13771             :      259,     0,   261,   262,     0,   263,   264,   265,   266,   267,
   13772             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
   13773             :      275,   276,   277,   278,   279,     0,     0,     0,   281,   282,
   13774             :      283,   284,   285,   286,     0,   288,   289,   290,   291,     0,
   13775             :      292,   293,   294,   295,   296,   297,     0,     0,   299,   300,
   13776             :      301,     0,     0,     0,     0,     0,     0,     0,   303,   304,
   13777             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   13778             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   13779             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
   13780             :      329,   330,   331,   332,     0,   333,   334,   335,   336,     0,
   13781             :      337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   13782             :        0,   347,     0,   348,   349,   350,   351,   352,     0,   353,
   13783             :        0,   354,   355,     0,     0,     0,   358,   359,   360,   361,
   13784             :        0,   362,   363,     0,   364,   365,   366,     0,   367,   368,
   13785             :      369,   370,   371,     0,   373,   374,   375,   376,     0,   377,
   13786             :      378,   379,   380,   381,   382,   383,   384,     0,   385,     0,
   13787             :      387,   388,   389,   390,   391,   392,   393,     0,   394,     0,
   13788             :      395,     0,     0,   398,     0,   400,   401,   402,   403,   404,
   13789             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   13790             :      415,   416,   417,     0,     0,   418,   419,     0,   421,     0,
   13791             :        0,   423,   424,   425,     0,     0,   426,   427,   428,   429,
   13792             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   13793             :      440,   441,   442,   443,   444,   445,     0,   447,   448,   449,
   13794             :      450,   451,   452,   453,   454,   455,   456,   457,   458,     0,
   13795             :      459,   460,     0,   462,     0,   463,   464,   465,   466,   467,
   13796             :      468,     0,   469,   470,   471,     0,     0,   472,   473,   474,
   13797             :        0,     0,   475,   476,   477,     0,   479,     0,   481,   482,
   13798             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   13799             :      493,   494,     0,   495,   496,   497,   498,   499,   500,   501,
   13800             :      502,   503,     0,   504,   505,   506,   507,   508,   509,   510,
   13801             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   13802             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   13803             :      530,   531,   532,     0,   533,   534,     0,   536,   537,   538,
   13804             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
   13805             :      549,   550,   551,     0,   552,   553,   554,   555,   556,     0,
   13806             :      557,   558,   559,   560,   561,     0,   563,   564,   565,   566,
   13807             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   13808             :      576,   577,   578,   579,   580,   581,   582,   583,   584,     0,
   13809             :      585,   586,     0,     0,   587,     0,   589,   590,   591,   592,
   13810             :      593,   594,     0,   595,   596,   597,     0,     0,   814,   599,
   13811             :      600,   601,   602,     0,   603,   604,   605,   606,   607,   608,
   13812             :      609,   610,   611,     0,     0,   612,   613,   614,   615,   616,
   13813             :        0,     0,   617,   618,   619,   620,   621,   622,   623,     0,
   13814             :      624,     0,   626,   627,   628,   629,     0,     0,   630,     0,
   13815             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   13816             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   13817             :      650,   658,     0,     0,     0,     0,     0,     0,     0,     0,
   13818             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   13819             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   13820             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   13821             :      249,     0,   250,   251,   252,   253,     0,   255,   256,   257,
   13822             :      258,   259,     0,   261,   262,     0,   263,   264,   265,   266,
   13823             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
   13824             :        0,   275,   276,   277,   278,   279,     0,     0,     0,   281,
   13825             :      282,   283,   284,   285,   286,     0,   288,   289,   290,   291,
   13826             :        0,   292,   293,   294,   295,   296,   297,     0,     0,   299,
   13827             :      300,   301,     0,     0,     0,     0,     0,     0,     0,   303,
   13828             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   13829             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   13830             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   13831             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   13832             :        0,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   13833             :      346,     0,   347,     0,   348,   349,   350,   351,   352,     0,
   13834             :      353,     0,   354,   355,     0,     0,     0,   358,   359,   360,
   13835             :      361,     0,   362,   363,     0,   364,   365,   366,     0,   367,
   13836             :      368,   369,   370,   371,     0,   373,   374,   375,   376,     0,
   13837             :      377,   378,   379,   380,   381,   382,   383,   384,     0,   385,
   13838             :        0,   387,   388,   389,   390,   391,   392,   393,     0,   394,
   13839             :        0,   395,     0,     0,   398,     0,   400,   401,   402,   403,
   13840             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   13841             :      414,   415,   416,   417,     0,     0,   418,   419,     0,   421,
   13842             :        0,     0,   423,   424,   425,     0,     0,   426,   427,   428,
   13843             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   13844             :      439,   440,   441,   442,   443,   444,   445,     0,   447,   448,
   13845             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   13846             :        0,   459,   460,     0,   462,     0,   463,   464,   465,   466,
   13847             :      467,   468,     0,   469,   470,   471,     0,     0,   472,   473,
   13848             :      474,     0,     0,   475,   476,   477,     0,   479,     0,   481,
   13849             :      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   13850             :      492,   493,   494,     0,   495,   496,   497,   498,   499,   500,
   13851             :      501,   502,   503,     0,   504,   505,   506,   507,   508,   509,
   13852             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   13853             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   13854             :      529,   530,   531,   532,     0,   533,   534,     0,   536,   537,
   13855             :      538,   539,   540,   541,   542,   543,   820,   545,   546,   547,
   13856             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
   13857             :        0,   557,   558,   559,   560,   561,     0,   563,   564,   565,
   13858             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   13859             :      575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
   13860             :        0,   585,   586,     0,     0,   587,     0,   589,   590,   591,
   13861             :      592,   593,   594,     0,   595,   596,   597,     0,     0,   598,
   13862             :      599,   600,   601,   602,     0,   603,   604,   605,   606,   607,
   13863             :      608,   609,   610,   611,     0,     0,   612,   613,   614,   615,
   13864             :      616,     0,     0,   617,   618,   619,   620,   621,   622,   623,
   13865             :        0,   624,     0,   626,   627,   628,   629,     0,     0,   630,
   13866             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
   13867             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   13868             :      649,   650,   658,     0,     0,     0,     0,     0,     0,     0,
   13869             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   13870             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   13871             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   13872             :      248,   249,     0,   250,   251,   252,   253,     0,   255,   256,
   13873             :      257,   258,   259,     0,   261,   262,     0,   263,   264,   265,
   13874             :      266,   267,   268,   269,     0,     0,   842,   271,   272,   273,
   13875             :      274,     0,   275,   276,   277,   278,   279,     0,     0,     0,
   13876             :      281,   282,   283,   284,   285,   286,     0,   288,   289,   290,
   13877             :      291,     0,   843,   293,   294,   295,   296,   297,     0,     0,
   13878             :      299,   300,   301,     0,     0,     0,     0,     0,     0,     0,
   13879             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   13880             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   13881             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   13882             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   13883             :      336,     0,   337,   338,   339,   340,   341,   342,   343,   344,
   13884             :      345,   346,     0,   347,     0,   348,   349,   350,   351,   352,
   13885             :        0,   353,     0,   354,   355,     0,     0,     0,   358,   359,
   13886             :      360,   361,     0,   362,   363,     0,   364,   365,   366,     0,
   13887             :      367,   368,   369,   370,   371,     0,   373,   374,   375,   376,
   13888             :        0,   377,   378,   379,   380,   381,   382,   383,   384,     0,
   13889             :      385,     0,   387,   388,   389,   390,   391,   392,   393,     0,
   13890             :      394,     0,   395,     0,     0,   398,     0,   400,   401,   402,
   13891             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   13892             :      413,   414,   415,   416,   417,     0,     0,   418,   419,     0,
   13893             :      421,     0,     0,   423,   424,   844,     0,     0,   426,   427,
   13894             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   13895             :      438,   439,   440,   441,   442,   443,   845,   445,     0,   447,
   13896             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   13897             :      458,     0,   459,   460,     0,   462,     0,   463,   464,   465,
   13898             :      466,   467,   468,     0,   469,   470,   471,     0,     0,   472,
   13899             :      473,   474,     0,     0,   475,   476,   477,     0,   479,     0,
   13900             :      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
   13901             :      491,   492,   493,   494,     0,   495,   496,   497,   498,   499,
   13902             :      500,   501,   502,   503,     0,   504,   505,   506,   507,   508,
   13903             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   13904             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   13905             :      528,   529,   530,   531,   532,     0,   533,   534,     0,   846,
   13906             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   847,
   13907             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   13908             :      848,     0,   557,   558,   559,   560,   561,     0,   563,   564,
   13909             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   13910             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   13911             :      584,     0,   585,   586,     0,     0,   587,     0,   589,   590,
   13912             :      591,   592,   593,   594,     0,   595,   849,   597,     0,     0,
   13913             :      850,   599,   600,   601,   602,     0,   603,   604,   605,   606,
   13914             :      607,   608,   609,   610,   611,     0,     0,   612,   613,   614,
   13915             :      615,   616,     0,     0,   617,   618,   619,   620,   621,   622,
   13916             :      623,     0,   624,     0,   626,   627,   628,   629,     0,     0,
   13917             :      630,     0,     0,   631,   632,   633,   634,   635,   851,   637,
   13918             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   13919             :      648,   649,   650,   658,     0,     0,     0,     0,     0,     0,
   13920             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13921             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   13922             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   13923             :      247,   248,   249,     0,   250,   251,   252,   253,     0,   255,
   13924             :      256,   257,   258,   259,     0,   261,   262,     0,   263,   264,
   13925             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   13926             :      273,   274,     0,   275,   276,   277,   278,   279,     0,     0,
   13927             :        0,   281,   282,   283,   284,   285,   286,     0,   288,   289,
   13928             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   13929             :        0,   299,   300,   301,     0,     0,     0,     0,     0,     0,
   13930             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   13931             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   13932             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   13933             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   13934             :      335,   336,     0,   337,   338,   339,   340,   341,   342,   343,
   13935             :      344,   345,   346,     0,   347,     0,   348,   349,   350,   351,
   13936             :      352,     0,   353,     0,   354,   355,     0,     0,     0,   358,
   13937             :      359,   360,   361,     0,   362,   363,     0,   364,   365,   366,
   13938             :        0,   367,   368,   369,   370,   371,     0,   373,   374,   375,
   13939             :      376,     0,   377,   378,   379,   380,   381,   382,   383,   384,
   13940             :        0,   385,     0,   387,   388,   389,   390,   391,   392,   393,
   13941             :        0,   394,     0,   395,     0,     0,   398,     0,   400,   401,
   13942             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   13943             :      412,   413,   414,   415,   416,   417,     0,     0,   418,   419,
   13944             :        0,   421,     0,     0,   423,   424,   425,     0,     0,   426,
   13945             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   13946             :      437,   438,   439,   440,   441,   442,   443,   444,   445,     0,
   13947             :      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   13948             :      457,   458,     0,   459,   460,     0,   462,     0,   463,   464,
   13949             :      465,   466,   467,   468,     0,   469,   470,   471,     0,     0,
   13950             :      472,   473,   474,     0,     0,   475,   476,   477,     0,   479,
   13951             :        0,   481,   482,   483,   484,   485,   486,   487,   488,   489,
   13952             :      490,   491,   492,   493,   494,     0,   495,   496,   497,   498,
   13953             :      499,   500,   501,   502,   503,     0,   504,   505,   506,   507,
   13954             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   13955             :      874,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   13956             :      527,   528,   529,   530,   531,   532,     0,   533,   534,     0,
   13957             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   13958             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   13959             :      555,   556,     0,   557,   558,   559,   560,   561,     0,   563,
   13960             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   13961             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   13962             :      583,   584,     0,   585,   586,     0,     0,   587,     0,   589,
   13963             :      590,   591,   592,   593,   594,     0,   595,   596,   597,     0,
   13964             :        0,   598,   599,   600,   601,   602,     0,   603,   604,   605,
   13965             :      606,   607,   608,   609,   610,   611,     0,     0,   612,   613,
   13966             :      614,   615,   616,     0,     0,   617,   618,   619,   620,   621,
   13967             :      622,   623,     0,   624,     0,   626,   627,   628,   629,     0,
   13968             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   13969             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   13970             :      647,   648,   649,   650,   658,     0,     0,     0,     0,     0,
   13971             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13972             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   13973             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   13974             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
   13975             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
   13976             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   13977             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
   13978             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
   13979             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   13980             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
   13981             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
   13982             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   13983             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   13984             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   13985             :      334,   335,   336,     0,   337,   338,   339,   340,   341,   342,
   13986             :      343,   344,   345,   346,     0,   347,     0,   348,   349,   350,
   13987             :      351,   352,     0,   353,     0,   354,   355,     0,     0,     0,
   13988             :      358,   359,   360,   361,     0,   362,   363,     0,   364,   365,
   13989             :      366,     0,   367,   368,   369,   370,  1002,     0,   373,   374,
   13990             :      375,   376,     0,   377,   378,   379,   380,   381,   382,   383,
   13991             :      384,     0,   385,     0,   387,   388,   389,   390,   391,   392,
   13992             :      393,     0,   394,     0,   395,     0,     0,   398,     0,   400,
   13993             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   13994             :      411,   412,   413,   414,   415,   416,   417,     0,     0,   418,
   13995             :      419,     0,   421,     0,     0,   423,   424,   425,     0,     0,
   13996             :      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   13997             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   13998             :        0,   447,   448,   449,   450,   451,   452,   453,   454,   455,
   13999             :      456,   457,   458,     0,   459,   460,     0,   462,     0,   463,
   14000             :      464,   465,   466,   467,   468,     0,   469,   470,   471,     0,
   14001             :        0,   472,   473,   474,     0,     0,   475,   476,   477,     0,
   14002             :      479,     0,   481,   482,   483,   484,   485,   486,   487,   488,
   14003             :      489,   490,   491,   492,   493,   494,     0,   495,   496,   497,
   14004             :      498,   499,   500,   501,   502,   503,     0,   504,   505,   506,
   14005             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   14006             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   14007             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   14008             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   14009             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   14010             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
   14011             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   14012             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   14013             :      582,   583,   584,     0,   585,   586,     0,     0,   587,     0,
   14014             :      589,   590,   591,   592,   593,   594,     0,   595,   596,   597,
   14015             :        0,     0,   598,   599,   600,   601,   602,     0,   603,   604,
   14016             :      605,   606,   607,   608,   609,   610,   611,     0,     0,   612,
   14017             :      613,   614,   615,   616,     0,     0,   617,   618,   619,   620,
   14018             :      621,   622,   623,     0,   624,     0,   626,   627,   628,   629,
   14019             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   14020             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   14021             :      646,   647,   648,   649,   650,   658,     0,     0,     0,     0,
   14022             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14023             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   14024             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   14025             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   14026             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
   14027             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   14028             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
   14029             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
   14030             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   14031             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
   14032             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   14033             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   14034             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   14035             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   14036             :      333,   334,   335,   336,     0,   337,   338,   339,   340,   341,
   14037             :      342,   343,   344,   345,   346,     0,   347,     0,   348,   349,
   14038             :      350,   351,   352,     0,   353,     0,   354,   355,     0,     0,
   14039             :        0,   358,   359,   360,   361,     0,   362,   363,     0,   364,
   14040             :      365,   366,     0,   367,   368,   369,   370,  1012,     0,   373,
   14041             :      374,   375,   376,     0,   377,   378,   379,   380,   381,   382,
   14042             :      383,   384,     0,   385,     0,   387,   388,   389,   390,   391,
   14043             :      392,   393,     0,   394,     0,   395,     0,     0,   398,     0,
   14044             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   14045             :      410,   411,   412,   413,   414,   415,   416,   417,     0,     0,
   14046             :      418,   419,     0,   421,     0,     0,   423,   424,   425,     0,
   14047             :        0,   426,   427,   428,   429,   430,   431,   432,   433,   434,
   14048             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   14049             :      445,     0,   447,   448,   449,   450,   451,   452,   453,   454,
   14050             :      455,   456,   457,   458,     0,   459,   460,     0,   462,     0,
   14051             :      463,   464,   465,   466,   467,   468,     0,   469,   470,   471,
   14052             :        0,     0,   472,   473,   474,     0,     0,   475,   476,   477,
   14053             :        0,   479,     0,   481,   482,   483,   484,   485,   486,   487,
   14054             :      488,   489,   490,   491,   492,   493,   494,     0,   495,   496,
   14055             :      497,   498,   499,   500,   501,   502,   503,     0,   504,   505,
   14056             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   14057             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   14058             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   14059             :      534,     0,   536,   537,   538,   539,   540,   541,   542,   543,
   14060             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   14061             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
   14062             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   14063             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   14064             :      581,   582,   583,   584,     0,   585,   586,     0,     0,   587,
   14065             :        0,   589,   590,   591,   592,   593,   594,     0,   595,   596,
   14066             :      597,     0,     0,   598,   599,   600,   601,   602,     0,   603,
   14067             :      604,   605,   606,   607,   608,   609,   610,   611,     0,     0,
   14068             :      612,   613,   614,   615,   616,     0,     0,   617,   618,   619,
   14069             :      620,   621,   622,   623,     0,   624,     0,   626,   627,   628,
   14070             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   14071             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   14072             :      645,   646,   647,   648,   649,   650,   658,     0,     0,     0,
   14073             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14074             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   14075             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
   14076             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   14077             :      253,     0,   255,   256,   257,   258,   259,     0,   261,   262,
   14078             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   14079             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   14080             :      279,     0,     0,     0,   281,   282,   283,   284,   285,   286,
   14081             :        0,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   14082             :      296,   297,     0,     0,   299,   300,   301,     0,     0,     0,
   14083             :        0,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   14084             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
   14085             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   14086             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   14087             :        0,   333,   334,   335,   336,     0,   337,   338,   339,   340,
   14088             :      341,   342,   343,   344,   345,   346,     0,   347,     0,   348,
   14089             :      349,   350,   351,   352,     0,   353,     0,   354,   355,     0,
   14090             :        0,     0,   358,   359,   360,   361,     0,   362,   363,     0,
   14091             :      364,   365,   366,     0,   367,   368,   369,   370,  1015,     0,
   14092             :      373,   374,   375,   376,     0,   377,   378,   379,   380,   381,
   14093             :      382,   383,   384,     0,   385,     0,   387,   388,   389,   390,
   14094             :      391,   392,   393,     0,   394,     0,   395,     0,     0,   398,
   14095             :        0,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   14096             :      409,   410,   411,   412,   413,   414,   415,   416,   417,     0,
   14097             :        0,   418,   419,     0,   421,     0,     0,   423,   424,   425,
   14098             :        0,     0,   426,   427,   428,   429,   430,   431,   432,   433,
   14099             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   14100             :      444,   445,     0,   447,   448,   449,   450,   451,   452,   453,
   14101             :      454,   455,   456,   457,   458,     0,   459,   460,     0,   462,
   14102             :        0,   463,   464,   465,   466,   467,   468,     0,   469,   470,
   14103             :      471,     0,     0,   472,   473,   474,     0,     0,   475,   476,
   14104             :      477,     0,   479,     0,   481,   482,   483,   484,   485,   486,
   14105             :      487,   488,   489,   490,   491,   492,   493,   494,     0,   495,
   14106             :      496,   497,   498,   499,   500,   501,   502,   503,     0,   504,
   14107             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   14108             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   14109             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   14110             :      533,   534,     0,   536,   537,   538,   539,   540,   541,   542,
   14111             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   14112             :      552,   553,   554,   555,   556,     0,   557,   558,   559,   560,
   14113             :      561,     0,   563,   564,   565,   566,     0,   567,   568,   569,
   14114             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   14115             :      580,   581,   582,   583,   584,     0,   585,   586,     0,     0,
   14116             :      587,     0,   589,   590,   591,   592,   593,   594,     0,   595,
   14117             :      596,   597,     0,     0,   598,   599,   600,   601,   602,     0,
   14118             :      603,   604,   605,   606,   607,   608,   609,   610,   611,     0,
   14119             :        0,   612,   613,   614,   615,   616,     0,     0,   617,   618,
   14120             :      619,   620,   621,   622,   623,     0,   624,     0,   626,   627,
   14121             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   14122             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   14123             :      644,   645,   646,   647,   648,   649,   650,   658,     0,     0,
   14124             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14125             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   14126             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
   14127             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   14128             :      252,   253,     0,   255,   256,   257,   258,   259,     0,   261,
   14129             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   14130             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   14131             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
   14132             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
   14133             :      295,   296,   297,     0,     0,   299,   300,   301,     0,     0,
   14134             :        0,     0,     0,     0,     0,   303,   304,   305,   306,   307,
   14135             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   14136             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   14137             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   14138             :      332,     0,   333,   334,   335,   336,     0,   337,   338,   339,
   14139             :      340,   341,   342,   343,   344,   345,   346,     0,   347,     0,
   14140             :      348,   349,   350,   351,   352,     0,   353,     0,   354,   355,
   14141             :        0,     0,     0,   358,   359,   360,   361,     0,   362,   363,
   14142             :        0,   364,   365,   366,     0,   367,   368,   369,   370,  1031,
   14143             :        0,   373,   374,   375,   376,     0,   377,   378,   379,   380,
   14144             :      381,   382,   383,   384,     0,   385,     0,   387,   388,   389,
   14145             :      390,   391,   392,   393,     0,   394,     0,   395,     0,     0,
   14146             :      398,     0,   400,   401,   402,   403,   404,   405,   406,   407,
   14147             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   14148             :        0,     0,   418,   419,     0,   421,     0,     0,   423,   424,
   14149             :      425,     0,     0,   426,   427,   428,   429,   430,   431,   432,
   14150             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   14151             :      443,   444,   445,     0,   447,   448,   449,   450,   451,   452,
   14152             :      453,   454,   455,   456,   457,   458,     0,   459,   460,     0,
   14153             :      462,     0,   463,   464,   465,   466,   467,   468,     0,   469,
   14154             :      470,   471,     0,     0,   472,   473,   474,     0,     0,   475,
   14155             :      476,   477,     0,   479,     0,   481,   482,   483,   484,   485,
   14156             :      486,   487,   488,   489,   490,   491,   492,   493,   494,     0,
   14157             :      495,   496,   497,   498,   499,   500,   501,   502,   503,     0,
   14158             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   14159             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
   14160             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   14161             :        0,   533,   534,     0,   536,   537,   538,   539,   540,   541,
   14162             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   14163             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   559,
   14164             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
   14165             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   14166             :      579,   580,   581,   582,   583,   584,     0,   585,   586,     0,
   14167             :        0,   587,     0,   589,   590,   591,   592,   593,   594,     0,
   14168             :      595,   596,   597,     0,     0,   598,   599,   600,   601,   602,
   14169             :        0,   603,   604,   605,   606,   607,   608,   609,   610,   611,
   14170             :        0,     0,   612,   613,   614,   615,   616,     0,     0,   617,
   14171             :      618,   619,   620,   621,   622,   623,     0,   624,     0,   626,
   14172             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   14173             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   14174             :      643,   644,   645,   646,   647,   648,   649,   650,   658,     0,
   14175             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14176             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
   14177             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
   14178             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   14179             :      251,   252,   253,     0,   255,   256,   257,   258,   259,     0,
   14180             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   14181             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
   14182             :      277,   278,   279,     0,     0,     0,   281,   282,   283,   284,
   14183             :      285,   286,     0,   288,   289,   290,   291,     0,   292,   293,
   14184             :      294,   295,   296,   297,     0,     0,   299,   300,   301,     0,
   14185             :        0,     0,     0,     0,     0,     0,   303,   304,   305,   306,
   14186             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   14187             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   14188             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   14189             :      331,   332,     0,   333,   334,   335,   336,     0,   337,   338,
   14190             :      339,   340,   341,   342,   343,   344,   345,   346,     0,   347,
   14191             :        0,   348,   349,   350,   351,   352,     0,   353,     0,   354,
   14192             :      355,     0,     0,     0,   358,   359,   360,   361,     0,   362,
   14193             :      363,     0,   364,   365,   366,     0,   367,   368,   369,   370,
   14194             :     1088,     0,   373,   374,   375,   376,     0,   377,   378,   379,
   14195             :      380,   381,   382,   383,   384,     0,   385,     0,   387,   388,
   14196             :      389,   390,   391,   392,   393,     0,   394,     0,   395,     0,
   14197             :        0,   398,     0,   400,   401,   402,   403,   404,   405,   406,
   14198             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   14199             :      417,     0,     0,   418,   419,     0,   421,     0,     0,   423,
   14200             :      424,   425,     0,     0,   426,   427,   428,   429,   430,   431,
   14201             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   14202             :      442,   443,   444,   445,     0,   447,   448,   449,   450,   451,
   14203             :      452,   453,   454,   455,   456,   457,   458,     0,   459,   460,
   14204             :        0,   462,     0,   463,   464,   465,   466,   467,   468,     0,
   14205             :      469,   470,   471,     0,     0,   472,   473,   474,     0,     0,
   14206             :      475,   476,   477,     0,   479,     0,   481,   482,   483,   484,
   14207             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   14208             :        0,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   14209             :        0,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   14210             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
   14211             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   14212             :      532,     0,   533,   534,     0,   536,   537,   538,   539,   540,
   14213             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   14214             :      551,     0,   552,   553,   554,   555,   556,     0,   557,   558,
   14215             :      559,   560,   561,     0,   563,   564,   565,   566,     0,   567,
   14216             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   14217             :      578,   579,   580,   581,   582,   583,   584,     0,   585,   586,
   14218             :        0,     0,   587,     0,   589,   590,   591,   592,   593,   594,
   14219             :        0,   595,   596,   597,     0,     0,   598,   599,   600,   601,
   14220             :      602,     0,   603,   604,   605,   606,   607,   608,   609,   610,
   14221             :      611,     0,     0,   612,   613,   614,   615,   616,     0,     0,
   14222             :      617,   618,   619,   620,   621,   622,   623,     0,   624,     0,
   14223             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   14224             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
   14225             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   658,
   14226             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14227             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
   14228             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
   14229             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   14230             :      250,   251,   252,   253,     0,   255,   256,   257,   258,   259,
   14231             :        0,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   14232             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
   14233             :      276,   277,   278,   279,     0,     0,     0,   281,   282,   283,
   14234             :      284,   285,   286,     0,   288,   289,   290,   291,     0,   292,
   14235             :      293,   294,   295,   296,   297,     0,     0,   299,   300,   301,
   14236             :        0,     0,     0,     0,     0,     0,     0,   303,   304,   305,
   14237             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   14238             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   14239             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   14240             :      330,   331,   332,     0,   333,   334,   335,   336,     0,   337,
   14241             :      338,   339,   340,   341,   342,   343,   344,   345,   346,     0,
   14242             :      347,     0,   348,   349,   350,   351,   352,     0,   353,     0,
   14243             :      354,   355,     0,     0,     0,   358,   359,   360,   361,     0,
   14244             :      362,   363,     0,   364,   365,   366,     0,   367,   368,   369,
   14245             :      370,  1093,     0,   373,   374,   375,   376,     0,   377,   378,
   14246             :      379,   380,   381,   382,   383,   384,     0,   385,     0,   387,
   14247             :      388,   389,   390,   391,   392,   393,     0,   394,     0,   395,
   14248             :        0,     0,   398,     0,   400,   401,   402,   403,   404,   405,
   14249             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   14250             :      416,   417,     0,     0,   418,   419,     0,   421,     0,     0,
   14251             :      423,   424,   425,     0,     0,   426,   427,   428,   429,   430,
   14252             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   14253             :      441,   442,   443,   444,   445,     0,   447,   448,   449,   450,
   14254             :      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
   14255             :      460,     0,   462,     0,   463,   464,   465,   466,   467,   468,
   14256             :        0,   469,   470,   471,     0,     0,   472,   473,   474,     0,
   14257             :        0,   475,   476,   477,     0,   479,     0,   481,   482,   483,
   14258             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   14259             :      494,     0,   495,   496,   497,   498,   499,   500,   501,   502,
   14260             :      503,     0,   504,   505,   506,   507,   508,   509,   510,   511,
   14261             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   14262             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   14263             :      531,   532,     0,   533,   534,     0,   536,   537,   538,   539,
   14264             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
   14265             :      550,   551,     0,   552,   553,   554,   555,   556,     0,   557,
   14266             :      558,   559,   560,   561,     0,   563,   564,   565,   566,     0,
   14267             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   14268             :      577,   578,   579,   580,   581,   582,   583,   584,     0,   585,
   14269             :      586,     0,     0,   587,     0,   589,   590,   591,   592,   593,
   14270             :      594,     0,   595,   596,   597,     0,     0,   598,   599,   600,
   14271             :      601,   602,     0,   603,   604,   605,   606,   607,   608,   609,
   14272             :      610,   611,     0,     0,   612,   613,   614,   615,   616,     0,
   14273             :        0,   617,   618,   619,   620,   621,   622,   623,     0,   624,
   14274             :        0,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   14275             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
   14276             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   14277             :      658,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14278             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   14279             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   14280             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   14281             :        0,   250,   251,   252,   253,     0,   255,   256,   257,   258,
   14282             :      259,     0,   261,   262,     0,   263,   264,   265,   266,   267,
   14283             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
   14284             :      275,   276,   277,   278,   279,     0,     0,     0,   281,   282,
   14285             :      283,   284,   285,   286,     0,   288,   289,   290,   291,     0,
   14286             :      292,   293,   294,   295,   296,   297,     0,     0,   299,   300,
   14287             :      301,     0,     0,     0,     0,     0,     0,     0,   303,   304,
   14288             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   14289             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   14290             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
   14291             :      329,   330,   331,   332,     0,   333,   334,   335,   336,     0,
   14292             :      337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   14293             :        0,   347,     0,   348,   349,   350,   351,   352,     0,   353,
   14294             :        0,   354,   355,     0,     0,     0,   358,   359,   360,   361,
   14295             :        0,   362,   363,     0,   364,   365,   366,     0,   367,   368,
   14296             :      369,   370,  1110,     0,   373,   374,   375,   376,     0,   377,
   14297             :      378,   379,   380,   381,   382,   383,   384,     0,   385,     0,
   14298             :      387,   388,   389,   390,   391,   392,   393,     0,   394,     0,
   14299             :      395,     0,     0,   398,     0,   400,   401,   402,   403,   404,
   14300             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   14301             :      415,   416,   417,     0,     0,   418,   419,     0,   421,     0,
   14302             :        0,   423,   424,   425,     0,     0,   426,   427,   428,   429,
   14303             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   14304             :      440,   441,   442,   443,   444,   445,     0,   447,   448,   449,
   14305             :      450,   451,   452,   453,   454,   455,   456,   457,   458,     0,
   14306             :      459,   460,     0,   462,     0,   463,   464,   465,   466,   467,
   14307             :      468,     0,   469,   470,   471,     0,     0,   472,   473,   474,
   14308             :        0,     0,   475,   476,   477,     0,   479,     0,   481,   482,
   14309             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   14310             :      493,   494,     0,   495,   496,   497,   498,   499,   500,   501,
   14311             :      502,   503,     0,   504,   505,   506,   507,   508,   509,   510,
   14312             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   14313             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   14314             :      530,   531,   532,     0,   533,   534,     0,   536,   537,   538,
   14315             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
   14316             :      549,   550,   551,     0,   552,   553,   554,   555,   556,     0,
   14317             :      557,   558,   559,   560,   561,     0,   563,   564,   565,   566,
   14318             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   14319             :      576,   577,   578,   579,   580,   581,   582,   583,   584,     0,
   14320             :      585,   586,     0,     0,   587,     0,   589,   590,   591,   592,
   14321             :      593,   594,     0,   595,   596,   597,     0,     0,   598,   599,
   14322             :      600,   601,   602,     0,   603,   604,   605,   606,   607,   608,
   14323             :      609,   610,   611,     0,     0,   612,   613,   614,   615,   616,
   14324             :        0,     0,   617,   618,   619,   620,   621,   622,   623,     0,
   14325             :      624,     0,   626,   627,   628,   629,     0,     0,   630,     0,
   14326             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   14327             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   14328             :      650,   658,     0,     0,     0,     0,     0,     0,     0,     0,
   14329             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   14330             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   14331             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   14332             :      249,     0,   250,   251,   252,   253,     0,   255,   256,   257,
   14333             :      258,   259,     0,   261,   262,     0,   263,   264,   265,   266,
   14334             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
   14335             :        0,   275,   276,   277,   278,   279,     0,     0,     0,   281,
   14336             :      282,   283,   284,   285,   286,     0,   288,   289,   290,   291,
   14337             :        0,   292,   293,   294,   295,   296,   297,     0,     0,   299,
   14338             :      300,   301,     0,     0,     0,     0,     0,     0,     0,   303,
   14339             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   14340             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   14341             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   14342             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   14343             :        0,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   14344             :      346,     0,   347,     0,   348,   349,   350,   351,   352,     0,
   14345             :      353,     0,   354,   355,     0,     0,     0,   358,   359,   360,
   14346             :      361,     0,   362,   363,     0,   364,   365,   366,     0,   367,
   14347             :      368,   369,   370,  1113,     0,   373,   374,   375,   376,     0,
   14348             :      377,   378,   379,   380,   381,   382,   383,   384,     0,   385,
   14349             :        0,   387,   388,   389,   390,   391,   392,   393,     0,   394,
   14350             :        0,   395,     0,     0,   398,     0,   400,   401,   402,   403,
   14351             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   14352             :      414,   415,   416,   417,     0,     0,   418,   419,     0,   421,
   14353             :        0,     0,   423,   424,   425,     0,     0,   426,   427,   428,
   14354             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   14355             :      439,   440,   441,   442,   443,   444,   445,     0,   447,   448,
   14356             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   14357             :        0,   459,   460,     0,   462,     0,   463,   464,   465,   466,
   14358             :      467,   468,     0,   469,   470,   471,     0,     0,   472,   473,
   14359             :      474,     0,     0,   475,   476,   477,     0,   479,     0,   481,
   14360             :      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   14361             :      492,   493,   494,     0,   495,   496,   497,   498,   499,   500,
   14362             :      501,   502,   503,     0,   504,   505,   506,   507,   508,   509,
   14363             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   14364             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   14365             :      529,   530,   531,   532,     0,   533,   534,     0,   536,   537,
   14366             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   14367             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
   14368             :        0,   557,   558,   559,   560,   561,     0,   563,   564,   565,
   14369             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   14370             :      575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
   14371             :        0,   585,   586,     0,     0,   587,     0,   589,   590,   591,
   14372             :      592,   593,   594,     0,   595,   596,   597,     0,     0,   598,
   14373             :      599,   600,   601,   602,     0,   603,   604,   605,   606,   607,
   14374             :      608,   609,   610,   611,     0,     0,   612,   613,   614,   615,
   14375             :      616,     0,     0,   617,   618,   619,   620,   621,   622,   623,
   14376             :        0,   624,     0,   626,   627,   628,   629,     0,     0,   630,
   14377             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
   14378             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   14379             :      649,   650,   658,     0,     0,     0,     0,     0,     0,     0,
   14380             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   14381             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   14382             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   14383             :      248,   249,     0,   250,   251,   252,   253,     0,   255,   256,
   14384             :      257,   258,   259,     0,   261,   262,     0,   263,   264,   265,
   14385             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
   14386             :      274,     0,   275,   276,   277,   278,   279,     0,     0,     0,
   14387             :      281,   282,   283,   284,   285,   286,     0,   288,   289,   290,
   14388             :      291,     0,   292,   293,   294,   295,   296,   297,     0,     0,
   14389             :      299,   300,   301,     0,     0,     0,     0,     0,     0,     0,
   14390             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   14391             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   14392             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   14393             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   14394             :      336,     0,   337,   338,   339,   340,   341,   342,   343,   344,
   14395             :      345,   346,     0,   347,     0,   348,   349,   350,   351,   352,
   14396             :        0,   353,     0,   354,   355,     0,     0,     0,   358,   359,
   14397             :      360,   361,     0,   362,   363,     0,   364,   365,   366,     0,
   14398             :      367,   368,   369,   370,  1115,     0,   373,   374,   375,   376,
   14399             :        0,   377,   378,   379,   380,   381,   382,   383,   384,     0,
   14400             :      385,     0,   387,   388,   389,   390,   391,   392,   393,     0,
   14401             :      394,     0,   395,     0,     0,   398,     0,   400,   401,   402,
   14402             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   14403             :      413,   414,   415,   416,   417,     0,     0,   418,   419,     0,
   14404             :      421,     0,     0,   423,   424,   425,     0,     0,   426,   427,
   14405             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   14406             :      438,   439,   440,   441,   442,   443,   444,   445,     0,   447,
   14407             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   14408             :      458,     0,   459,   460,     0,   462,     0,   463,   464,   465,
   14409             :      466,   467,   468,     0,   469,   470,   471,     0,     0,   472,
   14410             :      473,   474,     0,     0,   475,   476,   477,     0,   479,     0,
   14411             :      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
   14412             :      491,   492,   493,   494,     0,   495,   496,   497,   498,   499,
   14413             :      500,   501,   502,   503,     0,   504,   505,   506,   507,   508,
   14414             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   14415             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   14416             :      528,   529,   530,   531,   532,     0,   533,   534,     0,   536,
   14417             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   14418             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   14419             :      556,     0,   557,   558,   559,   560,   561,     0,   563,   564,
   14420             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   14421             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   14422             :      584,     0,   585,   586,     0,     0,   587,     0,   589,   590,
   14423             :      591,   592,   593,   594,     0,   595,   596,   597,     0,     0,
   14424             :      598,   599,   600,   601,   602,     0,   603,   604,   605,   606,
   14425             :      607,   608,   609,   610,   611,     0,     0,   612,   613,   614,
   14426             :      615,   616,     0,     0,   617,   618,   619,   620,   621,   622,
   14427             :      623,     0,   624,     0,   626,   627,   628,   629,     0,     0,
   14428             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
   14429             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   14430             :      648,   649,   650,   658,     0,     0,     0,     0,     0,     0,
   14431             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14432             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   14433             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   14434             :      247,   248,   249,     0,   250,   251,   252,   253,     0,   255,
   14435             :      256,   257,   258,   259,     0,   261,   262,     0,   263,   264,
   14436             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   14437             :      273,   274,     0,   275,   276,   277,   278,   279,     0,     0,
   14438             :        0,   281,   282,   283,   284,   285,   286,     0,   288,   289,
   14439             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   14440             :        0,   299,   300,   301,     0,     0,     0,     0,     0,     0,
   14441             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   14442             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   14443             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   14444             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   14445             :      335,   336,     0,   337,   338,   339,   340,   341,   342,   343,
   14446             :      344,   345,   346,     0,   347,     0,   348,   349,   350,   351,
   14447             :      352,     0,   353,     0,   354,   355,     0,     0,     0,   358,
   14448             :      359,   360,   361,     0,   362,   363,     0,   364,   365,   366,
   14449             :        0,   367,   368,   369,   370,  1153,     0,   373,   374,   375,
   14450             :      376,     0,   377,   378,   379,   380,   381,   382,   383,   384,
   14451             :        0,   385,     0,   387,   388,   389,   390,   391,   392,   393,
   14452             :        0,   394,     0,   395,     0,     0,   398,     0,   400,   401,
   14453             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   14454             :      412,   413,   414,   415,   416,   417,     0,     0,   418,   419,
   14455             :        0,   421,     0,     0,   423,   424,   425,     0,     0,   426,
   14456             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   14457             :      437,   438,   439,   440,   441,   442,   443,   444,   445,     0,
   14458             :      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   14459             :      457,   458,     0,   459,   460,     0,   462,     0,   463,   464,
   14460             :      465,   466,   467,   468,     0,   469,   470,   471,     0,     0,
   14461             :      472,   473,   474,     0,     0,   475,   476,   477,     0,   479,
   14462             :        0,   481,   482,   483,   484,   485,   486,   487,   488,   489,
   14463             :      490,   491,   492,   493,   494,     0,   495,   496,   497,   498,
   14464             :      499,   500,   501,   502,   503,     0,   504,   505,   506,   507,
   14465             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   14466             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   14467             :      527,   528,   529,   530,   531,   532,     0,   533,   534,     0,
   14468             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   14469             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   14470             :      555,   556,     0,   557,   558,   559,   560,   561,     0,   563,
   14471             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   14472             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   14473             :      583,   584,     0,   585,   586,     0,     0,   587,     0,   589,
   14474             :      590,   591,   592,   593,   594,     0,   595,   596,   597,     0,
   14475             :        0,   598,   599,   600,   601,   602,     0,   603,   604,   605,
   14476             :      606,   607,   608,   609,   610,   611,     0,     0,   612,   613,
   14477             :      614,   615,   616,     0,     0,   617,   618,   619,   620,   621,
   14478             :      622,   623,     0,   624,     0,   626,   627,   628,   629,     0,
   14479             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   14480             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   14481             :      647,   648,   649,   650,   658,     0,     0,     0,     0,     0,
   14482             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14483             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   14484             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   14485             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
   14486             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
   14487             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   14488             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
   14489             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
   14490             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   14491             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
   14492             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
   14493             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   14494             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   14495             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   14496             :      334,   335,   336,     0,   337,   338,   339,   340,   341,   342,
   14497             :      343,   344,   345,   346,     0,   347,     0,   348,   349,   350,
   14498             :      351,   352,     0,   353,     0,   354,   355,     0,     0,     0,
   14499             :      358,   359,   360,   361,     0,   362,   363,     0,   364,   365,
   14500             :      366,     0,   367,   368,   369,   370,  1181,     0,   373,   374,
   14501             :      375,   376,     0,   377,   378,   379,   380,   381,   382,   383,
   14502             :      384,     0,   385,     0,   387,   388,   389,   390,   391,   392,
   14503             :      393,     0,   394,     0,   395,     0,     0,   398,     0,   400,
   14504             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   14505             :      411,   412,   413,   414,   415,   416,   417,     0,     0,   418,
   14506             :      419,     0,   421,     0,     0,   423,   424,   425,     0,     0,
   14507             :      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   14508             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   14509             :        0,   447,   448,   449,   450,   451,   452,   453,   454,   455,
   14510             :      456,   457,   458,     0,   459,   460,     0,   462,     0,   463,
   14511             :      464,   465,   466,   467,   468,     0,   469,   470,   471,     0,
   14512             :        0,   472,   473,   474,     0,     0,   475,   476,   477,     0,
   14513             :      479,     0,   481,   482,   483,   484,   485,   486,   487,   488,
   14514             :      489,   490,   491,   492,   493,   494,     0,   495,   496,   497,
   14515             :      498,   499,   500,   501,   502,   503,     0,   504,   505,   506,
   14516             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   14517             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   14518             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   14519             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   14520             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   14521             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
   14522             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   14523             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   14524             :      582,   583,   584,     0,   585,   586,     0,     0,   587,     0,
   14525             :      589,   590,   591,   592,   593,   594,     0,   595,   596,   597,
   14526             :        0,     0,   598,   599,   600,   601,   602,     0,   603,   604,
   14527             :      605,   606,   607,   608,   609,   610,   611,     0,     0,   612,
   14528             :      613,   614,   615,   616,     0,     0,   617,   618,   619,   620,
   14529             :      621,   622,   623,     0,   624,     0,   626,   627,   628,   629,
   14530             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   14531             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   14532             :      646,   647,   648,   649,   650,   658,     0,     0,     0,     0,
   14533             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14534             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   14535             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   14536             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   14537             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
   14538             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   14539             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
   14540             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
   14541             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   14542             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
   14543             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   14544             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   14545             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   14546             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   14547             :      333,   334,   335,   336,     0,   337,   338,   339,   340,   341,
   14548             :      342,   343,   344,   345,   346,     0,   347,     0,   348,   349,
   14549             :      350,   351,   352,     0,   353,     0,   354,   355,     0,     0,
   14550             :        0,   358,   359,   360,   361,     0,   362,   363,     0,   364,
   14551             :      365,   366,     0,   367,   368,   369,   370,  1183,     0,   373,
   14552             :      374,   375,   376,     0,   377,   378,   379,   380,   381,   382,
   14553             :      383,   384,     0,   385,     0,   387,   388,   389,   390,   391,
   14554             :      392,   393,     0,   394,     0,   395,     0,     0,   398,     0,
   14555             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   14556             :      410,   411,   412,   413,   414,   415,   416,   417,     0,     0,
   14557             :      418,   419,     0,   421,     0,     0,   423,   424,   425,     0,
   14558             :        0,   426,   427,   428,   429,   430,   431,   432,   433,   434,
   14559             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   14560             :      445,     0,   447,   448,   449,   450,   451,   452,   453,   454,
   14561             :      455,   456,   457,   458,     0,   459,   460,     0,   462,     0,
   14562             :      463,   464,   465,   466,   467,   468,     0,   469,   470,   471,
   14563             :        0,     0,   472,   473,   474,     0,     0,   475,   476,   477,
   14564             :        0,   479,     0,   481,   482,   483,   484,   485,   486,   487,
   14565             :      488,   489,   490,   491,   492,   493,   494,     0,   495,   496,
   14566             :      497,   498,   499,   500,   501,   502,   503,     0,   504,   505,
   14567             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   14568             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   14569             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   14570             :      534,     0,   536,   537,   538,   539,   540,   541,   542,   543,
   14571             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   14572             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
   14573             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   14574             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   14575             :      581,   582,   583,   584,     0,   585,   586,     0,     0,   587,
   14576             :        0,   589,   590,   591,   592,   593,   594,     0,   595,   596,
   14577             :      597,     0,     0,   598,   599,   600,   601,   602,     0,   603,
   14578             :      604,   605,   606,   607,   608,   609,   610,   611,     0,     0,
   14579             :      612,   613,   614,   615,   616,     0,     0,   617,   618,   619,
   14580             :      620,   621,   622,   623,     0,   624,     0,   626,   627,   628,
   14581             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   14582             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   14583             :      645,   646,   647,   648,   649,   650,   658,     0,     0,     0,
   14584             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14585             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   14586             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
   14587             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   14588             :      253,     0,   255,   256,   257,   258,   259,     0,   261,   262,
   14589             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   14590             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   14591             :      279,     0,     0,     0,   281,   282,   283,   284,   285,   286,
   14592             :        0,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   14593             :      296,   297,     0,     0,   299,   300,   301,     0,     0,     0,
   14594             :        0,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   14595             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
   14596             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   14597             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   14598             :        0,   333,   334,   335,   336,     0,   337,   338,   339,   340,
   14599             :      341,   342,   343,   344,   345,   346,     0,   347,     0,   348,
   14600             :      349,   350,   351,   352,     0,   353,     0,   354,   355,     0,
   14601             :        0,     0,   358,   359,   360,   361,     0,   362,   363,     0,
   14602             :      364,   365,   366,     0,   367,   368,   369,   370,  1193,     0,
   14603             :      373,   374,   375,   376,     0,   377,   378,   379,   380,   381,
   14604             :      382,   383,   384,     0,   385,     0,   387,   388,   389,   390,
   14605             :      391,   392,   393,     0,   394,     0,   395,     0,     0,   398,
   14606             :        0,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   14607             :      409,   410,   411,   412,   413,   414,   415,   416,   417,     0,
   14608             :        0,   418,   419,     0,   421,     0,     0,   423,   424,   425,
   14609             :        0,     0,   426,   427,   428,   429,   430,   431,   432,   433,
   14610             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   14611             :      444,   445,     0,   447,   448,   449,   450,   451,   452,   453,
   14612             :      454,   455,   456,   457,   458,     0,   459,   460,     0,   462,
   14613             :        0,   463,   464,   465,   466,   467,   468,     0,   469,   470,
   14614             :      471,     0,     0,   472,   473,   474,     0,     0,   475,   476,
   14615             :      477,     0,   479,     0,   481,   482,   483,   484,   485,   486,
   14616             :      487,   488,   489,   490,   491,   492,   493,   494,     0,   495,
   14617             :      496,   497,   498,   499,   500,   501,   502,   503,     0,   504,
   14618             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   14619             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   14620             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   14621             :      533,   534,     0,   536,   537,   538,   539,   540,   541,   542,
   14622             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   14623             :      552,   553,   554,   555,   556,     0,   557,   558,   559,   560,
   14624             :      561,     0,   563,   564,   565,   566,     0,   567,   568,   569,
   14625             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   14626             :      580,   581,   582,   583,   584,     0,   585,   586,     0,     0,
   14627             :      587,     0,   589,   590,   591,   592,   593,   594,     0,   595,
   14628             :      596,   597,     0,     0,   598,   599,   600,   601,   602,     0,
   14629             :      603,   604,   605,   606,   607,   608,   609,   610,   611,     0,
   14630             :        0,   612,   613,   614,   615,   616,     0,     0,   617,   618,
   14631             :      619,   620,   621,   622,   623,     0,   624,     0,   626,   627,
   14632             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   14633             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   14634             :      644,   645,   646,   647,   648,   649,   650,   658,     0,     0,
   14635             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14636             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   14637             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
   14638             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   14639             :      252,   253,     0,   255,   256,   257,   258,   259,     0,   261,
   14640             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   14641             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   14642             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
   14643             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
   14644             :      295,   296,   297,     0,     0,   299,   300,   301,     0,     0,
   14645             :        0,     0,     0,     0,     0,   303,   304,   305,   306,   307,
   14646             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   14647             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   14648             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   14649             :      332,     0,   333,   334,   335,   336,     0,   337,   338,   339,
   14650             :      340,   341,   342,   343,   344,   345,   346,     0,   347,     0,
   14651             :      348,   349,   350,   351,   352,     0,   353,     0,   354,   355,
   14652             :        0,     0,     0,   358,   359,   360,   361,     0,   362,   363,
   14653             :        0,   364,   365,   366,     0,   367,   368,   369,   370,  1196,
   14654             :        0,   373,   374,   375,   376,     0,   377,   378,   379,   380,
   14655             :      381,   382,   383,   384,     0,   385,     0,   387,   388,   389,
   14656             :      390,   391,   392,   393,     0,   394,     0,   395,     0,     0,
   14657             :      398,     0,   400,   401,   402,   403,   404,   405,   406,   407,
   14658             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   14659             :        0,     0,   418,   419,     0,   421,     0,     0,   423,   424,
   14660             :      425,     0,     0,   426,   427,   428,   429,   430,   431,   432,
   14661             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   14662             :      443,   444,   445,     0,   447,   448,   449,   450,   451,   452,
   14663             :      453,   454,   455,   456,   457,   458,     0,   459,   460,     0,
   14664             :      462,     0,   463,   464,   465,   466,   467,   468,     0,   469,
   14665             :      470,   471,     0,     0,   472,   473,   474,     0,     0,   475,
   14666             :      476,   477,     0,   479,     0,   481,   482,   483,   484,   485,
   14667             :      486,   487,   488,   489,   490,   491,   492,   493,   494,     0,
   14668             :      495,   496,   497,   498,   499,   500,   501,   502,   503,     0,
   14669             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   14670             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
   14671             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   14672             :        0,   533,   534,     0,   536,   537,   538,   539,   540,   541,
   14673             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   14674             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   559,
   14675             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
   14676             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   14677             :      579,   580,   581,   582,   583,   584,     0,   585,   586,     0,
   14678             :        0,   587,     0,   589,   590,   591,   592,   593,   594,     0,
   14679             :      595,   596,   597,     0,     0,   598,   599,   600,   601,   602,
   14680             :        0,   603,   604,   605,   606,   607,   608,   609,   610,   611,
   14681             :        0,     0,   612,   613,   614,   615,   616,     0,     0,   617,
   14682             :      618,   619,   620,   621,   622,   623,     0,   624,     0,   626,
   14683             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   14684             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   14685             :      643,   644,   645,   646,   647,   648,   649,   650,   658,     0,
   14686             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14687             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
   14688             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
   14689             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   14690             :      251,   252,   253,     0,   255,   256,   257,   258,   259,     0,
   14691             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   14692             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
   14693             :      277,   278,   279,     0,     0,     0,   281,   282,   283,   284,
   14694             :      285,   286,     0,   288,   289,   290,   291,     0,   292,   293,
   14695             :      294,   295,   296,   297,     0,     0,   299,   300,   301,     0,
   14696             :        0,     0,     0,     0,     0,     0,   303,   304,   305,   306,
   14697             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   14698             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   14699             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   14700             :      331,   332,     0,   333,   334,   335,   336,     0,   337,   338,
   14701             :      339,   340,   341,   342,   343,   344,   345,   346,     0,   347,
   14702             :        0,   348,   349,   350,   351,   352,     0,   353,     0,   354,
   14703             :      355,     0,     0,     0,   358,   359,   360,   361,     0,   362,
   14704             :      363,     0,   364,   365,   366,     0,   367,   368,   369,   370,
   14705             :     1199,     0,   373,   374,   375,   376,     0,   377,   378,   379,
   14706             :      380,   381,   382,   383,   384,     0,   385,     0,   387,   388,
   14707             :      389,   390,   391,   392,   393,     0,   394,     0,   395,     0,
   14708             :        0,   398,     0,   400,   401,   402,   403,   404,   405,   406,
   14709             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   14710             :      417,     0,     0,   418,   419,     0,   421,     0,     0,   423,
   14711             :      424,   425,     0,     0,   426,   427,   428,   429,   430,   431,
   14712             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   14713             :      442,   443,   444,   445,     0,   447,   448,   449,   450,   451,
   14714             :      452,   453,   454,   455,   456,   457,   458,     0,   459,   460,
   14715             :        0,   462,     0,   463,   464,   465,   466,   467,   468,     0,
   14716             :      469,   470,   471,     0,     0,   472,   473,   474,     0,     0,
   14717             :      475,   476,   477,     0,   479,     0,   481,   482,   483,   484,
   14718             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   14719             :        0,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   14720             :        0,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   14721             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
   14722             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   14723             :      532,     0,   533,   534,     0,   536,   537,   538,   539,   540,
   14724             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   14725             :      551,     0,   552,   553,   554,   555,   556,     0,   557,   558,
   14726             :      559,   560,   561,     0,   563,   564,   565,   566,     0,   567,
   14727             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   14728             :      578,   579,   580,   581,   582,   583,   584,     0,   585,   586,
   14729             :        0,     0,   587,     0,   589,   590,   591,   592,   593,   594,
   14730             :        0,   595,   596,   597,     0,     0,   598,   599,   600,   601,
   14731             :      602,     0,   603,   604,   605,   606,   607,   608,   609,   610,
   14732             :      611,     0,     0,   612,   613,   614,   615,   616,     0,     0,
   14733             :      617,   618,   619,   620,   621,   622,   623,     0,   624,     0,
   14734             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   14735             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
   14736             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   658,
   14737             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14738             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
   14739             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
   14740             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   14741             :      250,   251,   252,   253,     0,   255,   256,   257,   258,   259,
   14742             :        0,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   14743             :      269,     0,     0,   842,   271,   272,   273,   274,     0,   275,
   14744             :      276,   277,   278,   279,     0,     0,     0,   281,   282,   283,
   14745             :      284,   285,   286,     0,   288,   289,   290,   291,     0,   292,
   14746             :      293,   294,   295,   296,   297,     0,     0,   299,   300,   301,
   14747             :        0,     0,     0,     0,     0,     0,     0,   303,   304,   305,
   14748             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   14749             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   14750             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   14751             :      330,   331,   332,     0,   333,   334,   335,   336,     0,   337,
   14752             :      338,   339,   340,   341,   342,   343,   344,   345,   346,     0,
   14753             :      347,     0,   348,   349,   350,   351,   352,     0,   353,     0,
   14754             :      354,   355,     0,     0,     0,   358,   359,   360,   361,     0,
   14755             :      362,   363,     0,   364,   365,   366,     0,   367,   368,   369,
   14756             :      370,   371,     0,   373,   374,   375,   376,     0,   377,   378,
   14757             :      379,   380,   381,   382,   383,   384,     0,   385,     0,   387,
   14758             :      388,   389,   390,   391,   392,   393,     0,   394,     0,   395,
   14759             :        0,     0,   398,     0,   400,   401,   402,   403,   404,   405,
   14760             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   14761             :      416,   417,     0,     0,   418,   419,     0,   421,     0,     0,
   14762             :      423,   424,   425,     0,     0,   426,   427,   428,   429,   430,
   14763             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   14764             :      441,   442,   443,   845,   445,     0,   447,   448,   449,   450,
   14765             :      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
   14766             :      460,     0,   462,     0,   463,   464,   465,   466,   467,   468,
   14767             :        0,   469,   470,   471,     0,     0,   472,   473,   474,     0,
   14768             :        0,   475,   476,   477,     0,   479,     0,   481,   482,   483,
   14769             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   14770             :      494,     0,   495,   496,   497,   498,   499,   500,   501,   502,
   14771             :      503,     0,   504,   505,   506,   507,   508,   509,   510,   511,
   14772             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   14773             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   14774             :      531,   532,     0,   533,   534,     0,   846,   537,   538,   539,
   14775             :      540,   541,   542,   543,   544,   545,   847,   547,   548,   549,
   14776             :      550,   551,     0,   552,   553,   554,   555,  1394,     0,   557,
   14777             :      558,   559,   560,   561,     0,   563,   564,   565,   566,     0,
   14778             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   14779             :      577,   578,   579,   580,   581,   582,   583,   584,     0,   585,
   14780             :      586,     0,     0,   587,     0,   589,   590,   591,   592,   593,
   14781             :      594,     0,   595,   849,   597,     0,     0,   850,   599,   600,
   14782             :      601,   602,     0,   603,   604,   605,   606,   607,   608,   609,
   14783             :      610,   611,     0,     0,   612,   613,   614,   615,   616,     0,
   14784             :        0,   617,   618,   619,   620,   621,   622,   623,     0,   624,
   14785             :        0,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   14786             :      631,   632,   633,   634,   635,   851,   637,   638,   639,   640,
   14787             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   14788             :      658,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14789             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   14790             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   14791             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   14792             :        0,   250,   251,   252,   253,     0,   255,   256,   257,   258,
   14793             :      259,     0,   261,   262,     0,   263,   264,   265,   266,   267,
   14794             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
   14795             :      275,   276,   277,   278,   279,     0,     0,     0,   281,   282,
   14796             :      283,   284,   285,   286,     0,   288,   289,   290,   291,     0,
   14797             :      292,   293,   294,   295,   296,   297,     0,     0,   299,   300,
   14798             :      301,     0,     0,     0,     0,     0,     0,     0,   303,   304,
   14799             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   14800             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   14801             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
   14802             :      329,   330,   331,   332,     0,   333,   334,   335,   336,     0,
   14803             :      337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   14804             :        0,   347,     0,   348,   349,   350,   351,   352,     0,   353,
   14805             :        0,   354,   355,     0,     0,     0,   358,   359,   360,   361,
   14806             :        0,   362,   363,     0,   364,   365,   366,     0,   367,   368,
   14807             :      369,   370,  1872,     0,   373,   374,   375,   376,     0,   377,
   14808             :      378,   379,   380,   381,   382,   383,   384,     0,   385,     0,
   14809             :      387,   388,   389,   390,   391,   392,   393,     0,   394,     0,
   14810             :      395,     0,     0,   398,     0,   400,   401,   402,   403,   404,
   14811             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   14812             :      415,   416,   417,     0,     0,   418,   419,     0,   421,     0,
   14813             :        0,   423,   424,   425,     0,     0,   426,   427,   428,   429,
   14814             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   14815             :      440,   441,   442,   443,   444,   445,     0,   447,   448,   449,
   14816             :      450,   451,   452,   453,   454,   455,   456,   457,   458,     0,
   14817             :      459,   460,     0,   462,     0,   463,   464,   465,   466,   467,
   14818             :      468,     0,   469,   470,   471,     0,     0,   472,   473,   474,
   14819             :        0,     0,   475,   476,   477,     0,   479,     0,   481,   482,
   14820             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   14821             :      493,   494,     0,   495,   496,   497,   498,   499,   500,   501,
   14822             :      502,   503,     0,   504,   505,   506,   507,   508,   509,   510,
   14823             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   14824             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   14825             :      530,   531,   532,     0,   533,   534,     0,   536,   537,   538,
   14826             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
   14827             :      549,   550,   551,     0,   552,   553,   554,   555,   556,     0,
   14828             :      557,   558,   559,   560,   561,     0,   563,   564,   565,   566,
   14829             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   14830             :      576,   577,   578,   579,   580,   581,   582,   583,   584,     0,
   14831             :      585,   586,     0,     0,   587,     0,   589,   590,   591,   592,
   14832             :      593,   594,     0,   595,   596,   597,     0,     0,   598,   599,
   14833             :      600,   601,   602,     0,   603,   604,   605,   606,   607,   608,
   14834             :      609,   610,   611,     0,     0,   612,   613,   614,   615,   616,
   14835             :        0,     0,   617,   618,   619,   620,   621,   622,   623,     0,
   14836             :      624,     0,   626,   627,   628,   629,     0,     0,   630,     0,
   14837             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   14838             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   14839             :      650,   658,     0,     0,     0,     0,     0,     0,     0,     0,
   14840             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   14841             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   14842             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   14843             :      249,     0,   250,   251,   252,   253,     0,   255,   256,   257,
   14844             :      258,   259,     0,   261,   262,     0,   263,   264,   265,   266,
   14845             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
   14846             :        0,   275,   276,   277,   278,   279,     0,     0,     0,   281,
   14847             :      282,   283,   284,   285,   286,     0,   288,   289,   290,   291,
   14848             :        0,   292,   293,   294,   295,   296,   297,     0,     0,   299,
   14849             :      300,   301,     0,     0,     0,     0,     0,     0,     0,   303,
   14850             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   14851             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   14852             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   14853             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   14854             :        0,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   14855             :      346,     0,   347,     0,   348,   349,   350,   351,   352,     0,
   14856             :      353,     0,   354,   355,     0,     0,     0,   358,   359,   360,
   14857             :      361,     0,   362,   363,     0,   364,   365,   366,     0,   367,
   14858             :      368,   369,   370,  1906,     0,   373,   374,   375,   376,     0,
   14859             :      377,   378,   379,   380,   381,   382,   383,   384,     0,   385,
   14860             :        0,   387,   388,   389,   390,   391,   392,   393,     0,   394,
   14861             :        0,   395,     0,     0,   398,     0,   400,   401,   402,   403,
   14862             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   14863             :      414,   415,   416,   417,     0,     0,   418,   419,     0,   421,
   14864             :        0,     0,   423,   424,   425,     0,     0,   426,   427,   428,
   14865             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   14866             :      439,   440,   441,   442,   443,   444,   445,     0,   447,   448,
   14867             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   14868             :        0,   459,   460,     0,   462,     0,   463,   464,   465,   466,
   14869             :      467,   468,     0,   469,   470,   471,     0,     0,   472,   473,
   14870             :      474,     0,     0,   475,   476,   477,     0,   479,     0,   481,
   14871             :      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   14872             :      492,   493,   494,     0,   495,   496,   497,   498,   499,   500,
   14873             :      501,   502,   503,     0,   504,   505,   506,   507,   508,   509,
   14874             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   14875             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   14876             :      529,   530,   531,   532,     0,   533,   534,     0,   536,   537,
   14877             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   14878             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
   14879             :        0,   557,   558,   559,   560,   561,     0,   563,   564,   565,
   14880             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   14881             :      575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
   14882             :        0,   585,   586,     0,     0,   587,     0,   589,   590,   591,
   14883             :      592,   593,   594,     0,   595,   596,   597,     0,     0,   598,
   14884             :      599,   600,   601,   602,     0,   603,   604,   605,   606,   607,
   14885             :      608,   609,   610,   611,     0,     0,   612,   613,   614,   615,
   14886             :      616,     0,     0,   617,   618,   619,   620,   621,   622,   623,
   14887             :        0,   624,     0,   626,   627,   628,   629,     0,     0,   630,
   14888             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
   14889             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   14890             :      649,   650,   658,     0,     0,     0,     0,     0,     0,     0,
   14891             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   14892             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   14893             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   14894             :      248,   249,     0,   250,   251,   252,   253,     0,   255,   256,
   14895             :      257,   258,   259,     0,   261,   262,     0,   263,   264,   265,
   14896             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
   14897             :      274,     0,   275,   276,   277,   278,   279,     0,     0,     0,
   14898             :      281,   282,   283,   284,   285,   286,     0,   288,   289,   290,
   14899             :      291,     0,   292,   293,   294,   295,   296,   297,     0,     0,
   14900             :      299,   300,   301,     0,     0,     0,     0,     0,     0,     0,
   14901             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   14902             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   14903             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   14904             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   14905             :      336,     0,   337,   338,   339,   340,   341,   342,   343,   344,
   14906             :      345,   346,     0,   347,     0,   348,   349,   350,   351,   352,
   14907             :        0,   353,     0,   354,   355,     0,     0,     0,   358,   359,
   14908             :      360,   361,     0,   362,   363,     0,   364,   365,   366,     0,
   14909             :      367,   368,   369,   370,  1908,     0,   373,   374,   375,   376,
   14910             :        0,   377,   378,   379,   380,   381,   382,   383,   384,     0,
   14911             :      385,     0,   387,   388,   389,   390,   391,   392,   393,     0,
   14912             :      394,     0,   395,     0,     0,   398,     0,   400,   401,   402,
   14913             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   14914             :      413,   414,   415,   416,   417,     0,     0,   418,   419,     0,
   14915             :      421,     0,     0,   423,   424,   425,     0,     0,   426,   427,
   14916             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   14917             :      438,   439,   440,   441,   442,   443,   444,   445,     0,   447,
   14918             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   14919             :      458,     0,   459,   460,     0,   462,     0,   463,   464,   465,
   14920             :      466,   467,   468,     0,   469,   470,   471,     0,     0,   472,
   14921             :      473,   474,     0,     0,   475,   476,   477,     0,   479,     0,
   14922             :      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
   14923             :      491,   492,   493,   494,     0,   495,   496,   497,   498,   499,
   14924             :      500,   501,   502,   503,     0,   504,   505,   506,   507,   508,
   14925             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   14926             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   14927             :      528,   529,   530,   531,   532,     0,   533,   534,     0,   536,
   14928             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   14929             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   14930             :      556,     0,   557,   558,   559,   560,   561,     0,   563,   564,
   14931             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   14932             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   14933             :      584,     0,   585,   586,     0,     0,   587,     0,   589,   590,
   14934             :      591,   592,   593,   594,     0,   595,   596,   597,     0,     0,
   14935             :      598,   599,   600,   601,   602,     0,   603,   604,   605,   606,
   14936             :      607,   608,   609,   610,   611,     0,     0,   612,   613,   614,
   14937             :      615,   616,     0,     0,   617,   618,   619,   620,   621,   622,
   14938             :      623,     0,   624,     0,   626,   627,   628,   629,     0,     0,
   14939             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
   14940             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   14941             :      648,   649,   650,   658,     0,     0,     0,     0,     0,     0,
   14942             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14943             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   14944             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   14945             :      247,   248,   249,     0,   250,   251,   252,   253,     0,   255,
   14946             :      256,   257,   258,   259,     0,   261,   262,     0,   263,   264,
   14947             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   14948             :      273,   274,     0,   275,   276,   277,   278,   279,     0,     0,
   14949             :        0,   281,   282,   283,   284,   285,   286,     0,   288,   289,
   14950             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   14951             :        0,   299,   300,   301,     0,     0,     0,     0,     0,     0,
   14952             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   14953             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   14954             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   14955             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   14956             :      335,   336,     0,   337,   338,   339,   340,   341,   342,   343,
   14957             :      344,   345,   346,     0,   347,     0,   348,   349,   350,   351,
   14958             :      352,     0,   353,     0,   354,   355,     0,     0,     0,   358,
   14959             :      359,   360,   361,     0,   362,   363,     0,   364,   365,   366,
   14960             :        0,   367,   368,   369,   370,  1948,     0,   373,   374,   375,
   14961             :      376,     0,   377,   378,   379,   380,   381,   382,   383,   384,
   14962             :        0,   385,     0,   387,   388,   389,   390,   391,   392,   393,
   14963             :        0,   394,     0,   395,     0,     0,   398,     0,   400,   401,
   14964             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   14965             :      412,   413,   414,   415,   416,   417,     0,     0,   418,   419,
   14966             :        0,   421,     0,     0,   423,   424,   425,     0,     0,   426,
   14967             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   14968             :      437,   438,   439,   440,   441,   442,   443,   444,   445,     0,
   14969             :      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   14970             :      457,   458,     0,   459,   460,     0,   462,     0,   463,   464,
   14971             :      465,   466,   467,   468,     0,   469,   470,   471,     0,     0,
   14972             :      472,   473,   474,     0,     0,   475,   476,   477,     0,   479,
   14973             :        0,   481,   482,   483,   484,   485,   486,   487,   488,   489,
   14974             :      490,   491,   492,   493,   494,     0,   495,   496,   497,   498,
   14975             :      499,   500,   501,   502,   503,     0,   504,   505,   506,   507,
   14976             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   14977             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   14978             :      527,   528,   529,   530,   531,   532,     0,   533,   534,     0,
   14979             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   14980             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   14981             :      555,   556,     0,   557,   558,   559,   560,   561,     0,   563,
   14982             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   14983             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   14984             :      583,   584,     0,   585,   586,     0,     0,   587,     0,   589,
   14985             :      590,   591,   592,   593,   594,     0,   595,   596,   597,     0,
   14986             :        0,   598,   599,   600,   601,   602,     0,   603,   604,   605,
   14987             :      606,   607,   608,   609,   610,   611,     0,     0,   612,   613,
   14988             :      614,   615,   616,     0,     0,   617,   618,   619,   620,   621,
   14989             :      622,   623,     0,   624,     0,   626,   627,   628,   629,     0,
   14990             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   14991             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   14992             :      647,   648,   649,   650,   658,     0,     0,     0,     0,     0,
   14993             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14994             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   14995             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   14996             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
   14997             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
   14998             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   14999             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
   15000             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
   15001             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   15002             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
   15003             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
   15004             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   15005             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   15006             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   15007             :      334,   335,   336,     0,   337,   338,   339,   340,   341,   342,
   15008             :      343,   344,   345,   346,     0,   347,     0,   348,   349,   350,
   15009             :      351,   352,     0,   353,     0,   354,   355,     0,     0,     0,
   15010             :      358,   359,   360,   361,     0,   362,   363,     0,   364,   365,
   15011             :      366,     0,   367,   368,   369,   370,  1950,     0,   373,   374,
   15012             :      375,   376,     0,   377,   378,   379,   380,   381,   382,   383,
   15013             :      384,     0,   385,     0,   387,   388,   389,   390,   391,   392,
   15014             :      393,     0,   394,     0,   395,     0,     0,   398,     0,   400,
   15015             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   15016             :      411,   412,   413,   414,   415,   416,   417,     0,     0,   418,
   15017             :      419,     0,   421,     0,     0,   423,   424,   425,     0,     0,
   15018             :      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   15019             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   15020             :        0,   447,   448,   449,   450,   451,   452,   453,   454,   455,
   15021             :      456,   457,   458,     0,   459,   460,     0,   462,     0,   463,
   15022             :      464,   465,   466,   467,   468,     0,   469,   470,   471,     0,
   15023             :        0,   472,   473,   474,     0,     0,   475,   476,   477,     0,
   15024             :      479,     0,   481,   482,   483,   484,   485,   486,   487,   488,
   15025             :      489,   490,   491,   492,   493,   494,     0,   495,   496,   497,
   15026             :      498,   499,   500,   501,   502,   503,     0,   504,   505,   506,
   15027             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   15028             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   15029             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   15030             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   15031             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   15032             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
   15033             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   15034             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   15035             :      582,   583,   584,     0,   585,   586,     0,     0,   587,     0,
   15036             :      589,   590,   591,   592,   593,   594,     0,   595,   596,   597,
   15037             :        0,     0,   598,   599,   600,   601,   602,     0,   603,   604,
   15038             :      605,   606,   607,   608,   609,   610,   611,     0,     0,   612,
   15039             :      613,   614,   615,   616,     0,     0,   617,   618,   619,   620,
   15040             :      621,   622,   623,     0,   624,     0,   626,   627,   628,   629,
   15041             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   15042             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   15043             :      646,   647,   648,   649,   650,   658,     0,     0,     0,     0,
   15044             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15045             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   15046             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   15047             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   15048             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
   15049             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   15050             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
   15051             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
   15052             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   15053             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
   15054             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   15055             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   15056             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   15057             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   15058             :      333,   334,   335,   336,     0,   337,   338,   339,   340,   341,
   15059             :      342,   343,   344,   345,   346,     0,   347,     0,   348,   349,
   15060             :      350,   351,   352,     0,   353,     0,   354,   355,     0,     0,
   15061             :        0,   358,   359,   360,   361,     0,   362,   363,     0,   364,
   15062             :      365,   366,     0,   367,   368,   369,   370,  1952,     0,   373,
   15063             :      374,   375,   376,     0,   377,   378,   379,   380,   381,   382,
   15064             :      383,   384,     0,   385,     0,   387,   388,   389,   390,   391,
   15065             :      392,   393,     0,   394,     0,   395,     0,     0,   398,     0,
   15066             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   15067             :      410,   411,   412,   413,   414,   415,   416,   417,     0,     0,
   15068             :      418,   419,     0,   421,     0,     0,   423,   424,   425,     0,
   15069             :        0,   426,   427,   428,   429,   430,   431,   432,   433,   434,
   15070             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   15071             :      445,     0,   447,   448,   449,   450,   451,   452,   453,   454,
   15072             :      455,   456,   457,   458,     0,   459,   460,     0,   462,     0,
   15073             :      463,   464,   465,   466,   467,   468,     0,   469,   470,   471,
   15074             :        0,     0,   472,   473,   474,     0,     0,   475,   476,   477,
   15075             :        0,   479,     0,   481,   482,   483,   484,   485,   486,   487,
   15076             :      488,   489,   490,   491,   492,   493,   494,     0,   495,   496,
   15077             :      497,   498,   499,   500,   501,   502,   503,     0,   504,   505,
   15078             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   15079             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   15080             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   15081             :      534,     0,   536,   537,   538,   539,   540,   541,   542,   543,
   15082             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   15083             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
   15084             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   15085             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   15086             :      581,   582,   583,   584,     0,   585,   586,     0,     0,   587,
   15087             :        0,   589,   590,   591,   592,   593,   594,     0,   595,   596,
   15088             :      597,     0,     0,   598,   599,   600,   601,   602,     0,   603,
   15089             :      604,   605,   606,   607,   608,   609,   610,   611,     0,     0,
   15090             :      612,   613,   614,   615,   616,     0,     0,   617,   618,   619,
   15091             :      620,   621,   622,   623,     0,   624,     0,   626,   627,   628,
   15092             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   15093             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   15094             :      645,   646,   647,   648,   649,   650,   658,     0,     0,     0,
   15095             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15096             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   15097             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
   15098             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   15099             :      253,     0,   255,   256,   257,   258,   259,     0,   261,   262,
   15100             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   15101             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   15102             :      279,     0,     0,     0,   281,   282,   283,   284,   285,   286,
   15103             :        0,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   15104             :      296,   297,     0,     0,   299,   300,   301,     0,     0,     0,
   15105             :        0,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   15106             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
   15107             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   15108             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   15109             :        0,   333,   334,   335,   336,     0,   337,   338,   339,   340,
   15110             :      341,   342,   343,   344,   345,   346,     0,   347,     0,   348,
   15111             :      349,   350,   351,   352,     0,   353,     0,   354,   355,     0,
   15112             :        0,     0,   358,   359,   360,   361,     0,   362,   363,     0,
   15113             :      364,   365,   366,     0,   367,   368,   369,   370,   371,     0,
   15114             :      373,   374,   375,   376,     0,   377,   378,   379,   380,   381,
   15115             :      382,   383,   384,     0,   385,     0,   387,   388,   389,   390,
   15116             :      391,   392,   393,     0,   394,     0,   395,     0,     0,   398,
   15117             :        0,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   15118             :      409,   410,   411,   412,   413,   414,   415,   416,   417,     0,
   15119             :        0,   418,   419,     0,   421,     0,     0,   423,   424,   425,
   15120             :        0,     0,   426,   427,   428,   429,   430,   431,   432,   433,
   15121             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   15122             :      444,   445,     0,   447,   448,   449,   450,   451,   452,   453,
   15123             :      454,   455,   456,   457,   458,     0,   459,   460,     0,   462,
   15124             :        0,   463,   464,   465,   466,   467,   468,     0,   469,   470,
   15125             :      471,     0,     0,   472,   473,   474,     0,     0,   475,   476,
   15126             :      477,     0,   479,     0,   481,   482,   483,   484,   485,   486,
   15127             :      487,   488,   489,   490,   491,   492,   493,   494,     0,   495,
   15128             :      496,   497,   498,   499,   500,   501,   502,   503,     0,   504,
   15129             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   15130             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   15131             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   15132             :      533,   534,     0,   536,   537,   538,   539,   540,   541,   542,
   15133             :      543,  2046,   545,   546,   547,   548,   549,   550,   551,     0,
   15134             :      552,   553,   554,   555,   556,     0,   557,   558,   559,   560,
   15135             :      561,     0,   563,   564,   565,   566,     0,   567,   568,   569,
   15136             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   15137             :      580,   581,   582,   583,   584,     0,   585,   586,     0,     0,
   15138             :      587,     0,   589,   590,   591,   592,   593,   594,     0,   595,
   15139             :      596,   597,     0,     0,   598,   599,   600,   601,   602,     0,
   15140             :      603,   604,   605,   606,   607,   608,   609,   610,   611,     0,
   15141             :        0,   612,   613,   614,   615,   616,     0,     0,   617,   618,
   15142             :      619,   620,   621,   622,   623,     0,   624,     0,   626,   627,
   15143             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   15144             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   15145             :      644,   645,   646,   647,   648,   649,   650,   658,     0,     0,
   15146             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15147             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   15148             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
   15149             :        0,     0,  2723,     0,   247,   248,   249,     0,   250,   251,
   15150             :      252,   253,     0,   255,   256,   257,   258,   259,     0,   261,
   15151             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   15152             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   15153             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
   15154             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
   15155             :      295,   296,   297,     0,     0,   299,   300,   301,     0,     0,
   15156             :        0,     0,     0,     0,     0,   303,   304,   305,   306,   307,
   15157             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   15158             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   15159             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   15160             :      332,     0,   333,   334,   335,   336,     0,   337,   338,   339,
   15161             :      340,   341,   342,   343,   344,   345,   346,     0,   347,     0,
   15162             :      348,   349,   350,   351,   352,     0,   353,     0,   354,   355,
   15163             :        0,     0,     0,   358,   359,   360,   361,     0,   362,   363,
   15164             :        0,   364,   365,   366,     0,   367,   368,   369,   370,   371,
   15165             :        0,   373,   374,   375,   376,     0,   377,   378,   379,   380,
   15166             :      381,   382,   383,   384,     0,   385,     0,   387,   388,   389,
   15167             :      390,   391,   392,   393,     0,   394,     0,   395,     0,     0,
   15168             :      398,     0,   400,   401,   402,   403,   404,   405,   406,   407,
   15169             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   15170             :        0,     0,   418,   419,     0,   421,     0,     0,   423,   424,
   15171             :      425,     0,     0,   426,   427,   428,   429,   430,   431,   432,
   15172             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   15173             :      443,   444,   445,     0,   447,   448,   449,   450,   451,   452,
   15174             :      453,   454,   455,   456,   457,   458,     0,   459,   460,     0,
   15175             :      462,     0,   463,   464,   465,   466,   467,   468,     0,   469,
   15176             :      470,   471,     0,     0,   472,   473,   474,     0,     0,   475,
   15177             :      476,   477,     0,   479,     0,   481,   482,   483,   484,   485,
   15178             :      486,   487,   488,   489,   490,   491,   492,   493,   494,     0,
   15179             :      495,   496,   497,   498,   499,   500,   501,   502,   503,     0,
   15180             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   15181             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
   15182             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   15183             :        0,   533,   534,     0,   536,   537,   538,   539,   540,   541,
   15184             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   15185             :        0,   552,   553,   554,   555,   556,     0,     0,   558,   559,
   15186             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
   15187             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   15188             :      579,   580,   581,   582,   583,   584,     0,   585,   586,     0,
   15189             :        0,   587,     0,   589,   590,   591,   592,   593,   594,     0,
   15190             :      595,   596,   597,     0,     0,   598,   599,   600,   601,   602,
   15191             :        0,   603,   604,   605,   606,   607,   608,   609,   610,   611,
   15192             :        0,     0,   612,   613,   614,   615,   616,     0,     0,   617,
   15193             :      618,   619,   620,   621,   622,   623,     0,   624,     0,   626,
   15194             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   15195             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   15196             :      643,   644,   645,   646,   647,   648,   649,   650,   658,     0,
   15197             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15198             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
   15199             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
   15200             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   15201             :      251,   252,   253,     0,   255,   256,   257,   258,   259,     0,
   15202             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   15203             :        0,     0,   842,   271,   272,   273,   274,     0,   275,   276,
   15204             :      277,   278,   279,     0,     0,     0,   281,   282,   283,   284,
   15205             :      285,   286,     0,   288,   289,   290,   291,     0,   292,   293,
   15206             :      294,   295,   296,   297,     0,     0,   299,   300,   301,     0,
   15207             :        0,     0,     0,     0,     0,     0,   303,   304,   305,   306,
   15208             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   15209             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   15210             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   15211             :      331,   332,     0,   333,   334,   335,   336,     0,   337,   338,
   15212             :      339,   340,   341,   342,   343,   344,   345,   346,     0,   347,
   15213             :        0,   348,   349,   350,   351,   352,     0,   353,     0,   354,
   15214             :      355,     0,     0,     0,   358,   359,   360,   361,     0,   362,
   15215             :      363,     0,   364,   365,   366,     0,   367,   368,   369,   370,
   15216             :      371,     0,   373,   374,   375,   376,     0,   377,   378,   379,
   15217             :      380,   381,   382,   383,   384,     0,   385,     0,   387,   388,
   15218             :      389,   390,   391,   392,   393,     0,   394,     0,   395,     0,
   15219             :        0,   398,     0,   400,   401,   402,   403,   404,   405,   406,
   15220             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   15221             :      417,     0,     0,   418,   419,     0,   421,     0,     0,   423,
   15222             :      424,   425,     0,     0,   426,   427,   428,   429,   430,   431,
   15223             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   15224             :      442,   443,   845,   445,     0,   447,   448,   449,   450,   451,
   15225             :      452,   453,   454,   455,   456,   457,   458,     0,   459,   460,
   15226             :        0,   462,     0,   463,   464,   465,   466,   467,   468,     0,
   15227             :      469,   470,   471,     0,     0,   472,   473,   474,     0,     0,
   15228             :      475,   476,   477,     0,   479,     0,   481,   482,   483,   484,
   15229             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   15230             :        0,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   15231             :        0,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   15232             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
   15233             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   15234             :      532,     0,   533,   534,     0,   846,   537,   538,   539,   540,
   15235             :      541,   542,   543,   544,   545,   847,   547,   548,   549,   550,
   15236             :      551,     0,   552,   553,   554,   555,  1394,     0,   557,   558,
   15237             :      559,   560,   561,     0,   563,   564,   565,   566,     0,   567,
   15238             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   15239             :      578,   579,   580,   581,   582,   583,   584,     0,   585,   586,
   15240             :        0,     0,   587,     0,  2757,   590,   591,   592,   593,   594,
   15241             :        0,   595,   849,   597,     0,     0,   850,   599,   600,   601,
   15242             :      602,     0,   603,   604,   605,   606,   607,   608,   609,   610,
   15243             :      611,     0,     0,   612,   613,   614,   615,   616,     0,     0,
   15244             :      617,   618,   619,   620,   621,   622,   623,     0,   624,     0,
   15245             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   15246             :      632,   633,   634,   635,   851,   637,   638,   639,   640,   641,
   15247             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   658,
   15248             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15249             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
   15250             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
   15251             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   15252             :      250,   251,   252,   253,     0,   255,   256,   257,   258,   259,
   15253             :        0,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   15254             :      269,     0,     0,   842,   271,   272,   273,   274,     0,   275,
   15255             :      276,   277,   278,   279,     0,     0,     0,   281,   282,   283,
   15256             :      284,   285,   286,     0,   288,   289,   290,   291,     0,   292,
   15257             :      293,   294,   295,   296,   297,     0,     0,   299,   300,   301,
   15258             :        0,     0,     0,     0,     0,     0,     0,   303,   304,   305,
   15259             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   15260             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   15261             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   15262             :      330,   331,   332,     0,   333,   334,   335,   336,     0,   337,
   15263             :      338,   339,   340,   341,   342,   343,   344,   345,   346,     0,
   15264             :      347,     0,   348,   349,   350,   351,   352,     0,   353,     0,
   15265             :      354,   355,     0,     0,     0,   358,   359,   360,   361,     0,
   15266             :      362,   363,     0,   364,   365,   366,     0,   367,   368,   369,
   15267             :      370,   371,     0,   373,   374,   375,   376,     0,   377,   378,
   15268             :      379,   380,   381,   382,   383,   384,     0,   385,     0,   387,
   15269             :      388,   389,   390,   391,   392,   393,     0,   394,     0,   395,
   15270             :        0,     0,   398,     0,   400,   401,   402,   403,   404,   405,
   15271             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   15272             :      416,   417,     0,     0,   418,   419,     0,   421,     0,     0,
   15273             :      423,   424,   425,     0,     0,   426,   427,   428,   429,   430,
   15274             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   15275             :      441,   442,   443,   845,   445,     0,   447,   448,   449,   450,
   15276             :      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
   15277             :      460,     0,   462,     0,   463,   464,   465,   466,   467,   468,
   15278             :        0,   469,   470,   471,     0,     0,   472,   473,   474,     0,
   15279             :        0,   475,   476,   477,     0,   479,     0,   481,   482,   483,
   15280             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   15281             :      494,     0,   495,   496,   497,   498,   499,   500,   501,   502,
   15282             :      503,     0,   504,   505,   506,   507,   508,   509,   510,   511,
   15283             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   15284             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   15285             :      531,   532,     0,   533,   534,     0,   846,   537,   538,   539,
   15286             :      540,   541,   542,   543,   544,   545,  2819,   547,   548,   549,
   15287             :      550,   551,     0,   552,   553,   554,   555,  2820,     0,   557,
   15288             :      558,   559,   560,   561,     0,   563,   564,   565,   566,     0,
   15289             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   15290             :      577,   578,   579,   580,   581,   582,   583,   584,     0,   585,
   15291             :      586,     0,     0,   587,     0,   589,   590,   591,   592,   593,
   15292             :      594,     0,   595,   849,   597,     0,     0,  2821,   599,   600,
   15293             :      601,   602,     0,   603,   604,   605,   606,   607,   608,   609,
   15294             :      610,   611,     0,     0,   612,   613,   614,   615,   616,     0,
   15295             :        0,   617,   618,   619,   620,   621,   622,   623,     0,   624,
   15296             :        0,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   15297             :      631,   632,   633,   634,   635,   851,   637,   638,   639,   640,
   15298             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   15299             :      658,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15300             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   15301             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   15302             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   15303             :        0,   250,   251,   252,   253,     0,   255,   256,   257,   258,
   15304             :      259,     0,   261,   262,     0,   263,   264,   265,   266,   267,
   15305             :      268,   269,     0,     0,   842,   271,   272,   273,   274,     0,
   15306             :      275,   276,   277,   278,   279,     0,     0,     0,   281,   282,
   15307             :      283,   284,   285,   286,     0,   288,   289,   290,   291,     0,
   15308             :      292,   293,   294,   295,   296,   297,     0,     0,   299,   300,
   15309             :      301,     0,     0,     0,     0,     0,     0,     0,   303,   304,
   15310             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   15311             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   15312             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
   15313             :      329,   330,   331,   332,     0,   333,   334,   335,   336,     0,
   15314             :      337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   15315             :        0,   347,     0,   348,   349,   350,   351,   352,     0,   353,
   15316             :        0,   354,   355,     0,     0,     0,   358,   359,   360,   361,
   15317             :        0,   362,   363,     0,   364,   365,   366,     0,   367,   368,
   15318             :      369,   370,   371,     0,   373,   374,   375,   376,     0,   377,
   15319             :      378,   379,   380,   381,   382,   383,   384,     0,   385,     0,
   15320             :      387,   388,   389,   390,   391,   392,   393,     0,   394,     0,
   15321             :      395,     0,     0,   398,     0,   400,   401,   402,   403,   404,
   15322             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   15323             :      415,   416,   417,     0,     0,   418,   419,     0,   421,     0,
   15324             :        0,   423,   424,   425,     0,     0,   426,   427,   428,   429,
   15325             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   15326             :      440,   441,   442,   443,   845,   445,     0,   447,   448,   449,
   15327             :      450,   451,   452,   453,   454,   455,   456,   457,   458,     0,
   15328             :      459,   460,     0,   462,     0,   463,   464,   465,   466,   467,
   15329             :      468,     0,   469,   470,   471,     0,     0,   472,   473,   474,
   15330             :        0,     0,   475,   476,   477,     0,   479,     0,   481,   482,
   15331             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   15332             :      493,   494,     0,   495,   496,   497,   498,   499,   500,   501,
   15333             :      502,   503,     0,   504,   505,   506,   507,   508,   509,   510,
   15334             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   15335             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   15336             :      530,   531,   532,     0,   533,   534,     0,   846,   537,   538,
   15337             :      539,   540,   541,   542,   543,   544,   545,  2906,   547,   548,
   15338             :      549,   550,   551,     0,   552,   553,   554,   555,  2820,     0,
   15339             :      557,   558,   559,   560,   561,     0,   563,   564,   565,   566,
   15340             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   15341             :      576,   577,   578,   579,   580,   581,   582,   583,   584,     0,
   15342             :      585,   586,     0,     0,   587,     0,   589,   590,   591,   592,
   15343             :      593,   594,     0,   595,   849,   597,     0,     0,  2821,   599,
   15344             :      600,   601,   602,     0,   603,   604,   605,   606,   607,   608,
   15345             :      609,   610,   611,     0,     0,   612,   613,   614,   615,   616,
   15346             :        0,     0,   617,   618,   619,   620,   621,   622,   623,     0,
   15347             :      624,     0,   626,   627,   628,   629,     0,     0,   630,     0,
   15348             :        0,   631,   632,   633,   634,   635,   851,   637,   638,   639,
   15349             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   15350             :      650,   658,     0,     0,     0,     0,     0,     0,     0,     0,
   15351             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   15352             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   15353             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   15354             :      249,     0,   250,   251,   252,   253,     0,   255,   256,   257,
   15355             :      258,   259,     0,   261,   262,     0,   263,   264,   265,   266,
   15356             :      267,   268,   269,     0,     0,   842,   271,   272,   273,   274,
   15357             :        0,   275,   276,   277,   278,   279,     0,     0,     0,   281,
   15358             :      282,   283,   284,   285,   286,     0,   288,   289,   290,   291,
   15359             :        0,   292,   293,   294,   295,   296,   297,     0,     0,   299,
   15360             :      300,   301,     0,     0,     0,     0,     0,     0,     0,   303,
   15361             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   15362             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   15363             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   15364             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   15365             :        0,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   15366             :      346,     0,   347,     0,   348,   349,   350,   351,   352,     0,
   15367             :      353,     0,   354,   355,     0,     0,     0,   358,   359,   360,
   15368             :      361,     0,   362,   363,     0,   364,   365,   366,     0,   367,
   15369             :      368,   369,   370,   371,     0,   373,   374,   375,   376,     0,
   15370             :      377,   378,   379,   380,   381,   382,   383,   384,     0,   385,
   15371             :        0,   387,   388,   389,   390,   391,   392,   393,     0,   394,
   15372             :        0,   395,     0,     0,   398,     0,   400,   401,   402,   403,
   15373             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   15374             :      414,   415,   416,   417,     0,     0,   418,   419,     0,   421,
   15375             :        0,     0,   423,   424,   425,     0,     0,   426,   427,   428,
   15376             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   15377             :      439,   440,   441,   442,   443,   845,   445,     0,   447,   448,
   15378             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   15379             :        0,   459,   460,     0,   462,     0,   463,   464,   465,   466,
   15380             :      467,   468,     0,   469,   470,   471,     0,     0,   472,   473,
   15381             :      474,     0,     0,   475,   476,   477,     0,   479,     0,   481,
   15382             :      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   15383             :      492,   493,   494,     0,   495,   496,   497,   498,   499,   500,
   15384             :      501,   502,   503,     0,   504,   505,   506,   507,   508,   509,
   15385             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   15386             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   15387             :      529,   530,   531,   532,     0,   533,   534,     0,   846,   537,
   15388             :      538,   539,   540,   541,   542,   543,   544,   545,  2930,   547,
   15389             :      548,   549,   550,   551,     0,   552,   553,   554,   555,  2820,
   15390             :        0,   557,   558,   559,   560,   561,     0,   563,   564,   565,
   15391             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   15392             :      575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
   15393             :        0,   585,   586,     0,     0,   587,     0,   589,   590,   591,
   15394             :      592,   593,   594,     0,   595,   849,   597,     0,     0,  2821,
   15395             :      599,   600,   601,   602,     0,   603,   604,   605,   606,   607,
   15396             :      608,   609,   610,   611,     0,     0,   612,   613,   614,   615,
   15397             :      616,     0,     0,   617,   618,   619,   620,   621,   622,   623,
   15398             :        0,   624,     0,   626,   627,   628,   629,     0,     0,   630,
   15399             :        0,     0,   631,   632,   633,   634,   635,   851,   637,   638,
   15400             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   15401             :      649,   650,   658,     0,     0,     0,     0,     0,     0,     0,
   15402             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   15403             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   15404             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   15405             :      248,   249,     0,   250,   251,   252,   253,     0,   255,   256,
   15406             :      257,   258,   259,     0,   261,   262,     0,   263,   264,   265,
   15407             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
   15408             :      274,     0,   275,   276,   277,   278,   279,     0,     0,     0,
   15409             :      281,   282,   283,   284,   285,   286,     0,   288,   289,   290,
   15410             :      291,     0,   292,   293,   294,   295,   296,   297,     0,     0,
   15411             :      299,   300,   301,     0,     0,     0,     0,     0,     0,     0,
   15412             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   15413             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   15414             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   15415             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   15416             :      336,     0,   337,   338,   339,   340,   341,   342,   343,   344,
   15417             :      345,   346,     0,   347,     0,   348,   349,   350,   351,   352,
   15418             :        0,   353,     0,   354,   355,     0,     0,     0,   358,   359,
   15419             :      360,   361,     0,   362,   363,     0,   364,   365,   366,     0,
   15420             :      367,   368,   369,   370,  3126,     0,   373,   374,   375,   376,
   15421             :        0,   377,   378,   379,   380,   381,   382,   383,   384,     0,
   15422             :      385,     0,   387,   388,   389,   390,   391,   392,   393,     0,
   15423             :      394,     0,   395,     0,     0,   398,     0,   400,   401,   402,
   15424             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   15425             :      413,   414,   415,   416,   417,     0,     0,   418,   419,     0,
   15426             :      421,     0,     0,   423,   424,   425,     0,     0,   426,   427,
   15427             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   15428             :      438,   439,   440,   441,   442,   443,   444,   445,     0,   447,
   15429             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   15430             :      458,     0,   459,   460,     0,   462,     0,   463,   464,   465,
   15431             :      466,   467,   468,     0,   469,   470,   471,     0,     0,   472,
   15432             :      473,   474,     0,     0,   475,   476,   477,     0,   479,     0,
   15433             :      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
   15434             :      491,   492,   493,   494,     0,   495,   496,   497,   498,   499,
   15435             :      500,   501,   502,   503,     0,   504,   505,   506,   507,   508,
   15436             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   15437             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   15438             :      528,   529,   530,   531,   532,     0,   533,   534,     0,   536,
   15439             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   15440             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   15441             :      556,     0,   557,   558,   559,   560,   561,     0,   563,   564,
   15442             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   15443             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   15444             :      584,     0,   585,   586,     0,     0,   587,     0,   589,   590,
   15445             :      591,   592,   593,   594,     0,   595,   596,   597,     0,     0,
   15446             :      598,   599,   600,   601,   602,     0,   603,   604,   605,   606,
   15447             :      607,   608,   609,   610,   611,     0,     0,   612,   613,   614,
   15448             :      615,   616,     0,     0,   617,   618,   619,   620,   621,   622,
   15449             :      623,     0,   624,     0,   626,   627,   628,   629,     0,     0,
   15450             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
   15451             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   15452             :      648,   649,   650,   658,     0,     0,     0,     0,     0,     0,
   15453             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15454             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   15455             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   15456             :      247,   248,   249,     0,   250,   251,   252,   253,     0,   255,
   15457             :      256,   257,   258,   259,     0,   261,   262,     0,   263,   264,
   15458             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   15459             :      273,   274,     0,   275,   276,   277,   278,   279,     0,     0,
   15460             :        0,   281,   282,   283,   284,   285,   286,     0,   288,   289,
   15461             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   15462             :        0,   299,   300,   301,     0,     0,     0,     0,     0,     0,
   15463             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   15464             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   15465             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   15466             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   15467             :      335,   336,     0,   337,   338,   339,   340,   341,   342,   343,
   15468             :      344,   345,   346,     0,   347,     0,   348,   349,   350,   351,
   15469             :      352,     0,   353,     0,   354,   355,     0,     0,     0,   358,
   15470             :      359,   360,   361,     0,   362,   363,     0,   364,   365,   366,
   15471             :        0,   367,   368,   369,   370,  3130,     0,   373,   374,   375,
   15472             :      376,     0,   377,   378,   379,   380,   381,   382,   383,   384,
   15473             :        0,   385,     0,   387,   388,   389,   390,   391,   392,   393,
   15474             :        0,   394,     0,   395,     0,     0,   398,     0,   400,   401,
   15475             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   15476             :      412,   413,   414,   415,   416,   417,     0,     0,   418,   419,
   15477             :        0,   421,     0,     0,   423,   424,   425,     0,     0,   426,
   15478             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   15479             :      437,   438,   439,   440,   441,   442,   443,   444,   445,     0,
   15480             :      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   15481             :      457,   458,     0,   459,   460,     0,   462,     0,   463,   464,
   15482             :      465,   466,   467,   468,     0,   469,   470,   471,     0,     0,
   15483             :      472,   473,   474,     0,     0,   475,   476,   477,     0,   479,
   15484             :        0,   481,   482,   483,   484,   485,   486,   487,   488,   489,
   15485             :      490,   491,   492,   493,   494,     0,   495,   496,   497,   498,
   15486             :      499,   500,   501,   502,   503,     0,   504,   505,   506,   507,
   15487             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   15488             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   15489             :      527,   528,   529,   530,   531,   532,     0,   533,   534,     0,
   15490             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   15491             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   15492             :      555,   556,     0,   557,   558,   559,   560,   561,     0,   563,
   15493             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   15494             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   15495             :      583,   584,     0,   585,   586,     0,     0,   587,     0,   589,
   15496             :      590,   591,   592,   593,   594,     0,   595,   596,   597,     0,
   15497             :        0,   598,   599,   600,   601,   602,     0,   603,   604,   605,
   15498             :      606,   607,   608,   609,   610,   611,     0,     0,   612,   613,
   15499             :      614,   615,   616,     0,     0,   617,   618,   619,   620,   621,
   15500             :      622,   623,     0,   624,     0,   626,   627,   628,   629,     0,
   15501             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   15502             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   15503             :      647,   648,   649,   650,   658,     0,     0,     0,     0,     0,
   15504             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15505             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   15506             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   15507             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
   15508             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
   15509             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   15510             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
   15511             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
   15512             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   15513             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
   15514             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
   15515             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   15516             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   15517             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   15518             :      334,   335,   336,     0,   337,   338,   339,   340,   341,   342,
   15519             :      343,   344,   345,   346,     0,   347,     0,   348,   349,   350,
   15520             :      351,   352,     0,   353,     0,   354,   355,     0,     0,     0,
   15521             :      358,   359,   360,   361,     0,   362,   363,     0,   364,   365,
   15522             :      366,     0,   367,   368,   369,   370,  3188,     0,   373,   374,
   15523             :      375,   376,     0,   377,   378,   379,   380,   381,   382,   383,
   15524             :      384,     0,   385,     0,   387,   388,   389,   390,   391,   392,
   15525             :      393,     0,   394,     0,   395,     0,     0,   398,     0,   400,
   15526             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   15527             :      411,   412,   413,   414,   415,   416,   417,     0,     0,   418,
   15528             :      419,     0,   421,     0,     0,   423,   424,   425,     0,     0,
   15529             :      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   15530             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   15531             :        0,   447,   448,   449,   450,   451,   452,   453,   454,   455,
   15532             :      456,   457,   458,     0,   459,   460,     0,   462,     0,   463,
   15533             :      464,   465,   466,   467,   468,     0,   469,   470,   471,     0,
   15534             :        0,   472,   473,   474,     0,     0,   475,   476,   477,     0,
   15535             :      479,     0,   481,   482,   483,   484,   485,   486,   487,   488,
   15536             :      489,   490,   491,   492,   493,   494,     0,   495,   496,   497,
   15537             :      498,   499,   500,   501,   502,   503,     0,   504,   505,   506,
   15538             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   15539             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   15540             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   15541             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   15542             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   15543             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
   15544             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   15545             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   15546             :      582,   583,   584,     0,   585,   586,     0,     0,   587,     0,
   15547             :      589,   590,   591,   592,   593,   594,     0,   595,   596,   597,
   15548             :        0,     0,   598,   599,   600,   601,   602,     0,   603,   604,
   15549             :      605,   606,   607,   608,   609,   610,   611,     0,     0,   612,
   15550             :      613,   614,   615,   616,     0,     0,   617,   618,   619,   620,
   15551             :      621,   622,   623,     0,   624,     0,   626,   627,   628,   629,
   15552             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   15553             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   15554             :      646,   647,   648,   649,   650,   658,     0,     0,     0,     0,
   15555             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15556             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   15557             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   15558             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   15559             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
   15560             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   15561             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
   15562             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
   15563             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   15564             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
   15565             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   15566             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   15567             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   15568             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   15569             :      333,   334,   335,   336,     0,   337,   338,   339,   340,   341,
   15570             :      342,   343,   344,   345,   346,     0,   347,     0,   348,   349,
   15571             :      350,   351,   352,     0,   353,     0,   354,   355,     0,     0,
   15572             :        0,   358,   359,   360,   361,     0,   362,   363,     0,   364,
   15573             :      365,   366,     0,   367,   368,   369,   370,  3579,     0,   373,
   15574             :      374,   375,   376,     0,   377,   378,   379,   380,   381,   382,
   15575             :      383,   384,     0,   385,     0,   387,   388,   389,   390,   391,
   15576             :      392,   393,     0,   394,     0,   395,     0,     0,   398,     0,
   15577             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   15578             :      410,   411,   412,   413,   414,   415,   416,   417,     0,     0,
   15579             :      418,   419,     0,   421,     0,     0,   423,   424,   425,     0,
   15580             :        0,   426,   427,   428,   429,   430,   431,   432,   433,   434,
   15581             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   15582             :      445,     0,   447,   448,   449,   450,   451,   452,   453,   454,
   15583             :      455,   456,   457,   458,     0,   459,   460,     0,   462,     0,
   15584             :      463,   464,   465,   466,   467,   468,     0,   469,   470,   471,
   15585             :        0,     0,   472,   473,   474,     0,     0,   475,   476,   477,
   15586             :        0,   479,     0,   481,   482,   483,   484,   485,   486,   487,
   15587             :      488,   489,   490,   491,   492,   493,   494,     0,   495,   496,
   15588             :      497,   498,   499,   500,   501,   502,   503,     0,   504,   505,
   15589             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   15590             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   15591             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   15592             :      534,     0,   536,   537,   538,   539,   540,   541,   542,   543,
   15593             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   15594             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
   15595             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   15596             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   15597             :      581,   582,   583,   584,     0,   585,   586,     0,     0,   587,
   15598             :        0,   589,   590,   591,   592,   593,   594,     0,   595,   596,
   15599             :      597,     0,     0,   598,   599,   600,   601,   602,     0,   603,
   15600             :      604,   605,   606,   607,   608,   609,   610,   611,     0,     0,
   15601             :      612,   613,   614,   615,   616,     0,     0,   617,   618,   619,
   15602             :      620,   621,   622,   623,     0,   624,     0,   626,   627,   628,
   15603             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   15604             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   15605             :      645,   646,   647,   648,   649,   650,   658,     0,     0,     0,
   15606             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15607             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   15608             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
   15609             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   15610             :      253,     0,   255,   256,   257,   258,   259,     0,   261,   262,
   15611             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   15612             :      842,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   15613             :      279,     0,     0,     0,   281,   282,   283,   284,   285,   286,
   15614             :        0,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   15615             :      296,   297,     0,     0,   299,   300,   301,     0,     0,     0,
   15616             :        0,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   15617             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
   15618             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   15619             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   15620             :        0,   333,   334,   335,   336,     0,   337,   338,   339,   340,
   15621             :      341,   342,   343,   344,   345,   346,     0,   347,     0,   348,
   15622             :      349,   350,   351,   352,     0,   353,     0,   354,   355,     0,
   15623             :        0,     0,   358,   359,   360,   361,     0,   362,   363,     0,
   15624             :      364,   365,   366,     0,   367,   368,   369,   370,   371,     0,
   15625             :      373,   374,   375,   376,     0,   377,   378,   379,   380,   381,
   15626             :      382,   383,   384,     0,   385,     0,   387,   388,   389,   390,
   15627             :      391,   392,   393,     0,   394,     0,   395,     0,     0,   398,
   15628             :        0,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   15629             :      409,   410,   411,   412,   413,   414,   415,   416,   417,     0,
   15630             :        0,   418,   419,     0,   421,     0,     0,   423,   424,   425,
   15631             :        0,     0,   426,   427,   428,   429,   430,   431,   432,   433,
   15632             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   15633             :      845,   445,     0,   447,   448,   449,   450,   451,   452,   453,
   15634             :      454,   455,   456,   457,   458,     0,   459,   460,     0,   462,
   15635             :        0,   463,   464,   465,   466,   467,   468,     0,   469,   470,
   15636             :      471,     0,     0,   472,   473,   474,     0,     0,   475,   476,
   15637             :      477,     0,   479,     0,   481,   482,   483,   484,   485,   486,
   15638             :      487,   488,   489,   490,   491,   492,   493,   494,     0,   495,
   15639             :      496,   497,   498,   499,   500,   501,   502,   503,     0,   504,
   15640             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   15641             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   15642             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   15643             :      533,   534,     0,   846,   537,   538,   539,   540,   541,   542,
   15644             :      543,   544,   545,   847,   547,   548,   549,   550,   551,     0,
   15645             :      552,   553,   554,   555,  2820,     0,   557,   558,   559,   560,
   15646             :      561,     0,   563,   564,   565,   566,     0,   567,   568,   569,
   15647             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   15648             :      580,   581,   582,   583,   584,     0,   585,   586,     0,     0,
   15649             :      587,     0,   589,   590,   591,   592,   593,   594,     0,   595,
   15650             :      849,   597,     0,     0,  2821,   599,   600,   601,   602,     0,
   15651             :      603,   604,   605,   606,   607,   608,   609,   610,   611,     0,
   15652             :        0,   612,   613,   614,   615,   616,     0,     0,   617,   618,
   15653             :      619,   620,   621,   622,   623,     0,   624,     0,   626,   627,
   15654             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   15655             :      634,   635,   851,   637,   638,   639,   640,   641,   642,   643,
   15656             :      644,   645,   646,   647,   648,   649,   650,   658,     0,     0,
   15657             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15658             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   15659             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
   15660             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   15661             :      252,   253,     0,   255,   256,   257,   258,   259,     0,   261,
   15662             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   15663             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   15664             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
   15665             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
   15666             :      295,   296,   297,     0,     0,   299,   300,   301,     0,     0,
   15667             :        0,     0,     0,     0,     0,   303,   304,   305,   306,   307,
   15668             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   15669             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   15670             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   15671             :      332,     0,   333,   334,   335,   336,     0,   337,   338,   339,
   15672             :      340,   341,   342,   343,   344,   345,   346,     0,   347,     0,
   15673             :      348,   349,   350,   351,   352,     0,   353,     0,   354,   355,
   15674             :        0,     0,     0,   358,   359,   360,   361,     0,   362,   363,
   15675             :        0,   364,   365,   366,     0,   367,   368,   369,   370,  3637,
   15676             :        0,   373,   374,   375,   376,     0,   377,   378,   379,   380,
   15677             :      381,   382,   383,   384,     0,   385,     0,   387,   388,   389,
   15678             :      390,   391,   392,   393,     0,   394,     0,   395,     0,     0,
   15679             :      398,     0,   400,   401,   402,   403,   404,   405,   406,   407,
   15680             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   15681             :        0,     0,   418,   419,     0,   421,     0,     0,   423,   424,
   15682             :      425,     0,     0,   426,   427,   428,   429,   430,   431,   432,
   15683             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   15684             :      443,   444,   445,     0,   447,   448,   449,   450,   451,   452,
   15685             :      453,   454,   455,   456,   457,   458,     0,   459,   460,     0,
   15686             :      462,     0,   463,   464,   465,   466,   467,   468,     0,   469,
   15687             :      470,   471,     0,     0,   472,   473,   474,     0,     0,   475,
   15688             :      476,   477,     0,   479,     0,   481,   482,   483,   484,   485,
   15689             :      486,   487,   488,   489,   490,   491,   492,   493,   494,     0,
   15690             :      495,   496,   497,   498,   499,   500,   501,   502,   503,     0,
   15691             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   15692             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
   15693             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   15694             :        0,   533,   534,     0,   536,   537,   538,   539,   540,   541,
   15695             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   15696             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   559,
   15697             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
   15698             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   15699             :      579,   580,   581,   582,   583,   584,     0,   585,   586,     0,
   15700             :        0,   587,     0,   589,   590,   591,   592,   593,   594,     0,
   15701             :      595,   596,   597,     0,     0,   598,   599,   600,   601,   602,
   15702             :        0,   603,   604,   605,   606,   607,   608,   609,   610,   611,
   15703             :        0,     0,   612,   613,   614,   615,   616,     0,     0,   617,
   15704             :      618,   619,   620,   621,   622,   623,     0,   624,     0,   626,
   15705             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   15706             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   15707             :      643,   644,   645,   646,   647,   648,   649,   650,   658,     0,
   15708             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15709             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
   15710             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
   15711             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   15712             :      251,   252,   253,     0,   255,   256,   257,   258,   259,     0,
   15713             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   15714             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
   15715             :      277,   278,   279,     0,     0,     0,   281,   282,   283,   284,
   15716             :      285,   286,     0,   288,   289,   290,   291,     0,   292,   293,
   15717             :      294,   295,   296,   297,     0,     0,   299,   300,   301,     0,
   15718             :        0,     0,     0,     0,     0,     0,   303,   304,   305,   306,
   15719             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   15720             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   15721             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   15722             :      331,   332,     0,   333,   334,   335,   336,     0,   337,   338,
   15723             :      339,   340,   341,   342,   343,   344,   345,   346,     0,   347,
   15724             :        0,   348,   349,   350,   351,   352,     0,   353,     0,   354,
   15725             :      355,     0,     0,     0,   358,   359,   360,   361,     0,   362,
   15726             :      363,     0,   364,   365,   366,     0,   367,   368,   369,   370,
   15727             :     3660,     0,   373,   374,   375,   376,     0,   377,   378,   379,
   15728             :      380,   381,   382,   383,   384,     0,   385,     0,   387,   388,
   15729             :      389,   390,   391,   392,   393,     0,   394,     0,   395,     0,
   15730             :        0,   398,     0,   400,   401,   402,   403,   404,   405,   406,
   15731             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   15732             :      417,     0,     0,   418,   419,     0,   421,     0,     0,   423,
   15733             :      424,   425,     0,     0,   426,   427,   428,   429,   430,   431,
   15734             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   15735             :      442,   443,   444,   445,     0,   447,   448,   449,   450,   451,
   15736             :      452,   453,   454,   455,   456,   457,   458,     0,   459,   460,
   15737             :        0,   462,     0,   463,   464,   465,   466,   467,   468,     0,
   15738             :      469,   470,   471,     0,     0,   472,   473,   474,     0,     0,
   15739             :      475,   476,   477,     0,   479,     0,   481,   482,   483,   484,
   15740             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   15741             :        0,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   15742             :        0,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   15743             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
   15744             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   15745             :      532,     0,   533,   534,     0,   536,   537,   538,   539,   540,
   15746             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   15747             :      551,     0,   552,   553,   554,   555,   556,     0,   557,   558,
   15748             :      559,   560,   561,     0,   563,   564,   565,   566,     0,   567,
   15749             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   15750             :      578,   579,   580,   581,   582,   583,   584,     0,   585,   586,
   15751             :        0,     0,   587,     0,   589,   590,   591,   592,   593,   594,
   15752             :        0,   595,   596,   597,     0,     0,   598,   599,   600,   601,
   15753             :      602,     0,   603,   604,   605,   606,   607,   608,   609,   610,
   15754             :      611,     0,     0,   612,   613,   614,   615,   616,     0,     0,
   15755             :      617,   618,   619,   620,   621,   622,   623,     0,   624,     0,
   15756             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   15757             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
   15758             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   658,
   15759             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15760             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
   15761             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
   15762             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   15763             :      250,   251,   252,   253,     0,   255,   256,   257,   258,   259,
   15764             :        0,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   15765             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
   15766             :      276,   277,   278,   279,     0,     0,     0,   281,   282,   283,
   15767             :      284,   285,   286,     0,   288,   289,   290,   291,     0,   292,
   15768             :      293,   294,   295,   296,   297,     0,     0,   299,   300,   301,
   15769             :        0,     0,     0,     0,     0,     0,     0,   303,   304,   305,
   15770             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   15771             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   15772             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   15773             :      330,   331,   332,     0,   333,   334,   335,   336,     0,   337,
   15774             :      338,   339,   340,   341,   342,   343,   344,   345,   346,     0,
   15775             :      347,     0,   348,   349,   350,   351,   352,     0,   353,     0,
   15776             :      354,   355,     0,     0,     0,   358,   359,   360,   361,     0,
   15777             :      362,   363,     0,   364,   365,   366,     0,   367,   368,   369,
   15778             :      370,  3662,     0,   373,   374,   375,   376,     0,   377,   378,
   15779             :      379,   380,   381,   382,   383,   384,     0,   385,     0,   387,
   15780             :      388,   389,   390,   391,   392,   393,     0,   394,     0,   395,
   15781             :        0,     0,   398,     0,   400,   401,   402,   403,   404,   405,
   15782             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   15783             :      416,   417,     0,     0,   418,   419,     0,   421,     0,     0,
   15784             :      423,   424,   425,     0,     0,   426,   427,   428,   429,   430,
   15785             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   15786             :      441,   442,   443,   444,   445,     0,   447,   448,   449,   450,
   15787             :      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
   15788             :      460,     0,   462,     0,   463,   464,   465,   466,   467,   468,
   15789             :        0,   469,   470,   471,     0,     0,   472,   473,   474,     0,
   15790             :        0,   475,   476,   477,     0,   479,     0,   481,   482,   483,
   15791             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   15792             :      494,     0,   495,   496,   497,   498,   499,   500,   501,   502,
   15793             :      503,     0,   504,   505,   506,   507,   508,   509,   510,   511,
   15794             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   15795             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   15796             :      531,   532,     0,   533,   534,     0,   536,   537,   538,   539,
   15797             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
   15798             :      550,   551,     0,   552,   553,   554,   555,   556,     0,   557,
   15799             :      558,   559,   560,   561,     0,   563,   564,   565,   566,     0,
   15800             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   15801             :      577,   578,   579,   580,   581,   582,   583,   584,     0,   585,
   15802             :      586,     0,     0,   587,     0,   589,   590,   591,   592,   593,
   15803             :      594,     0,   595,   596,   597,     0,     0,   598,   599,   600,
   15804             :      601,   602,     0,   603,   604,   605,   606,   607,   608,   609,
   15805             :      610,   611,     0,     0,   612,   613,   614,   615,   616,     0,
   15806             :        0,   617,   618,   619,   620,   621,   622,   623,     0,   624,
   15807             :        0,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   15808             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
   15809             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   15810             :      658,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15811             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   15812             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   15813             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   15814             :        0,   250,   251,   252,   253,     0,   255,   256,   257,   258,
   15815             :      259,     0,   261,   262,     0,   263,   264,   265,   266,   267,
   15816             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
   15817             :      275,   276,   277,   278,   279,     0,     0,     0,   281,   282,
   15818             :      283,   284,   285,   286,     0,   288,   289,   290,   291,     0,
   15819             :      292,   293,   294,   295,   296,   297,     0,     0,   299,   300,
   15820             :      301,     0,     0,     0,     0,     0,     0,     0,   303,   304,
   15821             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   15822             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   15823             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
   15824             :      329,   330,   331,   332,     0,   333,   334,   335,   336,     0,
   15825             :      337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   15826             :        0,   347,     0,   348,   349,   350,   351,   352,     0,   353,
   15827             :        0,   354,   355,     0,     0,     0,   358,   359,   360,   361,
   15828             :        0,   362,   363,     0,   364,   365,   366,     0,   367,   368,
   15829             :      369,   370,  3814,     0,   373,   374,   375,   376,     0,   377,
   15830             :      378,   379,   380,   381,   382,   383,   384,     0,   385,     0,
   15831             :      387,   388,   389,   390,   391,   392,   393,     0,   394,     0,
   15832             :      395,     0,     0,   398,     0,   400,   401,   402,   403,   404,
   15833             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   15834             :      415,   416,   417,     0,     0,   418,   419,     0,   421,     0,
   15835             :        0,   423,   424,   425,     0,     0,   426,   427,   428,   429,
   15836             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   15837             :      440,   441,   442,   443,   444,   445,     0,   447,   448,   449,
   15838             :      450,   451,   452,   453,   454,   455,   456,   457,   458,     0,
   15839             :      459,   460,     0,   462,     0,   463,   464,   465,   466,   467,
   15840             :      468,     0,   469,   470,   471,     0,     0,   472,   473,   474,
   15841             :        0,     0,   475,   476,   477,     0,   479,     0,   481,   482,
   15842             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   15843             :      493,   494,     0,   495,   496,   497,   498,   499,   500,   501,
   15844             :      502,   503,     0,   504,   505,   506,   507,   508,   509,   510,
   15845             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   15846             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   15847             :      530,   531,   532,     0,   533,   534,     0,   536,   537,   538,
   15848             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
   15849             :      549,   550,   551,     0,   552,   553,   554,   555,   556,     0,
   15850             :      557,   558,   559,   560,   561,     0,   563,   564,   565,   566,
   15851             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   15852             :      576,   577,   578,   579,   580,   581,   582,   583,   584,     0,
   15853             :      585,   586,     0,     0,   587,     0,   589,   590,   591,   592,
   15854             :      593,   594,     0,   595,   596,   597,     0,     0,   598,   599,
   15855             :      600,   601,   602,     0,   603,   604,   605,   606,   607,   608,
   15856             :      609,   610,   611,     0,     0,   612,   613,   614,   615,   616,
   15857             :        0,     0,   617,   618,   619,   620,   621,   622,   623,     0,
   15858             :      624,     0,   626,   627,   628,   629,     0,     0,   630,     0,
   15859             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   15860             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   15861             :      650,   658,     0,     0,     0,     0,     0,     0,     0,     0,
   15862             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   15863             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   15864             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   15865             :      249,     0,   250,   251,   252,   253,     0,   255,   256,   257,
   15866             :      258,   259,     0,   261,   262,     0,   263,   264,   265,   266,
   15867             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
   15868             :        0,   275,   276,   277,   278,   279,     0,     0,     0,   281,
   15869             :      282,   283,   284,   285,   286,     0,   288,   289,   290,   291,
   15870             :        0,   292,   293,   294,   295,   296,   297,     0,     0,   299,
   15871             :      300,   301,     0,     0,     0,     0,     0,     0,     0,   303,
   15872             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   15873             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   15874             :      321,   322,   323,     0,     0,   324,  3856,   326,   327,   328,
   15875             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   15876             :        0,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   15877             :      346,     0,   347,     0,   348,   349,   350,   351,   352,     0,
   15878             :      353,     0,   354,   355,     0,     0,     0,   358,   359,   360,
   15879             :      361,     0,   362,   363,     0,   364,   365,   366,     0,   367,
   15880             :      368,   369,   370,   371,     0,   373,   374,   375,   376,     0,
   15881             :      377,   378,   379,   380,   381,   382,   383,   384,     0,   385,
   15882             :        0,   387,   388,   389,   390,   391,   392,   393,     0,   394,
   15883             :        0,   395,     0,     0,   398,     0,   400,   401,   402,   403,
   15884             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   15885             :      414,   415,   416,   417,     0,     0,   418,   419,     0,   421,
   15886             :        0,     0,   423,   424,   425,     0,     0,   426,   427,   428,
   15887             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   15888             :      439,   440,   441,   442,   443,   444,   445,     0,   447,   448,
   15889             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   15890             :        0,   459,   460,     0,   462,     0,   463,   464,   465,   466,
   15891             :      467,   468,     0,   469,   470,   471,     0,     0,   472,   473,
   15892             :      474,     0,     0,   475,   476,   477,     0,   479,     0,   481,
   15893             :      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   15894             :      492,   493,   494,     0,   495,   496,   497,   498,   499,   500,
   15895             :      501,   502,   503,     0,   504,   505,   506,   507,   508,   509,
   15896             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   15897             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   15898             :      529,   530,   531,   532,     0,   533,   534,     0,   536,   537,
   15899             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   15900             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
   15901             :        0,   557,   558,   559,   560,   561,     0,   563,   564,   565,
   15902             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   15903             :      575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
   15904             :        0,   585,   586,     0,     0,   587,     0,   589,   590,   591,
   15905             :      592,   593,   594,     0,   595,   596,   597,     0,     0,   598,
   15906             :      599,   600,   601,   602,     0,   603,   604,   605,   606,   607,
   15907             :      608,   609,   610,   611,     0,     0,   612,   613,   614,   615,
   15908             :      616,     0,     0,   617,   618,   619,   620,   621,   622,   623,
   15909             :        0,   624,     0,   626,   627,   628,   629,     0,     0,   630,
   15910             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
   15911             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   15912             :      649,   650,   658,     0,     0,     0,     0,     0,     0,     0,
   15913             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   15914             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   15915             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   15916             :      248,   249,     0,   250,   251,   252,   253,     0,   255,   256,
   15917             :      257,   258,   259,     0,   261,   262,     0,   263,   264,   265,
   15918             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
   15919             :      274,     0,   275,   276,   277,   278,   279,     0,     0,     0,
   15920             :      281,   282,   283,   284,   285,   286,     0,   288,   289,   290,
   15921             :      291,     0,   292,   293,   294,   295,   296,   297,     0,     0,
   15922             :      299,   300,   301,     0,     0,     0,     0,     0,     0,     0,
   15923             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   15924             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   15925             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   15926             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   15927             :      336,     0,   337,   338,   339,   340,   341,   342,   343,   344,
   15928             :      345,   346,     0,   347,     0,   348,   349,   350,   351,   352,
   15929             :        0,   353,     0,   354,   355,     0,     0,     0,   358,   359,
   15930             :      360,   361,     0,   362,   363,     0,   364,   365,   366,     0,
   15931             :      367,   368,   369,   370,  5125,     0,   373,   374,   375,   376,
   15932             :        0,   377,   378,   379,   380,   381,   382,   383,   384,     0,
   15933             :      385,     0,   387,   388,   389,   390,   391,   392,   393,     0,
   15934             :      394,     0,   395,     0,     0,   398,     0,   400,   401,   402,
   15935             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   15936             :      413,   414,   415,   416,   417,     0,     0,   418,   419,     0,
   15937             :      421,     0,     0,   423,   424,   425,     0,     0,   426,   427,
   15938             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   15939             :      438,   439,   440,   441,   442,   443,   444,   445,     0,   447,
   15940             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   15941             :      458,     0,   459,   460,     0,   462,     0,   463,   464,   465,
   15942             :      466,   467,   468,     0,   469,   470,   471,     0,     0,   472,
   15943             :      473,   474,     0,     0,   475,   476,   477,     0,   479,     0,
   15944             :      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
   15945             :      491,   492,   493,   494,     0,   495,   496,   497,   498,   499,
   15946             :      500,   501,   502,   503,     0,   504,   505,   506,   507,   508,
   15947             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   15948             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   15949             :      528,   529,   530,   531,   532,     0,   533,   534,     0,   536,
   15950             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   15951             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   15952             :      556,     0,   557,   558,   559,   560,   561,     0,   563,   564,
   15953             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   15954             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   15955             :      584,     0,   585,   586,     0,     0,   587,     0,   589,   590,
   15956             :      591,   592,   593,   594,     0,   595,   596,   597,     0,     0,
   15957             :      598,   599,   600,   601,   602,     0,   603,   604,   605,   606,
   15958             :      607,   608,   609,   610,   611,     0,     0,   612,   613,   614,
   15959             :      615,   616,     0,     0,   617,   618,   619,   620,   621,   622,
   15960             :      623,     0,   624,     0,   626,   627,   628,   629,     0,     0,
   15961             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
   15962             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   15963             :      648,   649,   650,   658,     0,     0,     0,     0,     0,     0,
   15964             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15965             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   15966             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   15967             :      247,   248,   249,     0,   250,   251,   252,   253,     0,   255,
   15968             :      256,   257,   258,   259,     0,   261,   262,     0,   263,   264,
   15969             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   15970             :      273,   274,     0,   275,   276,   277,   278,   279,     0,     0,
   15971             :        0,   281,   282,   283,   284,   285,   286,     0,   288,   289,
   15972             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   15973             :        0,   299,   300,   301,     0,     0,     0,     0,     0,     0,
   15974             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   15975             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   15976             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   15977             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   15978             :      335,   336,     0,   337,   338,   339,   340,   341,   342,   343,
   15979             :      344,   345,   346,     0,   347,     0,   348,   349,   350,   351,
   15980             :      352,     0,   353,     0,   354,   355,     0,     0,     0,   358,
   15981             :      359,   360,   361,     0,   362,   363,     0,   364,   365,   366,
   15982             :        0,   367,   368,   369,   370,   371,     0,   373,   374,   375,
   15983             :      376,     0,   377,   378,   379,   380,   381,   382,   383,   384,
   15984             :        0,   385,     0,   387,   388,   389,   390,   391,   392,   393,
   15985             :        0,   394,     0,   395,     0,     0,   398,     0,   400,   401,
   15986             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   15987             :      412,   413,   414,   415,   416,   417,     0,     0,   418,   419,
   15988             :        0,   421,     0,     0,   423,   424,   425,     0,     0,   426,
   15989             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   15990             :      437,   438,   439,   440,   441,   442,   443,   444,   445,     0,
   15991             :      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   15992             :      457,   458,     0,   459,   460,     0,   462,     0,   463,   464,
   15993             :      465,   466,   467,   468,     0,   469,   470,   471,     0,     0,
   15994             :      472,   473,   474,     0,     0,   475,   476,   477,     0,   479,
   15995             :        0,   481,   482,   483,   484,   485,   486,   487,   488,   489,
   15996             :      490,   491,   492,   493,  5653,     0,   495,   496,   497,   498,
   15997             :      499,   500,   501,   502,   503,     0,   504,   505,   506,   507,
   15998             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   15999             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   16000             :      527,   528,   529,   530,   531,   532,     0,   533,   534,     0,
   16001             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   16002             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   16003             :      555,   556,     0,   557,   558,   559,   560,   561,     0,   563,
   16004             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   16005             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   16006             :      583,   584,     0,   585,   586,     0,     0,   587,     0,   589,
   16007             :      590,   591,   592,   593,   594,     0,   595,   596,   597,     0,
   16008             :        0,   598,   599,   600,   601,   602,     0,   603,   604,   605,
   16009             :      606,   607,   608,   609,   610,   611,     0,     0,   612,   613,
   16010             :      614,   615,   616,     0,     0,   617,   618,   619,   620,   621,
   16011             :      622,   623,     0,   624,     0,   626,   627,   628,   629,     0,
   16012             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   16013             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   16014             :      647,   648,   649,   650,   658,     0,     0,     0,     0,     0,
   16015             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   16016             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   16017             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   16018             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
   16019             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
   16020             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   16021             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
   16022             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
   16023             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   16024             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
   16025             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
   16026             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   16027             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   16028             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   16029             :      334,   335,   336,     0,   337,   338,   339,   340,   341,   342,
   16030             :      343,   344,   345,   346,     0,   347,     0,   348,   349,   350,
   16031             :      351,   352,     0,   353,     0,   354,   355,     0,     0,     0,
   16032             :      358,   359,   360,   361,     0,   362,   363,     0,   364,   365,
   16033             :      366,     0,   367,   368,   369,   370,   371,     0,   373,   374,
   16034             :      375,   376,     0,   377,   378,   379,   380,   381,   382,   383,
   16035             :      384,     0,   385,     0,   387,   388,   389,   390,   391,   392,
   16036             :      393,     0,   394,     0,   395,     0,     0,   398,     0,   400,
   16037             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   16038             :      411,   412,   413,   414,   415,   416,   417,     0,     0,   418,
   16039             :      419,     0,   421,     0,     0,   423,   424,   425,     0,     0,
   16040             :      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   16041             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   16042             :        0,   447,  6366,   449,   450,   451,   452,   453,   454,   455,
   16043             :      456,   457,   458,     0,   459,   460,     0,   462,     0,   463,
   16044             :      464,   465,   466,   467,   468,     0,   469,   470,   471,     0,
   16045             :        0,   472,   473,   474,     0,     0,   475,   476,   477,     0,
   16046             :      479,     0,   481,   482,   483,   484,   485,   486,   487,   488,
   16047             :      489,   490,   491,   492,   493,   494,     0,   495,   496,   497,
   16048             :      498,   499,   500,   501,   502,   503,     0,   504,   505,   506,
   16049             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   16050             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   16051             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   16052             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   16053             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   16054             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
   16055             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   16056             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   16057             :      582,   583,   584,     0,   585,   586,     0,     0,   587,     0,
   16058             :      589,   590,   591,   592,   593,   594,     0,   595,   596,   597,
   16059             :        0,     0,   598,   599,   600,   601,   602,     0,   603,   604,
   16060             :      605,   606,   607,   608,   609,   610,   611,     0,     0,   612,
   16061             :      613,   614,   615,   616,     0,     0,   617,   618,   619,   620,
   16062             :      621,   622,   623,     0,   624,     0,   626,   627,   628,   629,
   16063             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   16064             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   16065             :      646,   647,   648,   649,   650,   658,     0,     0,     0,     0,
   16066             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   16067             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   16068             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   16069             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   16070             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
   16071             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   16072             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
   16073             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
   16074             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   16075             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
   16076             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   16077             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   16078             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   16079             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   16080             :      333,   334,   335,   336,     0,   337,   338,   339,   340,   341,
   16081             :      342,   343,   344,   345,   346,     0,   347,     0,   348,   349,
   16082             :      350,   351,   352,     0,   353,     0,   354,   355,     0,     0,
   16083             :        0,   358,   359,   360,   361,     0,   362,   363,     0,   364,
   16084             :        0,   366,     0,   367,   368,   369,   370,   371,     0,   373,
   16085             :      374,   375,   376,     0,   377,   378,   379,   380,   381,   382,
   16086             :      383,   384,     0,   385,     0,   387,   388,   389,   390,   391,
   16087             :      392,   393,     0,   394,     0,   395,     0,     0,   398,     0,
   16088             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   16089             :      410,   411,   412,   413,   414,   415,   416,   417,     0,     0,
   16090             :      418,   419,     0,   421,     0,     0,   423,   424,   425,     0,
   16091             :        0,   426,   427,   428,   429,   430,   431,   432,   433,   434,
   16092             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   16093             :      445,     0,   447,   448,   449,   450,   451,   452,   453,   454,
   16094             :      455,   456,   457,   458,     0,   459,   460,     0,   462,     0,
   16095             :      463,   464,   465,   466,   467,   468,     0,   469,   470,   471,
   16096             :        0,     0,   472,   473,   474,     0,     0,   475,   476,   477,
   16097             :        0,   479,     0,   481,   482,   483,   484,   485,   486,   487,
   16098             :      488,     0,   490,   491,   492,   493,   494,     0,   495,   496,
   16099             :      497,   498,   499,   500,   501,   502,   503,     0,   504,   505,
   16100             :      506,   507,   508,   509,   510,   511,   512,     0,   514,   515,
   16101             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   16102             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   16103             :      534,     0,   536,   537,   538,   539,   540,   541,     0,   543,
   16104             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   16105             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
   16106             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   16107             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   16108             :      581,   582,   583,   584,     0,   585,   586,     0,     0,   587,
   16109             :        0,   589,   590,   591,   592,   593,   594,     0,   595,   596,
   16110             :      597,     0,     0,   598,   599,   600,   601,   602,     0,   603,
   16111             :      604,   605,   606,   607,   608,   609,   610,   611,     0,     0,
   16112             :      612,   613,   614,   615,   616,     0,     0,   617,   618,   619,
   16113             :      620,   621,   622,   623,     0,   624,     0,   626,   627,   628,
   16114             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   16115             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   16116             :      645,   646,   647,   648,   649,   650,   879,     0,     0,     0,
   16117             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   16118             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   16119             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
   16120             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   16121             :      253,   254,   255,   256,   257,     0,   880,   260,   881,   882,
   16122             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   16123             :      270,   271,   883,   884,   274,     0,   275,   276,   277,   278,
   16124             :        0,     0,   280,     0,   281,   282,   283,   284,   285,   286,
   16125             :      287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   16126             :      296,   297,     0,   298,   299,   300,   301,     0,     0,     0,
   16127             :      302,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   16128             :      885,   886,   311,     0,   312,     0,   313,   314,   315,   316,
   16129             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   16130             :      324,   325,   887,   327,   328,     0,   329,   330,   331,   332,
   16131             :        0,   333,   334,   335,   336,     0,   337,   338,   339,   340,
   16132             :        0,   342,   343,   344,   345,     0,     0,   347,     0,   348,
   16133             :      349,   350,   888,   352,     0,   353,     0,   354,   355,   356,
   16134             :        0,   357,   358,   359,   360,   361,     0,   362,     0,     0,
   16135             :        0,   365,   366,     0,   367,   368,   369,   370,   371,   372,
   16136             :      373,   374,   375,   376,  2731,   377,   378,   379,   380,   381,
   16137             :      382,   383,   384,     0,   385,   386,  2732,   388,   389,   390,
   16138             :      391,   889,   890,     0,   891,     0,   395,   396,   397,   398,
   16139             :      399,   892,     0,     0,     0,     0,     0,     0,     0,     0,
   16140             :        0,     0,   411,   412,   413,   414,   415,   416,   417,     0,
   16141             :        0,   418,     0,   420,   421,   422,     0,   423,   424,   425,
   16142             :        0,     0,   426,   427,   428,   429,   430,   431,   432,   433,
   16143             :      434,   435,     0,   437,   438,   439,   440,   441,   442,   443,
   16144             :      444,   893,   446,   894,   448,   449,   450,   451,   452,   453,
   16145             :      454,   455,     0,     0,   458,     0,   459,   460,   461,   462,
   16146             :        0,     0,   464,   895,   466,   467,   468,     0,   469,   470,
   16147             :      471,     0,     0,   472,   473,   474,     0,     0,   475,   476,
   16148             :     2734,   478,   479,   480,     0,   482,   483,   484,   485,   486,
   16149             :      487,   488,   489,   490,   491,   492,   493,   494,     0,   495,
   16150             :      496,   497,     0,   499,     0,   501,   502,   503,     0,   504,
   16151             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   16152             :      896,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   16153             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   16154             :      533,   534,   535,   536,   537,   538,   539,   540,     0,   542,
   16155             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   16156             :      552,   553,   554,   555,   556,     0,   557,   558,  2735,   560,
   16157             :      561,   562,   563,   564,   898,   566,     0,   567,   568,   569,
   16158             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   16159             :      580,   581,   582,     0,   584,     0,   585,   586,     0,     0,
   16160             :      587,   588,   589,   590,   591,   592,   593,   594,     0,   595,
   16161             :      899,   900,     0,     0,   598,   599,     0,   601,     0,     0,
   16162             :      603,   604,   605,   606,   607,   608,   609,   610,   611,     0,
   16163             :        0,   612,   613,   614,   615,   616,     0,     0,   617,   618,
   16164             :      619,   620,   621,     0,   901,  2736,   624,   625,   626,   627,
   16165             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   16166             :      634,   635,   636,   879,     0,     0,     0,     0,     0,     0,
   16167             :        0,     0,     0,     0,   648,   649,   650,     0,     0,     0,
   16168             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   16169             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   16170             :      247,   248,   249,     0,   250,   251,   252,   253,   254,   255,
   16171             :      256,   257,     0,   880,   260,   881,   882,     0,   263,   264,
   16172             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   883,
   16173             :      884,   274,     0,   275,   276,   277,   278,     0,     0,   280,
   16174             :        0,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   16175             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   16176             :      298,   299,   300,   301,     0,     0,     0,   302,     0,     0,
   16177             :        0,   303,   304,   305,   306,   307,   308,   885,   886,   311,
   16178             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   16179             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   887,
   16180             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   16181             :      335,   336,     0,   337,   338,   339,   340,     0,   342,   343,
   16182             :      344,   345,     0,     0,   347,     0,   348,   349,   350,   888,
   16183             :      352,     0,   353,     0,   354,   355,   356,     0,   357,   358,
   16184             :      359,   360,   361,     0,   362,     0,     0,     0,   365,   366,
   16185             :        0,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   16186             :      376,     0,   377,   378,   379,   380,   381,   382,   383,   384,
   16187             :        0,   385,   386,     0,   388,   389,   390,   391,   889,   890,
   16188             :        0,   891,     0,   395,   396,   397,   398,   399,   892,     0,
   16189             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   411,
   16190             :      412,   413,   414,   415,   416,   417,     0,     0,   418,     0,
   16191             :      420,   421,   422,     0,   423,   424,   425,     0,     0,   426,
   16192             :      427,   428,   429,   430,   431,   432,   433,   434,   435,     0,
   16193             :      437,   438,   439,   440,   441,   442,   443,   444,   893,   446,
   16194             :      894,   448,   449,   450,   451,   452,   453,   454,   455,     0,
   16195             :        0,   458,     0,   459,   460,   461,   462,  2815,     0,   464,
   16196             :      895,   466,   467,   468,     0,   469,   470,   471,     0,     0,
   16197             :      472,   473,   474,     0,     0,   475,   476,     0,   478,   479,
   16198             :      480,     0,   482,   483,   484,   485,   486,   487,   488,   489,
   16199             :      490,   491,   492,   493,   494,     0,   495,   496,   497,     0,
   16200             :      499,     0,   501,   502,   503,     0,   504,   505,   506,   507,
   16201             :      508,   509,   510,   511,   512,   513,   514,   896,   516,   517,
   16202             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   16203             :      527,   528,   529,   530,   531,   532,     0,   533,   534,   535,
   16204             :      536,   537,   538,   539,   540,     0,   542,   543,   544,   545,
   16205             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   16206             :      555,   556,     0,   557,   558,  2735,   560,   561,   562,   563,
   16207             :      564,   898,   566,     0,   567,   568,   569,   570,   571,   572,
   16208             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   16209             :        0,   584,     0,   585,   586,     0,  4639,   587,   588,   589,
   16210             :      590,   591,   592,   593,   594,     0,   595,   899,   900,     0,
   16211             :        0,   598,   599,     0,   601,     0,     0,   603,   604,   605,
   16212             :      606,   607,   608,   609,   610,   611,     0,     0,   612,   613,
   16213             :      614,   615,   616,     0,     0,   617,   618,   619,   620,   621,
   16214             :        0,   901,     0,   624,   625,   626,   627,   628,   629,     0,
   16215             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   16216             :      879,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   16217             :        0,   648,   649,   650,     0,     0,     0,   235,   236,   237,
   16218             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   16219             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   16220             :        0,   250,   251,   252,   253,   254,   255,   256,   257,     0,
   16221             :      880,   260,   881,   882,     0,   263,   264,   265,   266,   267,
   16222             :      268,   269,     0,     0,   270,   271,   883,   884,   274,     0,
   16223             :      275,   276,   277,   278,     0,     0,   280,     0,   281,   282,
   16224             :      283,   284,   285,   286,   287,   288,   289,   290,   291,     0,
   16225             :      292,   293,   294,   295,   296,   297,     0,   298,   299,   300,
   16226             :      301,     0,     0,     0,   302,     0,     0,     0,   303,   304,
   16227             :      305,   306,   307,   308,   885,   886,   311,     0,   312,     0,
   16228             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   16229             :      322,   323,     0,     0,   324,   325,   887,   327,   328,     0,
   16230             :      329,   330,   331,   332,     0,   333,   334,   335,   336,     0,
   16231             :      337,   338,   339,   340,     0,   342,   343,   344,   345,     0,
   16232             :        0,   347,     0,   348,   349,   350,   888,   352,     0,   353,
   16233             :        0,   354,   355,   356,     0,   357,   358,   359,   360,   361,
   16234             :        0,   362,     0,     0,     0,   365,   366,     0,   367,   368,
   16235             :      369,   370,   371,   372,   373,   374,   375,   376,     0,   377,
   16236             :      378,   379,   380,   381,   382,   383,   384,     0,   385,   386,
   16237             :        0,   388,   389,   390,   391,   889,   890,     0,   891,     0,
   16238             :      395,   396,   397,   398,   399,   892,     0,     0,     0,     0,
   16239             :        0,     0,     0,     0,     0,     0,   411,   412,   413,   414,
   16240             :      415,   416,   417,     0,     0,   418,     0,   420,   421,   422,
   16241             :        0,   423,   424,   425,     0,     0,   426,   427,   428,   429,
   16242             :      430,   431,   432,   433,   434,   435,     0,   437,   438,   439,
   16243             :      440,   441,   442,   443,   444,   893,   446,   894,   448,   449,
   16244             :      450,   451,   452,   453,   454,   455,  2896,     0,   458,     0,
   16245             :      459,   460,   461,   462,     0,     0,   464,   895,   466,   467,
   16246             :      468,     0,   469,   470,   471,     0,     0,   472,   473,   474,
   16247             :        0,     0,   475,   476,     0,   478,   479,   480,     0,   482,
   16248             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   16249             :      493,   494,     0,   495,   496,   497,     0,   499,     0,   501,
   16250             :      502,   503,     0,   504,   505,   506,   507,   508,   509,   510,
   16251             :      511,   512,   513,   514,   896,   516,   517,   518,   519,     0,
   16252             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   16253             :      530,   531,   532,     0,   533,   534,   535,   536,   537,   538,
   16254             :      539,   540,     0,   542,   543,   544,   545,   546,   547,   548,
   16255             :      549,   550,   551,     0,   552,   553,   554,   555,   556,     0,
   16256             :      557,   558,   897,   560,   561,   562,   563,   564,   898,   566,
   16257             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   16258             :      576,   577,   578,   579,   580,   581,   582,     0,   584,     0,
   16259             :      585,   586,     0,     0,   587,   588,   589,   590,   591,   592,
   16260             :      593,   594,     0,   595,   899,   900,     0,     0,   598,   599,
   16261             :        0,   601,     0,     0,   603,   604,   605,   606,   607,   608,
   16262             :      609,   610,   611,     0,     0,   612,   613,   614,   615,   616,
   16263             :        0,     0,   617,   618,   619,   620,   621,     0,   901,     0,
   16264             :      624,   625,   626,   627,   628,   629,     0,     0,   630,     0,
   16265             :        0,   631,   632,   633,   634,   635,   636,   879,     0,     0,
   16266             :        0,     0,     0,     0,     0,     0,     0,     0,   648,   649,
   16267             :      650,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   16268             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
   16269             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   16270             :      252,   253,   254,   255,   256,   257,     0,   880,   260,   881,
   16271             :      882,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   16272             :        0,   270,   271,   883,   884,   274,     0,   275,   276,   277,
   16273             :      278,     0,     0,   280,     0,   281,   282,   283,   284,   285,
   16274             :      286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
   16275             :      295,   296,   297,     0,   298,   299,   300,   301,     0,     0,
   16276             :        0,   302,     0,     0,     0,   303,   304,   305,   306,   307,
   16277             :      308,   885,   886,   311,     0,   312,     0,   313,   314,   315,
   16278             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   16279             :        0,   324,   325,   887,   327,   328,     0,   329,   330,   331,
   16280             :      332,     0,   333,   334,   335,   336,     0,   337,   338,   339,
   16281             :      340,     0,   342,   343,   344,   345,     0,     0,   347,     0,
   16282             :      348,   349,   350,   888,   352,     0,   353,     0,   354,   355,
   16283             :      356,     0,   357,   358,   359,   360,   361,     0,   362,     0,
   16284             :        0,     0,   365,   366,     0,   367,   368,   369,   370,   371,
   16285             :      372,   373,   374,   375,   376,     0,   377,   378,   379,   380,
   16286             :      381,   382,   383,   384,     0,   385,   386,     0,   388,   389,
   16287             :      390,   391,   889,   890,     0,   891,     0,   395,   396,   397,
   16288             :      398,   399,   892,     0,     0,     0,     0,     0,     0,     0,
   16289             :        0,     0,     0,   411,   412,   413,   414,   415,   416,   417,
   16290             :        0,     0,   418,     0,   420,   421,   422,     0,   423,   424,
   16291             :      425,     0,     0,   426,   427,   428,   429,   430,   431,   432,
   16292             :      433,   434,   435,     0,   437,   438,   439,   440,   441,   442,
   16293             :      443,   444,   893,   446,   894,   448,   449,   450,   451,   452,
   16294             :      453,   454,   455,  4433,     0,   458,     0,   459,   460,   461,
   16295             :      462,     0,     0,   464,   895,   466,   467,   468,     0,   469,
   16296             :      470,   471,     0,     0,   472,   473,   474,     0,     0,   475,
   16297             :      476,     0,   478,   479,   480,     0,   482,   483,   484,   485,
   16298             :      486,   487,   488,   489,   490,   491,   492,   493,   494,     0,
   16299             :      495,   496,   497,     0,   499,     0,   501,   502,   503,     0,
   16300             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   16301             :      514,   896,   516,   517,   518,   519,     0,   520,   521,   522,
   16302             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   16303             :        0,   533,   534,   535,   536,   537,   538,   539,   540,     0,
   16304             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   16305             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   897,
   16306             :      560,   561,   562,   563,   564,   898,   566,     0,   567,   568,
   16307             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   16308             :      579,   580,   581,   582,     0,   584,     0,   585,   586,     0,
   16309             :        0,   587,   588,   589,   590,   591,   592,   593,   594,     0,
   16310             :      595,   899,   900,     0,     0,   598,   599,     0,   601,     0,
   16311             :        0,   603,   604,   605,   606,   607,   608,   609,   610,   611,
   16312             :        0,     0,   612,   613,   614,   615,   616,     0,     0,   617,
   16313             :      618,   619,   620,   621,     0,   901,     0,   624,   625,   626,
   16314             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   16315             :      633,   634,   635,   636,   879,     0,     0,     0,     0,     0,
   16316             :        0,     0,     0,     0,     0,   648,   649,   650,     0,     0,
   16317             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   16318             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   16319             :        0,   247,   248,   249,     0,   250,   251,   252,   253,   254,
   16320             :      255,   256,   257,     0,   880,   260,   881,   882,     0,   263,
   16321             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   16322             :      883,   884,   274,     0,   275,   276,   277,   278,     0,     0,
   16323             :      280,     0,   281,   282,   283,   284,   285,   286,   287,   288,
   16324             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   16325             :        0,   298,   299,   300,   301,     0,     0,     0,   302,     0,
   16326             :        0,     0,   303,   304,   305,   306,   307,   308,   885,   886,
   16327             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   16328             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   16329             :      887,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   16330             :      334,   335,   336,     0,   337,   338,   339,   340,     0,   342,
   16331             :      343,   344,   345,     0,     0,   347,     0,   348,   349,   350,
   16332             :      888,   352,  6050,   353,     0,   354,   355,   356,     0,   357,
   16333             :      358,   359,   360,   361,     0,   362,     0,     0,     0,   365,
   16334             :      366,     0,   367,   368,   369,   370,   371,   372,   373,   374,
   16335             :      375,   376,     0,   377,   378,   379,   380,   381,   382,   383,
   16336             :      384,     0,   385,   386,     0,   388,   389,   390,   391,   889,
   16337             :      890,     0,   891,     0,   395,   396,   397,   398,   399,   892,
   16338             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   16339             :      411,   412,   413,   414,   415,   416,   417,     0,     0,   418,
   16340             :        0,   420,   421,   422,     0,   423,   424,   425,     0,     0,
   16341             :      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   16342             :        0,   437,   438,   439,   440,   441,   442,   443,   444,   893,
   16343             :      446,   894,   448,   449,   450,   451,   452,   453,   454,   455,
   16344             :        0,     0,   458,     0,   459,   460,   461,   462,     0,     0,
   16345             :      464,   895,   466,   467,   468,     0,   469,   470,   471,     0,
   16346             :        0,   472,   473,   474,     0,     0,   475,   476,     0,   478,
   16347             :      479,   480,     0,   482,   483,   484,   485,   486,   487,   488,
   16348             :      489,   490,   491,   492,   493,   494,     0,   495,   496,   497,
   16349             :        0,   499,     0,   501,   502,   503,     0,   504,   505,   506,
   16350             :      507,   508,   509,   510,   511,   512,   513,   514,   896,   516,
   16351             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   16352             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   16353             :      535,   536,   537,   538,   539,   540,     0,   542,   543,   544,
   16354             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   16355             :      554,   555,   556,     0,   557,   558,   897,   560,   561,   562,
   16356             :      563,   564,   898,   566,     0,   567,   568,   569,   570,   571,
   16357             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   16358             :      582,     0,   584,     0,   585,   586,     0,     0,   587,   588,
   16359             :      589,   590,   591,   592,   593,   594,     0,   595,   899,   900,
   16360             :        0,     0,   598,   599,     0,   601,     0,     0,   603,   604,
   16361             :      605,   606,   607,   608,   609,   610,   611,     0,     0,   612,
   16362             :      613,   614,   615,   616,     0,     0,   617,   618,   619,   620,
   16363             :      621,     0,   901,     0,   624,   625,   626,   627,   628,   629,
   16364             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   16365             :      636,   879,     0,     0,     0,     0,     0,     0,     0,     0,
   16366             :        0,     0,   648,   649,   650,     0,     0,     0,   235,   236,
   16367             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   16368             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   16369             :      249,     0,   250,   251,   252,   253,   254,   255,   256,   257,
   16370             :        0,   880,   260,   881,   882,     0,   263,   264,   265,   266,
   16371             :      267,   268,   269,     0,     0,   270,   271,   883,   884,   274,
   16372             :        0,   275,   276,   277,   278,     0,     0,   280,     0,   281,
   16373             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   16374             :        0,   292,   293,   294,   295,   296,   297,     0,   298,   299,
   16375             :      300,   301,     0,     0,     0,   302,     0,     0,     0,   303,
   16376             :      304,   305,   306,   307,   308,   885,   886,   311,     0,   312,
   16377             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   16378             :      321,   322,   323,     0,     0,   324,   325,   887,   327,   328,
   16379             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   16380             :        0,   337,   338,   339,   340,     0,   342,   343,   344,   345,
   16381             :        0,     0,   347,     0,   348,   349,   350,   888,   352,  6410,
   16382             :      353,     0,   354,   355,   356,     0,   357,   358,   359,   360,
   16383             :      361,     0,   362,     0,     0,     0,   365,   366,     0,   367,
   16384             :      368,   369,   370,   371,   372,   373,   374,   375,   376,     0,
   16385             :      377,   378,   379,   380,   381,   382,   383,   384,     0,   385,
   16386             :      386,     0,   388,   389,   390,   391,   889,   890,     0,   891,
   16387             :        0,   395,   396,   397,   398,   399,   892,     0,     0,     0,
   16388             :        0,     0,     0,     0,     0,     0,     0,   411,   412,   413,
   16389             :      414,   415,   416,   417,     0,     0,   418,     0,   420,   421,
   16390             :      422,     0,   423,   424,   425,     0,     0,   426,   427,   428,
   16391             :      429,   430,   431,   432,   433,   434,   435,     0,   437,   438,
   16392             :      439,   440,   441,   442,   443,   444,   893,   446,   894,   448,
   16393             :      449,   450,   451,   452,   453,   454,   455,     0,     0,   458,
   16394             :        0,   459,   460,   461,   462,     0,     0,   464,   895,   466,
   16395             :      467,   468,     0,   469,   470,   471,     0,     0,   472,   473,
   16396             :      474,     0,     0,   475,   476,     0,   478,   479,   480,     0,
   16397             :      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   16398             :      492,   493,   494,     0,   495,   496,   497,     0,   499,     0,
   16399             :      501,   502,   503,     0,   504,   505,   506,   507,   508,   509,
   16400             :      510,   511,   512,   513,   514,   896,   516,   517,   518,   519,
   16401             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   16402             :      529,   530,   531,   532,     0,   533,   534,   535,   536,   537,
   16403             :      538,   539,   540,     0,   542,   543,   544,   545,   546,   547,
   16404             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
   16405             :        0,   557,   558,   897,   560,   561,   562,   563,   564,   898,
   16406             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   16407             :      575,   576,   577,   578,   579,   580,   581,   582,     0,   584,
   16408             :        0,   585,   586,     0,     0,   587,   588,   589,   590,   591,
   16409             :      592,   593,   594,     0,   595,   899,   900,     0,     0,   598,
   16410             :      599,     0,   601,     0,     0,   603,   604,   605,   606,   607,
   16411             :      608,   609,   610,   611,     0,     0,   612,   613,   614,   615,
   16412             :      616,     0,     0,   617,   618,   619,   620,   621,     0,   901,
   16413             :        0,   624,   625,   626,   627,   628,   629,     0,     0,   630,
   16414             :        0,     0,   631,   632,   633,   634,   635,   636,   879,     0,
   16415             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   648,
   16416             :      649,   650,     0,     0,     0,   235,   236,   237,   238,   239,
   16417             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
   16418             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   16419             :      251,   252,   253,   254,   255,   256,   257,     0,   880,   260,
   16420             :      881,   882,     0,   263,   264,   265,   266,   267,   268,   269,
   16421             :        0,     0,   270,   271,   883,   884,   274,     0,   275,   276,
   16422             :      277,   278,     0,     0,   280,     0,   281,   282,   283,   284,
   16423             :      285,   286,   287,   288,   289,   290,   291,     0,   292,   293,
   16424             :      294,   295,   296,   297,     0,   298,   299,   300,   301,     0,
   16425             :        0,     0,   302,     0,     0,     0,   303,   304,   305,   306,
   16426             :      307,   308,   885,   886,   311,     0,   312,     0,   313,   314,
   16427             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   16428             :        0,     0,   324,   325,   887,   327,   328,     0,   329,   330,
   16429             :      331,   332,     0,   333,   334,   335,   336,     0,   337,   338,
   16430             :      339,   340,     0,   342,   343,   344,   345,     0,     0,   347,
   16431             :        0,   348,   349,   350,   888,   352,     0,   353,     0,   354,
   16432             :      355,   356,     0,   357,   358,   359,   360,   361,     0,   362,
   16433             :        0,     0,     0,   365,   366,     0,   367,   368,   369,   370,
   16434             :      371,   372,   373,   374,   375,   376,     0,   377,   378,   379,
   16435             :      380,   381,   382,   383,   384,     0,   385,   386,     0,   388,
   16436             :      389,   390,   391,   889,   890,     0,   891,     0,   395,   396,
   16437             :      397,   398,   399,   892,     0,     0,     0,     0,     0,     0,
   16438             :        0,     0,     0,     0,   411,   412,   413,   414,   415,   416,
   16439             :      417,     0,     0,   418,     0,   420,   421,   422,     0,   423,
   16440             :      424,   425,     0,     0,   426,   427,   428,   429,   430,   431,
   16441             :      432,   433,   434,   435,     0,   437,   438,   439,   440,   441,
   16442             :      442,   443,   444,   893,   446,   894,   448,   449,   450,   451,
   16443             :      452,   453,   454,   455,     0,     0,   458,     0,   459,   460,
   16444             :      461,   462,     0,     0,   464,   895,   466,   467,   468,     0,
   16445             :      469,   470,   471,     0,     0,   472,   473,   474,     0,     0,
   16446             :      475,   476,     0,   478,   479,   480,     0,   482,   483,   484,
   16447             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   16448             :        0,   495,   496,   497,     0,   499,     0,   501,   502,   503,
   16449             :        0,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   16450             :      513,   514,   896,   516,   517,   518,   519,     0,   520,   521,
   16451             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   16452             :      532,     0,   533,   534,   535,   536,   537,   538,   539,   540,
   16453             :        0,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   16454             :      551,     0,   552,   553,   554,   555,   556,     0,   557,   558,
   16455             :      897,   560,   561,   562,   563,   564,   898,   566,     0,   567,
   16456             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   16457             :      578,   579,   580,   581,   582,     0,   584,     0,   585,   586,
   16458             :        0,     0,   587,   588,   589,   590,   591,   592,   593,   594,
   16459             :        0,   595,   899,   900,     0,     0,   598,   599,     0,   601,
   16460             :        0,     0,   603,   604,   605,   606,   607,   608,   609,   610,
   16461             :      611,     0,     0,   612,   613,   614,   615,   616,     0,     0,
   16462             :      617,   618,   619,   620,   621,     0,   901,     0,   624,   625,
   16463             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   16464             :      632,   633,   634,   635,   636,   879,     0,     0,     0,     0,
   16465             :        0,     0,     0,     0,     0,     0,   648,   649,   650,     0,
   16466             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   16467             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   16468             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   16469             :      254,   255,   256,   257,     0,   880,   260,   881,   882,     0,
   16470             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   16471             :      271,   883,   884,   274,     0,   275,   276,   277,   278,     0,
   16472             :        0,   280,     0,   281,   282,   283,   284,   285,   286,   287,
   16473             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   16474             :      297,     0,   298,   299,   300,   301,     0,     0,     0,   302,
   16475             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   885,
   16476             :      886,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   16477             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   16478             :      325,   887,   327,   328,     0,   329,   330,   331,   332,     0,
   16479             :      333,   334,   335,   336,     0,   337,   338,   339,   340,     0,
   16480             :      342,   343,   344,   345,     0,     0,   347,     0,   348,   349,
   16481             :      350,   888,   352,     0,   353,     0,   354,   355,   356,     0,
   16482             :      357,   358,   359,   360,   361,     0,   362,     0,     0,     0,
   16483             :      365,   366,     0,   367,   368,   369,   370,  1155,   372,   373,
   16484             :      374,   375,   376,     0,   377,   378,   379,   380,   381,   382,
   16485             :      383,   384,     0,   385,   386,     0,   388,   389,   390,   391,
   16486             :      889,   890,     0,   891,     0,   395,   396,   397,   398,   399,
   16487             :      892,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   16488             :        0,   411,   412,   413,   414,   415,   416,   417,     0,     0,
   16489             :      418,     0,   420,   421,   422,     0,   423,   424,   425,     0,
   16490             :        0,   426,   427,   428,   429,   430,   431,   432,   433,   434,
   16491             :      435,     0,   437,   438,   439,   440,   441,   442,   443,   444,
   16492             :      893,   446,   894,   448,   449,   450,   451,   452,   453,   454,
   16493             :      455,     0,     0,   458,     0,   459,   460,   461,   462,     0,
   16494             :        0,   464,   895,   466,   467,   468,     0,   469,   470,   471,
   16495             :        0,     0,   472,   473,   474,     0,     0,   475,   476,     0,
   16496             :      478,   479,   480,     0,   482,   483,   484,   485,   486,   487,
   16497             :      488,   489,   490,   491,   492,   493,   494,     0,   495,   496,
   16498             :      497,     0,   499,     0,   501,   502,   503,     0,   504,   505,
   16499             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   896,
   16500             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   16501             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   16502             :      534,   535,   536,   537,   538,   539,   540,     0,   542,   543,
   16503             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   16504             :      553,   554,   555,   556,     0,   557,   558,   897,   560,   561,
   16505             :      562,   563,   564,   898,   566,     0,   567,   568,   569,   570,
   16506             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   16507             :      581,   582,     0,   584,     0,   585,   586,     0,     0,   587,
   16508             :      588,   589,   590,   591,   592,   593,   594,     0,   595,   899,
   16509             :      900,     0,     0,   598,   599,     0,   601,     0,     0,   603,
   16510             :      604,   605,   606,   607,   608,   609,   610,   611,     0,     0,
   16511             :      612,   613,   614,   615,   616,     0,     0,   617,   618,   619,
   16512             :      620,   621,     0,   901,     0,   624,   625,   626,   627,   628,
   16513             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   16514             :      635,   636,   879,     0,     0,     0,     0,     0,     0,     0,
   16515             :        0,     0,     0,   648,   649,   650,     0,     0,     0,   235,
   16516             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   16517             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   16518             :      248,   249,     0,   250,   251,   252,   253,   254,   255,   256,
   16519             :      257,     0,   880,   260,   881,   882,     0,   263,   264,   265,
   16520             :      266,   267,   268,   269,     0,     0,   270,   271,   883,   884,
   16521             :      274,     0,   275,   276,   277,   278,     0,     0,   280,     0,
   16522             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   16523             :      291,     0,   292,   293,   294,   295,   296,   297,     0,   298,
   16524             :      299,   300,   301,     0,     0,     0,   302,     0,     0,     0,
   16525             :      303,   304,   305,   306,   307,   308,   885,   886,   311,     0,
   16526             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   16527             :      320,   321,   322,   323,     0,     0,   324,   325,   887,   327,
   16528             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   16529             :      336,     0,   337,   338,   339,   340,     0,   342,   343,   344,
   16530             :      345,     0,     0,   347,     0,   348,   349,   350,   888,   352,
   16531             :        0,   353,     0,   354,   355,   356,     0,   357,   358,   359,
   16532             :      360,   361,     0,   362,     0,     0,     0,   365,   366,     0,
   16533             :      367,   368,   369,   370,  1187,   372,   373,   374,   375,   376,
   16534             :        0,   377,   378,   379,   380,   381,   382,   383,   384,     0,
   16535             :      385,   386,     0,   388,   389,   390,   391,   889,   890,     0,
   16536             :      891,     0,   395,   396,   397,   398,   399,   892,     0,     0,
   16537             :        0,     0,     0,     0,     0,     0,     0,     0,   411,   412,
   16538             :      413,   414,   415,   416,   417,     0,     0,   418,     0,   420,
   16539             :      421,   422,     0,   423,   424,   425,     0,     0,   426,   427,
   16540             :      428,   429,   430,   431,   432,   433,   434,   435,     0,   437,
   16541             :      438,   439,   440,   441,   442,   443,   444,   893,   446,   894,
   16542             :      448,   449,   450,   451,   452,   453,   454,   455,     0,     0,
   16543             :      458,     0,   459,   460,   461,   462,     0,     0,   464,   895,
   16544             :      466,   467,   468,     0,   469,   470,   471,     0,     0,   472,
   16545             :      473,   474,     0,     0,   475,   476,     0,   478,   479,   480,
   16546             :        0,   482,   483,   484,   485,   486,   487,   488,   489,   490,
   16547             :      491,   492,   493,   494,     0,   495,   496,   497,     0,   499,
   16548             :        0,   501,   502,   503,     0,   504,   505,   506,   507,   508,
   16549             :      509,   510,   511,   512,   513,   514,   896,   516,   517,   518,
   16550             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   16551             :      528,   529,   530,   531,   532,     0,   533,   534,   535,   536,
   16552             :      537,   538,   539,   540,     0,   542,   543,   544,   545,   546,
   16553             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   16554             :      556,     0,   557,   558,   897,   560,   561,   562,   563,   564,
   16555             :      898,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   16556             :      574,   575,   576,   577,   578,   579,   580,   581,   582,     0,
   16557             :      584,     0,   585,   586,     0,     0,   587,   588,   589,   590,
   16558             :      591,   592,   593,   594,     0,   595,   899,   900,     0,     0,
   16559             :      598,   599,     0,   601,     0,     0,   603,   604,   605,   606,
   16560             :      607,   608,   609,   610,   611,     0,     0,   612,   613,   614,
   16561             :      615,   616,     0,     0,   617,   618,   619,   620,   621,     0,
   16562             :      901,     0,   624,   625,   626,   627,   628,   629,     0,     0,
   16563             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   879,
   16564             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   16565             :      648,   649,   650,     0,     0,     0,   235,   236,   237,   238,
   16566             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
   16567             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   16568             :      250,   251,   252,   253,   254,   255,   256,   257,     0,   880,
   16569             :      260,   881,   882,     0,   263,   264,   265,   266,   267,   268,
   16570             :      269,     0,     0,   270,   271,   883,   884,   274,     0,   275,
   16571             :      276,   277,   278,     0,     0,   280,     0,   281,   282,   283,
   16572             :      284,   285,   286,   287,   288,   289,   290,   291,     0,   292,
   16573             :      293,   294,   295,   296,   297,     0,   298,   299,   300,   301,
   16574             :        0,     0,     0,   302,     0,     0,     0,   303,   304,   305,
   16575             :      306,   307,   308,   885,   886,   311,     0,   312,     0,   313,
   16576             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   16577             :      323,     0,     0,   324,   325,   887,   327,   328,     0,   329,
   16578             :      330,   331,   332,     0,   333,   334,   335,   336,     0,   337,
   16579             :      338,   339,   340,     0,   342,   343,   344,   345,     0,     0,
   16580             :      347,     0,   348,   349,   350,   888,   352,     0,   353,     0,
   16581             :      354,   355,   356,     0,   357,   358,   359,   360,   361,     0,
   16582             :      362,     0,     0,     0,   365,   366,     0,   367,   368,   369,
   16583             :      370,   371,   372,   373,   374,   375,   376,     0,   377,   378,
   16584             :      379,   380,   381,   382,   383,   384,     0,   385,   386,     0,
   16585             :      388,   389,   390,   391,   889,   890,     0,   891,     0,   395,
   16586             :      396,   397,   398,   399,   892,     0,     0,     0,     0,     0,
   16587             :        0,     0,     0,     0,     0,   411,   412,   413,   414,   415,
   16588             :      416,   417,     0,     0,   418,     0,   420,   421,   422,     0,
   16589             :      423,   424,   425,     0,     0,   426,   427,   428,   429,   430,
   16590             :      431,   432,   433,   434,   435,     0,   437,   438,   439,   440,
   16591             :      441,   442,   443,   444,   893,   446,   894,   448,   449,   450,
   16592             :      451,   452,   453,   454,   455,     0,     0,   458,     0,   459,
   16593             :      460,   461,   462,     0,     0,   464,   895,   466,   467,   468,
   16594             :        0,   469,   470,   471,     0,     0,   472,   473,   474,     0,
   16595             :        0,   475,   476,     0,   478,   479,   480,     0,   482,   483,
   16596             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   16597             :      494,     0,   495,   496,   497,     0,   499,     0,   501,   502,
   16598             :      503,     0,   504,   505,   506,   507,   508,   509,   510,   511,
   16599             :      512,   513,   514,   896,   516,   517,   518,   519,     0,   520,
   16600             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   16601             :      531,   532,     0,   533,   534,   535,   536,   537,   538,   539,
   16602             :      540,     0,   542,   543,   544,   545,   546,   547,   548,   549,
   16603             :      550,   551,     0,   552,   553,   554,   555,   556,     0,   557,
   16604             :      558,  2735,   560,   561,   562,   563,   564,   898,   566,     0,
   16605             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   16606             :      577,   578,   579,   580,   581,   582,     0,   584,     0,   585,
   16607             :      586,     0,     0,   587,   588,   589,   590,   591,   592,   593,
   16608             :      594,     0,   595,   899,   900,     0,     0,   598,   599,     0,
   16609             :      601,     0,     0,   603,   604,   605,   606,   607,   608,   609,
   16610             :      610,   611,     0,     0,   612,   613,   614,   615,   616,     0,
   16611             :        0,   617,   618,   619,   620,   621,     0,   901,     0,   624,
   16612             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   16613             :      631,   632,   633,   634,   635,   636,   879,     0,     0,     0,
   16614             :        0,     0,     0,     0,     0,     0,     0,   648,   649,   650,
   16615             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   16616             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
   16617             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   16618             :      253,   254,   255,   256,   257,     0,   880,   260,   881,   882,
   16619             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   16620             :      270,   271,   883,   884,   274,     0,   275,   276,   277,   278,
   16621             :        0,     0,   280,     0,   281,   282,   283,   284,   285,   286,
   16622             :      287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   16623             :      296,   297,     0,   298,   299,   300,   301,     0,     0,     0,
   16624             :      302,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   16625             :      885,   886,   311,     0,   312,     0,   313,   314,   315,   316,
   16626             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   16627             :      324,   325,   887,   327,   328,     0,   329,   330,   331,   332,
   16628             :        0,   333,   334,   335,   336,     0,   337,   338,   339,   340,
   16629             :        0,   342,   343,   344,   345,     0,     0,   347,     0,   348,
   16630             :      349,   350,   888,   352,     0,   353,     0,   354,   355,   356,
   16631             :        0,   357,   358,   359,   360,   361,     0,   362,     0,     0,
   16632             :        0,   365,   366,     0,   367,   368,   369,   370,   371,   372,
   16633             :      373,   374,   375,   376,     0,   377,   378,   379,   380,   381,
   16634             :      382,   383,   384,     0,   385,   386,     0,   388,   389,   390,
   16635             :      391,   889,   890,     0,   891,     0,   395,   396,   397,   398,
   16636             :      399,   892,     0,     0,     0,     0,     0,     0,     0,     0,
   16637             :        0,     0,   411,   412,   413,   414,   415,   416,   417,     0,
   16638             :        0,   418,     0,   420,   421,   422,     0,   423,   424,   425,
   16639             :        0,     0,   426,   427,   428,   429,   430,   431,   432,   433,
   16640             :      434,   435,     0,   437,   438,   439,   440,   441,   442,   443,
   16641             :      444,   893,   446,   894,   448,   449,   450,   451,   452,   453,
   16642             :      454,   455,     0,     0,   458,     0,   459,   460,   461,   462,
   16643             :        0,     0,   464,   895,   466,   467,   468,     0,   469,   470,
   16644             :      471,     0,     0,   472,   473,   474,     0,     0,   475,   476,
   16645             :        0,   478,   479,   480,     0,   482,   483,   484,   485,   486,
   16646             :      487,   488,   489,   490,   491,   492,   493,   494,     0,   495,
   16647             :      496,   497,     0,   499,     0,   501,   502,   503,     0,   504,
   16648             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   16649             :      896,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   16650             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   16651             :      533,   534,   535,   536,   537,   538,   539,   540,     0,   542,
   16652             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   16653             :      552,   553,   554,   555,   556,     0,   557,   558,     0,   560,
   16654             :      561,   562,   563,   564,   898,   566,     0,   567,   568,   569,
   16655             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   16656             :      580,   581,   582,     0,   584,     0,   585,   586,     0,     0,
   16657             :      587,   588,   589,   590,   591,   592,   593,   594,     0,   595,
   16658             :      899,   900,     0,     0,   598,   599,     0,   601,     0,     0,
   16659             :      603,   604,   605,   606,   607,   608,   609,   610,   611,     0,
   16660             :        0,   612,   613,   614,   615,   616,     0,     0,   617,   618,
   16661             :      619,   620,   621,     0,   901,     0,   624,   625,   626,   627,
   16662             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   16663             :      634,   635,   636,   879,     0,     0,     0,     0,     0,     0,
   16664             :        0,     0,     0,     0,   648,   649,   650,     0,     0,     0,
   16665             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   16666             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   16667             :      247,   248,   249,     0,   250,   251,   252,   253,   254,   255,
   16668             :      256,   257,     0,     0,   260,     0,     0,     0,   263,   264,
   16669             :      265,   266,   267,   268,   269,     0,     0,   270,   271,     0,
   16670             :        0,   274,     0,   275,   276,   277,   278,     0,     0,   280,
   16671             :        0,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   16672             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   16673             :      298,   299,   300,   301,     0,     0,     0,   302,     0,     0,
   16674             :        0,   303,   304,   305,   306,   307,   308,     0,     0,   311,
   16675             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   16676             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   16677             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   16678             :      335,   336,     0,   337,   338,   339,   340,     0,   342,   343,
   16679             :      344,   345,     0,     0,   347,     0,   348,   349,   350,     0,
   16680             :      352,     0,   353,     0,   354,   355,   356,     0,   357,   358,
   16681             :      359,   360,   361,     0,   362,     0,     0,     0,   365,   366,
   16682             :        0,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   16683             :      376,     0,   377,   378,   379,   380,   381,   382,   383,   384,
   16684             :        0,   385,   386,     0,   388,   389,   390,   391,     0,     0,
   16685             :        0,     0,     0,   395,   396,   397,   398,   399,     0,     0,
   16686             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   411,
   16687             :      412,   413,   414,   415,   416,   417,     0,     0,   418,     0,
   16688             :      420,   421,   422,     0,   423,   424,   425,     0,     0,   426,
   16689             :      427,   428,   429,   430,   431,   432,   433,   434,   435,     0,
   16690             :      437,   438,   439,   440,   441,   442,   443,   444,     0,   446,
   16691             :        0,   448,   449,   450,   451,   452,   453,   454,   455,     0,
   16692             :        0,   458,     0,   459,   460,   461,   462,     0,     0,   464,
   16693             :        0,   466,   467,   468,     0,   469,   470,   471,     0,     0,
   16694             :      472,   473,   474,     0,     0,   475,   476,     0,   478,   479,
   16695             :      480,     0,   482,   483,   484,   485,   486,   487,   488,   489,
   16696             :      490,   491,   492,   493,   494,     0,   495,   496,   497,     0,
   16697             :      499,     0,   501,   502,   503,     0,   504,   505,   506,   507,
   16698             :      508,   509,   510,   511,   512,   513,   514,     0,   516,   517,
   16699             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   16700             :      527,   528,   529,   530,   531,   532,     0,   533,   534,   535,
   16701             :      536,   537,   538,   539,   540,     0,   542,   543,   544,   545,
   16702             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   16703             :      555,   556,     0,   557,   558,     0,   560,   561,   562,   563,
   16704             :      564,     0,   566,     0,   567,   568,   569,   570,   571,   572,
   16705             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   16706             :        0,   584,     0,   585,   586,     0,     0,   587,   588,   589,
   16707             :      590,   591,   592,   593,   594,     0,   595,     0,     0,     0,
   16708             :        0,   598,   599,     0,   601,     0,     0,   603,   604,   605,
   16709             :      606,   607,   608,   609,   610,   611,     0,     0,   612,   613,
   16710             :      614,   615,   616,     0,     0,   617,   618,   619,   620,   621,
   16711             :        0,     0,     0,   624,   625,   626,   627,   628,   629,     0,
   16712             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   16713             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   16714             :        0,   648,   649,   650
   16715             : };
   16716             : 
   16717             : static const yytype_int16 yycheck[] =
   16718             : {
   16719             :        6,     0,     0,     0,     0,     0,   211,     0,     0,    56,
   16720             :        0,     0,     0,     0,     0,     0,     0,    23,  1041,    25,
   16721             :     1050,     0,  1013,    29,    21,   211,   843,   980,    34,    35,
   16722             :       36,   686,    38,  1228,   665,    41,    42,   942,    44,     8,
   16723             :       46,  1660,    21,  1595,   759,  1505,    15,    53,    54,    55,
   16724             :      189,     0,   840,  1167,    22,  1579,  2844,     0,     0,  1014,
   16725             :       28,  1030,   936,   897,   938,    36,   206,   799,   800,   801,
   16726             :      916,  1045,   867,   805,   214,   885,   886,   217,  1579,  1039,
   16727             :     2717,  1572,  2044,  3074,  1116,   895,  2718,   718,    44,  1262,
   16728             :      718,   866,   197,   850,    45,  3139,   216,  1050,  3430,  1902,
   16729             :     3432,   833,  3199,   900,  1584,  3930,  3101,   763,   954,  1275,
   16730             :      230,  3730,  1572,     0,  3525,  2070,  1247,  4363,  2033,  3613,
   16731             :     1251,  1090,  2085,  1254,  1255,  1094,  2071,  4604,  3249,   741,
   16732             :     1099,  3957,  1625,  1626,   765,  1730,  1629,  3676,    23,  3678,
   16733             :     1109,  3979,  2052,   755,  4279,  1697,  1698,  2992,  3086,  2739,
   16734             :     2740,    36,   979,  3483,  1123,  3882,  4839,  3535,  4322,  2968,
   16735             :     2109,   667,   764,  4301,  3946,     6,   191,  3648,  5163,  3650,
   16736             :      754,  1974,  2066,  2067,  2068,  2069,  4627,  1004,  2072,  1562,
   16737             :     2074,  2075,  1009,   191,  1462,  1154,  1915,   818,  4610,  5235,
   16738             :      965,   197,   198,   199,     2,  5326,   202,   175,  4615,  3499,
   16739             :      206,  4741,   208,  4743,   739,   211,  5366,   742,   214,  5155,
   16740             :     1690,   217,  4409,    50,   220,   846,   222,  2634,   846,   225,
   16741             :     3477,    35,    41,   229,  4572,   231,  5464,  1105,    42,  4855,
   16742             :     2597,  4857,  5500,  2704,  2601,  3384,  3545,  5106,  1718,  1622,
   16743             :      871,  2702,  5357,  1121,  3944,  3292,  3389,  5512,  5150,    15,
   16744             :     3039,   939,  3041,  3042,  5756,  4929,  1639,  3046,  3047,  3048,
   16745             :        6,  3050,  3051,  3052,  2681,  5772,  4614,     6,     6,   225,
   16746             :      939,     0,  1545,  3082,  5461,  1156,  3533,     0,     0,  1054,
   16747             :       54,  1162,    38,  4462,    11,  5154,    43,    21,     6,     0,
   16748             :       63,  1172,     6,  4779,  2675,  1176,     3,    15,    16,  1180,
   16749             :     5415,  1182,   933,  3482,    63,  3484,  3485,  1188,    13,    78,
   16750             :     2039,    37,     0,  1194,     6,     6,  1197,    21,  1013,     0,
   16751             :        6,   120,   963,    11,   883,   884,     5,  1022,   184,    37,
   16752             :       11,    63,    11,     6,     6,   894,    37,  1032,    13,    80,
   16753             :       45,    29,    15,    16,     6,    35,   177,    25,    29,     6,
   16754             :      873,     6,  1084,    15,    16,    95,     6,    92,     6,    72,
   16755             :     5426,  5427,    88,  1004,     6,   222,     6,     6,  1009,   148,
   16756             :       80,     6,    25,    78,     3,    52,     5,     6,    31,   194,
   16757             :      189,  5451,    11,    37,    91,   177,    11,    80,  1881,     6,
   16758             :      155,    21,   177,  6030,   302,  1626,     5,   179,  1629,    92,
   16759             :       11,    47,    11,   309,   188,     6,    43,   120,  4705,  4706,
   16760             :     4707,   171,  4709,  4710,  4711,  4712,  4713,   256,   329,  1050,
   16761             :     6154,   329,    30,   183,  6154,   155,   352,    63,    47,    63,
   16762             :      288,  4628,    63,  5651,   179,   385,    63,   347,   145,   299,
   16763             :      322,   201,  1474,   293,  1418,   177,  1406,   376,   177,   390,
   16764             :     1106,  1404,    29,    63,   177,   177,  1409,  1410,   179,   396,
   16765             :      361,   385,   140,   296,  4941,   120,   177,   288,   181,  1525,
   16766             :     1043,  5973,   201,  5375,   205,  5982,    25,   239,   201,   201,
   16767             :      324,   165,    63,  1293,  1294,   385,   324,   140,    29,   177,
   16768             :      201,   120,  1466,    85,  5386,   120,   177,   324,   120,   436,
   16769             :      686,    13,   368,   177,   172,    13,  5774,  6465,   122,    29,
   16770             :      356,   537,     5,   201,   540,  1325,    36,  4943,    11,   196,
   16771             :      201,  6479,   177,   369,   201,  4951,    19,   201,   310,    47,
   16772             :      368,  6023,   308,    45,  6268,     6,   436,   403,  6268,  1336,
   16773             :      208,   368,  5434,   480,    37,   307,   122,   368,   472,   171,
   16774             :      736,  5666,   259,   399,    29,  5501,    13,   288,   135,   403,
   16775             :      489,    36,  1174,   297,   684,    10,    78,   171,    13,   253,
   16776             :      690,   355,    17,    18,    19,   252,   355,   410,   479,   292,
   16777             :       80,  1356,   702,    29,   297,    80,   536,   493,    45,   310,
   16778             :       36,   140,   221,   297,   135,   536,   197,  1550,   480,   536,
   16779             :     1574,   374,   386,    80,   349,   206,  1208,  1560,   447,   217,
   16780             :      536,  1386,   226,   214,   474,   374,   217,   324,   378,   177,
   16781             :      478,    78,   472,  1235,    80,   536,   536,   256,   536,   177,
   16782             :      536,    80,   345,   373,  1246,     0,  6143,  1268,   178,    13,
   16783             :     1268,   406,   424,    92,   177,   177,   324,   177,  5718,   362,
   16784             :     1881,  1263,  6289,  1463,    92,   142,    21,   364,   390,  6393,
   16785             :      666,   368,   297,  6393,   449,   372,   672,   297,   674,   478,
   16786             :      676,   324,  5890,   679,   184,   432,   406,   184,   292,  1202,
   16787             :      686,   671,  4409,   540,   540,   691,  1655,   693,  5314,  1658,
   16788             :      368,    56,   671,   699,  1647,    10,   403,  1650,  1651,   127,
   16789             :     5887,    29,    17,    18,    19,  1728,  1729,   125,   449,   540,
   16790             :     4437,  1666,  1427,  5981,    32,   368,   333,   723,   765,   454,
   16791             :     3101,   536,   671,  1282,  1283,   403,   732,   526,   671,   671,
   16792             :      736,   408,   439,   739,    23,   442,   742,   463,   374,   449,
   16793             :      374,    23,   356,   374,   483,  4883,  6253,   374,   540,  6251,
   16794             :      403,  1629,   758,   485,   467,    32,   449,   536,  4583,   449,
   16795             :      526,  1320,   536,  4942,   374,   534,  1726,   540,   534,   538,
   16796             :     1401,   497,   538,  1401,  4953,  5261,  2049,    37,  1409,  1410,
   16797             :      536,   540,   120,  1610,   671,   764,   493,    23,   534,   497,
   16798             :      536,   769,   538,   374,   449,   432,   497,   536,   536,  4624,
   16799             :      540,  1679,  1680,   942,  1492,   811,   540,  2002,   535,  1865,
   16800             :      539,   779,  1646,   781,   820,   783,   539,   539,   536,  5688,
   16801             :     5766,   789,   536,  1492,   793,  4444,   191,   532,   539,  6336,
   16802             :     1735,  4450,  1355,   479,   840,   841,   540,   843,   844,   527,
   16803             :      528,  4623,   848,   497,   536,   536,   527,   528,   527,   528,
   16804             :      536,   539,  5918,  1548,   403,   811,   862,   532,   539,  1064,
   16805             :      479,   867,  1976,   536,   536,   310,  6134,   873,  5770,   517,
   16806             :      518,   526,   464,   155,   536,   517,   518,  6384,  1064,   536,
   16807             :     1439,  1440,  6147,   538,   493,  4366,   536,  4368,   536,  1462,
   16808             :     6077,  6078,  1845,   413,   536,  2009,   536,   536,   527,   528,
   16809             :      476,  4628,   527,   528,   540,   930,   540,  2021,   517,   540,
   16810             :     1433,   867,  4242,   540,   920,  1610,   527,   528,   527,   528,
   16811             :     5217,  1061,   930,   472,  6162,  1065,   540,  1067,   934,  1570,
   16812             :      540,   449,   536,   932,   932,   932,   932,   932,   413,   932,
   16813             :      932,   947,   932,   932,   932,   932,   932,   932,   932,   449,
   16814             :     1055,   422,   423,   932,   449,  6070,   962,   956,  3548,   540,
   16815             :     3550,   479,  1617,  3772,  3773,  4108,  4109,   413,  3777,  4118,
   16816             :     5644,  6463,   449,   262,  4674,   981,  1499,  6092,   536,  3917,
   16817             :      986,   987,  1623,   932,   322,  5980,  6478,  6255,    72,   932,
   16818             :      932,   947,   540,   449,   156,   310,   536,  4254,  6490,  1640,
   16819             :      449,  4258,   489,   536,  1882,  4314,   962,  5484,   540,   337,
   16820             :      540,   449,  1018,  1019,   157,   527,   528,   529,   530,   531,
   16821             :      532,   529,   530,   531,   532,   844,   262,  3444,   201,   848,
   16822             :      540,  5977,   171,   540,  3505,  1041,  1042,   874,  4532,  1545,
   16823             :     6064,   301,    76,  3504,  4091,   932,   474,  2070,    51,  1055,
   16824             :     4193,  1057,  4533,   371,   472,  1061,   184,   113,  1064,  1065,
   16825             :      120,  1067,  4241,   189,  4243,  4244,  1072,  6335,  1949,   153,
   16826             :      398,  3860,   529,   530,   531,   532,  1957,  2051,    25,   524,
   16827             :      525,   526,   527,   528,   529,   530,   531,   532,   113,   173,
   16828             :     1096,  5960,    89,  3474,   371,   103,  3477,  1103,  1104,  6259,
   16829             :     6260,   390,   329,   385,    29,  3914,     3,  5976,   385,   115,
   16830             :      387,  6226,   308,   441,   177,   443,  5362,   113,   178,  1125,
   16831             :     1126,  1127,   723,  1129,   406,  1131,  6172,  1133,  1134,   389,
   16832             :      177,   732,  2106,     3,    37,   132,     6,  4437,   739,    63,
   16833             :      193,   742,   480,  5491,  3525,     6,    23,   113,   125,  6144,
   16834             :      439,   403,  3533,   527,   528,   529,   530,   531,   532,   136,
   16835             :        6,  1167,   288,  1169,  1170,  4659,    25,    10,     6,  3536,
   16836             :       13,    63,    31,   189,    17,    18,    19,   454,   186,  1911,
   16837             :      171,   470,   311,  6314,  4595,   206,   312,   193,  6426,  6135,
   16838             :      333,    23,  5389,   140,    91,    25,  1202,  1828,   536,  2926,
   16839             :      125,  2018,  2019,   439,  1018,  1019,   495,    21,   292,   524,
   16840             :      525,   526,   527,   528,   529,   530,   531,   532,   271,   479,
   16841             :      314,  5847,  1228,   314,  1230,   404,  6386,    68,  1234,  1208,
   16842             :     1236,   125,   387,   293,   470,   152,     3,   323,   125,   177,
   16843             :      309,   125,  1211,   186,  1213,   115,  1215,   536,  1217,   146,
   16844             :     1219,  1220,  1221,   314,  1260,   309,  1262,  1226,  3615,   495,
   16845             :     1266,   345,    23,   201,  1979,   271,  6261,   168,   274,    89,
   16846             :      387,   305,   288,   288,  1280,     6,  5753,    89,    48,  2739,
   16847             :      288,   140,  3009,    23,    23,  5762,     6,  6311,   540,    23,
   16848             :     1863,   216,  3882,  2008,   173,    80,   120,  2012,    23,   454,
   16849             :      536,    71,  2017,   220,  5844,  2020,   671,    92,  1355,   536,
   16850             :      140,   208,   132,   163,  5139,     3,  1322,   403,  6449,    72,
   16851             :      132,  5738,   216,   193,    91,  2805,  5152,   489,  2103,   216,
   16852             :      327,  1139,   216,  5784,  1946,  5812,  2837,   454,  5176,  6334,
   16853             :      536,   394,  5764,   120,   245,  1351,  1352,  1353,  1960,  1355,
   16854             :     6345,  5768,   478,  3308,   493,  1939,  3085,   536,   201,  3322,
   16855             :     3323,  1973,  6408,  5145,  3327,   493,    10,   540,  4363,    13,
   16856             :     1376,   514,   375,    17,    18,    19,    23,   324,   145,   370,
   16857             :      436,   224,  3972,   467,  1986,   262,   449,  1971,   394,  5737,
   16858             :     6385,    35,    23,   125,    28,  2673,   288,   314,   301,   764,
   16859             :      765,   271,   449,    25,   274,  3368,  3369,   536,  1943,  1415,
   16860             :     2890,   436,   540,    37,   474,   436,    25,  4898,   308,  5767,
   16861             :      135,   368,   114,  1958,   178,  6420,  1961,  1433,  2083,   498,
   16862             :      262,  1617,   120,  3028,   400,   332,   297,   380,   446,   493,
   16863             :      436,  4922,  2825,   537,  1422,   442,   540,   288,   112,   540,
   16864             :      374,   297,  1477,  1478,  1055,  1480,   403,  6452,    92,   297,
   16865             :     1061,   311,   478,   526,  1065,   324,  1067,   310,   292,  1477,
   16866             :     1478,   396,  1480,  1479,  5638,   538,  2011,  1483,  1484,   540,
   16867             :     2015,  2016,   374,   297,   216,  5962,    42,  3436,  1494,  1495,
   16868             :     1496,  1497,   259,  1499,  5632,   472,   120,   512,   156,  3118,
   16869             :       35,   262,   396,  4881,   436,   511,  6189,   327,   115,   368,
   16870             :     4840,   403,   243,   390,   206,   327,  1522,   323,   140,  5707,
   16871             :      297,  5709,   262,   262,   394,  5713,  5714,  2050,   262,  2052,
   16872             :     1131,   140,  1133,  1134,  3891,  2058,   268,   262,  1494,   292,
   16873             :     1496,  2064,  2065,  2049,   403,   179,   536,   472,   152,   466,
   16874             :      133,  1557,   113,  2076,   240,   493,  1562,   324,   390,  1565,
   16875             :     2133,   144,   439,  2086,  5103,   930,   390,   932,   465,  2092,
   16876             :      457,   120,  1578,  1579,   328,  2598,   473,   292,   472,   476,
   16877             :      224,  1587,    64,    38,  1590,   472,   193,  4844,   472,    92,
   16878             :       72,  2675,  4849,   470,   143,  4852,  4640,   168,    40,   309,
   16879             :      149,  4596,   288,   267,   292,    60,   456,   439,   272,   297,
   16880             :      170,  1617,    54,  1619,   163,   262,  1622,   120,   495,  1625,
   16881             :     1626,   156,   442,  1629,  5870,   309,  2600,   125,   201,   390,
   16882             :      442,   262,  1631,  1639,   360,   122,  1642,  1636,   470,  1645,
   16883             :       72,   511,   140,   199,   534,   333,  3137,   390,   538,   253,
   16884             :      390,   390,  6140,  6141,  6131,   409,   390,   112,  6444,   536,
   16885             :       92,  1667,  5389,   495,   271,   390,   310,   274,   240,   111,
   16886             :      356,   397,   439,  3133,   302,   442,  5502,  3137,   439,  1685,
   16887             :     6466,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   16888             :      314,   122,   182,  1699,  1700,  1701,  1702,  1703,   390,   439,
   16889             :      439,   329,   324,   312,   536,   439,   312,    99,  5490,   470,
   16890             :      436,  1717,   283,  1712,   439,   349,   288,  1716,   324,   266,
   16891             :      406,   324,  1728,  1729,  1730,   403,   181,   288,   403,  1685,
   16892             :      470,   470,  4521,  2763,   495,    54,   470,  4526,   396,   226,
   16893             :      472,   324,   434,   390,   436,   470,   368,   122,   297,   204,
   16894             :     1955,   344,  2633,   387,  5889,   495,   495,   180,  4603,   390,
   16895             :      486,   495,   368,   372,   373,   368,   256,    27,  1954,  1955,
   16896             :      495,  4559,  6249,   215,   256,   536,   266,   135,   436,   137,
   16897             :      340,   403,   101,   493,   180,   368,   472,   394,  4597,   292,
   16898             :       50,   183,   439,   536,   403,   368,   536,   536,   403,   372,
   16899             :      403,   474,   536,    10,  1944,   292,    13,   126,   439,   493,
   16900             :     2763,   536,   267,   242,   344,  6003,   370,   272,   452,  4409,
   16901             :      454,  1827,   480,   470,   458,    58,   145,   189,  1933,   380,
   16902             :      403,   150,  1838,   288,   406,   493,   403,   403,    45,   470,
   16903             :     1846,  1847,  4837,  1208,   342,    52,   288,  4437,   495,  6337,
   16904             :      360,   226,   323,   172,  6331,   477,  1862,   176,   451,   517,
   16905             :      292,   271,   540,   536,   495,   540,   297,   302,   323,   356,
   16906             :      451,    78,   191,  4254,  1880,  1881,    39,  4258,   536,   485,
   16907             :      524,   525,   526,   527,   528,   529,   530,   531,   532,   536,
   16908             :     1896,  1897,  1898,  1899,   329,   182,   129,  2083,  2715,  1905,
   16909             :      472,  2735,   526,   496,   511,   536,  1912,   456,   536,  1915,
   16910             :      534,  1276,   536,   537,   538,   449,   540,   292,   373,   468,
   16911             :      493,   451,   473,   360,  1930,   412,   288,  1933,   122,   536,
   16912             :     5755,  1296,   403,   536,   292,   540,   122,  1943,  1944,   493,
   16913             :     6075,   484,   397,   150,   517,  2936,    87,  5773,  1954,  1955,
   16914             :      392,   441,  1958,   443,   350,  1961,   302,   217,   669,   484,
   16915             :      397,   384,   324,   517,   419,     0,   496,   130,   391,   256,
   16916             :     1976,  1977,   536,   540,   540,   398,   486,  1983,   297,  1985,
   16917             :      470,   356,  4363,   329,   394,   171,   540,  2940,   384,   196,
   16918             :     1355,   120,   526,   536,   201,  2948,  2002,   124,  2951,   436,
   16919             :     5782,    32,   398,  2009,   538,  2011,   368,  1986,  2014,  2015,
   16920             :     2016,   536,  2018,  2019,   437,  2021,   210,  3101,  6264,  1988,
   16921             :     2067,  1990,  2028,  1992,   210,  1994,   167,  1996,    59,  2035,
   16922             :      368,  2000,  2038,  2039,   353,  5529,  2042,   460,  4628,  2045,
   16923             :     2046,   437,   449,  2033,  2050,   252,  2052,   449,  3162,   486,
   16924             :      761,  2057,  2058,  5310,  2033,   323,   165,   123,  2064,  2065,
   16925             :     2066,  2067,  2068,  2069,  2070,  2071,  2072,  2073,  2074,  2075,
   16926             :     2076,  2042,  2028,   360,  2080,  4037,  2082,  2083,  2084,  2085,
   16927             :     2086,  2087,  2088,  2089,  2033,  3545,  2092,  5208,  2094,  2095,
   16928             :     2033,  2033,  2098,  4055,   288,  3555,   223,   156,   292,   265,
   16929             :     2673,   536,   288,   310,   124,   765,   292,  2113,  2114,  2115,
   16930             :     2988,   449,  1477,  1478,  5105,  1480,   478,  3022,  3023,  3024,
   16931             :      136,   165,    69,    70,   835,  2131,   292,   171,   112,  2652,
   16932             :       99,   197,  2763,   540,  5129,   403,  3755,  4092,   540,  3630,
   16933             :     2835,  2916,  4097,  6389,   253,  6364,  2033,   314,   123,  5975,
   16934             :      119,    25,   324,  5144,   441,  5993,   443,    31,   818,   120,
   16935             :     2045,  4071,  4107,   490,  2991,  2171,  4129,  4130,  4131,  4132,
   16936             :     3630,   178,  4135,  4136,  4137,  4138,  4139,  4140,  4141,  4142,
   16937             :     4143,  4144,  2914,   470,  2916,  3154,  5124,   156,   172,  3355,
   16938             :      536,  5523,  5974,   322,   474,   304,   368,  5736,   159,   486,
   16939             :      216,   408,  4096,   223,    94,   212,   165,  4101,  4102,   253,
   16940             :     4013,   871,   171,   540,  4595,  4596,   493,  5338,  6437,  5340,
   16941             :      227,  2833,   197,    38,   208,   324,   393,  3105,  3106,  3107,
   16942             :     3108,   403,  3110,   194,    80,  3728,  4199,  4200,    13,   385,
   16943             :      123,  2936,    38,   250,  3839,    60,    92,   137,     5,  2964,
   16944             :     3845,  2966,   540,  1631,    11,  2970,   536,  3135,  1636,  3212,
   16945             :      304,   539,  6414,   540,  6416,   364,   140,   396,   324,   368,
   16946             :     3151,  5368,  2278,   933,   420,  3156,   294,  3158,  5067,  2974,
   16947             :     5069,  5070,  5071,   267,  5093,    81,  5095,  3168,   272,   385,
   16948             :     3171,   387,  3173,  3174,   253,   324,  3177,   112,    35,  3779,
   16949             :     3181,  2874,  3183,    78,   403,  3186,  5787,   436,   515,   451,
   16950             :     6136,   347,   368,    72,   197,  5809,  3011,  4232,   324,    78,
   16951             :      527,   528,   529,   530,   531,   532,  2332,  2900,  6480,  1930,
   16952             :       38,   292,  1933,    92,  1712,  5330,   493,   396,  1716,   368,
   16953             :      368,   324,  1943,  1944,    13,   304,  4240,   403,  3828,     5,
   16954             :     5761,   480,    60,   154,   496,    11,   493,  1958,   454,   493,
   16955             :     1961,   120,   368,   122,   493,   292,   372,  5362,   152,  3250,
   16956             :      297,   179,   379,  3539,   403,   403,    45,   436,   396,   495,
   16957             :      517,   165,  2388,   540,  5716,   368,   434,   171,   517,   204,
   16958             :     3474,    10,   372,  3477,    13,   364,  3128,   403,    17,    18,
   16959             :       19,  3953,   203,   540,   112,   213,   540,   536,   372,    78,
   16960             :     2011,   390,   266,   373,  2015,  2016,    35,  1884,   436,   415,
   16961             :      403,   480,   181,   403,   540,   473,   353,   396,  6254,  3002,
   16962             :      449,  3087,   454,  1623,   493,   152,   220,  1904,   292,   403,
   16963             :     6265,  3525,   421,   403,   440,   536,   493,   538,   165,  3533,
   16964             :     1640,   210,   267,  6072,   171,   474,  4837,   272,   517,   781,
   16965             :      782,   783,   480,  4844,   786,   787,   788,   436,  4849,   253,
   16966             :      517,  4852,   301,   288,   796,   493,  6476,   536,   493,  1008,
   16967             :      293,   294,   535,   171,  3437,   171,     5,   540,   171,   536,
   16968             :      493,   282,    11,  6493,  3209,  3068,   204,    10,  1027,   517,
   16969             :       13,  1030,   517,   220,    17,    18,    19,   195,   323,   195,
   16970             :      152,   480,   195,   526,   517,   306,  3291,  5512,   536,   537,
   16971             :      304,   539,    27,   165,   493,   538,  3431,   517,   518,   171,
   16972             :      314,   486,    45,   292,   143,   393,   253,  5869,   297,    52,
   16973             :      149,   517,   518,   243,   529,    50,   536,   535,   517,   534,
   16974             :      536,   536,   540,   538,   270,    29,  5653,  5668,   373,   267,
   16975             :      536,   531,  5673,  5674,   272,    78,   536,   536,   538,  2575,
   16976             :     2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,   220,  2585,
   16977             :      288,   534,   397,   396,   536,   538,   345,   304,  4551,  2595,
   16978             :     2596,  2796,  2598,   441,    22,   443,  5591,   314,  6423,  2605,
   16979             :       28,   531,    92,   362,   419,   224,   536,   370,   538,    83,
   16980             :     2796,   253,    86,     3,   534,   323,   536,   529,   538,    93,
   16981             :     1004,  1986,   534,   436,   536,  1009,   538,   308,  2634,   441,
   16982             :     2636,   443,   313,  2639,  2640,   308,    26,  2643,  2635,  2645,
   16983             :      313,  3335,  2648,  3337,  3338,   537,  2652,   121,   540,   393,
   16984             :     5439,   537,  3225,  3784,   540,  2795,   454,  2797,  2798,  3456,
   16985             :     3457,  3616,   304,  6442,   266,   373,  6445,   480,  2033,  2675,
   16986             :      537,   537,   314,   540,   540,  2681,  2682,  3434,   537,   266,
   16987             :      493,   540,   466,   196,   385,   386,  2692,  2792,   201,   397,
   16988             :      537,   310,   182,   540,   270,  2701,  2702,  3652,    96,  3580,
   16989             :     3546,    91,  2067,   100,   517,    15,    16,   181,   467,  2715,
   16990             :      537,   419,  2832,   540,   206,  3490,   206,  2723,   537,  2725,
   16991             :      194,   540,   537,   536,  2096,  4687,  2091,  2099,   284,   285,
   16992             :      286,   287,   537,   207,   537,   540,  3391,   540,  6219,   252,
   16993             :      534,  4703,   536,  6224,  6225,  5789,  3556,  3942,  5129,   466,
   16994             :      534,   454,   537,   537,   538,   540,   146,  3731,   536,  2765,
   16995             :      538,  2767,  4381,   396,   537,   322,   256,   540,   537,   537,
   16996             :      195,   540,   540,  3346,   493,  2781,   495,  4732,    59,  3352,
   16997             :     3661,   178,  3663,    87,  4739,  4740,  2792,    33,    34,  2795,
   16998             :     2796,  2797,  2798,   486,  2765,  2801,  2767,   310,  2804,  5389,
   16999             :      393,  3324,  4605,   436,   537,  2925,  3437,   540,   493,   537,
   17000             :      495,   201,   540,  3336,   441,   212,   443,   534,   208,  2825,
   17001             :      243,   538,   537,   313,   466,   540,   441,  4379,   443,  4381,
   17002             :      227,  2837,   537,  2720,  2675,   540,   484,  5646,   537,   396,
   17003             :      537,   540,   135,   540,   137,  2851,  2852,   480,  2804,  3372,
   17004             :      385,   386,  2858,   250,  4314,  2666,  2667,  2668,  3573,   537,
   17005             :      493,  2867,   540,   537,  4365,  4345,   540,   537,    11,   537,
   17006             :      540,   536,   540,   537,  6206,  5870,   540,   537,   536,   436,
   17007             :      540,  4054,   279,  2889,   517,   540,   537,  1209,  3008,   540,
   17008             :     1212,  3923,  1214,  3416,  1216,   408,  1218,  6378,   537,   537,
   17009             :     1222,   540,   540,   536,  2910,   524,   525,   526,   527,   528,
   17010             :      529,   530,   531,   532,   517,   518,  3885,  2923,  2283,   385,
   17011             :      386,   537,  3617,   480,   540,  5515,   308,   537,  3809,  5310,
   17012             :      540,   493,   537,   495,  3815,   540,   493,  4417,   537,   390,
   17013             :     2946,   540,   332,  2949,   493,   536,   495,   421,  6069,  5330,
   17014             :      424,   441,   537,   443,  2910,   540,   385,   386,  3570,  3571,
   17015             :      517,   434,   537,  3594,   454,   540,  3594,    59,  3785,  2975,
   17016             :     2976,   537,   537,    48,   540,   540,  2982,   467,   226,   536,
   17017             :      470,  5362,   379,   537,  5979,   539,  2992,   486,  2994,  2995,
   17018             :      380,  5623,   513,   537,  3726,  2963,   540,   537,   311,  3731,
   17019             :      540,  3879,   515,   537,   537,   171,   540,   540,  3703,  5656,
   17020             :     5657,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   17021             :     3026,  3027,  3028,  5836,  5837,   537,  3032,   537,   540,   537,
   17022             :      540,   538,   540,   152,  3040,   537,    10,   537,   540,    13,
   17023             :      540,   537,   537,   433,   540,   540,   165,  3053,   537,  6036,
   17024             :     6037,   540,   171,  3059,   537,  3061,   537,   540,  6390,   540,
   17025             :      537,   537,   311,   540,   540,  4617,   537,   537,  3074,   540,
   17026             :      540,    45,   308,  3079,  2675,   465,   308,   537,    52,  3085,
   17027             :      540,   513,  3088,   473,  5893,  5894,   476,   537,  4612,   537,
   17028             :      540,    48,   540,   537,  3100,  3101,   540,   537,   513,   537,
   17029             :      540,   220,   540,   537,    78,  3111,   540,   537,  3720,  4062,
   17030             :      540,   537,    54,    55,   540,  3121,  3256,  3123,  3258,  3259,
   17031             :     4001,   226,  4003,   537,  4005,   537,   540,   176,   540,   537,
   17032             :     3742,  5512,   540,  4299,   253,   537,  6468,   537,   540,  6130,
   17033             :      540,   529,  4633,   537,   152,   100,   540,   493,  3253,   495,
   17034             :      537,   537,  6147,   540,   540,   540,  3162,   165,  3164,   537,
   17035             :     3166,   537,   540,   171,   540,   537,   536,   483,   540,  4364,
   17036             :     4254,   536,  4367,  4633,  4258,  4370,   150,   537,   537,  3911,
   17037             :      540,   540,   341,   537,   537,   304,   540,   540,   537,   537,
   17038             :      539,  2792,   540,  3199,  2795,   314,  2797,  2798,  4172,   537,
   17039             :      537,   537,   540,   540,   540,  3391,   537,    37,   537,   540,
   17040             :     5591,   540,   220,   536,  3929,    33,    34,    10,   537,   536,
   17041             :       13,   540,   196,   178,    17,    18,    19,   201,   537,  5866,
   17042             :      537,   540,   537,  3120,   537,   540,   537,   540,   537,   540,
   17043             :      537,   540,    35,   540,    59,   253,  4041,  3253,  3254,   537,
   17044             :     3256,   537,  3258,  3259,   540,  3261,  3887,   212,  3889,  3887,
   17045             :     3101,  3889,  3268,  6258,   177,    10,  4226,  3273,    13,  6264,
   17046             :      537,   537,   227,   540,   540,   222,  2641,  3324,   252,  4363,
   17047             :       10,    99,   222,    13,  5247,  5240,  5241,    17,    18,    19,
   17048             :     3902,  4223,  3904,  4225,   536,   250,   304,  4826,  4272,  4828,
   17049             :       45,   119,  4259,   536,  4261,    35,   314,    52,  3881,   538,
   17050             :     2675,  4026,    51,  3499,   497,   536,  3322,  3323,  3324,   536,
   17051             :     1494,  3327,  1496,   368,   279,  3372,  5291,   201,  5293,  3335,
   17052             :     3336,  3337,  3338,    78,   157,  4309,   310,   536,   156,  4958,
   17053             :     3971,   538,   100,  3971,   157,  3351,   308,   466,  3354,   201,
   17054             :     3356,   368,   308,   308,   157,  2720,   157,   201,   157,   308,
   17055             :      171,  6149,  3368,  3369,   368,   157,  3372,   251,   122,   308,
   17056             :      474,   536,   301,    10,   171,   537,    13,    72,   292,    38,
   17057             :     5761,   292,   497,   536,   308,  3391,   292,  3393,    48,  3395,
   17058             :       48,  3397,   292,    10,  6389,   459,    13,   292,    91,   324,
   17059             :       17,    18,    19,   486,   486,   150,    87,   454,    45,   171,
   17060             :     3416,  4380,   348,  3419,   157,    52,   157,  3423,   536,   157,
   17061             :      178,    38,  4923,   157,   379,   497,   157,   540,   157,   157,
   17062             :     3477,   224,   157,   157,   408,   157,   157,   157,  3444,   171,
   17063             :      157,    78,   157,   157,   157,  4057,   157,   308,   436,   536,
   17064             :       38,   196,   171,   251,   212,   171,   201,   308,   466,   536,
   17065             :        6,  4656,    10,     6,   171,    13,   536,   536,  3474,   227,
   17066             :      536,  3477,  3478,  3424,  3425,  3426,  3482,  3483,  3484,  3485,
   17067             :      536,   536,  3529,   536,  4437,  3491,   536,     6,   536,  5870,
   17068             :     3496,  4337,   250,     6,   224,   536,   536,    45,   536,   536,
   17069             :     3101,  4311,   536,   536,    52,  3511,   536,   252,   536,   536,
   17070             :      536,  4595,  4596,   150,   536,   536,   536,   310,   536,  3525,
   17071             :      536,   279,   536,  3529,     0,   536,  3532,  3533,     6,  3535,
   17072             :       78,   536,   299,   536,     6,   536,    10,   536,   536,    13,
   17073             :      536,   515,   536,    17,    18,    19,   364,   536,   494,   536,
   17074             :      308,   536,  4507,   527,   528,   529,   530,   531,   532,   196,
   17075             :     4529,   536,    25,   536,   201,   310,   536,    43,   320,   166,
   17076             :     3576,   222,   540,   540,    38,   103,  5538,   251,   396,    38,
   17077             :      310,    37,   536,   447,   447,   536,   534,   449,   177,   534,
   17078             :      449,   449,  4165,   449,  3600,  3601,   540,   171,  5979,  6387,
   17079             :     5563,  4124,   150,   304,   171,   302,    68,   224,   403,   449,
   17080             :      449,   390,  4517,   449,   485,   252,   449,   390,   436,   538,
   17081             :      449,   379,   449,    99,   390,   253,    79,   449,    91,   449,
   17082             :     3636,  5594,   526,  3474,    92,  4158,  3477,   449,  3644,   390,
   17083             :      157,   308,   395,   248,   449,   449,   128,   297,   196,   449,
   17084             :      439,   329,  3253,   201,   135,  3256,   137,  3258,  3259,   473,
   17085             :      308,   302,   480,   408,   536,   449,   484,   385,   449,   194,
   17086             :      133,   536,    92,   310,   540,   493,   152,   140,   128,   324,
   17087             :      201,   144,   163,   474,  3525,   449,  4209,   157,  3694,   165,
   17088             :      449,   474,  3533,   310,   449,   171,  3882,   128,   114,   517,
   17089             :      449,   177,   449,   449,   252,   449,   128,   183,    59,   449,
   17090             :      186,    59,  3718,   449,   190,  5175,   474,   276,   536,   312,
   17091             :      352,   352,  3728,   449,   330,   352,   449,   439,  4681,   329,
   17092             :      329,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   17093             :      449,   449,   329,   449,   220,   449,   222,   228,    47,   449,
   17094             :      224,   449,   540,  4837,   541,  3120,   224,   449,   449,   449,
   17095             :     4844,   449,   310,   537,   224,  4849,  6147,   308,  4852,   224,
   17096             :      515,   408,   224,   224,   308,   224,   224,   253,   224,  3785,
   17097             :      224,   224,   527,   528,   529,   530,   531,   532,   449,  4670,
   17098             :      459,    38,  4673,   157,   524,   525,   526,   527,   528,   529,
   17099             :      530,   531,   532,   284,   285,   286,   287,   308,   157,   536,
   17100             :      291,   292,   292,   120,   157,   157,   297,   474,   157,   485,
   17101             :      308,  4702,   259,   292,    38,   292,   292,   171,   304,    38,
   17102             :      243,   536,   308,  3839,   536,  4408,   310,  4410,   314,  3845,
   17103             :      392,   157,   536,   157,   474,   157,   157,   301,   474,   296,
   17104             :     3856,   449,   177,   489,   536,   276,    13,   537,   276,   536,
   17105             :      408,   324,   186,  4436,   540,   536,   449,   451,   536,   513,
   17106             :      540,   194,   537,  3474,   319,   194,  3477,  6258,   515,   534,
   17107             :      513,   537,   394,  6264,   537,   537,   274,  3893,  3894,  3895,
   17108             :      527,   528,   529,   530,   531,   532,   490,   537,   537,   220,
   17109             :      376,   364,  4876,   406,  3910,   368,   540,   524,   525,   526,
   17110             :      527,   528,   529,   530,   531,   532,   309,   540,  3924,  5114,
   17111             :      240,   474,    38,   474,  3525,   317,    59,   537,   485,   390,
   17112             :      297,   297,  3533,   536,  1484,   297,  3942,  3943,  3944,   449,
   17113             :      403,   449,  3948,   449,   536,   171,    48,   410,   308,   308,
   17114             :      297,   536,   240,   240,  3960,   412,   432,  4791,   292,  3324,
   17115             :     4675,  4676,  4677,  4678,  4679,  4577,  4578,   515,   297,   251,
   17116             :      251,   251,  5496,   385,   270,   456,   308,   128,   449,   527,
   17117             :      528,   529,   530,   531,   532,  4859,   540,   468,   201,   728,
   17118             :      466,   308,   368,   308,   403,  4948,   540,   439,   308,   493,
   17119             :      536,   195,   400,   356,  3960,   314,   537,  3372,  6389,   449,
   17120             :     4016,   449,    38,   224,   490,   754,   492,   493,   243,   526,
   17121             :      351,   157,   171,  4904,  4030,  4031,   302,    38,   173,   437,
   17122             :      352,  3396,   536,   474,   157,  4041,   536,   400,   514,   474,
   17123             :      157,   302,   157,   292,   474,  5129,    38,  3412,  4054,   292,
   17124             :      524,   525,   526,   527,   528,   529,   530,   531,   532,   486,
   17125             :      493,   537,   308,   539,   540,    27,   308,  4073,  4207,  3956,
   17126             :      243,   302,   192,   192,   171,    38,  4082,   172,   243,   171,
   17127             :     4961,  4962,   400,  4871,   308,  4041,   292,   201,   201,   201,
   17128             :     4096,   201,   201,   497,  4100,  4101,  4102,   449,    59,   538,
   17129             :     5652,  4107,   536,   177,  4110,  3992,  5075,  4113,   540,  3474,
   17130             :      273,   540,  3477,  4119,   540,  4121,  4689,   540,  4124,   135,
   17131             :      493,   137,   308,  4129,  4130,  4131,  4132,   301,   177,  4135,
   17132             :     4136,  4137,  4138,  4139,  4140,  4141,  4142,  4143,  4144,   540,
   17133             :      537,   537,  4148,  4149,  4150,   514,   537,   163,   537,   479,
   17134             :      314,   537,  4158,   540,   376,   540,   540,  4163,  4205,   537,
   17135             :     3525,  4167,   537,   537,  3529,   537,   537,   320,  3533,  4175,
   17136             :      540,   536,  4178,   331,  4180,   135,  5057,  5058,   513,   537,
   17137             :      537,   537,    10,   177,   291,    13,   540,   537,   490,   449,
   17138             :     4196,   537,   537,  4199,  4200,   536,   536,   266,  4204,  4205,
   17139             :      536,   177,   535,  4209,   517,  4211,  4212,  4862,   536,   535,
   17140             :      516,   186,   228,   540,  4220,  4221,  4222,    45,   472,   261,
   17141             :      490,   480,   308,  4409,    52,   526,  5310,    59,   536,  6192,
   17142             :     6193,   536,   536,  6196,  4240,  4241,  4242,  4243,  4244,   311,
   17143             :     4246,  4247,  4232,   308,  4250,   308,  5330,   157,  4254,   449,
   17144             :       78,  4437,  4258,  4232,  4777,   214,   449,   449,  4264,   297,
   17145             :      160,   449,   292,   536,  4215,  4216,  4217,  4218,   284,   285,
   17146             :      286,   287,   536,   157,   206,   291,   424,   403,  5362,   536,
   17147             :      157,   297,   157,  4232,   395,  4291,   251,   395,   206,  4232,
   17148             :     4232,   395,   160,   308,   526,   449,   474,   160,   253,   390,
   17149             :     4306,   490,  4308,   332,   332,   471,  5187,  4919,   160,  5190,
   17150             :     5191,   449,   449,   222,   449,   421,   263,   449,   263,  5034,
   17151             :     5035,  1060,  5037,   263,   449,   449,   390,   449,   449,  5210,
   17152             :     5790,   390,  1071,   390,   390,   128,   292,   403,   157,    47,
   17153             :       10,    47,   537,    13,   449,  4232,   449,   537,  1087,   449,
   17154             :      449,   449,   537,   449,   535,   224,   189,  4363,  4364,  4365,
   17155             :      224,  4367,  5094,   312,  4370,   537,  4372,   537,   196,   540,
   17156             :      459,     3,   171,   201,    48,    45,   113,   537,   540,   171,
   17157             :      536,  5286,    52,    38,  4390,   537,    10,   157,   449,    13,
   17158             :      157,   171,   526,    17,    18,    19,   302,   536,   189,   474,
   17159             :      157,   474,   390,   390,   390,   390,   390,   400,    78,   540,
   17160             :      155,  5023,   155,  4254,   224,  5320,   224,  4258,   224,   224,
   17161             :      224,   224,   224,   224,   252,   147,   224,   467,  5512,    10,
   17162             :      467,   228,    13,   534,   308,   308,    17,    18,    19,  4445,
   17163             :      456,    59,  4628,   537,   537,    13,   308,   308,   320,   537,
   17164             :       10,   485,   468,    13,    35,   540,   537,    17,    18,    19,
   17165             :      537,   537,   177,   227,    45,   291,   537,   318,   535,   537,
   17166             :      540,    52,   227,   315,   536,    35,    59,   537,   190,   537,
   17167             :      150,   536,   310,  4451,   438,    45,   536,   376,   536,   446,
   17168             :      479,    90,    52,  6112,  4462,   459,  4502,    78,   171,    38,
   17169             :      474,   474,   243,   449,   214,  1244,    59,  5591,   439,   157,
   17170             :     5122,    86,   181,   421,   395,   459,   474,   160,    78,   449,
   17171             :     2070,  2071,  4363,   449,   449,   390,   196,   449,   449,  4535,
   17172             :      390,   201,   537,   537,   537,  2085,   536,   368,   536,    59,
   17173             :      493,   439,   480,  4549,  2094,  4551,   536,   308,   171,    78,
   17174             :      157,   113,  4558,   224,   459,   537,   224,   224,  4564,   224,
   17175             :      240,   449,   209,   497,   536,   536,   536,    38,   308,  4575,
   17176             :      537,   540,   305,   329,   308,     3,   459,    44,   449,  5693,
   17177             :      408,  5695,   252,   400,  4590,   536,   536,   183,  5303,  4595,
   17178             :     4596,  3956,   540,   184,   537,   113,   224,  4603,   540,  5314,
   17179             :      224,   177,   537,   145,   241,   241,  4612,   297,   537,   297,
   17180             :      537,   297,   297,   537,   177,   196,  4622,   537,    59,   320,
   17181             :      201,   491,   537,   540,   491,   537,   329,  3992,  4634,  4635,
   17182             :      537,   446,   536,   227,   536,   536,   196,   540,   492,  4645,
   17183             :      310,   201,   302,   224,   225,   459,  5841,   526,   493,   449,
   17184             :     4656,  4657,   177,  4254,   208,    78,  5473,  4258,   540,   195,
   17185             :      195,    38,   297,   297,   224,   225,    59,   526,  4674,    72,
   17186             :      439,   252,   449,   449,  5704,   449,  4862,  5761,   222,   329,
   17187             :      157,   160,   540,   540,   449,   127,   310,   515,   537,   536,
   17188             :      224,  5886,   252,   179,   120,    38,   288,   201,   302,   527,
   17189             :      528,   529,   530,   531,   532,   400,   536,    38,  5363,  4715,
   17190             :      292,   474,   173,   400,   295,   302,    84,    59,   493,   439,
   17191             :      493,    38,   177,   308,   536,  4731,   171,   540,   211,   310,
   17192             :      363,   311,   313,   222,  4621,   295,   418,   177,   408,    59,
   17193             :     5935,  5936,   537,  4749,   479,    38,  5401,   537,   537,   536,
   17194             :      310,  5704,   537,   313,  4595,  4596,    81,   536,  5639,   537,
   17195             :       92,   136,  4363,   393,   536,   308,   537,   202,   449,   537,
   17196             :      320,  4777,    38,   157,  4780,   537,   157,   537,  5390,   171,
   17197             :       38,   297,  4788,  4789,   536,   449,  5870,   536,   536,  4795,
   17198             :     4796,   208,   536,   157,  4800,   474,   264,   536,   536,  4805,
   17199             :      536,   113,  4808,  4809,   536,   536,    38,   537,   537,  4815,
   17200             :      400,   312,   177,  4819,  4820,  4821,  4822,   459,  5699,   416,
   17201             :      537,   416,   171,    38,   540,   205,   308,   408,   537,   112,
   17202             :      537,  4837,   536,    38,  4840,   540,   536,   536,  4844,   479,
   17203             :     4205,    35,   540,  4849,   536,   515,  4852,  4853,   408,  4855,
   17204             :      439,  4857,   536,   362,  4860,   194,  4862,   527,   528,   529,
   17205             :      530,   531,   532,   474,   171,  4871,   439,  4232,   206,  4875,
   17206             :      536,  5444,   308,  4879,  1613,  4881,   537,     6,   164,   536,
   17207             :      497,   386,    72,   386,   311,    72,   539,  5602,   136,  4254,
   17208             :     4896,   493,   493,  4258,   141,  5979,   489,  5927,   149,   478,
   17209             :      524,   525,   526,   527,   528,   529,   530,   531,   532,   308,
   17210             :     6105,   537,   479,   168,   168,   537,   331,  4923,  4924,   540,
   17211             :      536,   536,   403,   445,   265,  4896,   445,   177,   439,   359,
   17212             :      297,   439,  5813,  4939,   515,   308,   308,   400,   536,    38,
   17213             :       38,   311,   311,   524,   525,   526,   527,   528,   529,   530,
   17214             :      531,   532,   536,  5944,   179,   515,   202,   179,   536,   156,
   17215             :      541,   385,   153,   354,   524,   525,   526,   527,   528,   529,
   17216             :      530,   531,   532,   497,  4942,   354,   497,   537,    59,    59,
   17217             :      540,    81,  5697,    38,   369,  4953,  4873,  4874,   315,  6184,
   17218             :     6185,    59,   537,    59,  4595,  4596,  4837,   449,     6,  5005,
   17219             :      425,   125,   472,  4844,   536,     6,  5012,   537,  4849,   536,
   17220             :      400,  4852,   497,   141,   308,    35,   308,   497,   297,   293,
   17221             :      537,   536,   536,   293,   536,   403,    24,  6222,   385,   389,
   17222             :     5036,   389,   308,   540,   540,    62,   316,   385,    81,   536,
   17223             :      449,   480,   177,    51,   536,  5051,  5569,    38,   149,   540,
   17224             :      479,   427,   156,   427,   416,  5686,     6,   416,   120,   537,
   17225             :     5583,   480,   315,  6147,   537,   333,   179,   179,   474,    60,
   17226             :      536,    98,   493,  5704,   479,   493,  5082,   536,    81,   537,
   17227             :      536,  5522,  5605,  1019,   932,   972,  1715,  3437,  2883,  5612,
   17228             :     1018,  5690,  5098,  2974,  3652,    86,  4408,  4383,  6096,  5105,
   17229             :     3003,  1840,  3873,  3057,  5447,  5924,  6234,  1410,  5114,  4575,
   17230             :     5496,  4381,  1851,  4381,  5084,  5472,  3639,  3577,  5722,  4936,
   17231             :     6320,   112,   113,  5129,  6223,  5362,  5954,  6321,  1867,   120,
   17232             :     5953,  6116,  6258,  3645,   161,  5129,  5142,  4596,  5144,  4622,
   17233             :     5895,  4565,  2692,  4607,  4403,  3071,  3071,  3921,  1014,  3677,
   17234             :     4591,  5123,  5479,  4658,  3965,  5802,  6346,  6482,  6457,  5463,
   17235             :     3881,  5684,  5685,  6128,  5170,  4630,  5671,  5403,   159,  5905,
   17236             :       18,   198,    25,  5406,  6258,  5181,  1875,  5363,    31,   667,
   17237             :     6264,    28,  1921,  1236,  4686,  4030,  5637,  6342,  4689,   197,
   17238             :      181,  3087,  2740,    46,  4633,  3555,  5401,  1936,   206,   207,
   17239             :     1939,  1940,  5522,  5389,  6234,  5790,   214,  3976,   216,   217,
   17240             :     3002,   752,  1954,   204,  3813,  5401,  1919,   719,  4436,  3728,
   17241             :     1916,   248,   230,    76,  6154,  6393,  4662,  4664,  5234,  1529,
   17242             :     4595,  1970,  1971,  5888,   861,  2682,  4837,  1828,  5244,  6316,
   17243             :     3033,  5247,  5815,  4844,  5250,  5251,  5252,  1930,  4849,  4875,
   17244             :     5632,  4852,  4853,    40,  5141,  4306,  4621,  5635,  1426,  1387,
   17245             :     5400,    40,  4731,  1486,  3496,   292,  1487,  3511,  2692,  5275,
   17246             :     5276,  6055,  5863,  5279,  1489,  3477,   267,  4242,  5851,  4260,
   17247             :      133,   272,  5311,  3474,  5591,  5590,  3474,   140,  5129,  4307,
   17248             :     5296,   144,  6370,  6049,  5300,  6197,  5927,   288,   325,  5850,
   17249             :     5306,   292,  6409,  3474,  5310,  6389,  5567,  4167,  5314,  5449,
   17250             :     2590,  5317,  5864,  5319,  1443,  5865,  3414,  2591,  2087,   172,
   17251             :     3396,  3269,  3032,  3394,  5330,  5814,  6408,  5333,  6411,  3384,
   17252             :     2680,  3305,   323,  4099,   920,  6216,  5859,  2596,  5861,    -1,
   17253             :       -1,    -1,    -1,    -1,    -1,   372,    -1,   374,    -1,    -1,
   17254             :      377,  5924,    -1,    -1,  5323,   208,  5362,  5363,  5364,   386,
   17255             :     5366,    -1,  5368,    -1,    -1,    -1,    -1,    -1,   395,    -1,
   17256             :       -1,    -1,    -1,  2112,    -1,    -1,   403,    -1,    -1,    -1,
   17257             :       -1,    -1,   373,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17258             :      417,    -1,    -1,    -1,  5400,  5401,    -1,    -1,    -1,   426,
   17259             :       -1,    -1,    -1,    -1,   431,    -1,   397,    -1,    -1,    -1,
   17260             :       -1,    -1,    -1,  6436,    -1,  5421,  5422,    -1,    -1,    -1,
   17261             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   419,    -1,
   17262             :      421,    -1,    -1,   424,    -1,   288,    -1,    -1,    -1,   292,
   17263             :       -1,    -1,    -1,  5449,    -1,    -1,    -1,    -1,    -1,   302,
   17264             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5463,    -1,   312,
   17265             :        0,   488,  5468,    -1,    -1,  6096,    -1,  5473,    -1,  5310,
   17266             :       -1,   324,    -1,    -1,    -1,    -1,  5482,    -1,    -1,  4844,
   17267             :       -1,    -1,    -1,    -1,  4849,    -1,  5492,  4852,    -1,  5330,
   17268             :     5496,    -1,    -1,  5499,    -1,    -1,    -1,  5098,    -1,    -1,
   17269             :       -1,    -1,    -1,    -1,  5510,  5511,  5512,    -1,  4873,  4874,
   17270             :       -1,    -1,    -1,    -1,    -1,   368,    -1,    -1,   371,   372,
   17271             :       -1,  5362,    -1,  5522,  5522,  5522,  5522,  5522,  5129,  5522,
   17272             :     5522,    -1,  5522,  5522,  5522,  5522,  5522,  5522,  5522,    -1,
   17273             :     5546,    -1,    -1,  5522,    -1,   536,    -1,    -1,    -1,    -1,
   17274             :      403,    -1,    -1,  6458,    -1,  5511,    -1,  5563,    -1,    99,
   17275             :       -1,  5567,    -1,  5569,    -1,  5612,    -1,    -1,    -1,    -1,
   17276             :       -1,    -1,    -1,  5522,    -1,    -1,    -1,  5583,    -1,  5522,
   17277             :     5522,    -1,    -1,    -1,    -1,  5591,    -1,    -1,  5594,    -1,
   17278             :     5477,    -1,  5598,    -1,    -1,    -1,    -1,  6329,  6330,  5605,
   17279             :       -1,    -1,    -1,  6234,    -1,    -1,  5612,    -1,    -1,    -1,
   17280             :       -1,    -1,   152,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17281             :       -1,  5508,    -1,    -1,   477,   165,    -1,    -1,    -1,    -1,
   17282             :       -1,   171,    -1,    -1,    -1,  5522,    -1,   177,    -1,    -1,
   17283             :       -1,    -1,    -1,   183,    -1,    -1,   186,  5653,    -1,    -1,
   17284             :      190,    -1,    -1,    -1,    -1,    -1,  5662,   665,    -1,    -1,
   17285             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17286             :       -1,  5512,  5678,    -1,    -1,    -1,   684,    -1,  5684,  5685,
   17287             :      220,    -1,   690,    38,    -1,    -1,    -1,  5693,  5694,  5695,
   17288             :     5696,    -1,    -1,    -1,   702,    -1,    -1,    -1,    -1,    -1,
   17289             :       -1,    -1,  5888,    -1,    -1,    -1,    -1,    62,    -1,  5310,
   17290             :      718,    -1,    -1,   253,    -1,   723,    -1,    -1,  5724,    -1,
   17291             :      728,    -1,    -1,    -1,   732,   733,    -1,  5733,    -1,  5330,
   17292             :       -1,   739,    -1,   741,   742,    -1,    -1,    -1,    -1,    -1,
   17293             :       -1,    -1,    -1,    98,    -1,    -1,   754,   755,    -1,    -1,
   17294             :     5591,    -1,  5758,    -1,    -1,  5761,    -1,   765,    -1,    -1,
   17295             :       -1,  5362,    -1,    -1,   304,    -1,    -1,    -1,   308,    -1,
   17296             :       -1,    -1,  3322,  3323,   314,    -1,  5141,  3327,    -1,    -1,
   17297             :     5786,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17298             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5400,
   17299             :       -1,    -1,    -1,  6326,    -1,    -1,   161,    -1,  5814,    -1,
   17300             :      818,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3368,  3369,
   17301             :     5826,    -1,    -1,  6396,    -1,    -1,    -1,    -1,    -1,  5835,
   17302             :     5836,  5837,   840,   841,    -1,  5841,   376,    -1,   846,    -1,
   17303             :       -1,  5847,    -1,   198,  5850,    -1,    -1,    -1,  5449,    -1,
   17304             :       -1,    -1,  6375,  5859,    -1,  5861,    -1,  5863,  5864,    62,
   17305             :       -1,    -1,    -1,   871,  5870,   873,    -1,    -1,    -1,    -1,
   17306             :       -1,  5877,    -1,    -1,    -1,    -1,  5763,    -1,    -1,    -1,
   17307             :     5886,    -1,  5888,    -1,  6457,    -1,  5892,    -1,   243,   897,
   17308             :       -1,  5897,    -1,   248,    -1,    98,   436,    -1,    -1,    -1,
   17309             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  6482,
   17310             :       -1,  5512,   920,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17311             :     5761,    -1,    -1,    -1,    -1,   933,   466,    -1,    -1,  5935,
   17312             :     5936,    -1,    -1,    -1,    -1,    -1,    -1,   292,    -1,    -1,
   17313             :       -1,    -1,    -1,  6083,    -1,  5310,    -1,    -1,    -1,    -1,
   17314             :      490,    -1,   492,   493,    -1,    -1,    -1,    -1,   161,  5965,
   17315             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17316             :      325,    -1,    -1,  5979,   514,    -1,    -1,    -1,    -1,    -1,
   17317             :     5867,    -1,    -1,    22,    -1,    -1,    -1,    -1,    -1,    28,
   17318             :     5591,    -1,    -1,    -1,   534,   198,    -1,   537,   538,   539,
   17319             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17320             :       -1,    -1,    -1,    -1,    -1,  6155,  6156,   372,    -1,    -1,
   17321             :       -1,    -1,   377,    -1,  6030,    -1,    -1,    -1,    -1,  5870,
   17322             :       -1,   386,    -1,  1041,  1042,  1043,    -1,    -1,    -1,  6045,
   17323             :      395,    -1,  1050,  6049,    -1,   248,    -1,  1055,   403,  6055,
   17324             :       -1,    -1,  1060,  1061,    -1,  2794,    -1,  1065,  6064,  1067,
   17325             :       -1,  2800,   417,  1071,    -1,    -1,    -1,    -1,    -1,    -1,
   17326             :       -1,   426,    -1,    -1,    -1,    -1,   431,  6083,    -1,  1087,
   17327             :       -1,    -1,    -1,    -1,    -1,   288,    -1,    -1,    -1,   292,
   17328             :       -1,    -1,  6098,    -1,    -1,    -1,    -1,   452,    -1,  6105,
   17329             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2848,
   17330             :       25,    -1,  5477,    -1,    -1,    -1,    31,    -1,    -1,    -1,
   17331             :       -1,   324,   325,  1131,  6130,  1133,  1134,    -1,    -1,    -1,
   17332             :       -1,  6137,  5733,   488,    -1,    -1,    -1,   492,  5979,    -1,
   17333             :       -1,  6147,    -1,  5508,    -1,    -1,    -1,    -1,    -1,  6155,
   17334             :     6156,  6157,    -1,    -1,    -1,  6161,    -1,  5522,    -1,    -1,
   17335             :     5761,    76,    -1,    -1,    -1,   368,  1174,    -1,    -1,   372,
   17336             :       -1,    -1,    -1,    -1,   377,  6154,    -1,    -1,  6184,  6185,
   17337             :     6186,    -1,    25,   386,    -1,    -1,  6192,  6193,    31,    -1,
   17338             :     6196,    -1,   395,  6199,  1202,    -1,    -1,    -1,    -1,    -1,
   17339             :      403,    -1,    -1,    -1,    -1,  6154,    -1,    -1,    -1,    -1,
   17340             :       -1,  6154,  6154,    -1,   417,    -1,  6222,    -1,   133,    -1,
   17341             :       -1,  6268,  6228,   426,    -1,   140,    -1,  1235,   431,   144,
   17342             :       -1,    -1,    -1,    76,    -1,    -1,  1244,    -1,  1246,    -1,
   17343             :       -1,    -1,  6129,    -1,    -1,    -1,    -1,  5612,    -1,    -1,
   17344             :       -1,    -1,  6258,  6259,  6260,  1263,    -1,   172,  6264,    -1,
   17345             :     1268,    -1,    -1,    -1,    -1,    -1,    -1,  6154,    -1,  5870,
   17346             :       -1,    -1,  1280,    -1,    -1,    -1,  6282,    -1,    -1,    -1,
   17347             :       -1,    -1,    -1,  6289,    -1,   488,    -1,    -1,    -1,  6268,
   17348             :      133,  6297,    -1,   208,    -1,    -1,    -1,   140,    -1,  6305,
   17349             :       -1,   144,    -1,    -1,    -1,  6311,  6147,    -1,    -1,    -1,
   17350             :     6316,    -1,    -1,    -1,  1322,    -1,    -1,    -1,    -1,  6268,
   17351             :     6326,  3060,    -1,    -1,    -1,  6268,  6268,    -1,    -1,   172,
   17352             :     6470,  6471,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17353             :       -1,    -1,    -1,  1351,  1352,  1353,    -1,  1355,    -1,    -1,
   17354             :       -1,    -1,    -1,    -1,    -1,    -1,  6362,  6363,  6364,  6365,
   17355             :       -1,    -1,    -1,    -1,  6370,   208,    -1,    -1,  1376,  6375,
   17356             :       -1,    -1,    -1,   288,    -1,    -1,    -1,   292,  5979,    -1,
   17357             :     6386,  6268,    -1,  6389,    -1,    -1,    -1,   302,    -1,    -1,
   17358             :       -1,    -1,    -1,  1401,    -1,    -1,  5761,   312,  5763,    -1,
   17359             :       -1,  1409,  1410,  6409,    -1,    -1,    -1,    -1,    -1,   324,
   17360             :       -1,    -1,    -1,    -1,  6393,    -1,    -1,  6258,    -1,    -1,
   17361             :       -1,    -1,    -1,  6264,    -1,  1433,    -1,    -1,    -1,    -1,
   17362             :     6436,  6437,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17363             :       -1,    -1,    -1,    -1,  6393,   288,    -1,  6453,    -1,   292,
   17364             :     6393,  6393,    -1,   368,  1462,    -1,   371,   372,    -1,   302,
   17365             :       -1,    -1,    -1,    -1,  6470,  6471,    -1,    -1,  6474,   312,
   17366             :     6476,  1479,    -1,    -1,    -1,  1483,  1484,    -1,    -1,    -1,
   17367             :       -1,   324,  6083,    -1,    -1,    -1,    -1,  6493,   403,    -1,
   17368             :       -1,  1499,    -1,    -1,    -1,    -1,    -1,  1505,    -1,    -1,
   17369             :       -1,  3240,  5867,    -1,    -1,    -1,  6393,    -1,    -1,    -1,
   17370             :       -1,    -1,    -1,    -1,    -1,    -1,  3255,    -1,    -1,    -1,
   17371             :       -1,  3260,    -1,    -1,    -1,   368,    -1,    -1,   371,   372,
   17372             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17373             :       -1,    62,    -1,    -1,    -1,    -1,  6147,    -1,  6389,    -1,
   17374             :       -1,  3290,    -1,    -1,  6155,  6156,    -1,  4107,    -1,    -1,
   17375             :      403,    -1,   477,    23,  1572,    -1,    -1,    -1,    28,    -1,
   17376             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,  4129,
   17377             :     4130,  4131,  4132,    -1,    -1,  4135,  4136,  4137,  4138,  4139,
   17378             :     4140,  4141,  4142,  4143,  4144,    -1,    -1,    -1,    -1,    -1,
   17379             :       -1,    -1,    -1,    -1,     0,  1613,    66,    -1,    -1,    -1,
   17380             :       -1,    -1,    -1,  4163,    -1,    -1,    -1,    -1,    -1,    79,
   17381             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17382             :       -1,    -1,    -1,    -1,   477,    -1,    96,    -1,  1646,    -1,
   17383             :      161,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4199,
   17384             :     4200,    -1,    -1,    -1,   114,    -1,     0,  6258,    -1,    -1,
   17385             :       -1,    -1,    -1,  6264,    -1,    -1,    -1,    -1,    -1,    -1,
   17386             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   198,   138,    -1,
   17387             :       -1,  6282,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17388             :       -1,   151,    -1,    -1,    -1,    -1,  4246,    -1,    -1,    -1,
   17389             :      160,    -1,    -1,    99,    -1,  1713,    -1,    -1,    -1,    -1,
   17390             :       -1,    -1,    -1,   173,    -1,    -1,    -1,    -1,    -1,   179,
   17391             :     1728,  1729,  1730,    -1,    -1,    -1,    17,   248,    -1,    -1,
   17392             :       10,    -1,    -1,    13,    -1,    26,    -1,    17,    18,    19,
   17393             :      779,    -1,   781,    -1,   783,    -1,   206,    -1,    -1,    -1,
   17394             :      789,   790,   791,    -1,    -1,    99,   152,    -1,    -1,    -1,
   17395             :       -1,    -1,    -1,  6364,  6129,    45,    -1,   288,    -1,   165,
   17396             :       -1,   292,    52,    -1,    -1,   171,    -1,    -1,    -1,    -1,
   17397             :       -1,   177,    -1,    -1,    -1,    -1,    -1,   183,  6389,  6154,
   17398             :      186,    -1,    -1,    -1,   190,    -1,    -1,    -1,    78,    -1,
   17399             :       -1,    -1,    -1,   324,   325,    -1,   266,    -1,   152,    -1,
   17400             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17401             :     1828,   165,    -1,    -1,   220,    -1,    -1,   171,    -1,    -1,
   17402             :       -1,    -1,  1840,   177,    -1,    -1,  6437,    -1,    -1,   183,
   17403             :       -1,    -1,   186,  1851,    -1,    -1,   190,   368,    -1,    -1,
   17404             :      310,   372,  6453,    -1,    -1,  1863,   377,   253,  3597,  1867,
   17405             :       -1,    -1,    -1,    -1,    -1,   386,  3605,    -1,    -1,  6470,
   17406             :     6471,    -1,    -1,    -1,   395,    -1,   220,    -1,  1886,    -1,
   17407             :       -1,    -1,   403,    -1,    -1,    -1,  1894,    -1,   348,   349,
   17408             :       -1,    -1,   352,    -1,  1902,    -1,   417,    -1,    -1,    -1,
   17409             :       -1,    -1,    -1,  6268,    -1,   426,    -1,    -1,   304,   253,
   17410             :      431,    -1,   308,  1921,    -1,    -1,   196,    -1,   314,    -1,
   17411             :      380,   201,  1930,   383,    -1,  1933,    -1,    -1,  1936,    -1,
   17412             :      390,  1939,  1940,    -1,    -1,  1943,  1944,   397,  1946,  1947,
   17413             :      400,   980,    -1,    -1,   224,   225,    -1,    -1,    -1,    -1,
   17414             :     1958,    -1,  1960,  1961,    -1,    -1,    -1,    -1,    -1,    -1,
   17415             :      304,   421,  1970,  1971,   308,  1973,  1974,   488,    -1,   429,
   17416             :      314,  3710,   252,  3712,    -1,    -1,   436,    -1,    -1,   439,
   17417             :      376,    -1,    -1,    -1,   444,    -1,    -1,    10,    -1,    -1,
   17418             :       13,    -1,   452,    -1,    17,    18,    19,    -1,    -1,   459,
   17419             :       -1,  4551,    -1,  2011,    -1,    -1,    -1,  2015,  2016,    38,
   17420             :       -1,  1050,    35,    -1,    -1,   295,    -1,    -1,    -1,    -1,
   17421             :       -1,    -1,    45,    -1,    -1,    -1,   486,    -1,  6393,    52,
   17422             :      310,    -1,   376,    62,    -1,    -1,    -1,    -1,    -1,    -1,
   17423             :      436,    -1,  2050,    -1,  2052,    -1,    -1,    -1,    -1,  2057,
   17424             :     2058,    -1,    -1,    -1,    -1,    78,  2064,  2065,  2066,  2067,
   17425             :     2068,  2069,  2070,  2071,  2072,  2073,  2074,  2075,  2076,    98,
   17426             :      466,  3810,  2080,    -1,  2082,    -1,  2084,  2085,  2086,  2087,
   17427             :     2088,  2089,    -1,    -1,  2092,    -1,  2094,  2095,    -1,    -1,
   17428             :     2098,    -1,   436,    -1,   490,    -1,   492,   493,    -1,    -1,
   17429             :       -1,    -1,    -1,    -1,  2112,  2113,  2114,  2115,    -1,    -1,
   17430             :       -1,    -1,    -1,    -1,    -1,  3854,    -1,    -1,   514,    -1,
   17431             :       -1,    -1,   466,  2131,    -1,  2133,    -1,    -1,   408,    -1,
   17432             :       -1,    -1,   161,    -1,    -1,    -1,    -1,    -1,   534,    -1,
   17433             :       -1,   537,   538,   539,    -1,    -1,   490,    -1,   492,   493,
   17434             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17435             :       -1,    -1,    -1,    -1,    -1,    -1,    25,    -1,    -1,   198,
   17436             :      514,    -1,    31,   196,    -1,    -1,    -1,    -1,   201,    -1,
   17437             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17438             :      534,    -1,    -1,   537,   538,   539,    10,    -1,    -1,    13,
   17439             :       -1,   224,   225,    17,    18,    19,    -1,    -1,    -1,    -1,
   17440             :       -1,  3950,    -1,    -1,   243,    -1,    -1,    76,    -1,   248,
   17441             :       -1,    35,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   252,
   17442             :     4780,    45,    -1,    -1,    -1,   515,    -1,    -1,    52,    -1,
   17443             :       -1,    -1,    -1,    -1,   524,   525,   526,   527,   528,   529,
   17444             :      530,   531,   532,    -1,    -1,  3994,    -1,    -1,    -1,    -1,
   17445             :       -1,    -1,    -1,   292,    78,    -1,    -1,    -1,    -1,    -1,
   17446             :     2278,    -1,   295,    -1,   133,    -1,    -1,    -1,    -1,    -1,
   17447             :       -1,   140,    -1,    -1,    -1,   144,    -1,   310,    -1,    -1,
   17448             :      313,    -1,    -1,    -1,    -1,    -1,   325,    -1,    -1,    -1,
   17449             :       10,    -1,    -1,    13,    -1,    -1,    -1,    17,    18,    19,
   17450             :       -1,    -1,    -1,   172,    -1,    -1,    -1,    -1,    -1,    -1,
   17451             :       -1,    -1,    -1,    -1,  2332,    35,    -1,    -1,    -1,    -1,
   17452             :       -1,    -1,    -1,    -1,    -1,    45,    -1,  4076,    -1,    -1,
   17453             :       -1,    -1,    52,   372,    -1,    -1,    -1,    -1,   377,   208,
   17454             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   386,    -1,    -1,
   17455             :       -1,    -1,    -1,    -1,    -1,  1404,   395,    -1,    78,    -1,
   17456             :     1409,  1410,    -1,    -1,   403,    -1,    -1,   668,    -1,    -1,
   17457             :     2388,    -1,   196,    -1,    -1,   408,    -1,   201,   417,  4128,
   17458             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   426,  1437,    -1,
   17459             :       -1,    -1,   431,    -1,    -1,    -1,    -1,  1446,    -1,  1448,
   17460             :      224,   225,    -1,  1452,  4153,    -1,    -1,    -1,    -1,    -1,
   17461             :     1459,    -1,    -1,   452,    -1,    -1,    -1,   718,   719,   288,
   17462             :       -1,    -1,    -1,   292,    -1,    -1,    -1,    -1,   252,    -1,
   17463             :       -1,    -1,    -1,   302,    -1,    -1,    -1,    -1,    -1,    -1,
   17464             :       -1,    -1,    -1,   312,    -1,    -1,    -1,    -1,    -1,   488,
   17465             :       -1,    -1,    -1,   492,    -1,   324,    -1,    -1,    -1,    -1,
   17466             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17467             :       -1,   295,    -1,    -1,    -1,    -1,   196,    -1,    -1,    -1,
   17468             :       -1,   201,   515,    -1,    -1,    -1,   310,    -1,    -1,   313,
   17469             :       -1,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   17470             :       -1,  1550,   371,   372,   224,   225,    -1,   540,    -1,    -1,
   17471             :       -1,  1560,    -1,   814,    -1,    -1,    -1,    -1,    -1,    -1,
   17472             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17473             :       -1,    -1,   252,   834,   403,    -1,    -1,    -1,    -1,    -1,
   17474             :       -1,   842,    -1,    -1,   845,   846,   847,    -1,    -1,    -1,
   17475             :       -1,    -1,    -1,    -1,    -1,  1604,  1605,  2575,  2576,  2577,
   17476             :     2578,  2579,  2580,  2581,  2582,  2583,    -1,  2585,    -1,    -1,
   17477             :       -1,    -1,    -1,    -1,    -1,   295,    -1,    -1,  2596,    -1,
   17478             :     2598,    -1,    -1,    -1,   408,    -1,    -1,    -1,    -1,    -1,
   17479             :      310,    -1,    -1,   313,    -1,    -1,    -1,    -1,  1647,    -1,
   17480             :       -1,  1650,  1651,    -1,    -1,    -1,    -1,    -1,   477,    -1,
   17481             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2636,    -1,
   17482             :       -1,    -1,  2640,    -1,    -1,  2643,    -1,  2645,    -1,    -1,
   17483             :     2648,    -1,    -1,    -1,  2652,    -1,    -1,    -1,    -1,    -1,
   17484             :       -1,    -1,    -1,    -1,    -1,    -1,    25,    -1,    -1,    -1,
   17485             :       -1,    -1,    31,    -1,    -1,  2673,    -1,  2675,    -1,    38,
   17486             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17487             :       -1,    -1,    -1,    -1,  2692,    -1,    -1,    -1,    -1,    -1,
   17488             :       -1,    60,    -1,  2701,  2702,    -1,    -1,  5247,   408,    -1,
   17489             :       -1,   515,    -1,    -1,    -1,    -1,    -1,    76,    -1,    -1,
   17490             :      524,   525,   526,   527,   528,   529,   530,   531,   532,    -1,
   17491             :     2728,    -1,    -1,    -1,    -1,    -1,   540,  2735,    -1,    -1,
   17492             :       -1,  2739,  2740,    -1,    -1,    -1,    -1,    -1,  2746,    -1,
   17493             :       -1,    -1,  2750,   112,    -1,    -1,  2754,    -1,    -1,    -1,
   17494             :     5300,    -1,    -1,    -1,    -1,  2763,    -1,    -1,    -1,  1050,
   17495             :       -1,    -1,    -1,    -1,   133,    -1,    -1,    -1,    -1,    -1,
   17496             :     2778,   140,    -1,  2781,    -1,   144,    -1,    -1,    -1,    -1,
   17497             :       -1,    -1,    -1,    -1,  2792,    -1,  2794,  2795,    -1,  2797,
   17498             :     2798,    -1,  2800,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17499             :       -1,    -1,    -1,   172,  2812,   515,  1845,    -1,    -1,    -1,
   17500             :       -1,    -1,    -1,    -1,   524,   525,   526,   527,   528,   529,
   17501             :      530,   531,   532,    -1,  2832,  2833,    -1,   537,    -1,    -1,
   17502             :       -1,    -1,    -1,    -1,    -1,   204,    -1,    -1,    -1,   208,
   17503             :     2848,    -1,  4581,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17504             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17505             :       -1,    -1,  2870,  2871,    -1,    -1,  2874,    -1,    -1,    -1,
   17506             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17507             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17508             :     2898,    -1,  2900,    -1,    -1,    -1,  2904,    10,   267,    -1,
   17509             :       13,    -1,    -1,   272,    17,    18,    19,    -1,    -1,    -1,
   17510             :     2918,    -1,    -1,    -1,    -1,    -1,    -1,  2925,    -1,   288,
   17511             :     2928,    -1,    35,   292,    -1,    -1,  2934,    -1,    -1,    -1,
   17512             :       -1,    -1,    45,   302,    -1,    -1,    -1,    -1,    -1,    52,
   17513             :       -1,    -1,    -1,   312,    -1,    -1,  2954,    -1,    -1,    -1,
   17514             :     1241,    -1,  2960,    -1,   323,   324,    -1,    -1,    -1,  2967,
   17515             :       -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,
   17516             :       -1,    -1,    -1,    -1,    -1,  2983,    -1,  1268,    -1,    -1,
   17517             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2997,
   17518             :       -1,    -1,    -1,    -1,  3002,    -1,    -1,    -1,    -1,   368,
   17519             :     3008,    -1,   371,   372,   373,    -1,    -1,    -1,    -1,    -1,
   17520             :       -1,    -1,    -1,  5563,    -1,    -1,    -1,    -1,  3026,  3027,
   17521             :     3028,  2060,  2061,    -1,  3032,    -1,    -1,    -1,   397,    -1,
   17522             :       -1,    -1,    -1,    -1,   403,    -1,    -1,    -1,  2077,  2078,
   17523             :       -1,    -1,    -1,    -1,  5594,    -1,    -1,    -1,    -1,    -1,
   17524             :      419,  3059,  3060,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17525             :     3068,    -1,    -1,    -1,    -1,    -1,  1357,    -1,    -1,  2108,
   17526             :       -1,    -1,    -1,    -1,    -1,  1366,    -1,    -1,    -1,    -1,
   17527             :       -1,    -1,    -1,   196,    -1,    -1,    -1,    -1,   201,    -1,
   17528             :       -1,  1382,    -1,  3101,    -1,    10,    -1,    -1,    13,    -1,
   17529             :       -1,    -1,    17,    18,    19,    -1,    -1,    -1,   477,    -1,
   17530             :     1401,   224,   225,  1404,  1405,    -1,    -1,    -1,  1409,  1410,
   17531             :       35,    -1,    -1,    -1,    -1,  3133,    -1,    -1,    -1,  3137,
   17532             :       45,    -1,    -1,    -1,    -1,    -1,    -1,    52,    -1,   252,
   17533             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17534             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17535             :       -1,    10,    -1,    78,    13,    -1,    -1,  4906,    17,    18,
   17536             :       19,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17537             :       -1,    -1,   295,    -1,    -1,    -1,    35,    -1,    -1,    -1,
   17538             :       -1,    -1,    -1,    -1,    -1,    -1,    45,   310,    -1,    -1,
   17539             :      313,    -1,    -1,    52,    -1,    -1,    -1,    -1,    -1,    -1,
   17540             :       -1,    -1,    -1,    -1,    -1,  3223,    -1,  3225,    -1,    -1,
   17541             :       -1,  4960,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,
   17542             :       -1,    -1,  3240,    -1,  3242,    -1,    -1,    -1,    -1,    -1,
   17543             :       -1,  3249,    -1,  4982,    -1,  3253,    -1,  3255,  3256,    -1,
   17544             :     3258,  3259,  3260,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17545             :     3268,    -1,    -1,    -1,    -1,  3273,    10,    -1,    -1,    13,
   17546             :       -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,    -1,
   17547             :       -1,   196,  3290,    -1,    -1,    -1,   201,    -1,    -1,    -1,
   17548             :       -1,    35,    -1,    -1,    -1,   408,    -1,    -1,    -1,    -1,
   17549             :     5850,    45,    -1,    -1,    -1,    -1,    -1,    -1,    52,   224,
   17550             :      225,    -1,    -1,    -1,  3322,  3323,  3324,  5056,    -1,  3327,
   17551             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3335,  3336,  3337,
   17552             :     3338,    -1,    -1,   207,    78,    -1,    -1,   252,  3346,    -1,
   17553             :       -1,    -1,   216,  3351,  3352,    -1,  3354,   196,  3356,    -1,
   17554             :       -1,    -1,   201,    -1,    -1,    -1,   230,    -1,    -1,    -1,
   17555             :     3368,  3369,    -1,    -1,  3372,    -1,    -1,    -1,    -1,    -1,
   17556             :       -1,    -1,    -1,  1664,    -1,   224,   225,    -1,    -1,    -1,
   17557             :      295,  1672,    -1,    -1,    -1,  3393,    -1,  3395,    -1,  3397,
   17558             :       -1,    -1,    -1,    -1,    -1,   310,    -1,    -1,   313,    -1,
   17559             :       -1,    -1,   515,   252,    -1,    -1,    -1,    -1,  3416,    -1,
   17560             :       -1,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   17561             :       -1,    -1,    -1,    -1,   537,    -1,    -1,    -1,    -1,  3437,
   17562             :       -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,  5177,    -1,
   17563             :       -1,    -1,    -1,    -1,    -1,    -1,   295,    -1,    -1,    -1,
   17564             :       -1,    -1,   196,    -1,    -1,    -1,    -1,   201,    -1,    -1,
   17565             :       -1,   310,    -1,    -1,   313,    -1,  3474,    -1,    -1,  3477,
   17566             :       -1,    98,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17567             :      224,   225,    -1,  3491,    -1,    -1,    -1,    -1,  3496,    -1,
   17568             :       -1,    -1,    -1,   408,    -1,  6045,    -1,    -1,    -1,    -1,
   17569             :       -1,    -1,    -1,  3511,    -1,    -1,    -1,    -1,   252,    -1,
   17570             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3525,    -1,    -1,
   17571             :       -1,    -1,    -1,    -1,    -1,  3533,    -1,    -1,    -1,    -1,
   17572             :       -1,    -1,    -1,    -1,   161,    -1,    -1,  3545,    -1,    -1,
   17573             :     3548,    -1,  3550,    -1,    -1,    -1,    -1,  3555,    -1,    -1,
   17574             :       -1,   295,    25,    -1,    -1,    -1,    -1,    -1,    31,   408,
   17575             :       -1,    -1,  3570,  3571,    -1,    -1,   310,    -1,  3576,   313,
   17576             :       -1,   198,    -1,    46,    -1,    -1,    -1,  5316,    -1,    -1,
   17577             :       -1,    -1,    -1,  3591,    -1,    -1,  3594,    -1,    -1,  3597,
   17578             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3605,  1889,    -1,
   17579             :      515,    -1,  1893,    76,    -1,    -1,    -1,    -1,    -1,   524,
   17580             :      525,   526,   527,   528,   529,   530,   531,   532,    -1,    -1,
   17581             :      535,   248,  3630,    -1,  2663,  2664,    -1,    -1,  3636,    -1,
   17582             :     2669,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17583             :       -1,    -1,  6192,  6193,    -1,    -1,  6196,    -1,    -1,    -1,
   17584             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,    -1,
   17585             :      133,   288,  2701,  2702,   408,   292,   515,   140,  3676,  3677,
   17586             :     3678,   144,    -1,    -1,    -1,   524,   525,   526,   527,   528,
   17587             :      529,   530,   531,   532,    -1,    -1,    -1,    -1,   537,    -1,
   17588             :       -1,    -1,    -1,  3701,    -1,    -1,    -1,   324,   325,   172,
   17589             :       -1,    -1,  3710,    -1,  3712,    -1,    -1,    -1,    -1,    -1,
   17590             :       -1,    -1,  3720,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17591             :       -1,    -1,    -1,    -1,  2763,    -1,    -1,    -1,    -1,    -1,
   17592             :       -1,    -1,    -1,    -1,  3742,   208,    -1,    -1,    -1,    -1,
   17593             :       -1,   368,    -1,    -1,    -1,   372,    -1,    -1,    -1,    -1,
   17594             :      377,    -1,    -1,    -1,    10,    -1,    -1,    13,    -1,   386,
   17595             :       -1,    17,    18,    19,    -1,    -1,    -1,    -1,   395,    -1,
   17596             :       -1,   515,  2063,    -1,    -1,    -1,   403,    -1,    -1,    35,
   17597             :      524,   525,   526,   527,   528,   529,   530,   531,   532,    45,
   17598             :      417,    -1,    -1,   537,    -1,   268,    52,    -1,    -1,   426,
   17599             :       -1,    -1,  3810,    -1,   431,    -1,    -1,    -1,    -1,    -1,
   17600             :      684,    -1,  2851,    -1,    -1,   288,   690,    -1,    -1,   292,
   17601             :       -1,    -1,    78,    -1,    -1,    -1,  3834,    -1,   702,   302,
   17602             :       -1,  3839,    -1,    -1,    -1,    -1,    -1,  3845,    -1,   312,
   17603             :       -1,    -1,    -1,    -1,    -1,    51,  3854,    -1,    -1,    -1,
   17604             :       -1,   324,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17605             :       -1,   488,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17606             :       -1,    -1,    -1,  3881,  3882,    -1,    -1,    -1,    -1,  3887,
   17607             :       -1,  3889,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17608             :       -1,    -1,    -1,    -1,  3902,   368,  3904,    -1,   371,   372,
   17609             :       -1,  2940,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2948,
   17610             :       -1,    -1,  2951,    -1,    -1,    -1,  3924,    -1,    -1,    -1,
   17611             :       -1,    -1,    -1,    -1,  2963,    -1,    -1,    -1,    -1,  5668,
   17612             :      403,    -1,    -1,    -1,  5673,  5674,    -1,    -1,    -1,    -1,
   17613             :      196,   414,  3950,    -1,    -1,   201,    -1,    -1,    -1,    -1,
   17614             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17615             :       -1,     0,    -1,  3971,  3972,    -1,    -1,    -1,   224,   225,
   17616             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17617             :       -1,    20,    -1,    -1,    -1,    -1,  3994,    -1,    -1,    -1,
   17618             :       -1,    -1,    31,    -1,    33,    34,   252,    -1,    -1,    -1,
   17619             :       -1,    -1,    -1,    -1,   477,  4013,    -1,    -1,    -1,    -1,
   17620             :       -1,    -1,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17621             :       -1,    -1,    61,    -1,  4032,    -1,    -1,    -1,  4036,    -1,
   17622             :       -1,    -1,    -1,    -1,    73,    -1,    75,    76,    -1,   295,
   17623             :       -1,    -1,    -1,    82,    -1,    84,    -1,    -1,    -1,  4057,
   17624             :       -1,    -1,  5791,    -1,   310,    -1,    -1,   313,    97,    -1,
   17625             :       99,    -1,    -1,    -1,    -1,  4073,    -1,    -1,  4076,    -1,
   17626             :       -1,    -1,    -1,    -1,  4082,    -1,    -1,   116,    -1,    -1,
   17627             :      119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4096,    -1,
   17628             :       -1,    -1,  4100,  4101,  4102,   134,    -1,   136,    -1,  4107,
   17629             :       -1,   140,  4110,    -1,    -1,  4113,    -1,    -1,   147,    -1,
   17630             :       -1,  4119,    -1,  4121,    -1,  5854,  4124,   156,    -1,   158,
   17631             :     4128,  4129,  4130,  4131,  4132,    -1,   165,  4135,  4136,  4137,
   17632             :     4138,  4139,  4140,  4141,  4142,  4143,  4144,    -1,    -1,    -1,
   17633             :     4148,  4149,  4150,    -1,   183,  4153,    -1,    -1,    -1,    -1,
   17634             :     4158,    -1,   408,    -1,    -1,  4163,    -1,  4165,    -1,  4167,
   17635             :       -1,   200,    -1,    -1,    -1,    -1,    -1,  4175,    -1,    -1,
   17636             :     4178,    25,  4180,  3212,    -1,    -1,    -1,    31,    -1,    -1,
   17637             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4196,    -1,
   17638             :       -1,  4199,  4200,    -1,    -1,    -1,  4204,  4205,    -1,    -1,
   17639             :       -1,  4209,    -1,  4211,    -1,    -1,    -1,    -1,    -1,    -1,
   17640             :       -1,    -1,    -1,    -1,    -1,   254,   255,    -1,    -1,    -1,
   17641             :       -1,   260,    76,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17642             :       -1,    -1,  4240,    -1,    -1,    -1,   275,    -1,  4246,    -1,
   17643             :       -1,    -1,    -1,    -1,    -1,    -1,  4254,    -1,    -1,    -1,
   17644             :     4258,    -1,    -1,    -1,    -1,   294,    -1,    -1,    -1,   515,
   17645             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   524,   525,
   17646             :      526,   527,   528,   529,   530,   531,   532,    -1,    -1,   133,
   17647             :       -1,   537,    -1,  4291,    -1,    -1,   140,    -1,    -1,    -1,
   17648             :      144,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17649             :     4308,    -1,    -1,    -1,   343,    10,  4314,    -1,    13,    -1,
   17650             :       -1,    -1,    17,    18,    19,    -1,    -1,    -1,   172,   358,
   17651             :       -1,    -1,    -1,    -1,  2615,   364,   365,    -1,   367,    -1,
   17652             :       35,    -1,  4340,   372,    -1,    -1,    -1,    -1,    -1,   378,
   17653             :       45,    -1,   381,    -1,    -1,    -1,    -1,    52,    -1,   388,
   17654             :       -1,    -1,    -1,    -1,   208,  4363,   395,   396,    -1,    -1,
   17655             :       -1,    -1,    -1,    -1,   403,    -1,    -1,    -1,   407,    10,
   17656             :       -1,    -1,    13,    78,    -1,    -1,    17,    18,    19,    -1,
   17657             :      419,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17658             :       -1,    -1,    -1,    -1,    35,  4403,  3435,   436,  3437,    -1,
   17659             :     4408,  4409,  4410,    -1,    45,    -1,    -1,    -1,    -1,    -1,
   17660             :       -1,    52,    -1,    -1,  3453,    -1,    -1,    -1,   457,    -1,
   17661             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4436,  4437,
   17662             :      469,    -1,    -1,    -1,   288,    -1,   475,    78,   292,    -1,
   17663             :       -1,   480,    -1,    -1,    -1,    -1,    -1,    -1,   302,    -1,
   17664             :       -1,    -1,    -1,    -1,   493,    -1,    -1,    -1,   312,    -1,
   17665             :       -1,    -1,    -1,    -1,  3503,  3504,    -1,    -1,    -1,    -1,
   17666             :      324,    -1,  2763,    -1,    -1,    -1,  4484,    -1,   517,  4487,
   17667             :      519,   520,   521,   522,   523,    -1,    -1,    -1,    -1,    -1,
   17668             :       -1,   196,    -1,    -1,    -1,    -1,   201,   536,    -1,    -1,
   17669             :      539,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17670             :       -1,    -1,    -1,    -1,   368,    -1,    -1,   371,   372,   224,
   17671             :      225,    -1,   728,    -1,    -1,    -1,    -1,    -1,  2819,    -1,
   17672             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17673             :       -1,    -1,    -1,  4551,    -1,    -1,    -1,   252,   754,   403,
   17674             :       -1,    -1,    -1,    -1,    -1,   196,    -1,    -1,    -1,    -1,
   17675             :      201,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4577,
   17676             :     4578,    -1,    -1,  4581,    -1,    -1,    -1,    -1,    -1,    -1,
   17677             :     4588,    -1,    -1,   224,   225,    -1,    -1,  4595,  4596,    -1,
   17678             :      295,    -1,    -1,    25,    -1,    -1,    -1,  4605,    -1,    31,
   17679             :       -1,    -1,    -1,    -1,    -1,   310,    -1,    -1,   313,    -1,
   17680             :       -1,   252,    -1,    -1,    -1,  2906,    -1,    -1,    -1,    -1,
   17681             :     4628,    -1,    -1,   477,    -1,  4633,  4634,  4635,    -1,    -1,
   17682             :     6369,    -1,    -1,    -1,    -1,    -1,    -1,  4645,    -1,  2930,
   17683             :       -1,    -1,    -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,
   17684             :       -1,    -1,    -1,    -1,   295,    -1,    -1,    -1,    -1,    -1,
   17685             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   310,
   17686             :       -1,    -1,   313,    -1,    -1,    -1,    -1,    -1,  4686,    -1,
   17687             :       -1,  4689,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17688             :       -1,   897,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17689             :       -1,   133,    -1,   408,    -1,  2996,    -1,  4715,   140,  3000,
   17690             :       -1,    -1,   144,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17691             :       -1,    -1,    -1,  4731,    -1,    -1,    -1,    -1,    -1,    -1,
   17692             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17693             :      172,  4749,    -1,    -1,    -1,    -1,  3037,    -1,  3039,    -1,
   17694             :     3041,  3042,    -1,    -1,    -1,  3046,  3047,  3048,    -1,  3050,
   17695             :     3051,  3052,    -1,    -1,    -1,    -1,    -1,   408,    -1,  4777,
   17696             :       -1,    -1,  4780,    -1,    -1,    -1,   208,    -1,    -1,    -1,
   17697             :     4788,  4789,    -1,  4791,    -1,    -1,    -1,  4795,  4796,    -1,
   17698             :       -1,    -1,  4800,    -1,    -1,    -1,    -1,  4805,    -1,    -1,
   17699             :     4808,  4809,    -1,    -1,    -1,    -1,    -1,  4815,    -1,    -1,
   17700             :      515,    -1,    -1,  3104,    -1,    -1,    -1,    -1,    -1,   524,
   17701             :      525,   526,   527,   528,   529,   530,   531,   532,    -1,  4837,
   17702             :       -1,    -1,   537,    -1,    -1,  1041,  4844,    -1,  3129,  1713,
   17703             :       -1,  4849,    -1,  3882,  4852,  4853,    -1,    -1,    -1,    -1,
   17704             :       -1,    -1,  4860,    -1,  1060,    -1,   288,    -1,    -1,    -1,
   17705             :      292,    -1,    51,  4871,    -1,  1071,  3905,    -1,    -1,    -1,
   17706             :      302,  4879,    -1,    -1,   515,    -1,    -1,    -1,    -1,    -1,
   17707             :      312,  1087,    -1,   524,   525,   526,   527,   528,   529,   530,
   17708             :      531,   532,   324,    -1,    -1,    -1,   537,    -1,  4906,    -1,
   17709             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17710             :       -1,  4919,    10,    -1,    -1,    13,  4924,    -1,    -1,    17,
   17711             :       18,    19,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17712             :       -1,    -1,    -1,    -1,    -1,    -1,   368,    35,    -1,   371,
   17713             :      372,    -1,    -1,    -1,    -1,    -1,    -1,    45,    10,    -1,
   17714             :       -1,    13,  4960,    -1,    52,    17,    18,    19,    -1,    -1,
   17715             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4977,
   17716             :       -1,   403,    -1,    35,  4982,    -1,    -1,    -1,    -1,    -1,
   17717             :       78,  4989,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,
   17718             :       52,    -1,    -1,    -1,    -1,    -1,    -1,  5005,    -1,    -1,
   17719             :       -1,    -1,    -1,    -1,  5012,    -1,    -1,    -1,    -1,    -1,
   17720             :       -1,    -1,  1886,    -1,    -1,  5023,    78,    -1,    -1,    -1,
   17721             :     1894,    -1,    -1,  4062,    -1,    -1,    -1,    -1,  1902,    -1,
   17722             :       25,    -1,    -1,    -1,    -1,    -1,    31,    -1,  1244,    -1,
   17723             :       -1,    -1,    -1,    38,    -1,   477,    -1,    -1,  5056,    -1,
   17724             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    25,    -1,    -1,
   17725             :       -1,    -1,    -1,    31,    -1,    60,    -1,    -1,    -1,    -1,
   17726             :       -1,    -1,    -1,  1947,  5082,    -1,    -1,    -1,    -1,    -1,
   17727             :       -1,    76,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17728             :     5098,    -1,    -1,    -1,    -1,  5103,    -1,    -1,   196,    -1,
   17729             :     1974,    -1,    -1,   201,    -1,    -1,    -1,    -1,    76,    -1,
   17730             :       -1,    -1,    -1,    -1,  5122,    -1,    -1,   112,    -1,    -1,
   17731             :       -1,  5129,    -1,    -1,    -1,    -1,   224,   225,    -1,    -1,
   17732             :       -1,    -1,    -1,    -1,   196,    -1,    -1,    -1,   133,   201,
   17733             :       -1,    -1,    -1,    -1,    -1,   140,  3437,    -1,    -1,   144,
   17734             :       -1,    -1,    -1,    -1,   252,    -1,    -1,    -1,    -1,    -1,
   17735             :       -1,    -1,   224,   225,    -1,   133,    -1,  5175,    -1,  5177,
   17736             :       -1,    -1,   140,    -1,    -1,    -1,   144,   172,    -1,    -1,
   17737             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17738             :      252,    -1,    -1,    -1,    -1,    -1,    -1,   295,    -1,    -1,
   17739             :     5208,    -1,    -1,    -1,   172,    -1,    -1,    -1,    -1,   204,
   17740             :       -1,    -1,   310,   208,    -1,   313,    -1,    -1,    -1,    -1,
   17741             :       -1,    -1,    -1,    -1,    -1,    -1,  5234,    -1,    -1,    -1,
   17742             :       -1,    -1,    -1,   295,    -1,    -1,  5244,    -1,    -1,  5247,
   17743             :      208,    -1,  5250,  5251,  5252,    -1,    -1,    -1,   310,    -1,
   17744             :       -1,   313,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17745             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5275,  5276,    -1,
   17746             :       -1,  5279,   267,    -1,    -1,    -1,    -1,   272,    -1,    -1,
   17747             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5296,    -1,
   17748             :       -1,    -1,  5300,   288,    -1,    -1,    -1,   292,  5306,  1505,
   17749             :       -1,    -1,  5310,  3594,    -1,    -1,    -1,   302,  5316,  5317,
   17750             :      408,    -1,    -1,    -1,    -1,    -1,    -1,   312,    -1,    -1,
   17751             :      288,    -1,  5330,    -1,   292,  5333,    -1,    -1,   323,   324,
   17752             :     5338,    -1,  5340,    -1,   302,    -1,    -1,    -1,    -1,    -1,
   17753             :       -1,    -1,    25,    -1,   312,    -1,   408,    -1,    31,    -1,
   17754             :       -1,    -1,    -1,    -1,  5362,    -1,   324,    -1,    -1,    -1,
   17755             :       -1,    -1,    -1,    46,    -1,    -1,  1572,    -1,    -1,    -1,
   17756             :     4409,    -1,    -1,   368,    -1,    -1,   371,   372,   373,    -1,
   17757             :       -1,  5389,  5390,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17758             :       -1,  3682,  5400,    76,    -1,    25,    -1,    -1,  4437,    -1,
   17759             :      368,    31,   397,   371,   372,    -1,    -1,  1613,   403,    -1,
   17760             :       -1,    -1,  4451,    -1,    -1,    -1,    -1,   515,    -1,    -1,
   17761             :       -1,    -1,    -1,  4462,   419,    -1,   524,   525,   526,   527,
   17762             :      528,   529,   530,   531,   532,   403,  5444,    -1,    -1,   537,
   17763             :     1646,  5449,    -1,    -1,    -1,    -1,    76,    -1,   131,  3740,
   17764             :      133,    -1,    -1,   515,    -1,    -1,    -1,   140,    -1,    -1,
   17765             :       -1,   144,   524,   525,   526,   527,   528,   529,   530,   531,
   17766             :      532,    -1,    -1,    -1,    -1,   537,    -1,    -1,    -1,    -1,
   17767             :       -1,    -1,   477,    -1,    -1,    -1,    -1,    -1,    -1,   172,
   17768             :       -1,    -1,    25,    -1,    -1,    -1,    -1,    -1,    31,    -1,
   17769             :       -1,  4540,  4541,   133,  5512,    -1,    -1,  5515,    -1,   477,
   17770             :      140,    -1,    -1,    -1,   144,    -1,    -1,    -1,    -1,    -1,
   17771             :       -1,  3812,  1728,  1729,  1730,   208,    -1,    -1,    -1,    -1,
   17772             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5546,   728,
   17773             :       -1,    -1,   172,    76,    -1,    -1,    -1,    -1,    -1,    -1,
   17774             :       -1,    -1,    -1,    -1,    -1,  5563,    -1,    -1,    -1,  5567,
   17775             :       -1,  5569,    -1,    -1,    -1,   754,    -1,    -1,    -1,  3860,
   17776             :       -1,    -1,    -1,    -1,    -1,  5583,    -1,    -1,   208,    -1,
   17777             :       -1,  3872,  3873,  5591,    -1,   268,  5594,    -1,    -1,  4628,
   17778             :       -1,  3882,    51,    -1,    -1,    -1,  3887,  5605,  3889,    -1,
   17779             :      133,    -1,    -1,    -1,  5612,   288,     8,   140,    -1,   292,
   17780             :       -1,   144,    14,    15,    -1,    -1,    -1,    -1,    20,   302,
   17781             :       22,    -1,    -1,    -1,    -1,    -1,    28,    -1,    30,   312,
   17782             :       -1,    -1,    -1,    -1,  1840,    -1,    -1,    -1,    -1,   172,
   17783             :       -1,   324,  4681,    -1,  3935,  1851,    -1,    49,    50,    -1,
   17784             :       -1,    -1,    -1,    -1,  5662,    -1,    -1,    -1,   288,    -1,
   17785             :     5668,  1867,   292,    -1,    -1,  5673,  5674,    -1,    -1,    -1,
   17786             :     5678,    -1,   302,    -1,    -1,   208,  5684,  5685,  5686,  3970,
   17787             :     3971,    -1,   312,    -1,    -1,   368,    -1,    -1,   371,   372,
   17788             :       -1,    -1,    -1,    -1,   324,    -1,  5704,    -1,    -1,    -1,
   17789             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   897,    -1,
   17790             :       -1,    -1,    -1,    -1,    -1,  1921,  5724,    -1,    -1,    -1,
   17791             :      403,    -1,    -1,    -1,    -1,  5733,    -1,    -1,  5736,    -1,
   17792             :     1936,   414,    -1,  1939,  1940,    -1,    -1,    -1,   368,    -1,
   17793             :       -1,   371,   372,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17794             :       -1,    -1,    -1,  5761,    -1,   288,    -1,    -1,    -1,   292,
   17795             :       -1,    -1,    -1,    -1,  1970,  1971,    -1,    -1,    -1,   302,
   17796             :       -1,    -1,    -1,   403,    -1,    -1,    -1,    -1,    -1,   312,
   17797             :       -1,    -1,  5790,  5791,    -1,    -1,    -1,    -1,    -1,    -1,
   17798             :       -1,   324,    -1,    -1,   477,    -1,    -1,    -1,   200,    -1,
   17799             :       -1,    -1,   204,    -1,    -1,    -1,  5814,  5815,    -1,    -1,
   17800             :      212,    -1,    -1,   215,    -1,    -1,   218,   219,  5826,   221,
   17801             :       -1,   223,    -1,    -1,   226,    -1,   228,  5835,  5836,  5837,
   17802             :       -1,    -1,    -1,    -1,    -1,   368,    -1,    -1,   371,   372,
   17803             :       -1,    -1,  5850,  5851,    -1,    -1,  5854,   477,    -1,    -1,
   17804             :       -1,  5859,    -1,  5861,  2728,  5863,    -1,    -1,    -1,    -1,
   17805             :       -1,    -1,  5870,    -1,  2070,    -1,    -1,    -1,    -1,  5877,
   17806             :      403,  1060,  2746,    -1,    -1,    -1,  2750,    -1,  2084,    -1,
   17807             :     2754,  2087,  1071,  4174,    -1,    -1,    -1,    -1,    -1,  5897,
   17808             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1087,    -1,
   17809             :       -1,    -1,    -1,  4942,  2778,    -1,  2112,    -1,    -1,  4948,
   17810             :       -1,    -1,    -1,    -1,  4953,    -1,  5924,    -1,    -1,  5927,
   17811             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17812             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2812,    -1,
   17813             :       -1,  4980,  4981,    -1,   477,    -1,  4985,  4986,    -1,    -1,
   17814             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2832,    -1,
   17815             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17816             :       -1,  5979,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17817             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17818             :       -1,    10,    -1,    -1,    13,    -1,    -1,  2871,    17,    18,
   17819             :       19,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17820             :       -1,    -1,    -1,    -1,    -1,    -1,    35,    51,    -1,    -1,
   17821             :       -1,    -1,  6030,    -1,  2898,    -1,    45,    -1,    -1,    -1,
   17822             :     2904,    -1,    -1,    52,    -1,    -1,    -1,  6045,    -1,    -1,
   17823             :       -1,    -1,    -1,    -1,  2918,    -1,    -1,  6055,    -1,    -1,
   17824             :       -1,  2925,    -1,    -1,  2928,  1244,    -1,    -1,    -1,    78,
   17825             :     2934,  6069,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17826             :       -1,    -1,    -1,    -1,    -1,  6083,    -1,    -1,    -1,    -1,
   17827             :     2954,    -1,    -1,    -1,    -1,    -1,  2960,    -1,  6096,    -1,
   17828             :       -1,    -1,    -1,  2967,    -1,    -1,    -1,    -1,    -1,    -1,
   17829             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2983,
   17830             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4409,    -1,
   17831             :       -1,    -1,    -1,  2997,    -1,    -1,    -1,    -1,    -1,  6137,
   17832             :       -1,    -1,    -1,    -1,  3008,    -1,    -1,    -1,    -1,  6147,
   17833             :       -1,    -1,    -1,    -1,    -1,    -1,  4437,  6155,  6156,    -1,
   17834             :       -1,    -1,    -1,  6161,    -1,    -1,    -1,    -1,    -1,    -1,
   17835             :       -1,  4452,    -1,    -1,  4455,    -1,  4457,    -1,    -1,    -1,
   17836             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   196,    -1,    -1,
   17837             :       -1,    -1,   201,    10,  6192,  6193,    13,    -1,  6196,    -1,
   17838             :       17,    18,    19,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17839             :       -1,    -1,    -1,    -1,    -1,   224,   225,    -1,    35,    -1,
   17840             :       -1,    -1,    -1,    -1,  4505,  1404,    -1,    -1,    45,    -1,
   17841             :       -1,    -1,    -1,    -1,    -1,    52,  6234,    -1,    -1,    -1,
   17842             :     4521,    -1,    -1,   252,    -1,  4526,    -1,    -1,    -1,    -1,
   17843             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17844             :     6258,    78,    -1,    -1,    -1,    -1,  6264,    -1,    -1,    -1,
   17845             :       -1,    -1,    -1,    -1,   666,    -1,    -1,    -1,    -1,   728,
   17846             :       -1,    -1,    -1,    -1,  6282,   677,   295,    -1,    -1,   681,
   17847             :       -1,  6289,    -1,    -1,    -1,    -1,   688,   689,    -1,    -1,
   17848             :      692,   310,   694,   695,   313,   754,    -1,  6305,    -1,    -1,
   17849             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   709,    -1,    -1,
   17850             :       -1,    -1,    -1,    -1,    -1,    -1,  1505,    -1,  6326,    -1,
   17851             :       -1,    -1,    -1,    -1,    -1,   727,    -1,    -1,    -1,    -1,
   17852             :       -1,    -1,    -1,    -1,  4625,    -1,    -1,  4628,    -1,    -1,
   17853             :       -1,    -1,    -1,    -1,    -1,    -1,   748,    -1,   750,  3223,
   17854             :     5389,    -1,    -1,    -1,    -1,    -1,  6364,    -1,   760,    -1,
   17855             :       -1,  6369,    -1,    -1,    -1,    -1,    -1,  6375,  3242,   196,
   17856             :       -1,    -1,    -1,    -1,   201,  3249,    -1,    -1,    -1,    -1,
   17857             :       -1,  6389,    -1,  1572,    -1,    -1,    -1,    -1,  6396,   408,
   17858             :       -1,   793,  2598,    -1,    -1,    -1,    -1,   224,   225,    -1,
   17859             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17860             :       -1,    -1,    -1,  4704,  4705,  4706,  4707,    -1,  4709,  4710,
   17861             :     4711,  4712,  4713,    -1,  1613,   252,    -1,    -1,  6436,  6437,
   17862             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   897,    -1,
   17863             :       -1,    -1,    -1,    -1,    -1,  6453,    -1,    -1,    -1,  6457,
   17864             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1646,    -1,    -1,
   17865             :       -1,    -1,  6470,  6471,    -1,    -1,    -1,    -1,   295,    -1,
   17866             :       -1,    -1,   874,    -1,  6482,    -1,    -1,    -1,    -1,    -1,
   17867             :       -1,    -1,    -1,   310,    -1,    -1,   313,    -1,    -1,    -1,
   17868             :       -1,    -1,    -1,    -1,    -1,    -1,   515,    -1,    -1,    -1,
   17869             :       -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,   528,
   17870             :      529,   530,   531,   532,    -1,    -1,    -1,    -1,   537,    -1,
   17871             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2735,
   17872             :       -1,    -1,    -1,  2739,  2740,    -1,  4827,    -1,  4829,    -1,
   17873             :       -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,    13,    -1,
   17874             :       -1,    -1,    17,    18,    19,    -1,    -1,   959,    -1,    -1,
   17875             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17876             :       35,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17877             :       45,   408,    -1,    -1,    -1,    -1,    -1,    52,  2794,    -1,
   17878             :       -1,    -1,    -1,    -1,  2800,    -1,    -1,    -1,    -1,    -1,
   17879             :       -1,  1060,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17880             :       -1,    -1,  1071,    78,    -1,    -1,    -1,    -1,    -1,    -1,
   17881             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1087,    -1,
   17882             :       -1,  1033,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17883             :       -1,    -1,  2848,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17884             :       -1,  1840,    -1,    -1,    -1,    -1,  1058,    -1,    -1,    -1,
   17885             :       -1,    -1,  1851,    -1,    -1,  5704,    -1,    -1,    -1,    -1,
   17886             :       -1,  1073,    -1,  1075,    -1,    -1,    -1,    -1,  1867,    -1,
   17887             :       -1,    -1,    -1,  1085,    -1,    -1,    -1,    -1,   515,    -1,
   17888             :     1092,    -1,    -1,    -1,   728,    -1,    -1,   524,   525,   526,
   17889             :      527,   528,   529,   530,   531,   532,    -1,    -1,    -1,    -1,
   17890             :      537,    -1,    -1,    -1,    -1,    -1,    -1,  3591,    -1,    -1,
   17891             :      754,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17892             :       -1,   196,  1921,  1135,    -1,  1137,   201,    -1,    -1,    -1,
   17893             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1936,    -1,    -1,
   17894             :     1939,  1940,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   224,
   17895             :      225,    -1,    -1,  5054,  5055,    -1,    -1,    -1,    -1,    -1,
   17896             :       -1,    -1,    -1,    -1,    -1,    -1,  5067,    -1,  5069,  5070,
   17897             :     5071,  1970,  1971,    -1,    -1,  1244,    -1,   252,    -1,    -1,
   17898             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17899             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1211,
   17900             :       -1,  1213,    -1,  1215,    -1,  1217,    -1,  1219,  1220,  1221,
   17901             :       -1,    -1,  3028,    -1,  1226,    -1,    -1,  3701,    -1,    -1,
   17902             :      295,     0,    -1,    -1,    -1,    -1,  1238,    -1,    -1,    -1,
   17903             :       -1,    -1,    -1,    -1,  5135,   310,    -1,    -1,   313,    -1,
   17904             :       -1,    20,    -1,    -1,  3060,    -1,    -1,    -1,    -1,    -1,
   17905             :       -1,    -1,    31,   897,    33,    34,    -1,    -1,    -1,    -1,
   17906             :       -1,    -1,    -1,    -1,    -1,  5914,    -1,    -1,    -1,    -1,
   17907             :       -1,    -1,    51,  5174,    -1,    -1,    -1,    -1,    -1,    -1,
   17908             :       -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17909             :       -1,    -1,    -1,    -1,    73,    -1,    75,    76,    -1,    -1,
   17910             :       -1,    -1,    -1,    82,    -1,    84,    -1,    -1,    -1,    -1,
   17911             :       -1,    -1,    -1,  2112,    -1,    -1,  5217,  3133,    97,    -1,
   17912             :       99,  3137,    -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,
   17913             :       13,    -1,    -1,   408,    17,    18,    19,   116,    -1,    -1,
   17914             :      119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17915             :     3834,    -1,    35,    -1,    -1,   134,    -1,   136,    -1,    -1,
   17916             :       -1,   140,    45,    -1,    -1,    -1,    -1,    -1,   147,    52,
   17917             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   156,    -1,   158,
   17918             :       -1,    -1,    -1,    -1,    -1,    -1,   165,    -1,    -1,    -1,
   17919             :       -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,
   17920             :       -1,    -1,    -1,    -1,   183,    -1,    -1,    -1,    -1,    -1,
   17921             :       -1,    -1,    -1,    -1,  1426,    -1,  1060,    -1,    -1,    -1,
   17922             :       -1,   200,    -1,    -1,  3240,    -1,    -1,  1071,    -1,    -1,
   17923             :       -1,    -1,    -1,    -1,    -1,    -1,  1505,    -1,    -1,  3255,
   17924             :      515,    -1,    -1,  1087,  3260,    -1,    -1,    -1,    -1,   524,
   17925             :      525,   526,   527,   528,   529,   530,   531,   532,    -1,    -1,
   17926             :       -1,    -1,   537,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17927             :       -1,    -1,    -1,    -1,  3290,   254,   255,    -1,    -1,    -1,
   17928             :       -1,   260,    -1,    -1,    -1,    -1,    -1,    -1,  5389,    -1,
   17929             :       -1,    10,    -1,    -1,    13,    -1,   275,    -1,    17,    18,
   17930             :       19,    -1,    -1,  1572,    -1,    -1,    -1,    -1,    -1,    -1,
   17931             :       51,    -1,    -1,   196,    -1,   294,    35,    -1,   201,    -1,
   17932             :       -1,    -1,    -1,    51,    -1,    -1,    45,    -1,    -1,  4013,
   17933             :       -1,    -1,    -1,    52,  1546,    -1,    -1,    -1,  5439,    -1,
   17934             :       -1,   224,   225,    -1,  1613,    -1,    -1,  5448,  4032,    -1,
   17935             :       -1,    -1,  4036,    -1,    -1,    -1,    -1,    -1,    -1,    78,
   17936             :       -1,    -1,    -1,    -1,   343,    -1,    -1,    -1,    -1,   252,
   17937             :       -1,    -1,    -1,    10,    -1,    -1,    13,  1646,    -1,   358,
   17938             :       17,    18,    19,    -1,    -1,   364,   365,    -1,   367,    -1,
   17939             :       -1,    -1,    -1,   372,    -1,    -1,    -1,    -1,    35,   378,
   17940             :     1244,    -1,   381,    -1,    -1,    -1,  1618,    -1,    45,   388,
   17941             :       -1,    -1,   295,    -1,    -1,    52,   395,   396,    -1,    -1,
   17942             :       -1,    -1,    -1,    -1,   403,    -1,    -1,   310,   407,    -1,
   17943             :      313,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17944             :      419,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17945             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   436,    -1,    -1,
   17946             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17947             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   196,   457,    -1,
   17948             :       -1,    -1,   201,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17949             :      469,    -1,    -1,    -1,    -1,    -1,   475,    -1,    -1,    -1,
   17950             :       -1,   480,    -1,    -1,    -1,   224,   225,    -1,    -1,    -1,
   17951             :       -1,    -1,    -1,    -1,   493,    -1,    -1,    -1,    -1,    -1,
   17952             :       -1,    -1,    -1,    -1,    -1,   408,    -1,    -1,    -1,  3545,
   17953             :       -1,    -1,  3548,   252,  3550,    -1,    -1,    -1,   517,  3555,
   17954             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  6396,    -1,    -1,
   17955             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   536,    -1,   196,
   17956             :      539,    -1,    -1,    -1,   201,    -1,    -1,    -1,    -1,    -1,
   17957             :       -1,  1840,    -1,    -1,    -1,    -1,   295,    -1,    -1,    -1,
   17958             :       -1,  3597,  1851,    -1,    -1,    -1,    -1,   224,   225,  3605,
   17959             :       -1,   310,    -1,    -1,   313,    -1,    -1,    -1,  1867,    -1,
   17960             :       -1,    -1,    -1,  5704,    -1,    -1,    -1,  5708,  6457,    -1,
   17961             :       -1,    -1,    -1,    -1,  3630,   252,    -1,    -1,    -1,    -1,
   17962             :       -1,    -1,    -1,    -1,  1836,    -1,    -1,    -1,    -1,    -1,
   17963             :       -1,    -1,   515,  6482,    -1,    -1,    -1,    -1,    -1,    -1,
   17964             :       -1,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   17965             :       -1,    -1,  1921,    -1,   537,    -1,  4340,    -1,   295,  1871,
   17966             :       -1,  1505,    -1,    -1,    -1,    -1,    -1,  1936,    -1,    -1,
   17967             :     1939,  1940,    -1,   310,    -1,    -1,   313,    -1,    -1,    -1,
   17968             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   408,
   17969             :       -1,    -1,    -1,    -1,  3710,    -1,  3712,    -1,    -1,    -1,
   17970             :       -1,  1970,  1971,    -1,    -1,  1917,    -1,    -1,    -1,    -1,
   17971             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17972             :       -1,    -1,    -1,    -1,    -1,  1937,    -1,    -1,  1572,    -1,
   17973             :       -1,    -1,    -1,    -1,    -1,    -1,  2735,    -1,    -1,    -1,
   17974             :     2739,  2740,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17975             :       -1,  1963,    -1,  1965,    -1,    -1,    -1,    -1,    -1,    -1,
   17976             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1980,  1613,
   17977             :     1982,   408,    -1,    -1,    -1,    -1,  1988,    -1,  1990,    -1,
   17978             :     1992,    -1,  1994,    -1,  1996,    -1,    -1,    -1,  2000,    -1,
   17979             :       -1,    -1,    -1,    -1,  3810,  2794,   515,    -1,    -1,    -1,
   17980             :     4484,  2800,  1646,  4487,    -1,   524,   525,   526,   527,   528,
   17981             :      529,   530,   531,   532,    -1,    -1,    -1,    -1,   537,    -1,
   17982             :       -1,    -1,    -1,  3839,    -1,  2037,  5927,    -1,    -1,  3845,
   17983             :     5931,    -1,  5933,    -1,    -1,    -1,  5937,  5938,  3854,    -1,
   17984             :       -1,    -1,    -1,  2112,    -1,    -1,    -1,    -1,    -1,  2848,
   17985             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17986             :       -1,    -1,    -1,    -1,    -1,    -1,  3882,    -1,    -1,    -1,
   17987             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   515,    -1,
   17988             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   524,   525,   526,
   17989             :      527,   528,   529,   530,   531,   532,    -1,    -1,    -1,    -1,
   17990             :      537,    -1,    -1,    -1,  4588,    -1,    -1,    -1,    -1,    -1,
   17991             :       -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,    13,    -1,
   17992             :       -1,  4605,    17,    18,    19,    -1,    -1,    -1,    -1,    -1,
   17993             :       -1,    -1,    -1,    -1,  3950,    -1,    -1,    -1,    -1,    -1,
   17994             :       35,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17995             :       45,    -1,    -1,    -1,    -1,    -1,  3972,    52,    -1,    10,
   17996             :       -1,    -1,    13,    -1,    -1,    -1,    17,    18,    19,    -1,
   17997             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3994,    -1,
   17998             :       -1,    -1,    -1,    78,    35,    -1,    -1,   728,    -1,    -1,
   17999             :       10,    -1,    -1,    13,    45,    -1,  1840,    17,    18,    19,
   18000             :      728,    52,  4686,    -1,    -1,    -1,    -1,  1851,    -1,    -1,
   18001             :       -1,    -1,    -1,   754,    -1,    35,    -1,    -1,    -1,    -1,
   18002             :       -1,    -1,    -1,  1867,    -1,    45,   754,    78,    -1,    -1,
   18003             :       -1,    -1,    52,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18004             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18005             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,
   18006             :     4076,  3060,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18007             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1921,    -1,    -1,
   18008             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18009             :       -1,    -1,  1936,    -1,    -1,  1939,  1940,    -1,    -1,    -1,
   18010             :       -1,   196,    -1,    -1,    -1,    -1,   201,    -1,    -1,    -1,
   18011             :       -1,    -1,  4128,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18012             :       -1,    -1,    -1,    -1,    -1,    -1,  1970,  1971,    -1,   224,
   18013             :      225,    -1,    -1,  6234,  3133,    -1,    -1,  4153,  3137,    -1,
   18014             :       -1,    -1,    -1,    -1,    -1,   196,    -1,    -1,    -1,    -1,
   18015             :      201,    -1,    -1,    -1,    -1,    -1,   897,   252,    -1,    -1,
   18016             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   897,
   18017             :       -1,    -1,    -1,   224,   225,    -1,   196,    -1,    -1,    -1,
   18018             :       -1,   201,    -1,    -1,    10,    -1,    -1,    13,    -1,    -1,
   18019             :       -1,    17,    18,    19,    -1,    -1,    -1,    -1,    -1,    -1,
   18020             :      295,   252,    -1,    -1,   224,   225,    -1,    -1,    -1,    35,
   18021             :       -1,    -1,    -1,    39,    -1,   310,    -1,    -1,   313,    45,
   18022             :       -1,    -1,    -1,    -1,    -1,    -1,    52,    -1,    -1,    -1,
   18023             :       -1,    -1,   252,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18024             :       -1,  3240,    51,    -1,   295,    -1,    -1,    -1,    -1,    -1,
   18025             :       -1,    -1,    78,    -1,    -1,    -1,  3255,    -1,    -1,   310,
   18026             :       -1,  3260,   313,    -1,    -1,    -1,    -1,    -1,  2112,    -1,
   18027             :       -1,    -1,    -1,    -1,    -1,   295,    -1,    -1,    -1,    -1,
   18028             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18029             :      310,  3290,    -1,  4977,    -1,  6396,    -1,    -1,  4314,    -1,
   18030             :       -1,    -1,  6403,    -1,   130,  4989,  6407,    -1,    -1,    -1,
   18031             :       -1,    -1,    -1,   408,    -1,    -1,    -1,    -1,    -1,  1060,
   18032             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18033             :     1071,    -1,  1060,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18034             :       -1,    -1,  6443,  1071,    -1,    -1,  1087,    -1,    -1,    -1,
   18035             :       -1,    -1,    -1,    -1,    -1,    -1,  6457,   408,    -1,  1087,
   18036             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18037             :      196,    -1,    -1,    -1,    -1,   201,    -1,    -1,    -1,    -1,
   18038             :       -1,  6482,    -1,    -1,  6485,    -1,    -1,    -1,   408,    -1,
   18039             :       -1,    -1,    -1,  4409,    -1,    -1,    -1,    -1,   224,   225,
   18040             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18041             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18042             :      515,  4437,    -1,    -1,    -1,    -1,   252,    -1,    -1,   524,
   18043             :      525,   526,   527,   528,   529,   530,   531,   532,    -1,    -1,
   18044             :       -1,    -1,   537,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18045             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18046             :       -1,    -1,    -1,    -1,   515,    -1,  2735,    -1,    -1,   295,
   18047             :     2739,  2740,    -1,   524,   525,   526,   527,   528,   529,   530,
   18048             :      531,   532,    -1,    -1,   310,    -1,   537,   313,    -1,    -1,
   18049             :       -1,    -1,    -1,    -1,    -1,   515,    -1,    -1,    -1,    -1,
   18050             :       -1,    -1,    -1,  1244,   524,   525,   526,   527,   528,   529,
   18051             :      530,   531,   532,    -1,    -1,    -1,  1244,  2729,  2730,    -1,
   18052             :       -1,    -1,    -1,    -1,  5208,  2794,    -1,    -1,    -1,    -1,
   18053             :       -1,  2800,    -1,    -1,    -1,    -1,  2748,  2749,    -1,  2751,
   18054             :     2752,    -1,    -1,    -1,  2756,  2757,  3545,    -1,    -1,  3548,
   18055             :       -1,  3550,    -1,    -1,    -1,    -1,  3555,    -1,    -1,  2771,
   18056             :       -1,    -1,    -1,  2775,    -1,  4581,    -1,  2779,  2780,    -1,
   18057             :       -1,  2783,  2784,    -1,    -1,    -1,    -1,    -1,  2790,  2848,
   18058             :       -1,    -1,   408,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18059             :     2802,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3597,    -1,
   18060             :       -1,    -1,  2814,    -1,    -1,    -1,  3605,  2819,    -1,    -1,
   18061             :       -1,    -1,  4628,    -1,    -1,    -1,    -1,  4633,    -1,    -1,
   18062             :       -1,    -1,  2834,    -1,    -1,    -1,  2838,    -1,    -1,    -1,
   18063             :       -1,  3630,    -1,    -1,    -1,    -1,    -1,    -1,  2850,    -1,
   18064             :       -1,  2853,    -1,  2855,  2856,  2857,    -1,    -1,   474,    -1,
   18065             :     2862,  2863,    -1,    -1,  5338,    -1,  5340,    -1,    -1,    -1,
   18066             :     2872,    -1,    -1,    -1,    -1,    -1,  2878,    -1,    -1,    -1,
   18067             :     2882,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18068             :       -1,    -1,  2894,  2895,    -1,    -1,    -1,  2899,    -1,   515,
   18069             :       -1,    -1,    -1,  2905,  2906,    -1,    -1,    -1,   524,   525,
   18070             :      526,   527,   528,   529,   530,   531,   532,  2919,    -1,    -1,
   18071             :     2922,  3710,    -1,  3712,    -1,    -1,    -1,  2929,  2930,    -1,
   18072             :       -1,    -1,    -1,  2935,    -1,    -1,    -1,    -1,    -1,    -1,
   18073             :       -1,    -1,    -1,    -1,    -1,  2947,    -1,    -1,  2950,    -1,
   18074             :       -1,    -1,    -1,  2955,    -1,    -1,    -1,    -1,    -1,  2961,
   18075             :     2962,    -1,    -1,    -1,    -1,    -1,    -1,  2969,    -1,    -1,
   18076             :       -1,  2973,    -1,    -1,  1505,    -1,  2978,  2979,  2980,  2981,
   18077             :       -1,    -1,  2984,    -1,    -1,  4791,    -1,  1505,    -1,    -1,
   18078             :       -1,    -1,    -1,    -1,    -1,    -1,  2998,  2999,    -1,  3001,
   18079             :       -1,  3060,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18080             :     3012,  3013,  3014,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18081             :       -1,  3810,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18082             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18083             :       -1,  1572,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18084             :       -1,    -1,    -1,    -1,  1572,    -1,    -1,    -1,    -1,    -1,
   18085             :       -1,    -1,    -1,    -1,    -1,  3854,    -1,  3069,    -1,    -1,
   18086             :       -1,    -1,    51,    -1,  3133,  3077,    -1,    -1,  3137,    -1,
   18087             :       -1,    -1,  1613,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18088             :       -1,    -1,    -1,  3882,  3096,  1613,    -1,    -1,    -1,    -1,
   18089             :     4906,  2735,    -1,    -1,    -1,  2739,  2740,    -1,    -1,    -1,
   18090             :       -1,    -1,    -1,    -1,    10,  1646,    -1,    13,    -1,    -1,
   18091             :       -1,    17,    18,    19,    -1,    -1,    -1,    -1,  1646,   728,
   18092             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    35,
   18093             :       -1,    -1,    -1,    -1,  3146,    -1,    -1,    -1,    -1,    45,
   18094             :       -1,    -1,    -1,    -1,  4960,   754,    52,    -1,    -1,    -1,
   18095             :     2794,  3950,    -1,  3165,    10,  3167,  2800,    13,    -1,    -1,
   18096             :       -1,    17,    18,    19,    -1,    -1,  4982,    -1,    -1,    -1,
   18097             :       -1,  3240,    78,  3972,    -1,    -1,    -1,    -1,    -1,    35,
   18098             :       -1,    -1,    -1,    -1,    -1,    -1,  3255,    -1,    -1,    45,
   18099             :       -1,  3260,    -1,    -1,    -1,  3994,    52,    -1,    -1,    -1,
   18100             :       -1,    -1,    -1,    -1,  2848,    -1,    10,    -1,    -1,    13,
   18101             :       -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,    -1,
   18102             :       -1,  3290,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18103             :       -1,    35,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18104             :     5056,    45,    -1,    -1,    -1,    -1,    -1,    -1,    52,    -1,
   18105             :     3262,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    10,
   18106             :       -1,    -1,    13,    -1,    -1,    -1,    17,    18,    19,    -1,
   18107             :       -1,    -1,    -1,    -1,    78,    -1,    -1,  4076,    -1,    -1,
   18108             :       -1,    -1,    -1,    -1,    35,    -1,    -1,    -1,   897,    10,
   18109             :      196,    -1,    13,    -1,    45,   201,    17,    18,    19,  1840,
   18110             :       -1,    52,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18111             :     1851,    -1,  1840,    -1,    35,    -1,    -1,    -1,   224,   225,
   18112             :       -1,    -1,    -1,  1851,    45,    -1,  1867,    78,    -1,  4128,
   18113             :       -1,    52,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1867,
   18114             :      196,    -1,    -1,    -1,    -1,   201,   252,    -1,    -1,    -1,
   18115             :       -1,    -1,    -1,    -1,  4153,    -1,    -1,    78,    -1,  5175,
   18116             :       -1,  5177,    -1,    -1,    -1,    -1,    -1,    -1,   224,   225,
   18117             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    51,    -1,
   18118             :     1921,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   295,
   18119             :       -1,    -1,   196,  1921,    -1,  1936,   252,   201,  1939,  1940,
   18120             :       -1,    -1,    -1,    -1,   310,    -1,    -1,   313,  1936,    -1,
   18121             :       -1,  1939,  1940,    -1,    -1,    -1,  3060,    -1,    -1,    -1,
   18122             :      224,   225,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1970,
   18123             :     1971,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   295,
   18124             :       -1,    -1,  1970,  1971,    -1,   196,    -1,    -1,   252,    -1,
   18125             :      201,  1060,    -1,    -1,   310,    -1,    -1,   313,    -1,    -1,
   18126             :       -1,    -1,  1071,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18127             :       -1,    -1,    -1,   224,   225,   196,  3545,    -1,  1087,  3548,
   18128             :      201,  3550,    -1,    -1,    -1,    -1,  3555,    -1,    -1,  3133,
   18129             :       -1,   295,    -1,  3137,    -1,    -1,    -1,    -1,    -1,    -1,
   18130             :     5316,   252,   408,   224,   225,    -1,   310,    -1,    -1,   313,
   18131             :       -1,    -1,    -1,    -1,    -1,  4314,    -1,    -1,    -1,    -1,
   18132             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3597,    -1,
   18133             :       -1,   252,    -1,    -1,    -1,    -1,  3605,    -1,    -1,    -1,
   18134             :       -1,    -1,    -1,    -1,   295,    -1,    -1,    -1,    -1,    -1,
   18135             :       -1,    -1,   408,    -1,    -1,    -1,    -1,    -1,    -1,   310,
   18136             :       -1,  3630,   313,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18137             :       -1,  2112,    -1,  5389,   295,    -1,    -1,    -1,    -1,    -1,
   18138             :     3592,    -1,    -1,    -1,  2112,  6069,    -1,    -1,    -1,   310,
   18139             :       -1,    -1,   313,    -1,    -1,    -1,  3240,  3609,    -1,    -1,
   18140             :       -1,  3613,    -1,    -1,   408,    -1,  3618,  3619,  3620,   515,
   18141             :     4409,  3255,    -1,    -1,    -1,    -1,  3260,    -1,   524,   525,
   18142             :      526,   527,   528,   529,   530,   531,   532,    -1,  3640,    -1,
   18143             :       -1,   537,    -1,    -1,    -1,  1244,    -1,    -1,  4437,    -1,
   18144             :       -1,  3710,    -1,  3712,    -1,    -1,  3290,    -1,    -1,    -1,
   18145             :       -1,    -1,  3664,  3665,  3666,  3667,    -1,   408,    -1,   515,
   18146             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   524,   525,
   18147             :      526,   527,   528,   529,   530,   531,   532,    -1,    -1,    -1,
   18148             :       -1,   537,    -1,    -1,    -1,    -1,    -1,   408,    -1,    -1,
   18149             :     3702,    -1,  3704,  3705,  3706,    -1,    -1,    -1,    -1,  5515,
   18150             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18151             :       -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18152             :      524,   525,   526,   527,   528,   529,   530,   531,   532,    -1,
   18153             :       -1,    -1,    -1,   537,    -1,    -1,    -1,    -1,    -1,   728,
   18154             :       -1,  3810,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18155             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18156             :       -1,    -1,    -1,    -1,   515,   754,    -1,    -1,    -1,    -1,
   18157             :       -1,    -1,    -1,   524,   525,   526,   527,   528,   529,   530,
   18158             :      531,   532,  4581,    -1,    -1,  3854,   537,    -1,    -1,    -1,
   18159             :       -1,    -1,    -1,    -1,   515,    -1,    -1,    -1,    -1,    -1,
   18160             :       -1,    -1,    -1,   524,   525,   526,   527,   528,   529,   530,
   18161             :      531,   532,    -1,  3882,  3826,    -1,   537,    -1,    -1,    -1,
   18162             :       -1,    -1,    -1,  3835,    -1,    -1,    -1,    -1,    -1,  4628,
   18163             :       -1,    -1,    -1,    -1,  4633,    -1,    -1,    -1,    -1,    -1,
   18164             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3861,
   18165             :     3862,    -1,  5668,    -1,  3866,    -1,    -1,  5673,  5674,    -1,
   18166             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18167             :       -1,    -1,    -1,    -1,    -1,    -1,  3888,    -1,    -1,    -1,
   18168             :       -1,  3950,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18169             :       -1,    -1,    -1,    -1,    -1,    -1,  1505,    -1,    -1,    -1,
   18170             :       -1,  3545,    -1,  3972,  3548,    -1,  3550,    -1,   897,    -1,
   18171             :       -1,  3555,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18172             :       -1,    -1,    -1,    10,    -1,  3994,    13,    -1,  3940,    -1,
   18173             :       17,    18,    19,  3945,    -1,    -1,    -1,    -1,    -1,  3951,
   18174             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    35,    -1,
   18175             :       -1,    -1,    -1,  3597,    -1,    -1,    -1,    -1,    45,    -1,
   18176             :       -1,  3605,    -1,  1572,    -1,    52,    -1,    -1,    -1,  3981,
   18177             :       -1,    -1,    -1,    -1,  5790,  5791,    -1,    -1,    -1,    -1,
   18178             :       -1,    -1,    -1,    -1,    -1,    -1,  3630,    -1,    -1,    -1,
   18179             :       -1,    78,  4791,    -1,    -1,    -1,    -1,    -1,  4010,    -1,
   18180             :     4012,    -1,    -1,    -1,  1613,    -1,    -1,  4076,    -1,    -1,
   18181             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18182             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18183             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1646,  5854,    -1,
   18184             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18185             :       -1,    -1,    -1,    -1,    -1,   728,    -1,    -1,    -1,  4128,
   18186             :       -1,    -1,    -1,    -1,    -1,    -1,  3710,    -1,  3712,    -1,
   18187             :       -1,  1060,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18188             :       -1,   754,  1071,    -1,  4153,    -1,    -1,    -1,    -1,    -1,
   18189             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1087,    -1,
   18190             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4906,    -1,   196,
   18191             :       -1,    -1,    -1,    -1,   201,    -1,    -1,    -1,    -1,    -1,
   18192             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18193             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   224,   225,    -1,
   18194             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18195             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18196             :       -1,  4960,    -1,    -1,    -1,   252,  3810,    -1,    -1,    -1,
   18197             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18198             :       -1,    -1,    -1,  4982,    -1,    -1,    -1,    -1,    -1,    -1,
   18199             :       -1,    -1,    -1,    -1,  2735,    -1,    -1,    -1,  2739,  2740,
   18200             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2735,   295,    -1,
   18201             :     3854,  2739,  2740,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18202             :       -1,    -1,    -1,   310,   897,    -1,   313,    -1,    -1,    -1,
   18203             :       -1,  1840,    -1,    -1,    -1,    -1,    -1,    -1,  3882,    -1,
   18204             :       -1,    -1,  1851,    -1,    -1,  4314,    -1,    -1,    -1,    -1,
   18205             :       -1,    -1,    -1,  2794,    -1,  1244,    -1,  5056,  1867,  2800,
   18206             :       -1,    -1,    -1,    -1,    -1,    -1,  2794,    -1,    -1,    -1,
   18207             :       -1,    -1,  2800,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18208             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18209             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18210             :       -1,    -1,    -1,    -1,    -1,    -1,  3950,  2848,    -1,    -1,
   18211             :       -1,    -1,  1921,    -1,  4326,    -1,  4328,    -1,    -1,    -1,
   18212             :     2848,   408,    -1,    -1,    -1,    -1,    -1,  1936,  3972,  4341,
   18213             :     1939,  1940,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18214             :     4409,  4353,    -1,    -1,    -1,  4357,    -1,    -1,    -1,    -1,
   18215             :     3994,    -1,    -1,    -1,    -1,    -1,    -1,  4369,    -1,    -1,
   18216             :       -1,  1970,  1971,    -1,    -1,    -1,    10,    -1,  4437,    13,
   18217             :       -1,    -1,    -1,    17,    18,    19,  4388,    -1,  5177,    -1,
   18218             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1060,    -1,    -1,
   18219             :       -1,    35,    -1,    -1,  4406,    -1,    -1,    -1,  1071,    -1,
   18220             :       -1,    45,  4414,    -1,    -1,    -1,    -1,    -1,    52,    -1,
   18221             :       -1,    -1,    -1,    -1,  1087,    -1,    -1,    -1,    -1,    -1,
   18222             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4439,   515,    -1,
   18223             :       -1,  4443,  4076,    -1,    78,    -1,    -1,   524,   525,   526,
   18224             :      527,   528,   529,   530,   531,   532,  4458,  4459,  4460,  4461,
   18225             :      537,    -1,    -1,    -1,    -1,    -1,  4468,  4469,  4470,  4471,
   18226             :       -1,    -1,    -1,    -1,    -1,    -1,  4478,  4479,    -1,    -1,
   18227             :       -1,    -1,    -1,  4485,  4486,    -1,  4488,  4489,  4490,  4491,
   18228             :     4492,  4493,  4494,    -1,  4128,    -1,    -1,    -1,    -1,    -1,
   18229             :       -1,    -1,  4504,    -1,    -1,    -1,  4508,  4509,  4510,  4511,
   18230             :       -1,    -1,    -1,  2112,    -1,    -1,    -1,    -1,    -1,  4153,
   18231             :       -1,    -1,  4581,    -1,    -1,    -1,  1505,  5316,    -1,  3060,
   18232             :     4532,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18233             :       -1,    -1,  3060,    -1,    -1,    -1,    -1,    -1,  4550,    -1,
   18234             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18235             :       -1,    -1,   196,  6369,    -1,    -1,    -1,   201,    -1,  4628,
   18236             :       -1,    -1,    -1,    -1,  4633,    -1,    -1,    -1,    -1,    -1,
   18237             :       -1,  1244,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18238             :      224,   225,    -1,  1572,    -1,    -1,    -1,    -1,    -1,    -1,
   18239             :     5389,    -1,  3133,    -1,    -1,    -1,  3137,    -1,    -1,    -1,
   18240             :       -1,    -1,    -1,    -1,    -1,  3133,    -1,    -1,   252,  3137,
   18241             :       -1,    -1,    -1,    -1,  4626,    -1,    -1,    -1,    -1,    -1,
   18242             :     6436,    -1,    -1,    -1,  1613,    -1,    -1,    -1,    -1,    -1,
   18243             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18244             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4659,    -1,    -1,
   18245             :       -1,   295,    -1,    -1,  4666,    -1,  4668,  1646,    -1,    -1,
   18246             :       -1,    -1,    -1,    -1,    -1,    -1,   310,    -1,    -1,   313,
   18247             :     4314,    -1,    -1,    -1,    -1,    -1,    -1,    23,    -1,    -1,
   18248             :       -1,    -1,    28,    -1,  4696,    -1,    -1,    -1,    -1,    -1,
   18249             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3240,
   18250             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18251             :       -1,    -1,  3240,    -1,  3255,    -1,  5515,    -1,    -1,  3260,
   18252             :       -1,    -1,  4791,    -1,    -1,    -1,    -1,  3255,    -1,    -1,
   18253             :       -1,    -1,  3260,    79,    80,    -1,    -1,    -1,    10,    -1,
   18254             :       -1,    13,    -1,    -1,    -1,    17,    18,    19,    -1,  3290,
   18255             :       96,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18256             :       -1,    -1,  3290,    35,   408,  4409,    -1,    -1,   114,    -1,
   18257             :       -1,    -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,
   18258             :       52,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18259             :       -1,    -1,   138,  4437,    -1,    -1,    -1,    -1,    -1,    -1,
   18260             :       -1,    -1,    -1,    -1,    -1,   151,    78,    -1,    -1,    -1,
   18261             :       -1,    -1,    -1,    -1,   160,    -1,    -1,    -1,    -1,    -1,
   18262             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   173,    -1,    -1,
   18263             :       -1,    -1,  1505,   179,    -1,    -1,    -1,  4906,    -1,    -1,
   18264             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18265             :       -1,  1840,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18266             :      206,    -1,  1851,    -1,    -1,    -1,    -1,    -1,    -1,  5668,
   18267             :       -1,   515,    -1,    -1,  5673,  5674,    -1,    -1,  1867,    -1,
   18268             :      524,   525,   526,   527,   528,   529,   530,   531,   532,    -1,
   18269             :       -1,  4960,    -1,   537,    -1,  4907,  4908,  4909,   244,  1572,
   18270             :       -1,  4913,  4914,  4915,  4916,    -1,    -1,    -1,  4920,    -1,
   18271             :       -1,    -1,    -1,  4982,    -1,    -1,    -1,    -1,    -1,    -1,
   18272             :      266,    -1,    -1,    -1,   196,    -1,    -1,    -1,    -1,   201,
   18273             :       -1,    -1,  1921,    -1,    -1,    -1,    -1,  4581,    -1,    -1,
   18274             :     1613,    -1,    -1,    -1,    -1,    -1,    -1,  1936,    -1,    -1,
   18275             :     1939,  1940,   224,   225,    -1,    -1,    -1,    -1,    -1,    -1,
   18276             :     4972,  4973,  4974,  4975,  4976,    -1,  4978,  4979,    -1,    -1,
   18277             :       -1,    -1,    -1,  1646,    -1,    -1,    -1,    -1,  4990,  4991,
   18278             :      252,  1970,  1971,    -1,  4628,    -1,    -1,  5056,    -1,  4633,
   18279             :       -1,    -1,  5791,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18280             :       -1,    -1,   348,   349,  3545,    -1,   352,  3548,    -1,  3550,
   18281             :       -1,    -1,  5024,    -1,  3555,    -1,    -1,  3545,    -1,    -1,
   18282             :     3548,    -1,  3550,   295,    -1,    -1,    -1,  3555,    -1,    -1,
   18283             :       -1,    -1,    -1,    -1,   380,    -1,    -1,   383,   310,    -1,
   18284             :       -1,   313,    -1,    -1,   390,    -1,    -1,    -1,    -1,    -1,
   18285             :       -1,   397,    -1,    -1,   400,  5854,  3597,    -1,    -1,    -1,
   18286             :       -1,    -1,    -1,    -1,  3605,    -1,    -1,    -1,    -1,  3597,
   18287             :      342,    -1,    -1,    -1,    -1,   421,    -1,  3605,    -1,    -1,
   18288             :       -1,    -1,    -1,   429,    -1,    -1,    -1,    -1,    -1,  3630,
   18289             :      436,    -1,    -1,   439,    -1,    -1,    -1,    -1,   444,    -1,
   18290             :       -1,    -1,  3630,    -1,    -1,    -1,    -1,    -1,  5177,    -1,
   18291             :       -1,    -1,    -1,   459,    -1,    -1,  5128,    -1,    -1,    -1,
   18292             :       -1,    -1,    -1,  2112,    -1,    -1,  2735,    -1,    -1,    -1,
   18293             :     2739,  2740,    -1,    -1,    -1,    -1,   408,    -1,    -1,    -1,
   18294             :      486,    -1,    -1,    -1,    -1,    -1,    -1,  4791,    -1,    -1,
   18295             :       -1,    -1,    -1,    -1,    -1,    -1,   428,    -1,    -1,    -1,
   18296             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1840,    -1,  3710,
   18297             :       -1,  3712,    -1,    -1,    -1,    -1,    -1,    -1,  1851,    -1,
   18298             :       -1,  5193,  3710,    -1,  3712,  2794,    -1,    -1,    -1,    -1,
   18299             :       -1,  2800,    -1,    -1,  1867,    -1,    10,    -1,    -1,    13,
   18300             :       -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,    -1,
   18301             :       -1,    -1,    -1,  5225,    -1,    -1,    -1,    -1,    -1,    -1,
   18302             :       -1,    35,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18303             :       -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,    52,  2848,
   18304             :       -1,    -1,    10,   515,    -1,    13,    -1,  5316,  1921,    17,
   18305             :       18,    19,   524,   525,   526,   527,   528,   529,   530,   531,
   18306             :      532,    -1,  4906,  1936,    78,    -1,  1939,  1940,    -1,  3810,
   18307             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    45,    -1,    -1,
   18308             :       -1,    -1,  3810,    -1,    52,    -1,    -1,    -1,    -1,    -1,
   18309             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1970,  1971,    -1,
   18310             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18311             :       78,  5323,    -1,  3854,    -1,    -1,  4960,    -1,    -1,    -1,
   18312             :     5389,    -1,    -1,    -1,    -1,    -1,  3854,    -1,    -1,    -1,
   18313             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4982,    -1,
   18314             :       -1,  3882,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18315             :       -1,    -1,    -1,    -1,  3882,    -1,    -1,   171,    -1,    -1,
   18316             :       -1,    -1,    -1,   177,    -1,    -1,    -1,    -1,    -1,    -1,
   18317             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5391,
   18318             :       -1,    -1,   196,    -1,    -1,    -1,    -1,   201,    -1,    -1,
   18319             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5410,    -1,
   18320             :       -1,    -1,    -1,    -1,  5416,  5417,    -1,    -1,    -1,  3950,
   18321             :      224,   225,  5056,    -1,    -1,    -1,    -1,    -1,  5430,    -1,
   18322             :       -1,    -1,  3950,    -1,    -1,  5437,    -1,    -1,   196,    -1,
   18323             :       -1,  3972,    -1,   201,    -1,    -1,    -1,    -1,   252,  2112,
   18324             :       -1,    -1,    -1,    -1,  3972,    -1,  5515,    -1,    -1,    -1,
   18325             :       -1,  3060,    -1,  3994,    -1,    -1,   224,   225,    -1,    -1,
   18326             :       -1,    -1,  5474,  5475,    -1,    -1,  3994,    -1,    -1,    -1,
   18327             :       -1,    -1,    -1,    -1,    -1,  5487,    -1,  5489,    -1,    -1,
   18328             :       -1,   295,    -1,    -1,   252,    -1,    -1,    -1,    -1,    -1,
   18329             :       -1,    -1,  5504,    -1,    -1,    -1,   310,    -1,    -1,   313,
   18330             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18331             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5529,    -1,    -1,
   18332             :       -1,    -1,    -1,    -1,  3133,  5537,    -1,   295,  3137,    -1,
   18333             :       -1,    -1,    -1,  5177,    -1,  4076,    -1,    -1,    -1,    -1,
   18334             :       -1,    -1,   310,    -1,    -1,    -1,    -1,    -1,  4076,   206,
   18335             :      207,    -1,    -1,    -1,    -1,    -1,    -1,   214,    -1,   216,
   18336             :      217,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18337             :     6369,    -1,    -1,   230,    -1,    -1,    -1,    -1,    -1,    -1,
   18338             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4128,    -1,    -1,
   18339             :       -1,    -1,    -1,    -1,   408,    -1,    -1,    -1,    -1,  5668,
   18340             :     4128,    -1,    -1,    -1,  5673,  5674,    -1,    -1,    -1,    -1,
   18341             :       -1,    -1,  4153,    -1,    -1,  5627,    -1,    -1,    -1,    -1,
   18342             :       -1,    -1,    -1,    -1,    -1,  4153,    -1,    -1,    -1,  5641,
   18343             :       -1,  3240,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18344             :      408,    -1,    -1,    -1,    -1,    -1,  3255,    -1,    -1,    -1,
   18345             :       -1,  3260,    -1,    -1,    -1,  5667,    -1,    -1,    -1,    -1,
   18346             :       -1,    -1,    10,    -1,    -1,    13,    -1,    -1,    -1,    17,
   18347             :       18,    19,  5316,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18348             :       -1,  3290,    -1,    -1,    -1,    -1,    -1,    35,    -1,    -1,
   18349             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    45,    -1,    -1,
   18350             :       -1,   515,    -1,    -1,    52,    -1,    -1,    -1,    -1,    -1,
   18351             :      524,   525,   526,   527,   528,   529,   530,   531,   532,    -1,
   18352             :       -1,    -1,  5791,    -1,    -1,    -1,    -1,  5739,    -1,    -1,
   18353             :       78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18354             :       -1,    -1,    -1,    -1,    -1,  5389,  2735,   515,    -1,    -1,
   18355             :     2739,  2740,    -1,    -1,    -1,    -1,   524,   525,   526,   527,
   18356             :      528,   529,   530,   531,   532,    -1,    -1,    -1,    -1,    -1,
   18357             :       -1,    -1,    -1,  4314,    -1,    -1,    -1,    -1,    -1,    -1,
   18358             :       -1,    -1,    -1,    -1,    -1,  5854,  4314,    -1,    -1,    -1,
   18359             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5809,    -1,    -1,
   18360             :       -1,    -1,    -1,    -1,    -1,  2794,    -1,    -1,    -1,    -1,
   18361             :       -1,  2800,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18362             :       -1,    -1,   170,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18363             :       -1,  5843,    10,    -1,    -1,    13,    -1,    -1,    -1,    17,
   18364             :       18,    19,    -1,    -1,    -1,    -1,    -1,    -1,   196,    -1,
   18365             :       -1,    -1,    -1,   201,    -1,    -1,    -1,    35,    -1,  2848,
   18366             :       38,    -1,    -1,    -1,    -1,    -1,    -1,    45,  4409,    -1,
   18367             :       -1,  5515,  5884,    -1,    52,    -1,   224,   225,    -1,    -1,
   18368             :       -1,  4409,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18369             :       -1,    -1,    -1,    -1,    -1,    -1,  4437,  5909,    -1,    -1,
   18370             :       78,    -1,    -1,    -1,   252,    -1,    -1,    -1,    10,  4437,
   18371             :       -1,    13,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,
   18372             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18373             :       -1,    -1,    -1,    35,    -1,    -1,  3545,    -1,    -1,  3548,
   18374             :       -1,  3550,    -1,    45,    -1,    -1,  3555,   295,    -1,    -1,
   18375             :       52,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5970,    -1,
   18376             :       -1,    -1,   310,    -1,    -1,   313,    -1,    -1,    -1,    -1,
   18377             :       -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,
   18378             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3597,    -1,
   18379             :       -1,    -1,   340,    -1,    -1,    -1,  3605,    -1,    -1,    -1,
   18380             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   665,    -1,
   18381             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   196,    -1,
   18382             :       -1,  3630,    -1,   201,  5668,    -1,    -1,   684,    -1,  5673,
   18383             :     5674,    -1,    -1,   690,    -1,    -1,    -1,    -1,    -1,    -1,
   18384             :     4581,    -1,    -1,    -1,    -1,   702,   224,   225,    -1,    -1,
   18385             :       -1,    -1,    -1,  4581,    -1,    -1,    -1,    -1,    -1,    -1,
   18386             :      408,   718,  2735,    -1,    -1,    -1,  2739,  2740,    -1,    -1,
   18387             :     6082,  3060,    -1,    -1,   252,   732,   733,    -1,    -1,    -1,
   18388             :       -1,    -1,   739,    -1,   741,   742,    -1,  4628,    -1,    -1,
   18389             :       -1,    -1,  4633,    -1,   196,    -1,    -1,    -1,   755,   201,
   18390             :     4628,  3710,  6114,  3712,    -1,  4633,    -1,    -1,   765,    -1,
   18391             :       -1,    -1,    -1,  6125,    -1,    -1,    -1,   295,    -1,    -1,
   18392             :       -1,  2794,   224,   225,    -1,    -1,    -1,  2800,    -1,    -1,
   18393             :       -1,    -1,   310,    -1,    -1,   313,    -1,    -1,    -1,    -1,
   18394             :       -1,    -1,    -1,    -1,  3133,    -1,    -1,  5791,  3137,    -1,
   18395             :      252,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18396             :       -1,   818,    -1,    -1,    -1,    -1,    -1,   515,    -1,    -1,
   18397             :       -1,    -1,    -1,    -1,    -1,  2848,   524,   525,   526,   527,
   18398             :      528,   529,   530,   531,   532,    -1,    -1,    -1,    -1,   846,
   18399             :       -1,    -1,    -1,   295,    -1,    -1,    -1,    -1,    -1,    -1,
   18400             :       -1,  3810,    -1,    -1,    -1,    -1,    -1,    -1,   310,    -1,
   18401             :     5854,   313,    -1,    -1,   871,    -1,    -1,    -1,    -1,    -1,
   18402             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18403             :      408,    -1,    -1,    -1,    -1,    -1,  6248,    -1,    -1,    -1,
   18404             :       -1,    -1,    -1,    -1,    -1,  3854,    -1,    -1,    -1,    -1,
   18405             :     4791,  3240,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18406             :       -1,    -1,    -1,  4791,    -1,    -1,  3255,    -1,    -1,    -1,
   18407             :       -1,  3260,    -1,  3882,    -1,    -1,   933,    -1,    -1,    -1,
   18408             :       -1,    -1,    -1,    -1,   198,   199,    -1,    -1,   202,    -1,
   18409             :       -1,    -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,    13,
   18410             :     6369,  3290,    -1,    17,    18,    19,   408,    -1,   222,    -1,
   18411             :       -1,    -1,    -1,    -1,    -1,   229,    -1,    -1,    -1,    -1,
   18412             :       -1,    35,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18413             :       -1,    45,    -1,    -1,    -1,    -1,    -1,   515,    52,    -1,
   18414             :       -1,  3950,    -1,    -1,    -1,    -1,   524,   525,   526,   527,
   18415             :      528,   529,   530,   531,   532,    -1,    -1,    -1,    -1,    -1,
   18416             :       -1,    -1,    -1,  3972,    78,  4906,    -1,    -1,    -1,    -1,
   18417             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4906,    -1,
   18418             :       -1,    -1,    -1,    -1,    -1,  3994,  1043,  3060,    -1,    -1,
   18419             :       -1,    -1,    -1,  1050,    -1,    -1,    -1,    -1,    -1,    -1,
   18420             :       -1,    -1,    -1,    -1,  1061,    -1,    -1,    -1,  1065,    -1,
   18421             :     1067,    -1,   514,   515,    -1,    -1,    -1,    -1,    -1,  4960,
   18422             :       -1,    -1,   524,   525,   526,   527,   528,   529,   530,   531,
   18423             :      532,    -1,  4960,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18424             :       -1,  4982,    -1,    -1,    -1,    -1,    -1,    -1,  6460,    -1,
   18425             :       -1,    -1,    -1,    -1,  4982,    -1,    -1,    -1,    -1,    -1,
   18426             :     3133,    -1,    -1,    -1,  3137,    -1,    -1,  4076,    -1,    -1,
   18427             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18428             :       -1,    -1,   196,    -1,    -1,    -1,    -1,   201,    -1,    -1,
   18429             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18430             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18431             :      224,   225,    -1,    -1,    -1,  5056,    -1,  1174,    -1,  4128,
   18432             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5056,    -1,
   18433             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   252,    -1,
   18434             :       -1,    -1,    -1,    -1,  4153,    -1,    -1,    -1,    -1,    -1,
   18435             :       -1,    -1,    -1,    -1,    -1,    -1,  3545,    -1,    -1,  3548,
   18436             :       -1,  3550,    -1,    -1,    -1,    -1,  3555,  3240,    -1,    -1,
   18437             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1235,    -1,
   18438             :       -1,   295,  3255,    -1,    -1,    -1,    -1,  3260,    -1,  1246,
   18439             :       -1,    -1,    -1,    -1,    -1,    -1,   310,    -1,    -1,   313,
   18440             :       -1,    -1,    -1,    -1,    -1,    -1,  1263,    -1,  3597,    -1,
   18441             :       -1,  1268,    -1,    -1,    -1,    -1,  3605,  3290,    -1,    -1,
   18442             :       -1,   335,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18443             :       -1,    -1,    -1,    -1,    -1,    -1,  5177,    -1,    -1,    -1,
   18444             :       -1,  3630,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5177,
   18445             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18446             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18447             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18448             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18449             :       -1,    -1,    -1,    -1,   408,    -1,    -1,    -1,    -1,    -1,
   18450             :       -1,    -1,    -1,    10,    -1,  4314,    13,    -1,    -1,    -1,
   18451             :       17,    18,    19,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18452             :       -1,  3710,    -1,  3712,    -1,  6369,    -1,    -1,    35,    -1,
   18453             :       -1,    38,    -1,    -1,    -1,    -1,    -1,    -1,    45,    -1,
   18454             :       -1,    -1,    -1,    -1,  1401,    52,    -1,    -1,    -1,    -1,
   18455             :       -1,    -1,  1409,  1410,    -1,    -1,    -1,    -1,    -1,    -1,
   18456             :      674,    -1,   676,    -1,    -1,   679,    -1,    -1,    -1,    -1,
   18457             :       -1,    78,    -1,    -1,    -1,  5316,    -1,    -1,    -1,   693,
   18458             :       -1,    -1,    -1,    -1,    -1,   699,    -1,    -1,  5316,    -1,
   18459             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18460             :     4409,   515,    -1,    -1,    -1,  1462,    -1,    -1,    -1,    -1,
   18461             :      524,   525,   526,   527,   528,   529,   530,   531,   532,    -1,
   18462             :       -1,  3810,    -1,    -1,    -1,    -1,    -1,    -1,  4437,    -1,
   18463             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18464             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5389,    -1,
   18465             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18466             :       -1,  5389,    -1,    -1,    -1,  3854,    -1,    -1,    -1,    -1,
   18467             :       -1,    -1,  3545,    -1,    -1,  3548,    -1,  3550,    -1,    -1,
   18468             :       -1,    -1,  3555,    -1,    -1,    -1,    -1,    -1,    -1,   196,
   18469             :       -1,    -1,    -1,  3882,   201,    -1,    -1,    -1,    -1,    -1,
   18470             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18471             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   224,   225,    -1,
   18472             :       -1,    -1,    -1,    -1,  3597,    -1,    -1,    -1,    -1,    -1,
   18473             :       -1,    -1,  3605,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18474             :       -1,    -1,    -1,    -1,    -1,   252,    -1,    -1,    -1,    -1,
   18475             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3630,    -1,    -1,
   18476             :       -1,  3950,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18477             :       -1,    -1,  4581,    -1,  5515,    -1,    -1,    -1,    -1,    -1,
   18478             :       -1,    -1,    -1,  3972,    -1,    -1,    -1,  5515,   295,    -1,
   18479             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18480             :       -1,    -1,    -1,   310,    -1,  3994,   313,    -1,    -1,    -1,
   18481             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4628,
   18482             :       -1,    -1,    -1,    -1,  4633,    -1,    -1,    -1,    -1,    -1,
   18483             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3710,    -1,  3712,
   18484             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18485             :       -1,    -1,    -1,    -1,    -1,    -1,  1713,    -1,    -1,    -1,
   18486             :       10,    -1,    -1,    13,    -1,    -1,    -1,    17,    18,    19,
   18487             :       -1,    -1,   986,   987,    -1,    -1,    -1,    -1,    -1,    -1,
   18488             :       -1,    10,    -1,    -1,    13,    35,    -1,  4076,    17,    18,
   18489             :       19,    -1,    -1,    -1,    -1,    45,    -1,    -1,    -1,    -1,
   18490             :       -1,   408,    52,    -1,    -1,    -1,    35,    -1,    -1,    38,
   18491             :       -1,   207,    -1,    -1,    -1,    -1,    45,    -1,    -1,    -1,
   18492             :      216,    -1,    -1,    52,    -1,    -1,    -1,  5668,    78,    -1,
   18493             :       -1,    -1,  5673,  5674,   230,    -1,    -1,  3810,    -1,  4128,
   18494             :     5668,    -1,    -1,  1057,    -1,  5673,  5674,    -1,    -1,    78,
   18495             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1072,    -1,
   18496             :       -1,    -1,    -1,    -1,  4153,    -1,    -1,    -1,    -1,    -1,
   18497             :       -1,  1828,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18498             :       -1,  3854,  4791,    -1,    -1,    -1,    -1,    -1,    -1,  1103,
   18499             :     1104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18500             :       -1,    -1,    -1,    -1,    -1,    -1,  1863,    -1,   515,  3882,
   18501             :       -1,    -1,    -1,    -1,    -1,  1129,    -1,   524,   525,   526,
   18502             :      527,   528,   529,   530,   531,   532,    -1,   177,    -1,  1886,
   18503             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1894,    -1,    -1,
   18504             :       -1,    -1,    -1,    -1,    -1,  1902,   196,    -1,    -1,    -1,
   18505             :     5791,   201,    -1,    -1,    -1,  1169,  1170,    -1,    -1,    -1,
   18506             :       -1,    -1,    -1,  5791,    -1,    -1,    -1,   196,    -1,    -1,
   18507             :       -1,    -1,   201,    -1,   224,   225,    -1,  3950,    -1,    -1,
   18508             :       -1,    -1,    -1,    -1,    -1,    -1,  1943,  1944,    -1,  1946,
   18509             :     1947,    -1,    -1,    -1,    -1,   224,   225,  4906,    -1,  3972,
   18510             :       -1,  1958,   252,  1960,  1961,    -1,    -1,    -1,    -1,    -1,
   18511             :       -1,    -1,    -1,  5854,    -1,    -1,  1973,  1974,    -1,    -1,
   18512             :       -1,  3994,    -1,   252,    -1,  4314,  5854,    -1,    -1,    -1,
   18513             :       10,    -1,    -1,    13,    -1,    -1,    -1,    17,    18,    19,
   18514             :       -1,    -1,    -1,    -1,    -1,   295,    -1,    -1,    -1,    -1,
   18515             :       -1,  4960,    -1,    -1,  2011,    35,    -1,    -1,  2015,  2016,
   18516             :      310,    -1,    -1,   313,    -1,    45,   295,    -1,    -1,    -1,
   18517             :       -1,    -1,    52,  4982,    -1,    -1,    -1,    -1,    -1,    -1,
   18518             :       -1,   310,    -1,    -1,   313,    -1,    -1,    -1,    -1,    -1,
   18519             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,
   18520             :       -1,    -1,    -1,  4076,    -1,    -1,    -1,    -1,    -1,    -1,
   18521             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18522             :     4409,    10,    -1,    -1,    13,    -1,    -1,    -1,    17,    18,
   18523             :       19,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18524             :       -1,    -1,    -1,    -1,    -1,    -1,    35,  5056,  4437,    38,
   18525             :       -1,    -1,    -1,    -1,    -1,  4128,    45,    -1,   408,    -1,
   18526             :       -1,    -1,    -1,    52,    -1,    -1,    -1,    -1,    -1,    -1,
   18527             :       -1,    -1,    -1,    -1,    -1,    -1,  2133,    -1,    -1,   408,
   18528             :     4153,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,
   18529             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18530             :       -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,    13,    -1,
   18531             :       -1,    -1,    17,    18,    19,    -1,   196,    -1,    -1,    -1,
   18532             :       -1,   201,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18533             :       35,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   208,
   18534             :       45,    -1,    -1,    -1,   224,   225,    -1,    52,    -1,    -1,
   18535             :       -1,   220,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18536             :       -1,    -1,   231,    -1,    -1,   515,    -1,    -1,  5177,   665,
   18537             :       -1,    -1,   252,    78,   524,   525,   526,   527,   528,   529,
   18538             :      530,   531,   532,    -1,    -1,    -1,   515,    -1,   684,    -1,
   18539             :       -1,    -1,  4581,    -1,   690,   524,   525,   526,   527,   528,
   18540             :      529,   530,   531,   532,    -1,    -1,   702,   196,    -1,    -1,
   18541             :       -1,    -1,   201,    -1,    -1,   295,    -1,    -1,    -1,    -1,
   18542             :       -1,    -1,   718,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18543             :      310,    -1,    -1,   313,    -1,   224,   225,   733,    -1,  4628,
   18544             :       -1,  4314,    -1,    -1,  4633,   741,    -1,    -1,    -1,    -1,
   18545             :       -1,  1565,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   755,
   18546             :       -1,    -1,    -1,   252,    -1,    -1,    -1,    -1,    -1,   765,
   18547             :       -1,    -1,    -1,    -1,    -1,    -1,  1590,    -1,    -1,    -1,
   18548             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18549             :       -1,   196,    -1,    -1,    -1,    -1,   201,    -1,    -1,    -1,
   18550             :       -1,    -1,    -1,    -1,    -1,    -1,   295,  5316,    -1,    -1,
   18551             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   224,
   18552             :      225,   310,   818,    -1,   313,    -1,    -1,    -1,   408,    -1,
   18553             :       -1,    -1,    -1,    -1,    -1,    -1,  4409,    -1,    -1,    -1,
   18554             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   252,    -1,    -1,
   18555             :      846,    -1,    -1,  1667,    -1,    -1,    -1,    -1,    -1,    -1,
   18556             :       -1,    -1,    -1,    -1,  4437,   445,    -1,    -1,    -1,    -1,
   18557             :       -1,    -1,    -1,    -1,    -1,   871,    -1,    -1,    -1,    -1,
   18558             :     5389,    -1,    -1,    -1,    -1,  1699,  1700,  1701,  1702,    -1,
   18559             :      295,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18560             :       -1,    -1,  4791,    -1,    -1,   310,    -1,    -1,   313,    -1,
   18561             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   408,
   18562             :       -1,    -1,    -1,    -1,    -1,    -1,   331,    -1,  6369,    -1,
   18563             :       -1,    -1,    -1,    -1,    -1,   515,    -1,   933,    -1,    -1,
   18564             :       -1,  6369,    -1,    -1,   524,   525,   526,   527,   528,   529,
   18565             :      530,   531,   532,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18566             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18567             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18568             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18569             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18570             :       -1,    -1,    -1,   408,    -1,    -1,  5515,    -1,  4581,    -1,
   18571             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4906,    -1,    -1,
   18572             :       -1,    10,    -1,    -1,    13,    -1,   515,    -1,    17,    18,
   18573             :       19,    -1,  1846,  1847,    -1,   524,   525,   526,   527,   528,
   18574             :      529,   530,   531,   532,    -1,    -1,    35,  1043,  1862,    -1,
   18575             :       -1,    -1,    -1,    -1,  1050,  4628,    45,    -1,    -1,    -1,
   18576             :     4633,    -1,    -1,    52,    -1,    -1,    10,    -1,    -1,    13,
   18577             :       -1,  4960,    -1,    17,    18,    19,    -1,    -1,    -1,    -1,
   18578             :       -1,    -1,  1896,  1897,  1898,  1899,    -1,    -1,    -1,    78,
   18579             :       -1,    35,    -1,  4982,    -1,    -1,    -1,   666,    -1,    -1,
   18580             :       -1,    45,    -1,   672,    -1,    -1,    -1,    -1,    52,    -1,
   18581             :      515,    -1,    -1,    -1,    -1,    -1,  2673,    -1,    -1,   524,
   18582             :      525,   526,   527,   528,   529,   530,   531,   532,    -1,    -1,
   18583             :       -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,    -1,
   18584             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18585             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5668,
   18586             :       -1,    -1,    -1,  1977,  5673,  5674,    -1,  5056,    -1,  1983,
   18587             :       -1,  2728,    -1,    -1,    -1,    -1,    -1,    -1,  1174,    -1,
   18588             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   177,  2746,
   18589             :       -1,    -1,    10,  2750,    -1,    13,    -1,  2754,    -1,    17,
   18590             :       18,    19,    -1,    -1,    -1,    -1,  2763,   196,    -1,    -1,
   18591             :       -1,    -1,   201,    -1,    -1,    -1,    -1,    35,  4791,    -1,
   18592             :       -1,  2778,    -1,    -1,    -1,    -1,    -1,    45,    -1,    -1,
   18593             :       -1,    -1,    -1,   177,    52,   224,   225,    -1,  2795,  1235,
   18594             :     2797,  2798,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18595             :     1246,    -1,   196,    -1,    -1,  2812,    -1,   201,    -1,    -1,
   18596             :       78,    -1,    -1,   252,    -1,    -1,    -1,  1263,    -1,    -1,
   18597             :       -1,    -1,  1268,    -1,   843,  2832,  2833,    -1,    -1,    -1,
   18598             :      224,   225,  5791,    -1,    -1,    -1,    -1,    -1,  5177,    -1,
   18599             :       -1,    -1,    -1,   862,    -1,    -1,    -1,    -1,    -1,    -1,
   18600             :       -1,    -1,    -1,    -1,    -1,    -1,   295,    -1,   252,    -1,
   18601             :       -1,    -1,    -1,  2870,  2871,    -1,    -1,  2874,    -1,    -1,
   18602             :       -1,   310,    -1,    -1,   313,    -1,    -1,    -1,    -1,    -1,
   18603             :       -1,    -1,    -1,  4906,    -1,    -1,    -1,    -1,    -1,    -1,
   18604             :       -1,  2898,    -1,  2900,    -1,  5854,    -1,  2904,    -1,    -1,
   18605             :       -1,   295,    -1,   171,    -1,    -1,    -1,  2171,    -1,    -1,
   18606             :       -1,  2918,    -1,    -1,    -1,   934,   310,    -1,  2925,   313,
   18607             :       -1,  2928,    -1,    -1,    -1,    -1,    -1,  2934,   196,    -1,
   18608             :       -1,    -1,    -1,   201,    -1,    -1,    -1,  4960,    -1,    -1,
   18609             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2954,    -1,    -1,
   18610             :       -1,    -1,    -1,  2960,    -1,  1401,   224,   225,    -1,  4982,
   18611             :     2967,    -1,   981,  1409,  1410,    -1,    -1,    -1,    -1,   408,
   18612             :       -1,    -1,    -1,    -1,    -1,    -1,  2983,  5316,    -1,    -1,
   18613             :       -1,    -1,    -1,    -1,   252,    -1,    -1,    -1,    -1,    -1,
   18614             :     2997,    -1,    -1,    -1,    -1,  3002,    -1,    -1,    -1,    -1,
   18615             :       -1,  3008,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18616             :       -1,    -1,    -1,    -1,   408,    -1,  1462,    -1,    -1,    -1,
   18617             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   295,    -1,    -1,
   18618             :       -1,    -1,    -1,  5056,    -1,    -1,    -1,    -1,    -1,    -1,
   18619             :       -1,    -1,   310,    -1,    -1,   313,    -1,    -1,    -1,    -1,
   18620             :     5389,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18621             :       -1,  3068,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18622             :       -1,    -1,    -1,    -1,    -1,    -1,   515,  1096,    -1,    -1,
   18623             :       -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,   528,
   18624             :      529,   530,   531,   532,    -1,    -1,    -1,    -1,    -1,    -1,
   18625             :       -1,    -1,    -1,    -1,    -1,    -1,  1125,  1126,  1127,    -1,
   18626             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18627             :       -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18628             :      524,   525,   526,   527,   528,   529,   530,   531,   532,    -1,
   18629             :      408,    -1,    10,    -1,    -1,    13,    -1,    -1,    -1,    17,
   18630             :       18,    19,    -1,    -1,  5177,    -1,    -1,    -1,    -1,    -1,
   18631             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    35,    -1,    -1,
   18632             :       -1,    -1,    -1,    -1,    -1,    -1,  5515,    45,    -1,    -1,
   18633             :       -1,    -1,    -1,    -1,    52,    -1,    -1,    10,    -1,    -1,
   18634             :       13,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,
   18635             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18636             :       78,    -1,    35,    -1,    -1,  1234,  3223,    -1,  3225,    -1,
   18637             :       -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,    52,
   18638             :       -1,    -1,    -1,    -1,    -1,  3242,    -1,    -1,    -1,    -1,
   18639             :       -1,    -1,  3249,  1262,    -1,    -1,    -1,   515,    -1,  3256,
   18640             :       -1,  3258,  3259,    -1,    -1,    78,   524,   525,   526,   527,
   18641             :      528,   529,   530,   531,   532,    -1,    -1,  1713,    -1,    -1,
   18642             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18643             :       -1,    -1,   150,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18644             :       -1,    -1,    -1,  5316,    -1,    -1,    -1,    -1,    -1,    -1,
   18645             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18646             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18647             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   196,  5668,
   18648             :       -1,    -1,    -1,   201,  5673,  5674,    -1,    -1,    -1,  3346,
   18649             :       -1,    -1,    -1,    -1,    -1,  3352,    -1,    -1,    -1,    -1,
   18650             :       -1,    -1,    -1,    -1,    -1,    -1,   224,   225,    -1,    -1,
   18651             :       -1,    -1,    -1,    -1,    -1,    -1,  5389,    -1,    -1,    -1,
   18652             :       -1,    -1,    -1,   196,    -1,  2639,    -1,    -1,   201,    -1,
   18653             :       -1,    -1,  1828,    -1,   252,    -1,    -1,    -1,    -1,    -1,
   18654             :       -1,    -1,    -1,    -1,    -1,    -1,  1415,    -1,    -1,    -1,
   18655             :       -1,   224,   225,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18656             :     6369,    -1,    -1,    -1,    -1,    -1,    -1,  1863,    -1,    -1,
   18657             :       -1,    -1,    -1,    -1,    -1,    10,    -1,   295,    13,   252,
   18658             :     3437,    -1,    17,    18,    19,    -1,    -1,    -1,    -1,    -1,
   18659             :     1886,    -1,   310,    -1,    -1,   313,    -1,    -1,  1894,    -1,
   18660             :       35,    -1,  5791,    -1,    -1,    -1,  1902,    -1,    -1,    -1,
   18661             :       45,    -1,    -1,    -1,    -1,    -1,    -1,    52,    -1,    -1,
   18662             :       -1,    -1,   295,    -1,    -1,    -1,  1495,    -1,    -1,    -1,
   18663             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   310,    -1,    -1,
   18664             :      313,    -1,  5515,    78,    -1,    -1,    -1,    -1,    -1,    -1,
   18665             :     1946,  1947,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18666             :       -1,    -1,    -1,    -1,  1960,  5854,    -1,    -1,    -1,    -1,
   18667             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1973,  1974,    -1,
   18668             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2801,    -1,    -1,
   18669             :      408,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18670             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1578,
   18671             :       -1,    -1,    -1,  3570,  3571,    -1,    -1,    10,  1587,    -1,
   18672             :       13,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,
   18673             :       -1,    -1,    -1,    -1,  3591,   408,   171,  3594,    -1,    -1,
   18674             :       -1,    -1,    35,    -1,    -1,    38,    -1,    -1,    -1,    -1,
   18675             :     1619,    -1,    45,    -1,    -1,    -1,  1625,  1626,    -1,    52,
   18676             :     1629,   196,    -1,    -1,    -1,    -1,   201,    -1,    -1,    -1,
   18677             :       -1,    -1,    -1,  1642,    -1,    -1,  1645,    -1,    -1,    -1,
   18678             :       -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,   224,
   18679             :      225,    -1,    -1,    -1,    -1,  5668,    -1,   515,    -1,    -1,
   18680             :     5673,  5674,    -1,    -1,    -1,    -1,   524,   525,   526,   527,
   18681             :      528,   529,   530,   531,   532,    -1,   489,   252,    -1,  3676,
   18682             :     3677,  3678,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18683             :       -1,    -1,  2946,    -1,  1703,  2949,    -1,  2133,    -1,    -1,
   18684             :       -1,    -1,   515,    -1,  3701,    -1,    -1,    -1,  1717,    -1,
   18685             :       -1,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   18686             :      295,    -1,    -1,  3720,    -1,    -1,    -1,    -1,    -1,    -1,
   18687             :       -1,    -1,    -1,    -1,    -1,   310,    -1,    -1,   313,    -1,
   18688             :       -1,    -1,    -1,    -1,    -1,  3742,    10,    -1,    -1,    13,
   18689             :       -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,    -1,
   18690             :       -1,    -1,    -1,   196,    -1,    -1,    -1,    -1,   201,    -1,
   18691             :       -1,    35,    -1,    -1,    -1,    -1,    -1,    -1,  5791,    -1,
   18692             :       -1,    45,    -1,    -1,    -1,    -1,  3040,    -1,    52,    -1,
   18693             :       -1,   224,   225,    -1,    -1,    -1,    -1,    -1,    -1,  3053,
   18694             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3061,    -1,    -1,
   18695             :       -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,  1827,   252,
   18696             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1838,
   18697             :       -1,    -1,    -1,   408,    -1,    -1,    -1,  3834,    -1,    -1,
   18698             :       -1,  5854,    -1,    -1,    -1,    -1,  3100,    -1,    -1,    -1,
   18699             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18700             :       -1,    -1,   295,    -1,    -1,    -1,    -1,  3121,    -1,    -1,
   18701             :       -1,  1880,  1881,    -1,    -1,    23,    -1,   310,    -1,    -1,
   18702             :      313,    -1,    -1,    -1,  3881,    -1,    -1,    -1,    -1,    -1,
   18703             :     3887,    -1,  3889,    41,    -1,    -1,  1905,    -1,    -1,    -1,
   18704             :       -1,    -1,    -1,  1912,    -1,  3902,    -1,  3904,    -1,    -1,
   18705             :     3164,    -1,  3166,    -1,    -1,    -1,    -1,    -1,    66,    -1,
   18706             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18707             :       -1,    79,   196,    -1,    -1,    -1,    -1,   201,    -1,    -1,
   18708             :      515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,   524,
   18709             :      525,   526,   527,   528,   529,   530,   531,   532,    -1,    -1,
   18710             :      224,   225,    -1,    -1,    -1,    -1,   114,    -1,    -1,    -1,
   18711             :       -1,    -1,   120,    -1,  3971,   408,  1985,    -1,    -1,    -1,
   18712             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   252,    -1,
   18713             :      138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18714             :     3254,    -1,    -1,   151,    -1,    -1,    -1,  3261,    -1,  2018,
   18715             :     2019,    -1,   160,    -1,    -1,    -1,  4013,    -1,    -1,    -1,
   18716             :       -1,    -1,    -1,    -1,    -1,   173,  2035,    -1,    -1,  2038,
   18717             :       -1,   295,    -1,    -1,   182,  4032,    -1,    -1,   186,  4036,
   18718             :     6369,    -1,    -1,    -1,    -1,    -1,   310,    -1,    -1,   313,
   18719             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   206,    -1,
   18720             :     4057,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,
   18721             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18722             :       -1,    -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18723             :       -1,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   18724             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   256,    -1,
   18725             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   266,    79,
   18726             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18727             :       -1,    -1,    -1,    -1,    -1,    -1,    96,    -1,    -1,    -1,
   18728             :       -1,    -1,    -1,    -1,   408,    -1,    -1,    -1,    -1,    -1,
   18729             :       -1,    -1,    -1,    -1,   114,    -1,    -1,    -1,    -1,    -1,
   18730             :      120,    -1,   310,    -1,    -1,   313,    -1,    -1,  4165,    -1,
   18731             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   138,    -1,
   18732             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18733             :      338,   151,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18734             :      160,    -1,    -1,    -1,   352,    -1,    -1,    -1,    -1,    -1,
   18735             :       -1,    -1,   360,   173,    -1,    -1,    -1,    -1,    -1,   179,
   18736             :       -1,    -1,    -1,    -1,    -1,    -1,   186,    -1,    -1,    -1,
   18737             :       -1,    -1,   380,    -1,    -1,    -1,    -1,  2673,    -1,    -1,
   18738             :       -1,    -1,   390,    -1,    -1,    -1,   206,    -1,    -1,   397,
   18739             :       -1,   515,   400,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18740             :      524,   525,   526,   527,   528,   529,   530,   531,   532,    -1,
   18741             :       -1,    -1,    -1,   421,    -1,    -1,    -1,    -1,    -1,    -1,
   18742             :       -1,   429,    -1,    -1,   244,    -1,    -1,    -1,   436,    -1,
   18743             :       -1,   439,  2728,   441,    -1,   443,   444,    -1,    -1,    -1,
   18744             :       -1,    -1,    -1,    -1,    -1,    -1,   266,    -1,    -1,    -1,
   18745             :     2746,   459,    -1,    -1,  2750,    -1,    -1,    -1,  2754,   467,
   18746             :       -1,    -1,   470,    -1,    -1,   473,    -1,  2763,    -1,    -1,
   18747             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   486,    -1,
   18748             :       -1,    -1,  2778,  4340,    -1,    -1,  3600,  3601,    -1,    -1,
   18749             :      310,    -1,    -1,    -1,    -1,    -1,  6369,    -1,    -1,    -1,
   18750             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18751             :       -1,    -1,    -1,    -1,    -1,    -1,  2812,    -1,   338,    -1,
   18752             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   348,   349,
   18753             :       -1,    -1,   352,    -1,    -1,    -1,  2832,  2833,    -1,    -1,
   18754             :       -1,    -1,    -1,    -1,    -1,    -1,  4403,    -1,    -1,    -1,
   18755             :       -1,  4408,    -1,  4410,    -1,    -1,    -1,    -1,    -1,    -1,
   18756             :      380,    -1,    -1,   383,    -1,    -1,    -1,   387,    -1,    -1,
   18757             :      390,    -1,    -1,    -1,  2870,  2871,    -1,   397,  2874,  4436,
   18758             :      400,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18759             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18760             :       -1,   421,  2898,    -1,  2900,    -1,    -1,    -1,  2904,   429,
   18761             :       -1,    -1,    -1,    -1,   434,    -1,   436,    -1,    -1,   439,
   18762             :       -1,    -1,  2918,    -1,   444,    -1,    -1,  4484,    -1,  2925,
   18763             :     4487,    -1,  2928,    -1,   454,    -1,    -1,    -1,  2934,   459,
   18764             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18765             :       -1,    -1,    -1,   473,    -1,    -1,    -1,    -1,  2954,    -1,
   18766             :       -1,    -1,    -1,    -1,  2960,    -1,   486,    -1,    -1,    -1,
   18767             :       -1,  2967,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18768             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2983,    -1,    -1,
   18769             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18770             :       20,  2997,    -1,    -1,    -1,    -1,  3002,    -1,    -1,    -1,
   18771             :       -1,    31,  3008,    33,    34,    -1,    -1,    -1,    -1,    -1,
   18772             :     4577,  4578,   840,   841,    -1,    -1,  2595,    -1,    -1,    -1,
   18773             :       -1,  4588,    -1,    -1,    -1,    -1,  2605,    -1,    -1,    -1,
   18774             :       -1,    61,  3856,    -1,    -1,    -1,    -1,    -1,  4605,    -1,
   18775             :       -1,    -1,    -1,    73,    -1,    75,    76,    -1,    -1,    -1,
   18776             :       -1,    -1,    82,    -1,    84,  2634,    -1,    -1,    -1,    -1,
   18777             :       -1,    -1,  3068,    -1,    -1,    -1,    -1,    97,    -1,    99,
   18778             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18779             :       -1,    -1,    -1,    -1,    -1,    -1,   116,    -1,    -1,   119,
   18780             :       -1,    -1,   920,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18781             :       -1,    -1,  2681,  2682,   134,    -1,   136,    -1,    -1,    -1,
   18782             :      140,    -1,    -1,    -1,    -1,    -1,    -1,   147,    -1,  4686,
   18783             :       -1,    -1,  4689,    -1,    -1,    -1,   156,    -1,   158,    -1,
   18784             :       -1,    -1,    -1,    -1,    -1,   165,  2715,    -1,    -1,    -1,
   18785             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18786             :       -1,    -1,    -1,   183,    -1,    23,    -1,    -1,    -1,    -1,
   18787             :       28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18788             :      200,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18789             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18790             :       -1,    -1,  4016,    -1,    -1,    -1,    -1,    -1,    66,    -1,
   18791             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18792             :       -1,    79,    -1,  1041,  1042,    -1,    -1,  3223,    -1,  3225,
   18793             :       -1,    -1,    -1,    -1,   254,   255,    -1,    -1,    96,    -1,
   18794             :      260,    -1,    -1,    -1,    -1,    -1,  3242,    -1,    -1,    -1,
   18795             :       -1,    -1,    -1,  3249,    -1,   275,   114,    -1,    -1,    -1,
   18796             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18797             :       -1,    -1,    -1,    -1,   294,    -1,    -1,    -1,    -1,    -1,
   18798             :      138,    -1,    -1,  2852,    -1,    -1,    -1,    -1,    -1,    -1,
   18799             :       -1,    -1,    -1,   151,    -1,    -1,    -1,    -1,  2867,    -1,
   18800             :       -1,    -1,   160,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18801             :       -1,    -1,    -1,    -1,    -1,   173,    -1,    -1,    -1,    -1,
   18802             :     2889,   179,    -1,   343,    -1,    -1,    -1,    -1,   186,    -1,
   18803             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   358,    -1,
   18804             :       -1,    -1,    -1,    -1,   364,   365,    -1,   367,   206,    -1,
   18805             :     3346,    -1,   372,    -1,    -1,   375,  3352,    -1,   378,    -1,
   18806             :       -1,   381,  4919,    -1,    -1,    -1,    -1,    -1,   388,    -1,
   18807             :       -1,    -1,    -1,    -1,    -1,   395,   396,    -1,    -1,    -1,
   18808             :       -1,    -1,    -1,   403,    -1,    -1,    -1,   407,    -1,    -1,
   18809             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   419,
   18810             :       -1,    -1,    -1,    -1,    -1,    -1,  2975,  2976,   266,    -1,
   18811             :       -1,    -1,    -1,  2982,    -1,    -1,   436,    -1,    -1,    -1,
   18812             :     4977,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18813             :       -1,    -1,  4989,    -1,    -1,    -1,    -1,   457,    -1,    -1,
   18814             :       -1,  3437,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   469,
   18815             :       -1,    -1,   310,    -1,    -1,   475,    -1,    -1,    -1,    -1,
   18816             :      480,    -1,  1280,    -1,    -1,   323,  5023,    -1,    -1,    -1,
   18817             :       -1,    -1,    -1,   493,    -1,    -1,    -1,    -1,    -1,    -1,
   18818             :      338,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    23,    -1,
   18819             :      348,   349,    -1,    28,   352,    -1,    -1,   517,    -1,    -1,
   18820             :       -1,    -1,    -1,    -1,  1322,    -1,    -1,    -1,    -1,    -1,
   18821             :     3079,    -1,    -1,    -1,    -1,    -1,   536,    -1,    -1,   539,
   18822             :       -1,    -1,   380,    -1,    -1,   383,    -1,    -1,    -1,   387,
   18823             :       -1,    66,   390,  1351,  1352,  1353,    -1,  1355,    -1,   397,
   18824             :       -1,    -1,   400,    -1,    79,    80,  5103,    -1,    -1,    -1,
   18825             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    92,  1376,    -1,
   18826             :       -1,    96,    -1,   421,    -1,  5122,    -1,    -1,    -1,    -1,
   18827             :       -1,   429,    -1,    -1,  3570,  3571,    -1,    -1,   436,   114,
   18828             :       -1,   439,    -1,    -1,    -1,    -1,   444,    -1,    -1,    -1,
   18829             :       -1,    -1,    -1,    -1,   452,  3591,   454,    -1,  3594,    -1,
   18830             :       -1,   459,    -1,   138,    -1,    -1,    -1,    -1,    -1,    -1,
   18831             :       -1,    -1,    -1,    -1,    -1,   473,   151,    -1,    -1,    -1,
   18832             :       -1,    -1,    -1,    -1,    -1,   160,    -1,    -1,   486,    -1,
   18833             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   173,    -1,
   18834             :       -1,    -1,    -1,    -1,   179,    -1,    -1,    -1,    -1,    -1,
   18835             :       -1,  5208,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18836             :       -1,  1479,    -1,    -1,    -1,  1483,  1484,    -1,    -1,    -1,
   18837             :       -1,   206,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18838             :     3676,  3677,  3678,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18839             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18840             :       -1,    -1,    -1,    -1,    -1,  3701,    -1,    -1,    -1,   244,
   18841             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18842             :       -1,  4535,    -1,    -1,  3720,    -1,    -1,    -1,    -1,    -1,
   18843             :       -1,   266,    -1,    -1,    -1,  4549,    -1,    -1,    -1,    -1,
   18844             :       -1,    -1,    -1,    -1,    -1,    -1,  3742,    -1,    -1,    -1,
   18845             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18846             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18847             :       -1,    -1,    -1,    -1,    -1,   310,    -1,    -1,    -1,    -1,
   18848             :       -1,  5338,    -1,  5340,    -1,    -1,    -1,    -1,    -1,    -1,
   18849             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18850             :       -1,    -1,    -1,   338,    -1,    -1,    -1,    -1,    -1,    -1,
   18851             :       -1,    -1,    -1,   348,   349,    -1,    -1,   352,    -1,    -1,
   18852             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18853             :       -1,    -1,    -1,  5390,    -1,    -1,    -1,    -1,  3834,    -1,
   18854             :       -1,  1368,    -1,  5400,    -1,   380,    -1,    -1,   383,    -1,
   18855             :       -1,    -1,   387,    -1,  3423,   390,    -1,    -1,    -1,    -1,
   18856             :       -1,    -1,   397,    -1,    -1,   400,    -1,    -1,    -1,    -1,
   18857             :       -1,    -1,    -1,    -1,    -1,  3444,    -1,    -1,    -1,    -1,
   18858             :       -1,    -1,    -1,    -1,    -1,  3881,   421,  5444,    -1,    -1,
   18859             :       -1,  3887,  5449,  3889,   429,    -1,  1423,    -1,    -1,    -1,
   18860             :       -1,   436,    -1,    -1,   439,    -1,  3902,    -1,  3904,   444,
   18861             :     1728,  1729,  1730,    -1,    -1,    -1,    -1,   452,    -1,   454,
   18862             :       -1,    -1,    -1,    -1,   459,    -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,   486,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18866             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18867             :       -1,    -1,    -1,    -1,    -1,  3971,    -1,    -1,    -1,    -1,
   18868             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18869             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18870             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18871             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4013,    -1,    -1,
   18872             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18873             :       -1,    -1,    -1,    -1,    -1,    -1,  4032,    -1,    -1,    -1,
   18874             :     4036,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18875             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18876             :       -1,  4057,    -1,    -1,    -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,    -1,    -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,  5686,
   18883             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18884             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5704,    -1,  3718,
   18885             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3728,
   18886             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4165,
   18887             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5736,
   18888             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18889             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18890             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1734,    -1,    -1,
   18891             :       -1,  1738,    -1,    -1,    -1,    -1,  3785,    -1,    -1,    -1,
   18892             :       -1,    -1,  5036,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18893             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5051,    -1,  2057,
   18894             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2066,  2067,
   18895             :     2068,  2069,  2070,  2071,  2072,  2073,  2074,  2075,  5815,    -1,
   18896             :       -1,    -1,  2080,    -1,  2082,    -1,  2084,    -1,    -1,  2087,
   18897             :     2088,  2089,    -1,    -1,    -1,    -1,    -1,  2095,    -1,    -1,
   18898             :     2098,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18899             :       -1,    -1,    -1,    -1,  5851,  2113,  2114,  2115,    -1,    -1,
   18900             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18901             :       -1,    -1,    -1,  2131,    -1,    -1,    -1,    -1,    -1,    -1,
   18902             :       -1,    -1,    -1,    -1,  3893,  3894,  3895,    -1,  5142,    -1,
   18903             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18904             :       -1,  3910,    -1,    -1,  4340,    -1,    -1,    -1,    -1,    -1,
   18905             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18906             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5924,    -1,    -1,
   18907             :     5927,    -1,    -1,    -1,  3943,  3944,    -1,    -1,    -1,  3948,
   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,  4403,    -1,    -1,
   18911             :       -1,    -1,  4408,    -1,  4410,    -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             :     4436,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18915             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18916             :     2278,    -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,  4054,    -1,    -1,  4484,    -1,
   18919             :       -1,  4487,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18920             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18921             :       -1,    -1,  6069,    -1,  2332,    -1,    -1,    -1,    -1,    -1,
   18922             :       -1,    -1,    -1,    -1,    -1,    -1,  6083,    -1,  2055,    -1,
   18923             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  6096,
   18924             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18925             :     5364,    -1,  5366,    -1,  2081,    -1,    -1,    -1,  2085,    -1,
   18926             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18927             :     2388,    -1,    -1,  2100,  2101,  2102,    -1,  2104,    -1,    -1,
   18928             :       -1,  4577,  4578,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18929             :       -1,    -1,  4588,    -1,    -1,    -1,    -1,    -1,  6155,  6156,
   18930             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4605,
   18931             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18932             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18933             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18934             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18935             :       -1,  4220,  4221,  4222,    -1,    -1,    -1,    -1,    -1,    -1,
   18936             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18937             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  6234,    -1,    -1,
   18938             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18939             :     4686,    -1,    -1,  4689,    -1,    -1,  5510,    -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,    -1,  2575,  2576,  2577,
   18946             :     2578,  2579,  2580,  2581,  2582,  2583,    -1,  2585,    -1,    -1,
   18947             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2596,    -1,
   18948             :     2598,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18949             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18950             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18951             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2636,    -1,
   18952             :       -1,    -1,  2640,    -1,    -1,  2643,    -1,  2645,    -1,    -1,
   18953             :     2648,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  6396,
   18954             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18955             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18956             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18957             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18958             :     5694,    -1,  5696,  2701,  2702,    -1,    -1,    -1,    -1,    -1,
   18959             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18960             :     6457,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18961             :       -1,    -1,    -1,  6470,  6471,    -1,    -1,    -1,    -1,    -1,
   18962             :       -1,    -1,    -1,  4919,    -1,  6482,    -1,    -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,  2781,    -1,    -1,    -1,    -1,    -1,    -1,
   18967             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18968             :       -1,  4977,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4558,
   18969             :       -1,    -1,    -1,  4989,    -1,    -1,    -1,    -1,    -1,    -1,
   18970             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18971             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18972             :       -1,  4590,    -1,    -1,    -1,    -1,    -1,  5023,    -1,    -1,
   18973             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18974             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18975             :       -1,    -1,    -1,  4622,    -1,    -1,    -1,    -1,    -1,    -1,
   18976             :       -1,    -1,    -1,    -1,    -1,  2592,    -1,    -1,    -1,    -1,
   18977             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18978             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4657,    -1,
   18979             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18980             :       -1,    -1,    -1,    -1,    -1,  4674,    -1,  5103,    -1,    -1,
   18981             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18982             :       -1,    -1,    -1,    -1,    -1,    -1,  5122,    -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,  5965,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18986             :       -1,  2688,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18987             :       -1,    -1,    -1,  2700,    -1,    -1,    -1,    -1,  2705,    -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,  3026,  3027,
   18991             :     3028,    -1,  5208,    -1,  3032,    -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,    -1,
   18994             :       -1,  3059,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18995             :     4819,  4820,  4821,  4822,    -1,    -1,    -1,    -1,    -1,    -1,
   18996             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18997             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18998             :       -1,    -1,    -1,    -1,  6098,    -1,    -1,    -1,    -1,    -1,
   18999             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19000             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19001             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19002             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19003             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19004             :       -1,    -1,  5338,    -1,  5340,    -1,    -1,    -1,    -1,    -1,
   19005             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19006             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19007             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19008             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19009             :       -1,    -1,    -1,    -1,  5390,    -1,    -1,    -1,    -1,    -1,
   19010             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19011             :       -1,    -1,    -1,    -1,  6228,    -1,    -1,    -1,    -1,    -1,
   19012             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19013             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19014             :       -1,    -1,    -1,    -1,    -1,  6259,  6260,    -1,  5444,    -1,
   19015             :     3268,    -1,    -1,    -1,    -1,  3273,    -1,    -1,    -1,    -1,
   19016             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19017             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19018             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19019             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19020             :       -1,    -1,    -1,    -1,    -1,    -1,  3324,    -1,    -1,    -1,
   19021             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3335,    -1,  3337,
   19022             :     3338,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19023             :       -1,    -1,    -1,  3351,    -1,    -1,  3354,    -1,  3356,    -1,
   19024             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19025             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19026             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19027             :       -1,    -1,  6386,    -1,    -1,  3393,    -1,  3395,    -1,  3397,
   19028             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19029             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19030             :       -1,  5170,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19031             :       -1,    -1,  5181,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19032             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19033             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19034             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19035             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19036             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19037             :       -1,    -1,    -1,  3491,    -1,    -1,    -1,    -1,  3496,    -1,
   19038             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19039             :     5686,    -1,    -1,  3511,    -1,    -1,    -1,    -1,    -1,    -1,
   19040             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5704,    -1,
   19041             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19042             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19043             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19044             :     5736,    -1,    -1,    -1,  3271,    -1,    -1,    -1,    -1,    -1,
   19045             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3576,    -1,
   19046             :       -1,  3288,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19047             :       -1,  3298,    -1,    -1,    -1,    -1,    -1,  3304,    -1,    -1,
   19048             :     3307,    -1,    -1,    -1,    -1,    -1,    -1,  3314,  3315,    -1,
   19049             :     3317,    -1,    -1,    -1,    -1,  3322,  3323,    -1,  3325,    -1,
   19050             :     3327,    -1,    -1,    -1,  3331,    -1,    -1,  3334,    -1,    -1,
   19051             :       -1,    -1,  3339,    -1,    -1,    -1,    -1,    -1,  3636,  5815,
   19052             :       -1,  3348,    -1,    -1,    -1,    -1,  3353,    -1,    -1,    -1,
   19053             :       -1,    -1,    -1,  3360,  3361,  3362,  3363,    -1,    -1,    -1,
   19054             :       -1,  3368,  3369,    -1,  3371,    -1,    -1,    -1,    -1,    -1,
   19055             :       -1,    -1,  5421,  5422,    -1,  5851,    -1,    -1,    -1,    -1,
   19056             :       -1,    -1,    -1,  3390,    -1,  3392,    -1,    -1,    -1,    -1,
   19057             :       -1,    -1,  3399,  3400,  3401,  3402,  3403,  3404,  3405,  3406,
   19058             :     3407,  3408,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19059             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5468,
   19060             :       -1,    -1,    -1,    -1,  5473,    -1,    -1,    -1,    -1,    -1,
   19061             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3445,    -1,
   19062             :       -1,    -1,    -1,  5492,    -1,    -1,    -1,    -1,  5924,    -1,
   19063             :       -1,  5927,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19064             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19065             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19066             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19067             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19068             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19069             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19070             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19071             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19072             :       -1,  3839,    -1,    -1,    -1,    -1,    -1,  3845,    -1,    -1,
   19073             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19074             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19075             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3585,    -1,
   19076             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19077             :       -1,    -1,    -1,  6069,    -1,    -1,    -1,    -1,    -1,    -1,
   19078             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19079             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19080             :     6096,    -1,    -1,    -1,    -1,    -1,  3924,    -1,    -1,    -1,
   19081             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19082             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19083             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19084             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19085             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19086             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19087             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19088             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5758,
   19089             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19090             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19091             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5786,    -1,    -1,
   19092             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19093             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  6234,    -1,
   19094             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19095             :       -1,    -1,    -1,    -1,    -1,  4073,    -1,    -1,    -1,    -1,
   19096             :       -1,    -1,    -1,    -1,  4082,    -1,    -1,    -1,    -1,    -1,
   19097             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4096,    -1,
   19098             :       -1,    -1,  4100,  4101,  4102,    -1,    -1,    -1,    -1,  4107,
   19099             :       -1,    -1,  4110,    -1,    -1,  4113,    -1,    -1,    -1,    -1,
   19100             :       -1,  4119,    -1,  4121,    -1,    -1,    -1,    -1,    -1,    -1,
   19101             :       -1,    -1,    -1,    -1,    -1,    -1,  3843,  3844,    -1,    -1,
   19102             :       -1,  3848,    -1,  5892,    -1,    -1,    -1,    -1,    -1,    -1,
   19103             :     4148,  4149,  4150,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19104             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4167,
   19105             :     3877,    -1,    -1,    -1,    -1,    -1,    -1,  4175,    -1,    -1,
   19106             :     4178,    -1,  4180,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19107             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4196,    -1,
   19108             :       -1,    -1,    -1,    -1,    -1,    -1,  4204,  4205,    -1,    -1,
   19109             :       -1,    -1,    -1,  4211,    -1,    -1,    -1,    -1,    -1,    -1,
   19110             :     6396,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19111             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19112             :       -1,    -1,  4240,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19113             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19114             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19115             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19116             :       -1,  6457,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19117             :       -1,    -1,    -1,  4291,    -1,    -1,    -1,    -1,    -1,    -1,
   19118             :       -1,    -1,    -1,    -1,    -1,    -1,  6482,    -1,    -1,    -1,
   19119             :     4308,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19120             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19121             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19122             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19123             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19124             :       -1,    -1,    -1,    -1,    -1,  4072,    -1,    -1,    -1,    -1,
   19125             :       -1,  4078,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19126             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19127             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19128             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19129             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4125,  4126,
   19130             :       -1,    -1,  4129,  4130,  4131,  4132,    -1,    -1,  4135,  4136,
   19131             :     4137,  4138,  4139,  4140,  4141,  4142,  4143,  4144,  4145,    -1,
   19132             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19133             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19134             :       -1,  4168,    -1,    -1,  4171,    -1,  4173,    -1,    -1,  4176,
   19135             :     4177,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19136             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19137             :       -1,  4198,  4199,  4200,  4201,    -1,  4203,    -1,    -1,    -1,
   19138             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19139             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19140             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19141             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19142             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19143             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19144             :       -1,    -1,    -1,    -1,    -1,    -1,  4273,    -1,    -1,    -1,
   19145             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19146             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19147             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19148             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19149             :       -1,    -1,    -1,    -1,    -1,    -1,  4323,    -1,    -1,    -1,
   19150             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19151             :       -1,    -1,    -1,    -1,    -1,    -1,  4634,  4635,    -1,    -1,
   19152             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4645,    -1,    -1,
   19153             :       -1,  4358,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19154             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19155             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19156             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19157             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19158             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19159             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4715,    -1,    -1,
   19160             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19161             :       -1,    -1,    -1,  4731,    -1,    -1,    -1,    -1,    -1,    -1,
   19162             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19163             :       -1,  4749,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19164             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19165             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19166             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19167             :     4788,  4789,    -1,    -1,    -1,    -1,    -1,  4795,  4796,    -1,
   19168             :       -1,    -1,  4800,    -1,    -1,    -1,    -1,  4805,    -1,    -1,
   19169             :     4808,  4809,    -1,    -1,    -1,    -1,    -1,  4815,    -1,    -1,
   19170             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19171             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19172             :       -1,    -1,    -1,    -1,  4551,    -1,    -1,    -1,    -1,    -1,
   19173             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19174             :       -1,    -1,  4860,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19175             :       -1,    -1,    -1,  4871,    -1,    -1,    -1,    -1,    -1,    -1,
   19176             :       -1,  4879,    -1,    -1,    -1,    -1,    -1,  4594,    -1,    -1,
   19177             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19178             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19179             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19180             :       -1,    -1,    -1,    -1,    -1,    -1,  4924,    -1,    -1,    -1,
   19181             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19182             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19183             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19184             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19185             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19186             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19187             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19188             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5005,    -1,  4716,
   19189             :       -1,    -1,    -1,  4720,  5012,    -1,    -1,    -1,    -1,    -1,
   19190             :       -1,    -1,    -1,    -1,    -1,    -1,  4733,    -1,    -1,    -1,
   19191             :       -1,    -1,    -1,    -1,  4741,    -1,  4743,    -1,  4745,  4746,
   19192             :       -1,    -1,    -1,    -1,  4751,  4752,  4753,  4754,    -1,    -1,
   19193             :       -1,  4758,  4759,  4760,  4761,  4762,  4763,  4764,  4765,  4766,
   19194             :     4767,  4768,  4769,  4770,    -1,    -1,    -1,    -1,    -1,    -1,
   19195             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19196             :       -1,    -1,    -1,    -1,  5082,    -1,    -1,  4794,    -1,    -1,
   19197             :     4797,    -1,  4799,    -1,    -1,    -1,  4803,    -1,    -1,  4806,
   19198             :     4807,    -1,    -1,  4810,  4811,    -1,    -1,    -1,    -1,  4816,
   19199             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19200             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19201             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19202             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19203             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19204             :       -1,    -1,    -1,  4870,    -1,    -1,    -1,    -1,    -1,    -1,
   19205             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4884,    -1,    -1,
   19206             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19207             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19208             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19209             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19210             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19211             :       -1,    -1,    -1,    -1,    -1,    -1,  5234,    -1,    -1,    -1,
   19212             :       -1,    -1,    -1,    -1,    -1,    -1,  5244,    -1,    -1,    -1,
   19213             :       -1,    -1,  5250,  5251,  5252,    -1,    -1,    -1,    -1,    -1,
   19214             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19215             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5275,  5276,    -1,
   19216             :       -1,  5279,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19217             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5296,    -1,
   19218             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5306,    -1,
   19219             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5317,
   19220             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19221             :       -1,    -1,    -1,    -1,    -1,  5333,    -1,    -1,    -1,    -1,
   19222             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19223             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19224             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19225             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5085,    -1,
   19226             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19227             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19228             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19229             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19230             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19231             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19232             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19233             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19234             :       -1,    -1,    -1,    -1,    -1,  5172,  5173,    -1,    -1,    -1,
   19235             :       -1,    -1,    -1,  5180,    -1,    -1,    -1,    -1,    -1,    -1,
   19236             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19237             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19238             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19239             :       -1,    -1,    -1,    -1,    -1,    -1,  5223,    -1,    -1,    -1,
   19240             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19241             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5246,
   19242             :     5247,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5546,    -1,
   19243             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5265,    -1,
   19244             :     5267,    -1,    -1,    -1,  5271,  5272,  5273,  5274,    -1,  5567,
   19245             :     5277,  5278,    -1,    -1,    -1,    -1,  5283,    -1,    -1,    -1,
   19246             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19247             :       -1,    -1,    -1,  5300,    -1,    -1,    -1,    -1,    -1,    -1,
   19248             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19249             :       -1,  5318,    -1,    -1,  5612,    -1,    -1,    -1,    -1,    -1,
   19250             :       -1,    -1,    -1,    -1,    -1,  5332,    -1,    -1,    -1,    -1,
   19251             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19252             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19253             :       -1,    -1,    -1,  5360,    -1,    -1,    -1,    -1,    -1,    -1,
   19254             :       -1,    -1,    -1,    -1,  5662,    -1,    -1,    -1,    -1,    -1,
   19255             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19256             :     5678,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19257             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19258             :       -1,    -1,    -1,    -1,  5411,    -1,  5413,    -1,    -1,    -1,
   19259             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19260             :       -1,    -1,    -1,    -1,    -1,    -1,  5724,    -1,    -1,    -1,
   19261             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19262             :       -1,    -1,    -1,    -1,    -1,  5452,    -1,    -1,    -1,    -1,
   19263             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19264             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19265             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19266             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19267             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19268             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19269             :       -1,    -1,    -1,    -1,    -1,    -1,  5814,    -1,    -1,    -1,
   19270             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5826,    -1,
   19271             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5835,  5836,  5837,
   19272             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19273             :       -1,    -1,    -1,  5560,    -1,  5562,  5563,  5564,  5565,  5566,
   19274             :       -1,    -1,    -1,    -1,    -1,  5863,    -1,    -1,    -1,    -1,
   19275             :       -1,    -1,  5579,  5580,  5581,    -1,    -1,    -1,    -1,  5877,
   19276             :       -1,    -1,  5589,    -1,    -1,    -1,    -1,  5594,    -1,    -1,
   19277             :     5597,    -1,    -1,    -1,  5601,    -1,    -1,    -1,    -1,  5897,
   19278             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19279             :       -1,    -1,  5619,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19280             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5636,
   19281             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19282             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19283             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19284             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19285             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19286             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19287             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19288             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19289             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19290             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19291             :       -1,    -1,  6030,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19292             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19293             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  6055,    -1,    -1,
   19294             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19295             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19296             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19297             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19298             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5816,
   19299             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19300             :     5827,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19301             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  6137,
   19302             :       -1,  5848,    -1,  5850,    -1,    -1,    -1,    -1,    -1,    -1,
   19303             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19304             :       -1,    -1,    -1,  6161,    -1,    -1,    -1,    -1,    -1,    -1,
   19305             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19306             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5896,
   19307             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19308             :       -1,  5908,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19309             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19310             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19311             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5946,
   19312             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19313             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19314             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19315             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19316             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19317             :       -1,  6289,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19318             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  6305,    -1,    -1,
   19319             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  6026,
   19320             :       -1,    -1,    -1,    -1,    -1,    -1,  6033,    -1,    -1,    -1,
   19321             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19322             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19323             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  6066,
   19324             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19325             :       -1,    -1,    -1,    -1,  6081,    -1,    -1,    -1,    -1,    -1,
   19326             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19327             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19328             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19329             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19330             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19331             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  6436,    -1,
   19332             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19333             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19334             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19335             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19336             :       -1,    -1,    -1,    -1,    -1,  6192,  6193,    -1,    -1,  6196,
   19337             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19338             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19339             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19340             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19341             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19342             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  6256,
   19343             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19344             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19345             :       -1,    -1,    -1,    -1,  6281,    -1,    -1,    -1,    -1,    -1,
   19346             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19347             :       -1,    -1,  6299,  6300,    -1,  6302,    -1,    -1,    -1,    -1,
   19348             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19349             :        3,    -1,     5,     6,    -1,     8,     9,    10,    11,    12,
   19350             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   19351             :       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
   19352             :       -1,    -1,    -1,    -1,    37,    -1,    -1,    40,    41,    42,
   19353             :       -1,    44,    45,    46,    47,    48,    49,    50,    51,    52,
   19354             :       53,    54,    55,    56,  6371,    58,    59,    60,    61,    62,
   19355             :       63,    64,    65,    66,    67,    68,    69,    70,    71,    -1,
   19356             :       73,    74,    75,    76,    77,    -1,    79,    -1,    81,    82,
   19357             :       83,    84,    85,    86,    87,    88,    89,    90,    91,    -1,
   19358             :       93,    94,    95,    96,    97,    98,    -1,   100,   101,   102,
   19359             :      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
   19360             :      113,   114,   115,   116,   117,   118,   119,   120,   121,    -1,
   19361             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   19362             :      133,   134,   135,    -1,   137,   138,   139,   140,   141,    -1,
   19363             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,    -1,
   19364             :      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   19365             :      163,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
   19366             :       -1,   174,   175,   176,    -1,   178,   179,   180,   181,   182,
   19367             :       -1,   184,   185,    -1,   187,   188,   189,    -1,   191,   192,
   19368             :      193,   194,   195,   196,   197,   198,   199,   200,    -1,   202,
   19369             :      203,   204,   205,   206,   207,   208,   209,    -1,   211,   212,
   19370             :      213,   214,   215,   216,   217,   218,   219,    -1,   221,    -1,
   19371             :      223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
   19372             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   19373             :      243,   244,   245,    -1,    -1,   248,   249,   250,   251,   252,
   19374             :       -1,   254,   255,   256,   257,   258,   259,   260,   261,   262,
   19375             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   19376             :      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
   19377             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   19378             :      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
   19379             :      303,    -1,   305,   306,   307,    -1,    -1,   310,   311,   312,
   19380             :       -1,    -1,   315,   316,   317,   318,   319,   320,   321,   322,
   19381             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   19382             :      333,   334,    -1,   336,   337,   338,   339,   340,   341,   342,
   19383             :      343,   344,    -1,   346,   347,   348,   349,   350,   351,   352,
   19384             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   19385             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   19386             :      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
   19387             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   19388             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,   402,
   19389             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   19390             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   19391             :      423,   424,   425,   426,   427,   428,   429,   430,   431,    -1,
   19392             :      433,   434,   435,    -1,   437,   438,   439,   440,   441,   442,
   19393             :      443,   444,    -1,   446,   447,   448,    -1,    -1,   451,   452,
   19394             :      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
   19395             :      463,   464,   465,    -1,   467,   468,   469,   470,   471,   472,
   19396             :      473,    -1,   475,   476,   477,   478,   479,   480,   481,   482,
   19397             :      483,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   19398             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   19399             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   19400             :      513,    -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19401             :       -1,    -1,    -1,    -1,   527,   528,   529,    -1,    -1,    -1,
   19402             :       -1,    -1,    -1,   536,   537,     3,    -1,     5,     6,    -1,
   19403             :        8,     9,    10,    11,    12,    -1,    -1,    -1,    -1,    -1,
   19404             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   19405             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
   19406             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   19407             :       48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
   19408             :       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
   19409             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   19410             :       -1,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
   19411             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   19412             :       98,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
   19413             :      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
   19414             :      118,   119,   120,   121,    -1,   123,   124,   125,   126,   127,
   19415             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   19416             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   19417             :      148,   149,   150,   151,    -1,   153,   154,   155,   156,   157,
   19418             :      158,   159,   160,   161,   162,   163,   164,    -1,   166,   167,
   19419             :      168,   169,   170,    -1,   172,    -1,   174,   175,   176,    -1,
   19420             :      178,   179,   180,   181,   182,    -1,   184,   185,    -1,   187,
   19421             :      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
   19422             :      198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
   19423             :      208,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
   19424             :      218,   219,    -1,   221,    -1,   223,   224,   225,   226,   227,
   19425             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   19426             :      238,   239,   240,   241,   242,   243,   244,   245,    -1,    -1,
   19427             :      248,   249,   250,   251,   252,    -1,   254,   255,   256,   257,
   19428             :      258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   19429             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   19430             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   19431             :      288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
   19432             :      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
   19433             :       -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,   317,
   19434             :      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
   19435             :      328,   329,   330,   331,   332,   333,   334,    -1,   336,   337,
   19436             :      338,   339,   340,   341,   342,   343,   344,    -1,   346,   347,
   19437             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   19438             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   19439             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   19440             :      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
   19441             :      388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
   19442             :      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
   19443             :      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   19444             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   19445             :      428,   429,   430,   431,    -1,   433,   434,   435,   436,   437,
   19446             :      438,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
   19447             :      448,    -1,    -1,   451,   452,   453,   454,   455,   456,   457,
   19448             :      458,   459,   460,   461,   462,   463,   464,   465,    -1,   467,
   19449             :      468,   469,   470,   471,   472,   473,    -1,   475,   476,   477,
   19450             :      478,   479,   480,   481,    -1,   483,   484,   485,   486,   487,
   19451             :      488,    -1,    -1,   491,    -1,   493,   494,   495,   496,   497,
   19452             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   19453             :      508,   509,   510,   511,   512,   513,    -1,   515,    -1,   517,
   19454             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   527,
   19455             :      528,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   536,   537,
   19456             :        3,    -1,     5,     6,    -1,     8,     9,    10,    11,    12,
   19457             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   19458             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   19459             :       -1,    -1,    -1,    -1,    37,    -1,    -1,    40,    41,    42,
   19460             :       -1,    44,    45,    46,    47,    48,    49,    50,    51,    52,
   19461             :       53,    54,    55,    56,    -1,    58,    59,    60,    61,    62,
   19462             :       63,    64,    65,    66,    67,    68,    69,    70,    71,    -1,
   19463             :       73,    74,    75,    76,    77,    -1,    79,    -1,    81,    82,
   19464             :       83,    84,    85,    86,    87,    88,    89,    90,    91,    -1,
   19465             :       93,    94,    95,    96,    97,    98,    -1,   100,   101,   102,
   19466             :      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
   19467             :      113,   114,   115,   116,   117,   118,   119,   120,   121,    -1,
   19468             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   19469             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   19470             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,    -1,
   19471             :      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   19472             :      163,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
   19473             :       -1,   174,   175,   176,    -1,   178,   179,   180,   181,   182,
   19474             :       -1,   184,   185,    -1,   187,   188,   189,    -1,   191,   192,
   19475             :      193,   194,   195,   196,   197,   198,   199,   200,    -1,   202,
   19476             :      203,   204,   205,   206,   207,   208,   209,    -1,   211,   212,
   19477             :      213,   214,   215,   216,   217,   218,   219,    -1,   221,    -1,
   19478             :      223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
   19479             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   19480             :      243,   244,   245,    -1,    -1,   248,   249,   250,   251,   252,
   19481             :       -1,   254,   255,   256,   257,   258,   259,   260,   261,   262,
   19482             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   19483             :      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
   19484             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   19485             :      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
   19486             :      303,    -1,   305,   306,   307,    -1,    -1,   310,   311,   312,
   19487             :       -1,    -1,   315,   316,   317,   318,   319,   320,   321,   322,
   19488             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   19489             :      333,   334,    -1,   336,   337,   338,   339,   340,   341,   342,
   19490             :      343,   344,    -1,   346,   347,   348,   349,   350,   351,   352,
   19491             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   19492             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   19493             :      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
   19494             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   19495             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,   402,
   19496             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   19497             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   19498             :      423,   424,   425,   426,   427,   428,   429,   430,   431,    -1,
   19499             :      433,   434,   435,    -1,   437,   438,   439,   440,   441,   442,
   19500             :      443,   444,    -1,   446,   447,   448,    -1,    -1,   451,   452,
   19501             :      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
   19502             :      463,   464,   465,    -1,   467,   468,   469,   470,   471,   472,
   19503             :      473,    -1,   475,   476,   477,   478,   479,   480,   481,    -1,
   19504             :      483,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   19505             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   19506             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   19507             :      513,    -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19508             :       -1,    -1,    -1,    -1,   527,   528,    -1,    -1,    -1,    -1,
   19509             :       -1,    -1,    -1,   536,   537,     3,    -1,     5,     6,    -1,
   19510             :        8,     9,    10,    11,    12,    -1,    -1,    -1,    -1,    -1,
   19511             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   19512             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
   19513             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   19514             :       48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
   19515             :       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
   19516             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   19517             :       -1,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
   19518             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   19519             :       98,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
   19520             :      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
   19521             :      118,   119,   120,   121,    -1,   123,   124,   125,   126,   127,
   19522             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   19523             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   19524             :      148,   149,   150,   151,    -1,   153,   154,   155,   156,   157,
   19525             :      158,   159,   160,   161,   162,   163,   164,    -1,   166,   167,
   19526             :      168,   169,   170,    -1,   172,    -1,   174,   175,   176,    -1,
   19527             :      178,   179,   180,   181,   182,    -1,   184,   185,    -1,   187,
   19528             :      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
   19529             :      198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
   19530             :      208,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
   19531             :      218,   219,    -1,   221,    -1,   223,   224,   225,   226,   227,
   19532             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   19533             :      238,   239,   240,   241,   242,   243,   244,   245,    -1,    -1,
   19534             :      248,   249,   250,   251,   252,    -1,   254,   255,   256,   257,
   19535             :      258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   19536             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   19537             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   19538             :      288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
   19539             :      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
   19540             :       -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,   317,
   19541             :      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
   19542             :      328,   329,   330,   331,   332,   333,   334,    -1,   336,   337,
   19543             :      338,   339,   340,   341,   342,   343,   344,    -1,   346,   347,
   19544             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   19545             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   19546             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   19547             :      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
   19548             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   19549             :      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
   19550             :      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   19551             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   19552             :      428,   429,   430,   431,    -1,   433,   434,   435,    -1,   437,
   19553             :      438,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
   19554             :      448,    -1,    -1,   451,   452,   453,   454,   455,   456,   457,
   19555             :      458,   459,   460,   461,   462,   463,   464,   465,    -1,   467,
   19556             :      468,   469,   470,   471,   472,   473,    -1,   475,   476,   477,
   19557             :      478,   479,   480,   481,    -1,   483,   484,   485,   486,   487,
   19558             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   19559             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   19560             :      508,   509,   510,   511,   512,   513,    -1,   515,    -1,    -1,
   19561             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   527,
   19562             :      528,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   536,   537,
   19563             :        3,    -1,     5,     6,    -1,     8,     9,    10,    11,    12,
   19564             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   19565             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   19566             :       -1,    -1,    -1,    -1,    37,    -1,    -1,    40,    41,    42,
   19567             :       -1,    44,    45,    46,    47,    48,    49,    50,    51,    52,
   19568             :       53,    54,    55,    56,    -1,    58,    59,    60,    61,    62,
   19569             :       63,    64,    65,    66,    67,    68,    69,    70,    71,    -1,
   19570             :       73,    74,    75,    76,    77,    -1,    79,    -1,    81,    82,
   19571             :       83,    84,    85,    86,    87,    88,    89,    90,    91,    -1,
   19572             :       93,    94,    95,    96,    97,    98,    -1,   100,   101,   102,
   19573             :      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
   19574             :      113,   114,   115,   116,   117,   118,   119,   120,   121,    -1,
   19575             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   19576             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   19577             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,    -1,
   19578             :      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   19579             :      163,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
   19580             :       -1,   174,   175,   176,    -1,   178,   179,   180,   181,   182,
   19581             :       -1,   184,   185,    -1,   187,   188,   189,    -1,   191,   192,
   19582             :      193,   194,   195,   196,   197,   198,   199,   200,    -1,   202,
   19583             :      203,   204,   205,   206,   207,   208,   209,    -1,   211,   212,
   19584             :      213,   214,   215,   216,   217,   218,   219,    -1,   221,    -1,
   19585             :      223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
   19586             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   19587             :      243,   244,   245,    -1,    -1,   248,   249,   250,   251,   252,
   19588             :       -1,   254,   255,   256,   257,   258,   259,   260,   261,   262,
   19589             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   19590             :      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
   19591             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   19592             :      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
   19593             :      303,    -1,   305,   306,   307,    -1,    -1,   310,   311,   312,
   19594             :       -1,    -1,   315,   316,   317,   318,   319,   320,   321,   322,
   19595             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   19596             :      333,   334,    -1,   336,   337,   338,   339,   340,   341,   342,
   19597             :      343,   344,    -1,   346,   347,   348,   349,   350,   351,   352,
   19598             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   19599             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   19600             :      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
   19601             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   19602             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,   402,
   19603             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   19604             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   19605             :      423,   424,   425,   426,   427,   428,   429,   430,   431,    -1,
   19606             :      433,   434,   435,    -1,   437,   438,   439,   440,   441,   442,
   19607             :      443,   444,    -1,   446,   447,   448,    -1,    -1,   451,   452,
   19608             :      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
   19609             :      463,   464,   465,    -1,   467,   468,   469,   470,   471,   472,
   19610             :      473,    -1,   475,   476,   477,   478,   479,   480,   481,    -1,
   19611             :      483,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   19612             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   19613             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   19614             :      513,    -1,   515,    -1,    -1,    -1,    -1,    -1,     3,    -1,
   19615             :       -1,    -1,    -1,    -1,   527,   528,    -1,    -1,    -1,    -1,
   19616             :       -1,    -1,    -1,   536,   537,    20,    21,    22,    23,    24,
   19617             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   19618             :       -1,    -1,    -1,    38,    -1,    40,    41,    42,    -1,    44,
   19619             :       45,    46,    47,    -1,    49,    50,    51,    52,    53,    -1,
   19620             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   19621             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   19622             :       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    84,
   19623             :       85,    86,    -1,    88,    89,    90,    91,    -1,    93,    94,
   19624             :       95,    96,    97,    98,    -1,   100,   101,   102,   103,    -1,
   19625             :       -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,
   19626             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   19627             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   19628             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   19629             :      145,   146,    -1,   148,   149,   150,   151,    -1,   153,   154,
   19630             :      155,   156,   157,   158,   159,   160,   161,   162,    -1,   164,
   19631             :       -1,   166,   167,   168,   169,   170,    -1,   172,    -1,   174,
   19632             :      175,    -1,    -1,   178,   179,   180,   181,   182,    -1,   184,
   19633             :      185,    -1,   187,   188,   189,    -1,   191,   192,   193,   194,
   19634             :      195,    -1,   197,   198,   199,   200,    -1,   202,   203,   204,
   19635             :      205,   206,   207,   208,   209,    -1,   211,   212,   213,   214,
   19636             :      215,   216,   217,   218,   219,    -1,   221,    -1,   223,    -1,
   19637             :       -1,   226,   227,   228,   229,   230,   231,   232,   233,   234,
   19638             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   19639             :      245,    -1,    -1,   248,   249,   250,   251,    -1,    -1,   254,
   19640             :      255,   256,    -1,    -1,   259,   260,   261,   262,   263,   264,
   19641             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   19642             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
   19643             :      285,   286,   287,   288,   289,   290,   291,    -1,   293,   294,
   19644             :       -1,   296,    -1,   298,   299,   300,   301,   302,   303,    -1,
   19645             :      305,   306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,
   19646             :      315,   316,   317,    -1,   319,    -1,   321,   322,   323,   324,
   19647             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   19648             :       -1,   336,   337,   338,   339,   340,   341,   342,   343,   344,
   19649             :       -1,   346,   347,   348,   349,   350,   351,   352,   353,   354,
   19650             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   19651             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   19652             :      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
   19653             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   19654             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   19655             :      405,   406,   407,    -1,   409,   410,   411,   412,    -1,   414,
   19656             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   19657             :      425,   426,   427,   428,   429,   430,   431,    -1,   433,   434,
   19658             :       -1,    -1,   437,    -1,   439,   440,   441,   442,   443,   444,
   19659             :       -1,   446,   447,   448,    -1,    -1,   451,   452,   453,   454,
   19660             :      455,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
   19661             :      465,    -1,    -1,   468,   469,   470,   471,   472,    -1,    -1,
   19662             :      475,   476,   477,   478,   479,   480,   481,    -1,   483,    -1,
   19663             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   19664             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   19665             :      505,   506,   507,   508,   509,   510,   511,   512,   513,    -1,
   19666             :       -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,
   19667             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19668             :       -1,    -1,   537,    20,    21,    22,    23,    24,    25,    26,
   19669             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   19670             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   19671             :       47,    48,    49,    50,    51,    -1,    53,    54,    55,    56,
   19672             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   19673             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   19674             :       -1,    -1,    79,    -1,    81,    82,    83,    84,    85,    86,
   19675             :       87,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   19676             :       97,    98,    -1,   100,   101,   102,   103,    -1,    -1,    -1,
   19677             :      107,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   19678             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   19679             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   19680             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   19681             :       -1,   148,   149,   150,   151,    -1,   153,   154,   155,   156,
   19682             :       -1,   158,   159,   160,   161,    -1,    -1,   164,    -1,   166,
   19683             :      167,   168,   169,   170,    -1,   172,    -1,   174,   175,   176,
   19684             :       -1,   178,   179,   180,   181,   182,    -1,   184,    -1,    -1,
   19685             :       -1,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
   19686             :      197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
   19687             :      207,   208,   209,    -1,   211,   212,   213,   214,   215,   216,
   19688             :      217,   218,   219,    -1,   221,    -1,   223,   224,   225,   226,
   19689             :      227,   228,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19690             :       -1,    -1,   239,   240,   241,   242,   243,   244,   245,    -1,
   19691             :       -1,   248,    -1,   250,   251,   252,    -1,   254,   255,   256,
   19692             :       -1,    -1,   259,   260,   261,   262,   263,   264,   265,   266,
   19693             :      267,   268,    -1,   270,   271,   272,   273,   274,   275,   276,
   19694             :      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
   19695             :      287,   288,    -1,    -1,   291,    -1,   293,   294,   295,   296,
   19696             :       -1,    -1,   299,   300,   301,   302,   303,    -1,   305,   306,
   19697             :      307,    -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,
   19698             :      317,   318,   319,   320,    -1,   322,   323,   324,   325,   326,
   19699             :      327,   328,   329,   330,   331,   332,   333,   334,    -1,   336,
   19700             :      337,   338,    -1,   340,    -1,   342,   343,   344,    -1,   346,
   19701             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   19702             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   19703             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   19704             :      377,   378,   379,   380,   381,   382,   383,   384,    -1,   386,
   19705             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   19706             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   19707             :      407,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
   19708             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   19709             :      427,   428,   429,    -1,   431,    -1,   433,   434,    -1,    -1,
   19710             :      437,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
   19711             :      447,   448,    -1,    -1,   451,   452,    -1,   454,    -1,    -1,
   19712             :      457,   458,   459,   460,   461,   462,   463,   464,   465,    -1,
   19713             :       -1,   468,   469,   470,   471,   472,    -1,    -1,   475,   476,
   19714             :      477,   478,   479,    -1,   481,   482,   483,   484,   485,   486,
   19715             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   19716             :      497,   498,   499,    -1,     3,    -1,    -1,    -1,    -1,    -1,
   19717             :       -1,    -1,    -1,    -1,   511,   512,   513,    -1,    -1,    -1,
   19718             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   19719             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   19720             :      537,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
   19721             :       49,    50,    51,    -1,    53,    54,    55,    56,    -1,    58,
   19722             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   19723             :       69,    70,    71,    -1,    73,    74,    75,    76,    -1,    -1,
   19724             :       79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
   19725             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   19726             :       -1,   100,   101,   102,   103,    -1,    -1,    -1,   107,    -1,
   19727             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   19728             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   19729             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   19730             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   19731             :      149,   150,   151,    -1,   153,   154,   155,   156,    -1,   158,
   19732             :      159,   160,   161,    -1,    -1,   164,    -1,   166,   167,   168,
   19733             :      169,   170,    -1,   172,    -1,   174,   175,   176,    -1,   178,
   19734             :      179,   180,   181,   182,    -1,   184,    -1,    -1,    -1,   188,
   19735             :      189,    -1,   191,   192,   193,   194,   195,   196,   197,   198,
   19736             :      199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
   19737             :      209,    -1,   211,   212,   213,   214,   215,   216,   217,   218,
   19738             :      219,    -1,   221,    -1,   223,   224,   225,   226,   227,   228,
   19739             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19740             :      239,   240,   241,   242,   243,   244,   245,    -1,    -1,   248,
   19741             :       -1,   250,   251,   252,    -1,   254,   255,   256,    -1,    -1,
   19742             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   19743             :       -1,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   19744             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   19745             :       -1,    -1,   291,    -1,   293,   294,   295,   296,    -1,    -1,
   19746             :      299,   300,   301,   302,   303,    -1,   305,   306,   307,    -1,
   19747             :       -1,   310,   311,   312,    -1,    -1,   315,   316,   317,   318,
   19748             :      319,   320,    -1,   322,   323,   324,   325,   326,   327,   328,
   19749             :      329,   330,   331,   332,   333,   334,    -1,   336,   337,   338,
   19750             :       -1,   340,    -1,   342,   343,   344,    -1,   346,   347,   348,
   19751             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   19752             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   19753             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   19754             :      379,   380,   381,   382,   383,   384,    -1,   386,   387,   388,
   19755             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   19756             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,   408,
   19757             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   19758             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   19759             :      429,    -1,   431,    -1,   433,   434,    -1,    -1,   437,   438,
   19760             :      439,   440,   441,   442,   443,   444,    -1,   446,   447,   448,
   19761             :       -1,    -1,   451,   452,    -1,   454,    -1,    -1,   457,   458,
   19762             :      459,   460,   461,   462,   463,   464,   465,    -1,    -1,   468,
   19763             :      469,   470,   471,   472,    -1,    -1,   475,   476,   477,   478,
   19764             :      479,    -1,   481,   482,   483,   484,   485,   486,   487,   488,
   19765             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   19766             :      499,    -1,     3,    -1,     5,     6,    -1,     8,     9,    10,
   19767             :       11,    12,   511,   512,   513,    -1,    -1,    -1,    -1,    20,
   19768             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   19769             :       31,    32,    -1,    -1,    -1,    -1,    37,    -1,   537,    40,
   19770             :       41,    42,    -1,    44,    45,    46,    47,    48,    49,    50,
   19771             :       51,    52,    53,    54,    55,    56,    -1,    58,    59,    60,
   19772             :       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
   19773             :       71,    -1,    73,    74,    75,    76,    77,    -1,    79,    -1,
   19774             :       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
   19775             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,   100,
   19776             :      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
   19777             :      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
   19778             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   19779             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   19780             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   19781             :      151,    -1,   153,   154,   155,   156,   157,   158,   159,   160,
   19782             :      161,   162,   163,   164,    -1,   166,   167,   168,   169,   170,
   19783             :       -1,   172,    -1,   174,   175,   176,    -1,   178,   179,   180,
   19784             :      181,   182,    -1,   184,   185,    -1,   187,   188,   189,    -1,
   19785             :      191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
   19786             :       -1,   202,   203,   204,   205,   206,   207,   208,   209,    -1,
   19787             :      211,   212,   213,   214,   215,   216,   217,   218,   219,    -1,
   19788             :      221,    -1,   223,   224,   225,   226,   227,   228,   229,   230,
   19789             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   19790             :      241,   242,   243,   244,   245,    -1,    -1,   248,   249,   250,
   19791             :      251,   252,    -1,   254,   255,   256,   257,   258,   259,   260,
   19792             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   19793             :      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
   19794             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   19795             :      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
   19796             :      301,   302,   303,    -1,   305,   306,   307,    -1,    -1,   310,
   19797             :      311,   312,    -1,    -1,   315,   316,   317,   318,   319,   320,
   19798             :      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
   19799             :      331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
   19800             :      341,   342,   343,   344,    -1,   346,   347,   348,   349,   350,
   19801             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   19802             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   19803             :      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
   19804             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   19805             :      391,   392,   393,   394,   395,   396,   397,   398,   399,   400,
   19806             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   19807             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   19808             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   19809             :      431,    -1,   433,   434,   435,   436,   437,   438,   439,   440,
   19810             :      441,   442,   443,   444,    -1,   446,   447,   448,    -1,    -1,
   19811             :      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
   19812             :      461,   462,   463,   464,   465,    -1,   467,   468,   469,   470,
   19813             :      471,   472,   473,    -1,   475,   476,   477,   478,   479,   480,
   19814             :      481,    -1,   483,   484,   485,   486,   487,   488,    -1,    -1,
   19815             :      491,    -1,   493,   494,   495,   496,   497,   498,   499,   500,
   19816             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   19817             :      511,   512,   513,    -1,   515,    -1,   517,    -1,    -1,    -1,
   19818             :       -1,    -1,    -1,    -1,    -1,    -1,   527,   528,    -1,    -1,
   19819             :       -1,     3,    -1,     5,     6,   536,     8,     9,    10,    11,
   19820             :       12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   19821             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   19822             :       32,    -1,    -1,    -1,    -1,    37,    -1,    -1,    40,    41,
   19823             :       42,    -1,    44,    45,    46,    47,    48,    49,    50,    51,
   19824             :       52,    53,    54,    55,    56,    -1,    58,    59,    60,    61,
   19825             :       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
   19826             :       -1,    73,    74,    75,    76,    77,    -1,    79,    -1,    81,
   19827             :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
   19828             :       -1,    93,    94,    95,    96,    97,    98,    -1,   100,   101,
   19829             :      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
   19830             :      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
   19831             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   19832             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   19833             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   19834             :       -1,   153,   154,   155,   156,   157,   158,   159,   160,   161,
   19835             :      162,   163,   164,    -1,   166,   167,   168,   169,   170,    -1,
   19836             :      172,    -1,   174,   175,   176,    -1,   178,   179,   180,   181,
   19837             :      182,    -1,   184,   185,    -1,   187,   188,   189,    -1,   191,
   19838             :      192,   193,   194,   195,   196,   197,   198,   199,   200,    -1,
   19839             :      202,   203,   204,   205,   206,   207,   208,   209,    -1,   211,
   19840             :      212,   213,   214,   215,   216,   217,   218,   219,    -1,   221,
   19841             :       -1,   223,   224,   225,   226,   227,   228,   229,   230,   231,
   19842             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   19843             :      242,   243,   244,   245,    -1,    -1,   248,   249,   250,   251,
   19844             :      252,    -1,   254,   255,   256,   257,   258,   259,   260,   261,
   19845             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   19846             :      272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
   19847             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   19848             :      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
   19849             :      302,   303,    -1,   305,   306,   307,    -1,    -1,   310,   311,
   19850             :      312,    -1,    -1,   315,   316,   317,   318,   319,   320,   321,
   19851             :      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   19852             :      332,   333,   334,    -1,   336,   337,   338,   339,   340,   341,
   19853             :      342,   343,   344,    -1,   346,   347,   348,   349,   350,   351,
   19854             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   19855             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   19856             :      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
   19857             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   19858             :      392,   393,   394,   395,   396,   397,   398,   399,   400,   401,
   19859             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   19860             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   19861             :      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
   19862             :       -1,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   19863             :      442,   443,   444,    -1,   446,   447,   448,    -1,    -1,   451,
   19864             :      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
   19865             :      462,   463,   464,   465,    -1,   467,   468,   469,   470,   471,
   19866             :      472,   473,    -1,   475,   476,   477,   478,   479,   480,   481,
   19867             :       -1,   483,   484,   485,   486,   487,   488,    -1,    -1,   491,
   19868             :       -1,   493,   494,   495,   496,   497,   498,   499,   500,   501,
   19869             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   19870             :      512,   513,    -1,   515,    -1,   517,    -1,    -1,    -1,    -1,
   19871             :       -1,    -1,    -1,    -1,    -1,   527,   528,    -1,    -1,    -1,
   19872             :        3,    -1,     5,     6,   536,     8,     9,    10,    11,    12,
   19873             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   19874             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   19875             :       -1,    -1,    -1,    -1,    37,    -1,    -1,    40,    41,    42,
   19876             :       -1,    44,    45,    46,    47,    48,    49,    50,    51,    52,
   19877             :       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
   19878             :       63,    64,    65,    66,    67,    68,    69,    70,    71,    -1,
   19879             :       73,    74,    75,    76,    77,    -1,    79,    -1,    81,    82,
   19880             :       83,    84,    85,    86,    87,    88,    89,    90,    91,    -1,
   19881             :       93,    94,    95,    96,    97,    98,    -1,   100,   101,   102,
   19882             :      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
   19883             :      113,   114,   115,   116,   117,   118,   119,   120,   121,    -1,
   19884             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   19885             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   19886             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,    -1,
   19887             :      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   19888             :      163,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
   19889             :       -1,   174,   175,   176,   177,   178,   179,   180,   181,   182,
   19890             :       -1,   184,   185,    -1,   187,   188,   189,    -1,   191,   192,
   19891             :      193,   194,   195,   196,   197,   198,   199,   200,    -1,   202,
   19892             :      203,   204,   205,   206,   207,   208,   209,    -1,   211,   212,
   19893             :      213,   214,   215,   216,   217,   218,   219,    -1,   221,    -1,
   19894             :      223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
   19895             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   19896             :      243,   244,   245,    -1,   247,   248,   249,   250,   251,   252,
   19897             :       -1,   254,   255,   256,   257,   258,   259,   260,   261,   262,
   19898             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   19899             :      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
   19900             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   19901             :      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
   19902             :      303,    -1,   305,   306,   307,    -1,    -1,   310,   311,   312,
   19903             :       -1,    -1,   315,   316,   317,   318,   319,   320,   321,   322,
   19904             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   19905             :      333,   334,    -1,   336,   337,   338,   339,   340,   341,   342,
   19906             :      343,   344,    -1,   346,   347,   348,   349,   350,   351,   352,
   19907             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   19908             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   19909             :      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
   19910             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   19911             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,   402,
   19912             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   19913             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   19914             :      423,   424,   425,   426,   427,   428,   429,   430,   431,    -1,
   19915             :      433,   434,   435,    -1,   437,   438,   439,   440,   441,   442,
   19916             :      443,   444,    -1,   446,   447,   448,    -1,   450,   451,   452,
   19917             :      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
   19918             :      463,   464,   465,    -1,   467,   468,   469,   470,   471,   472,
   19919             :      473,    -1,   475,   476,   477,   478,   479,   480,   481,    -1,
   19920             :      483,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   19921             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   19922             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   19923             :      513,    -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19924             :       -1,    -1,    -1,    -1,   527,   528,    -1,    -1,    -1,     3,
   19925             :       -1,     5,     6,   536,     8,     9,    10,    11,    12,    -1,
   19926             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   19927             :       24,    25,    26,    27,    28,    29,    30,    31,    32,    -1,
   19928             :       -1,    -1,    36,    37,    -1,    -1,    40,    41,    42,    -1,
   19929             :       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
   19930             :       54,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   19931             :       64,    65,    66,    67,    68,    69,    70,    71,    -1,    73,
   19932             :       74,    75,    76,    77,    -1,    79,    -1,    81,    82,    83,
   19933             :       84,    85,    86,    87,    88,    89,    90,    91,    -1,    93,
   19934             :       94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
   19935             :      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
   19936             :      114,   115,   116,   117,   118,   119,   120,   121,    -1,   123,
   19937             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   19938             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   19939             :      144,   145,   146,    -1,   148,   149,   150,   151,    -1,   153,
   19940             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   19941             :      164,    -1,   166,   167,   168,   169,   170,    -1,   172,    -1,
   19942             :      174,   175,   176,    -1,   178,   179,   180,   181,   182,    -1,
   19943             :      184,   185,    -1,   187,   188,   189,    -1,   191,   192,   193,
   19944             :      194,   195,   196,   197,   198,   199,   200,    -1,   202,   203,
   19945             :      204,   205,   206,   207,   208,   209,    -1,   211,   212,   213,
   19946             :      214,   215,   216,   217,   218,   219,    -1,   221,    -1,   223,
   19947             :      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
   19948             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   19949             :      244,   245,    -1,    -1,   248,   249,   250,   251,   252,    -1,
   19950             :      254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
   19951             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   19952             :      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
   19953             :      284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
   19954             :      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
   19955             :       -1,   305,   306,   307,    -1,    -1,   310,   311,   312,    -1,
   19956             :       -1,   315,   316,   317,   318,   319,   320,   321,   322,   323,
   19957             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   19958             :      334,    -1,   336,   337,   338,   339,   340,   341,   342,   343,
   19959             :      344,    -1,   346,   347,   348,   349,   350,   351,   352,   353,
   19960             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   19961             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   19962             :      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
   19963             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   19964             :      394,   395,    -1,   397,   398,   399,   400,   401,   402,   403,
   19965             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   19966             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   19967             :      424,   425,   426,   427,   428,   429,   430,   431,    -1,   433,
   19968             :      434,   435,    -1,   437,   438,   439,   440,   441,   442,   443,
   19969             :      444,    -1,   446,   447,   448,    -1,    -1,   451,   452,   453,
   19970             :      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
   19971             :      464,   465,    -1,   467,   468,   469,   470,   471,   472,   473,
   19972             :       -1,   475,   476,   477,   478,   479,   480,   481,    -1,   483,
   19973             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   19974             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   19975             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   19976             :       -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19977             :       -1,    -1,    -1,   527,   528,    -1,    -1,    -1,     3,    -1,
   19978             :        5,     6,   536,     8,     9,    10,    11,    12,    -1,    -1,
   19979             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   19980             :       25,    26,    27,    28,    29,    30,    31,    32,    -1,    -1,
   19981             :       -1,    36,    37,    -1,    -1,    40,    41,    42,    -1,    44,
   19982             :       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
   19983             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   19984             :       65,    66,    67,    68,    69,    70,    71,    -1,    73,    74,
   19985             :       75,    76,    77,    -1,    79,    -1,    81,    82,    83,    84,
   19986             :       85,    86,    87,    88,    89,    90,    91,    -1,    93,    94,
   19987             :       95,    96,    97,    98,    -1,   100,   101,   102,   103,   104,
   19988             :      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
   19989             :      115,   116,   117,   118,   119,   120,   121,    -1,   123,   124,
   19990             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   19991             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   19992             :      145,   146,    -1,   148,   149,   150,   151,    -1,   153,   154,
   19993             :      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
   19994             :       -1,   166,   167,   168,   169,   170,    -1,   172,    -1,   174,
   19995             :      175,   176,    -1,   178,   179,   180,   181,   182,    -1,   184,
   19996             :      185,    -1,   187,   188,   189,    -1,   191,   192,   193,   194,
   19997             :      195,   196,   197,   198,   199,   200,    -1,   202,   203,   204,
   19998             :      205,   206,   207,   208,   209,    -1,   211,   212,   213,   214,
   19999             :      215,   216,   217,   218,   219,    -1,   221,    -1,   223,   224,
   20000             :      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
   20001             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   20002             :      245,    -1,    -1,   248,   249,   250,   251,   252,    -1,   254,
   20003             :      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
   20004             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   20005             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
   20006             :      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
   20007             :      295,   296,   297,   298,   299,   300,   301,   302,   303,    -1,
   20008             :      305,   306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,
   20009             :      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
   20010             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   20011             :       -1,   336,   337,   338,   339,   340,   341,   342,   343,   344,
   20012             :       -1,   346,   347,   348,   349,   350,   351,   352,   353,   354,
   20013             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   20014             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   20015             :      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
   20016             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   20017             :      395,    -1,   397,   398,   399,   400,   401,   402,   403,   404,
   20018             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   20019             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   20020             :      425,   426,   427,   428,   429,   430,   431,    -1,   433,   434,
   20021             :      435,    -1,   437,   438,   439,   440,   441,   442,   443,   444,
   20022             :       -1,   446,   447,   448,    -1,    -1,   451,   452,   453,   454,
   20023             :      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   20024             :      465,    -1,   467,   468,   469,   470,   471,   472,   473,    -1,
   20025             :      475,   476,   477,   478,   479,   480,   481,    -1,   483,   484,
   20026             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   20027             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   20028             :      505,   506,   507,   508,   509,   510,   511,   512,   513,    -1,
   20029             :      515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20030             :       -1,    -1,   527,   528,    -1,    -1,    -1,     3,    -1,     5,
   20031             :        6,   536,     8,     9,    10,    11,    12,    -1,    -1,    -1,
   20032             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   20033             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   20034             :       -1,    37,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   20035             :       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
   20036             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    65,
   20037             :       66,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   20038             :       76,    77,    -1,    79,    -1,    81,    82,    83,    84,    85,
   20039             :       86,    87,    88,    89,    90,    91,    -1,    93,    94,    95,
   20040             :       96,    97,    98,    -1,   100,   101,   102,   103,   104,   105,
   20041             :      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
   20042             :      116,   117,   118,   119,   120,   121,    -1,   123,   124,   125,
   20043             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   20044             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   20045             :      146,    -1,   148,   149,   150,   151,    -1,   153,   154,   155,
   20046             :      156,   157,   158,   159,   160,   161,   162,   163,   164,    -1,
   20047             :      166,   167,   168,   169,   170,    -1,   172,    -1,   174,   175,
   20048             :      176,    -1,   178,   179,   180,   181,   182,    -1,   184,   185,
   20049             :       -1,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
   20050             :      196,   197,   198,   199,   200,    -1,   202,   203,   204,   205,
   20051             :      206,   207,   208,   209,    -1,   211,   212,   213,   214,   215,
   20052             :      216,   217,   218,   219,    -1,   221,    -1,   223,   224,   225,
   20053             :      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
   20054             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   20055             :       -1,    -1,   248,   249,   250,   251,   252,    -1,   254,   255,
   20056             :      256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
   20057             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   20058             :      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
   20059             :      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
   20060             :      296,   297,   298,   299,   300,   301,   302,   303,    -1,   305,
   20061             :      306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,   315,
   20062             :      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
   20063             :      326,   327,   328,   329,   330,   331,   332,   333,   334,    -1,
   20064             :      336,   337,   338,   339,   340,   341,   342,   343,   344,    -1,
   20065             :      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   20066             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   20067             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   20068             :       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
   20069             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   20070             :       -1,   397,   398,   399,   400,   401,   402,   403,   404,   405,
   20071             :      406,   407,   408,   409,   410,   411,   412,    -1,   414,   415,
   20072             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   20073             :      426,   427,   428,   429,   430,   431,    -1,   433,   434,   435,
   20074             :       -1,   437,   438,   439,   440,   441,   442,   443,   444,    -1,
   20075             :      446,   447,   448,    -1,    -1,   451,   452,   453,   454,   455,
   20076             :      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
   20077             :       -1,   467,   468,   469,   470,   471,   472,   473,    -1,   475,
   20078             :      476,   477,   478,   479,   480,   481,    -1,   483,   484,   485,
   20079             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   20080             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   20081             :      506,   507,   508,   509,   510,   511,   512,   513,    -1,   515,
   20082             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20083             :       -1,   527,   528,    -1,    -1,    -1,    -1,    -1,   534,   535,
   20084             :      536,     3,    -1,     5,     6,    -1,     8,     9,    10,    11,
   20085             :       12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   20086             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   20087             :       32,    -1,    -1,    -1,    -1,    37,    -1,    -1,    40,    41,
   20088             :       42,    -1,    44,    45,    46,    47,    48,    49,    50,    51,
   20089             :       52,    53,    54,    55,    56,    -1,    58,    59,    60,    61,
   20090             :       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
   20091             :       -1,    73,    74,    75,    76,    77,    -1,    79,    -1,    81,
   20092             :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
   20093             :       -1,    93,    94,    95,    96,    97,    98,    -1,   100,   101,
   20094             :      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
   20095             :      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
   20096             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   20097             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   20098             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   20099             :       -1,   153,   154,   155,   156,   157,   158,   159,   160,   161,
   20100             :      162,   163,   164,    -1,   166,   167,   168,   169,   170,    -1,
   20101             :      172,    -1,   174,   175,   176,    -1,   178,   179,   180,   181,
   20102             :      182,    -1,   184,   185,    -1,   187,   188,   189,    -1,   191,
   20103             :      192,   193,   194,   195,   196,   197,   198,   199,   200,    -1,
   20104             :      202,   203,   204,   205,   206,   207,   208,   209,    -1,   211,
   20105             :      212,   213,   214,   215,   216,   217,   218,   219,    -1,   221,
   20106             :       -1,   223,   224,   225,   226,   227,   228,   229,   230,   231,
   20107             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   20108             :      242,   243,   244,   245,    -1,    -1,   248,   249,   250,   251,
   20109             :      252,    -1,   254,   255,   256,   257,   258,   259,   260,   261,
   20110             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   20111             :      272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
   20112             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   20113             :      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
   20114             :      302,   303,    -1,   305,   306,   307,    -1,    -1,   310,   311,
   20115             :      312,    -1,    -1,   315,   316,   317,   318,   319,   320,   321,
   20116             :      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   20117             :      332,   333,   334,    -1,   336,   337,   338,   339,   340,   341,
   20118             :      342,   343,   344,    -1,   346,   347,   348,   349,   350,   351,
   20119             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   20120             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   20121             :      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
   20122             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   20123             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   20124             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   20125             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   20126             :      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
   20127             :       -1,   433,   434,   435,    -1,   437,   438,   439,   440,   441,
   20128             :      442,   443,   444,    -1,   446,   447,   448,    -1,    -1,   451,
   20129             :      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
   20130             :      462,   463,   464,   465,    -1,   467,   468,   469,   470,   471,
   20131             :      472,   473,    -1,   475,   476,   477,   478,   479,   480,   481,
   20132             :       -1,   483,   484,   485,   486,   487,   488,    -1,    -1,   491,
   20133             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   20134             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   20135             :      512,   513,    -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,
   20136             :       -1,    -1,    -1,    -1,    -1,   527,   528,   529,    -1,    -1,
   20137             :        3,    -1,     5,     6,   536,     8,     9,    10,    11,    12,
   20138             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   20139             :       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
   20140             :       -1,    -1,    -1,    -1,    37,    -1,    -1,    40,    41,    42,
   20141             :       -1,    44,    45,    46,    47,    48,    49,    50,    51,    52,
   20142             :       53,    54,    55,    56,    -1,    58,    59,    60,    61,    62,
   20143             :       63,    64,    65,    66,    67,    68,    69,    70,    71,    -1,
   20144             :       73,    74,    75,    76,    77,    -1,    79,    -1,    81,    82,
   20145             :       83,    84,    85,    86,    87,    88,    89,    90,    91,    -1,
   20146             :       93,    94,    95,    96,    97,    98,    -1,   100,   101,   102,
   20147             :      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
   20148             :      113,   114,   115,   116,   117,   118,   119,   120,   121,    -1,
   20149             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   20150             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   20151             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,    -1,
   20152             :      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   20153             :      163,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
   20154             :       -1,   174,   175,   176,    -1,   178,   179,   180,   181,   182,
   20155             :       -1,   184,   185,    -1,   187,   188,   189,    -1,   191,   192,
   20156             :      193,   194,   195,   196,   197,   198,   199,   200,    -1,   202,
   20157             :      203,   204,   205,   206,   207,   208,   209,    -1,   211,   212,
   20158             :      213,   214,   215,   216,   217,   218,   219,    -1,   221,    -1,
   20159             :      223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
   20160             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   20161             :      243,   244,   245,    -1,    -1,   248,   249,   250,   251,   252,
   20162             :       -1,   254,   255,   256,   257,   258,   259,   260,   261,   262,
   20163             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   20164             :      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
   20165             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   20166             :      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
   20167             :      303,    -1,   305,   306,   307,    -1,    -1,   310,   311,   312,
   20168             :       -1,    -1,   315,   316,   317,   318,   319,   320,   321,   322,
   20169             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   20170             :      333,   334,    -1,   336,   337,   338,   339,   340,   341,   342,
   20171             :      343,   344,    -1,   346,   347,   348,   349,   350,   351,   352,
   20172             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   20173             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   20174             :      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
   20175             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   20176             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,   402,
   20177             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   20178             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   20179             :      423,   424,   425,   426,   427,   428,   429,   430,   431,    -1,
   20180             :      433,   434,   435,    -1,   437,   438,   439,   440,   441,   442,
   20181             :      443,   444,    -1,   446,   447,   448,    -1,    -1,   451,   452,
   20182             :      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
   20183             :      463,   464,   465,    -1,   467,   468,   469,   470,   471,   472,
   20184             :      473,    -1,   475,   476,   477,   478,   479,   480,   481,    -1,
   20185             :      483,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   20186             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   20187             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   20188             :      513,    -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20189             :       -1,    -1,    -1,    -1,   527,   528,    -1,    -1,    -1,     3,
   20190             :       -1,     5,     6,   536,     8,     9,    10,    11,    12,    -1,
   20191             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   20192             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   20193             :       -1,    -1,    -1,    37,    -1,    -1,    40,    41,    42,    -1,
   20194             :       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
   20195             :       54,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   20196             :       64,    65,    66,    67,    68,    69,    70,    71,    -1,    73,
   20197             :       74,    75,    76,    77,    -1,    79,    -1,    81,    82,    83,
   20198             :       84,    85,    86,    87,    88,    89,    90,    91,    -1,    93,
   20199             :       94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
   20200             :      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
   20201             :      114,   115,   116,   117,   118,   119,   120,   121,    -1,   123,
   20202             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   20203             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   20204             :      144,   145,   146,    -1,   148,   149,   150,   151,    -1,   153,
   20205             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   20206             :      164,    -1,   166,   167,   168,   169,   170,    -1,   172,    -1,
   20207             :      174,   175,   176,    -1,   178,   179,   180,   181,   182,    -1,
   20208             :      184,   185,    -1,   187,   188,   189,    -1,   191,   192,   193,
   20209             :      194,   195,   196,   197,   198,   199,   200,    -1,   202,   203,
   20210             :      204,   205,   206,   207,   208,   209,    -1,   211,   212,   213,
   20211             :      214,   215,   216,   217,   218,   219,    -1,   221,    -1,   223,
   20212             :      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
   20213             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   20214             :      244,   245,    -1,    -1,   248,   249,   250,   251,   252,    -1,
   20215             :      254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
   20216             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   20217             :      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
   20218             :      284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
   20219             :      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
   20220             :       -1,   305,   306,   307,    -1,    -1,   310,   311,   312,    -1,
   20221             :       -1,   315,   316,   317,   318,   319,   320,   321,   322,   323,
   20222             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   20223             :      334,    -1,   336,   337,   338,   339,   340,   341,   342,   343,
   20224             :      344,    -1,   346,   347,   348,   349,   350,   351,   352,   353,
   20225             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   20226             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   20227             :      374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
   20228             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   20229             :      394,   395,    -1,   397,   398,   399,   400,   401,   402,   403,
   20230             :      404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
   20231             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   20232             :      424,   425,   426,   427,   428,   429,   430,   431,    -1,   433,
   20233             :      434,   435,    -1,   437,   438,   439,   440,   441,   442,   443,
   20234             :      444,    -1,   446,   447,   448,    -1,    -1,   451,   452,   453,
   20235             :      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
   20236             :      464,   465,    -1,   467,   468,   469,   470,   471,   472,   473,
   20237             :       -1,   475,   476,   477,   478,   479,   480,   481,    -1,   483,
   20238             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   20239             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   20240             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   20241             :       -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20242             :       -1,    -1,    -1,   527,   528,    -1,    -1,    -1,     3,    -1,
   20243             :        5,     6,   536,     8,     9,    10,    11,    12,    -1,    -1,
   20244             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   20245             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   20246             :       -1,    -1,    37,    -1,    -1,    40,    41,    42,    -1,    44,
   20247             :       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
   20248             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   20249             :       65,    66,    67,    68,    69,    70,    71,    -1,    73,    74,
   20250             :       75,    76,    77,    -1,    79,    -1,    81,    82,    83,    84,
   20251             :       85,    86,    87,    88,    89,    90,    91,    -1,    93,    94,
   20252             :       95,    96,    97,    98,    -1,   100,   101,   102,   103,   104,
   20253             :      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
   20254             :      115,   116,   117,   118,   119,   120,   121,    -1,   123,   124,
   20255             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   20256             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   20257             :      145,   146,    -1,   148,   149,   150,   151,    -1,   153,   154,
   20258             :      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
   20259             :       -1,   166,   167,   168,   169,   170,    -1,   172,    -1,   174,
   20260             :      175,   176,    -1,   178,   179,   180,   181,   182,    -1,   184,
   20261             :      185,    -1,   187,   188,   189,    -1,   191,   192,   193,   194,
   20262             :      195,   196,   197,   198,   199,   200,    -1,   202,   203,   204,
   20263             :      205,   206,   207,   208,   209,    -1,   211,   212,   213,   214,
   20264             :      215,   216,   217,   218,   219,    -1,   221,    -1,   223,   224,
   20265             :      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
   20266             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   20267             :      245,    -1,    -1,   248,   249,   250,   251,   252,    -1,   254,
   20268             :      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
   20269             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   20270             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
   20271             :      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
   20272             :      295,   296,   297,   298,   299,   300,   301,   302,   303,    -1,
   20273             :      305,   306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,
   20274             :      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
   20275             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   20276             :       -1,   336,   337,   338,   339,   340,   341,   342,   343,   344,
   20277             :       -1,   346,   347,   348,   349,   350,   351,   352,   353,   354,
   20278             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   20279             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   20280             :      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
   20281             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   20282             :      395,    -1,   397,   398,   399,   400,   401,   402,   403,   404,
   20283             :      405,   406,   407,   408,   409,   410,   411,   412,    -1,   414,
   20284             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   20285             :      425,   426,   427,   428,   429,   430,   431,    -1,   433,   434,
   20286             :      435,    -1,   437,   438,   439,   440,   441,   442,   443,   444,
   20287             :       -1,   446,   447,   448,    -1,    -1,   451,   452,   453,   454,
   20288             :      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   20289             :      465,    -1,   467,   468,   469,   470,   471,   472,   473,    -1,
   20290             :      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
   20291             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   20292             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   20293             :      505,   506,   507,   508,   509,   510,   511,   512,   513,    -1,
   20294             :      515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20295             :       -1,    -1,   527,   528,    -1,    -1,    -1,     3,    -1,     5,
   20296             :        6,   536,     8,     9,    10,    11,    12,    -1,    -1,    -1,
   20297             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   20298             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   20299             :       -1,    37,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   20300             :       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
   20301             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    65,
   20302             :       66,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   20303             :       76,    77,    -1,    79,    -1,    81,    82,    83,    84,    85,
   20304             :       86,    87,    88,    89,    90,    91,    -1,    93,    94,    95,
   20305             :       96,    97,    98,    -1,   100,   101,   102,   103,   104,   105,
   20306             :      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
   20307             :      116,   117,   118,   119,   120,   121,    -1,   123,   124,   125,
   20308             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   20309             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   20310             :      146,    -1,   148,   149,   150,   151,    -1,   153,   154,   155,
   20311             :      156,   157,   158,   159,   160,   161,   162,   163,   164,    -1,
   20312             :      166,   167,   168,   169,   170,    -1,   172,    -1,   174,   175,
   20313             :      176,   177,   178,   179,   180,   181,   182,    -1,   184,   185,
   20314             :       -1,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
   20315             :      196,   197,   198,   199,   200,    -1,   202,   203,   204,   205,
   20316             :      206,   207,   208,   209,    -1,   211,   212,   213,   214,   215,
   20317             :      216,   217,   218,   219,    -1,   221,    -1,   223,   224,   225,
   20318             :      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
   20319             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   20320             :       -1,    -1,   248,   249,   250,   251,   252,    -1,   254,   255,
   20321             :      256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
   20322             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   20323             :      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
   20324             :      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
   20325             :      296,   297,   298,   299,   300,   301,   302,   303,    -1,   305,
   20326             :      306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,   315,
   20327             :      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
   20328             :      326,   327,   328,   329,   330,   331,   332,   333,   334,    -1,
   20329             :      336,   337,   338,   339,   340,   341,   342,   343,   344,    -1,
   20330             :      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   20331             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   20332             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   20333             :       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
   20334             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   20335             :       -1,   397,   398,   399,   400,   401,   402,   403,   404,   405,
   20336             :      406,   407,   408,   409,   410,   411,   412,    -1,   414,   415,
   20337             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   20338             :      426,   427,   428,   429,   430,   431,    -1,   433,   434,   435,
   20339             :       -1,   437,   438,   439,   440,   441,   442,   443,   444,    -1,
   20340             :      446,   447,   448,    -1,    -1,   451,   452,   453,   454,   455,
   20341             :      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
   20342             :       -1,   467,   468,   469,   470,   471,   472,   473,    -1,   475,
   20343             :      476,   477,   478,   479,   480,   481,    -1,   483,   484,   485,
   20344             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   20345             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   20346             :      506,   507,   508,   509,   510,   511,   512,   513,    -1,   515,
   20347             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20348             :       -1,   527,   528,    -1,    -1,    -1,     3,    -1,     5,     6,
   20349             :      536,     8,     9,    10,    11,    12,    -1,    -1,    -1,    -1,
   20350             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   20351             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   20352             :       37,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   20353             :       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
   20354             :       -1,    58,    59,    60,    61,    62,    63,    64,    65,    66,
   20355             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   20356             :       77,    -1,    79,    -1,    81,    82,    83,    84,    85,    86,
   20357             :       87,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   20358             :       97,    98,    -1,   100,   101,   102,   103,   104,   105,   106,
   20359             :      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
   20360             :      117,   118,   119,   120,   121,    -1,   123,   124,   125,   126,
   20361             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   20362             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   20363             :       -1,   148,   149,   150,   151,    -1,   153,   154,   155,   156,
   20364             :      157,   158,   159,   160,   161,   162,   163,   164,    -1,   166,
   20365             :      167,   168,   169,   170,    -1,   172,    -1,   174,   175,   176,
   20366             :       -1,   178,   179,   180,   181,   182,    -1,   184,   185,    -1,
   20367             :      187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
   20368             :      197,   198,   199,   200,    -1,   202,   203,   204,   205,   206,
   20369             :      207,   208,   209,    -1,   211,   212,   213,   214,   215,   216,
   20370             :      217,   218,   219,    -1,   221,    -1,   223,   224,   225,   226,
   20371             :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
   20372             :      237,   238,   239,   240,   241,   242,   243,   244,   245,    -1,
   20373             :       -1,   248,   249,   250,   251,   252,    -1,   254,   255,   256,
   20374             :      257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
   20375             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   20376             :      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
   20377             :      287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
   20378             :      297,   298,   299,   300,   301,   302,   303,    -1,   305,   306,
   20379             :      307,    -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,
   20380             :      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
   20381             :      327,   328,   329,   330,   331,   332,   333,   334,    -1,   336,
   20382             :      337,   338,   339,   340,   341,   342,   343,   344,    -1,   346,
   20383             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   20384             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   20385             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   20386             :      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
   20387             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   20388             :      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
   20389             :      407,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
   20390             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   20391             :      427,   428,   429,   430,   431,    -1,   433,   434,   435,    -1,
   20392             :      437,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
   20393             :      447,   448,   449,    -1,   451,   452,   453,   454,   455,   456,
   20394             :      457,   458,   459,   460,   461,   462,   463,   464,   465,    -1,
   20395             :      467,   468,   469,   470,   471,   472,   473,    -1,   475,   476,
   20396             :      477,   478,   479,   480,   481,    -1,   483,   484,   485,   486,
   20397             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   20398             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   20399             :      507,   508,   509,   510,   511,   512,   513,    -1,   515,    -1,
   20400             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20401             :      527,   528,    -1,    -1,    -1,     3,    -1,     5,     6,   536,
   20402             :        8,     9,    10,    11,    12,    -1,    -1,    -1,    -1,    -1,
   20403             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   20404             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
   20405             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   20406             :       48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
   20407             :       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
   20408             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   20409             :       -1,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
   20410             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   20411             :       98,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
   20412             :      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
   20413             :      118,   119,   120,   121,    -1,   123,   124,   125,   126,   127,
   20414             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   20415             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   20416             :      148,   149,   150,   151,    -1,   153,   154,   155,   156,   157,
   20417             :      158,   159,   160,   161,   162,   163,   164,    -1,   166,   167,
   20418             :      168,   169,   170,    -1,   172,    -1,   174,   175,   176,    -1,
   20419             :      178,   179,   180,   181,   182,    -1,   184,   185,    -1,   187,
   20420             :      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
   20421             :      198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
   20422             :      208,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
   20423             :      218,   219,    -1,   221,    -1,   223,   224,   225,   226,   227,
   20424             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   20425             :      238,   239,   240,   241,   242,   243,   244,   245,    -1,    -1,
   20426             :      248,   249,   250,   251,   252,    -1,   254,   255,   256,   257,
   20427             :      258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   20428             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   20429             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   20430             :      288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
   20431             :      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
   20432             :       -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,   317,
   20433             :      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
   20434             :      328,   329,   330,   331,   332,   333,   334,    -1,   336,   337,
   20435             :      338,   339,   340,   341,   342,   343,   344,    -1,   346,   347,
   20436             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   20437             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   20438             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   20439             :      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
   20440             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   20441             :      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
   20442             :      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   20443             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   20444             :      428,   429,   430,   431,    -1,   433,   434,   435,    -1,   437,
   20445             :      438,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
   20446             :      448,    -1,    -1,   451,   452,   453,   454,   455,   456,   457,
   20447             :      458,   459,   460,   461,   462,   463,   464,   465,    -1,   467,
   20448             :      468,   469,   470,   471,   472,   473,    -1,   475,   476,   477,
   20449             :      478,   479,   480,   481,    -1,   483,   484,   485,   486,   487,
   20450             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   20451             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   20452             :      508,   509,   510,   511,   512,   513,    -1,   515,    -1,    -1,
   20453             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   527,
   20454             :      528,    -1,    -1,    -1,     3,    -1,     5,     6,   536,     8,
   20455             :        9,    10,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,
   20456             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   20457             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,    -1,
   20458             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
   20459             :       49,    50,    51,    52,    53,    54,    55,    56,    -1,    58,
   20460             :       59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
   20461             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   20462             :       79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
   20463             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   20464             :       -1,   100,   101,   102,   103,   104,   105,   106,   107,   108,
   20465             :      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
   20466             :      119,   120,   121,    -1,   123,   124,   125,   126,   127,   128,
   20467             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   20468             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   20469             :      149,   150,   151,    -1,   153,   154,   155,   156,   157,   158,
   20470             :      159,   160,   161,   162,   163,   164,    -1,   166,   167,   168,
   20471             :      169,   170,    -1,   172,    -1,   174,   175,   176,    -1,   178,
   20472             :      179,   180,   181,   182,    -1,   184,   185,    -1,   187,   188,
   20473             :      189,    -1,   191,   192,   193,   194,   195,   196,   197,   198,
   20474             :      199,   200,    -1,   202,   203,   204,   205,   206,   207,   208,
   20475             :      209,    -1,   211,   212,   213,   214,   215,   216,   217,   218,
   20476             :      219,    -1,   221,    -1,   223,   224,   225,   226,   227,   228,
   20477             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   20478             :      239,   240,   241,   242,   243,   244,   245,    -1,    -1,   248,
   20479             :      249,   250,   251,   252,    -1,   254,   255,   256,   257,   258,
   20480             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   20481             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   20482             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   20483             :      289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
   20484             :      299,   300,   301,   302,   303,    -1,   305,   306,   307,    -1,
   20485             :       -1,   310,   311,   312,    -1,    -1,   315,   316,   317,   318,
   20486             :      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
   20487             :      329,   330,   331,   332,   333,   334,    -1,   336,   337,   338,
   20488             :      339,   340,   341,   342,   343,   344,    -1,   346,   347,   348,
   20489             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   20490             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   20491             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   20492             :      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   20493             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   20494             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   20495             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   20496             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   20497             :      429,   430,   431,    -1,   433,   434,   435,    -1,   437,   438,
   20498             :      439,   440,   441,   442,   443,   444,    -1,   446,   447,   448,
   20499             :       -1,    -1,   451,   452,   453,   454,   455,   456,   457,   458,
   20500             :      459,   460,   461,   462,   463,   464,   465,    -1,   467,   468,
   20501             :      469,   470,   471,   472,   473,    -1,   475,   476,   477,   478,
   20502             :      479,   480,   481,    -1,   483,   484,   485,   486,   487,   488,
   20503             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   20504             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   20505             :      509,   510,   511,   512,   513,    -1,   515,    -1,    -1,    -1,
   20506             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   527,   528,
   20507             :       -1,    -1,    -1,     3,    -1,     5,     6,   536,     8,     9,
   20508             :       10,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20509             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   20510             :       30,    31,    32,    -1,    -1,    -1,    -1,    37,    -1,    -1,
   20511             :       40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
   20512             :       50,    51,    52,    53,    54,    55,    56,    -1,    58,    59,
   20513             :       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
   20514             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    79,
   20515             :       -1,    81,    82,    83,    84,    85,    86,    87,    88,    89,
   20516             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   20517             :      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
   20518             :      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   20519             :      120,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   20520             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   20521             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   20522             :      150,   151,    -1,   153,   154,   155,   156,   157,   158,   159,
   20523             :      160,   161,   162,   163,   164,    -1,   166,   167,   168,   169,
   20524             :      170,    -1,   172,    -1,   174,   175,   176,    -1,   178,   179,
   20525             :      180,   181,   182,    -1,   184,   185,    -1,   187,   188,   189,
   20526             :       -1,   191,   192,   193,   194,   195,   196,   197,   198,   199,
   20527             :      200,    -1,   202,   203,   204,   205,   206,   207,   208,   209,
   20528             :       -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
   20529             :       -1,   221,    -1,   223,   224,   225,   226,   227,   228,   229,
   20530             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   20531             :      240,   241,   242,   243,   244,   245,    -1,    -1,   248,   249,
   20532             :      250,   251,   252,    -1,   254,   255,   256,   257,   258,   259,
   20533             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   20534             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   20535             :      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   20536             :      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
   20537             :      300,   301,   302,   303,    -1,   305,   306,   307,    -1,    -1,
   20538             :      310,   311,   312,    -1,    -1,   315,   316,   317,   318,   319,
   20539             :      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
   20540             :      330,   331,   332,   333,   334,    -1,   336,   337,   338,   339,
   20541             :      340,   341,   342,   343,   344,    -1,   346,   347,   348,   349,
   20542             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   20543             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   20544             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
   20545             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   20546             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   20547             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   20548             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   20549             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   20550             :      430,   431,    -1,   433,   434,   435,    -1,   437,   438,   439,
   20551             :      440,   441,   442,   443,   444,    -1,   446,   447,   448,    -1,
   20552             :       -1,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   20553             :      460,   461,   462,   463,   464,   465,    -1,   467,   468,   469,
   20554             :      470,   471,   472,   473,    -1,   475,   476,   477,   478,   479,
   20555             :      480,   481,    -1,   483,   484,   485,   486,   487,   488,    -1,
   20556             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   20557             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   20558             :      510,   511,   512,   513,    -1,   515,    -1,    -1,    -1,    -1,
   20559             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   527,   528,    -1,
   20560             :       -1,    -1,     3,    -1,     5,     6,   536,     8,     9,    10,
   20561             :       11,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   20562             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   20563             :       31,    32,    -1,    -1,    -1,    -1,    37,    -1,    -1,    40,
   20564             :       41,    42,    -1,    44,    45,    46,    47,    48,    49,    50,
   20565             :       51,    52,    53,    54,    55,    56,    -1,    58,    59,    60,
   20566             :       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
   20567             :       71,    -1,    73,    74,    75,    76,    77,    -1,    79,    -1,
   20568             :       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
   20569             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,   100,
   20570             :      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
   20571             :      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
   20572             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   20573             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   20574             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   20575             :      151,    -1,   153,   154,   155,   156,   157,   158,   159,   160,
   20576             :      161,   162,   163,   164,    -1,   166,   167,   168,   169,   170,
   20577             :       -1,   172,    -1,   174,   175,   176,    -1,   178,   179,   180,
   20578             :      181,   182,    -1,   184,   185,    -1,   187,   188,   189,    -1,
   20579             :      191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
   20580             :       -1,   202,   203,   204,   205,   206,   207,   208,   209,    -1,
   20581             :      211,   212,   213,   214,   215,   216,   217,   218,   219,    -1,
   20582             :      221,    -1,   223,   224,   225,   226,   227,   228,   229,   230,
   20583             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   20584             :      241,   242,   243,   244,   245,    -1,    -1,   248,   249,   250,
   20585             :      251,   252,    -1,   254,   255,   256,   257,   258,   259,   260,
   20586             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   20587             :      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
   20588             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   20589             :      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
   20590             :      301,   302,   303,    -1,   305,   306,   307,    -1,    -1,   310,
   20591             :      311,   312,    -1,    -1,   315,   316,   317,   318,   319,   320,
   20592             :      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
   20593             :      331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
   20594             :      341,   342,   343,   344,    -1,   346,   347,   348,   349,   350,
   20595             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   20596             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   20597             :      371,   372,   373,   374,   375,    -1,   377,   378,   379,   380,
   20598             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   20599             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   20600             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   20601             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   20602             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   20603             :      431,    -1,   433,   434,   435,    -1,   437,   438,   439,   440,
   20604             :      441,   442,   443,   444,    -1,   446,   447,   448,    -1,    -1,
   20605             :      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
   20606             :      461,   462,   463,   464,   465,    -1,   467,   468,   469,   470,
   20607             :      471,   472,   473,    -1,   475,   476,   477,   478,   479,   480,
   20608             :      481,    -1,   483,   484,   485,   486,   487,   488,    -1,    -1,
   20609             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   20610             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   20611             :      511,   512,   513,    -1,   515,    -1,    -1,    -1,    -1,    -1,
   20612             :       -1,    -1,    -1,    -1,    -1,    -1,   527,   528,    -1,    -1,
   20613             :       -1,     3,    -1,     5,     6,   536,     8,     9,    10,    11,
   20614             :       12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   20615             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   20616             :       32,    -1,    -1,    -1,    -1,    37,    -1,    -1,    40,    41,
   20617             :       42,    -1,    44,    45,    46,    47,    48,    49,    50,    51,
   20618             :       52,    53,    54,    55,    56,    -1,    58,    59,    60,    61,
   20619             :       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
   20620             :       -1,    73,    74,    75,    76,    77,    -1,    79,    -1,    81,
   20621             :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
   20622             :       -1,    93,    94,    95,    96,    97,    98,    -1,   100,   101,
   20623             :      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
   20624             :      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
   20625             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   20626             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   20627             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   20628             :       -1,   153,   154,   155,   156,   157,   158,   159,   160,   161,
   20629             :      162,   163,   164,    -1,   166,   167,   168,   169,   170,    -1,
   20630             :      172,    -1,   174,   175,   176,    -1,   178,   179,   180,   181,
   20631             :      182,    -1,   184,   185,    -1,   187,   188,   189,    -1,   191,
   20632             :      192,   193,   194,   195,   196,   197,   198,   199,   200,    -1,
   20633             :      202,   203,   204,   205,   206,   207,   208,   209,    -1,   211,
   20634             :      212,   213,   214,   215,   216,   217,   218,   219,    -1,   221,
   20635             :       -1,   223,   224,   225,   226,   227,   228,   229,   230,   231,
   20636             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   20637             :      242,   243,   244,   245,    -1,    -1,   248,   249,   250,   251,
   20638             :      252,    -1,   254,   255,   256,   257,   258,   259,   260,   261,
   20639             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   20640             :      272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
   20641             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   20642             :      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
   20643             :      302,   303,    -1,   305,   306,   307,    -1,    -1,   310,   311,
   20644             :      312,    -1,    -1,   315,   316,   317,   318,   319,   320,   321,
   20645             :      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   20646             :      332,   333,   334,    -1,   336,   337,   338,   339,   340,   341,
   20647             :      342,   343,   344,    -1,   346,   347,   348,   349,   350,   351,
   20648             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   20649             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   20650             :      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
   20651             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   20652             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   20653             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   20654             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   20655             :      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
   20656             :       -1,   433,   434,   435,    -1,   437,   438,   439,   440,   441,
   20657             :      442,   443,   444,    -1,   446,   447,   448,    -1,    -1,   451,
   20658             :      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
   20659             :      462,   463,   464,   465,    -1,   467,   468,   469,   470,   471,
   20660             :      472,   473,    -1,   475,   476,   477,   478,   479,   480,   481,
   20661             :       -1,   483,   484,   485,   486,   487,   488,    -1,    -1,   491,
   20662             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   20663             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   20664             :      512,   513,    -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,
   20665             :       -1,    -1,    -1,    -1,    -1,   527,   528,    -1,    -1,    -1,
   20666             :        3,    -1,     5,     6,   536,     8,     9,    10,    11,    12,
   20667             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   20668             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   20669             :       -1,    -1,    -1,    -1,    37,    -1,    -1,    40,    41,    42,
   20670             :       -1,    44,    45,    46,    47,    48,    49,    50,    51,    52,
   20671             :       53,    54,    55,    56,    -1,    58,    59,    60,    61,    62,
   20672             :       63,    64,    65,    66,    67,    68,    69,    70,    71,    -1,
   20673             :       73,    74,    75,    76,    77,    -1,    79,    -1,    81,    82,
   20674             :       83,    84,    85,    86,    87,    88,    89,    90,    91,    -1,
   20675             :       93,    94,    95,    96,    97,    98,    -1,   100,   101,   102,
   20676             :      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
   20677             :      113,   114,   115,   116,   117,   118,   119,   120,   121,    -1,
   20678             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   20679             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   20680             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,    -1,
   20681             :      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   20682             :      163,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
   20683             :       -1,   174,   175,   176,    -1,   178,   179,   180,   181,   182,
   20684             :       -1,   184,   185,    -1,   187,   188,   189,    -1,   191,   192,
   20685             :      193,   194,   195,   196,   197,   198,   199,   200,    -1,   202,
   20686             :      203,   204,   205,   206,   207,   208,   209,    -1,   211,   212,
   20687             :      213,   214,   215,   216,   217,   218,   219,    -1,   221,    -1,
   20688             :      223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
   20689             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   20690             :      243,   244,   245,    -1,    -1,   248,   249,   250,   251,   252,
   20691             :       -1,   254,   255,   256,   257,   258,   259,   260,   261,   262,
   20692             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   20693             :      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
   20694             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   20695             :      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
   20696             :      303,    -1,   305,   306,   307,    -1,    -1,   310,   311,   312,
   20697             :       -1,    -1,   315,   316,   317,   318,   319,   320,   321,   322,
   20698             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   20699             :      333,   334,    -1,   336,   337,   338,   339,   340,   341,   342,
   20700             :      343,   344,    -1,   346,   347,   348,   349,   350,   351,   352,
   20701             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   20702             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   20703             :      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
   20704             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   20705             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,   402,
   20706             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   20707             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   20708             :      423,   424,   425,   426,   427,   428,   429,   430,   431,    -1,
   20709             :      433,   434,   435,    -1,   437,   438,   439,   440,   441,   442,
   20710             :      443,   444,    -1,   446,   447,   448,    -1,    -1,   451,   452,
   20711             :      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
   20712             :      463,   464,   465,    -1,   467,   468,   469,   470,   471,   472,
   20713             :      473,    -1,   475,   476,   477,   478,   479,   480,   481,    -1,
   20714             :      483,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   20715             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   20716             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   20717             :      513,    -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20718             :       -1,    -1,    -1,    -1,   527,   528,    -1,    -1,    -1,     3,
   20719             :       -1,     5,     6,   536,     8,     9,    10,    11,    12,    -1,
   20720             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   20721             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   20722             :       -1,    -1,    -1,    37,    -1,    -1,    40,    41,    42,    -1,
   20723             :       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
   20724             :       54,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   20725             :       64,    65,    66,    67,    68,    69,    70,    71,    -1,    73,
   20726             :       74,    75,    76,    77,    -1,    79,    -1,    81,    82,    83,
   20727             :       84,    85,    86,    87,    88,    89,    90,    91,    -1,    93,
   20728             :       94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
   20729             :      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
   20730             :      114,   115,   116,   117,   118,   119,   120,   121,    -1,   123,
   20731             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   20732             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   20733             :      144,   145,   146,    -1,   148,   149,   150,   151,    -1,   153,
   20734             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   20735             :      164,    -1,   166,   167,   168,   169,   170,    -1,   172,    -1,
   20736             :      174,   175,   176,    -1,   178,   179,   180,   181,   182,    -1,
   20737             :      184,   185,    -1,   187,   188,   189,    -1,   191,   192,   193,
   20738             :      194,   195,   196,   197,   198,   199,   200,    -1,   202,   203,
   20739             :      204,   205,   206,   207,   208,   209,    -1,   211,   212,   213,
   20740             :      214,   215,   216,   217,   218,   219,    -1,   221,    -1,   223,
   20741             :      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
   20742             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   20743             :      244,   245,    -1,    -1,   248,   249,   250,   251,   252,    -1,
   20744             :      254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
   20745             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   20746             :      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
   20747             :      284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
   20748             :      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
   20749             :       -1,   305,   306,   307,    -1,    -1,   310,   311,   312,    -1,
   20750             :       -1,   315,   316,   317,   318,   319,   320,   321,   322,   323,
   20751             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   20752             :      334,    -1,   336,   337,   338,   339,   340,   341,   342,   343,
   20753             :      344,    -1,   346,   347,   348,   349,   350,   351,   352,   353,
   20754             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   20755             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   20756             :      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
   20757             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   20758             :      394,   395,    -1,   397,   398,   399,   400,   401,   402,   403,
   20759             :      404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
   20760             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   20761             :      424,   425,   426,   427,   428,   429,   430,   431,    -1,   433,
   20762             :      434,   435,    -1,   437,   438,   439,   440,   441,   442,   443,
   20763             :      444,    -1,   446,   447,   448,    -1,    -1,   451,   452,   453,
   20764             :      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
   20765             :      464,   465,    -1,   467,   468,   469,   470,   471,   472,   473,
   20766             :       -1,   475,   476,   477,   478,   479,   480,   481,    -1,   483,
   20767             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   20768             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   20769             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   20770             :       -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20771             :       -1,    -1,    -1,   527,   528,    -1,    -1,    -1,     3,    -1,
   20772             :        5,     6,   536,     8,     9,    10,    11,    12,    -1,    -1,
   20773             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   20774             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   20775             :       -1,    -1,    37,    -1,    -1,    40,    41,    42,    -1,    44,
   20776             :       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
   20777             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   20778             :       65,    66,    67,    68,    69,    70,    71,    -1,    73,    74,
   20779             :       75,    76,    77,    -1,    79,    -1,    81,    82,    83,    84,
   20780             :       85,    86,    87,    88,    89,    90,    91,    -1,    93,    94,
   20781             :       95,    96,    97,    98,    -1,   100,   101,   102,   103,   104,
   20782             :      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
   20783             :      115,   116,   117,   118,   119,   120,   121,    -1,   123,   124,
   20784             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   20785             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   20786             :      145,   146,    -1,   148,   149,   150,   151,    -1,   153,   154,
   20787             :      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
   20788             :       -1,   166,   167,   168,   169,   170,    -1,   172,    -1,   174,
   20789             :      175,   176,    -1,   178,   179,   180,   181,   182,    -1,   184,
   20790             :      185,    -1,   187,   188,   189,    -1,   191,   192,   193,   194,
   20791             :      195,   196,   197,   198,   199,   200,    -1,   202,   203,   204,
   20792             :      205,   206,   207,   208,   209,    -1,   211,   212,   213,   214,
   20793             :      215,   216,   217,   218,   219,    -1,   221,    -1,   223,   224,
   20794             :      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
   20795             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   20796             :      245,    -1,    -1,   248,   249,   250,   251,   252,    -1,   254,
   20797             :      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
   20798             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   20799             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
   20800             :      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
   20801             :      295,   296,   297,   298,   299,   300,   301,   302,   303,    -1,
   20802             :      305,   306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,
   20803             :      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
   20804             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   20805             :       -1,   336,   337,   338,   339,   340,   341,   342,   343,   344,
   20806             :       -1,   346,   347,   348,   349,   350,   351,   352,   353,   354,
   20807             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   20808             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   20809             :      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
   20810             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   20811             :      395,    -1,   397,   398,   399,   400,   401,   402,   403,   404,
   20812             :      405,   406,   407,   408,   409,   410,   411,   412,    -1,   414,
   20813             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   20814             :      425,   426,   427,   428,   429,   430,   431,    -1,   433,   434,
   20815             :      435,    -1,   437,   438,   439,   440,   441,   442,   443,   444,
   20816             :       -1,   446,   447,   448,    -1,    -1,   451,   452,   453,   454,
   20817             :      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   20818             :      465,    -1,   467,   468,   469,   470,   471,   472,   473,    -1,
   20819             :      475,   476,   477,   478,   479,   480,   481,    -1,   483,   484,
   20820             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   20821             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   20822             :      505,   506,   507,   508,   509,   510,   511,   512,   513,    -1,
   20823             :      515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20824             :       -1,    -1,   527,   528,    -1,    -1,    -1,     3,    -1,     5,
   20825             :        6,   536,     8,     9,    10,    11,    12,    -1,    -1,    -1,
   20826             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   20827             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   20828             :       -1,    37,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   20829             :       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
   20830             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    65,
   20831             :       66,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   20832             :       76,    77,    -1,    79,    -1,    81,    82,    83,    84,    85,
   20833             :       86,    87,    88,    89,    90,    91,    -1,    93,    94,    95,
   20834             :       96,    97,    98,    -1,   100,   101,   102,   103,   104,   105,
   20835             :      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
   20836             :      116,   117,   118,   119,   120,   121,    -1,   123,   124,   125,
   20837             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   20838             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   20839             :      146,    -1,   148,   149,   150,   151,    -1,   153,   154,   155,
   20840             :      156,   157,   158,   159,   160,   161,   162,   163,   164,    -1,
   20841             :      166,   167,   168,   169,   170,    -1,   172,    -1,   174,   175,
   20842             :      176,    -1,   178,   179,   180,   181,   182,    -1,   184,   185,
   20843             :       -1,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
   20844             :      196,   197,   198,   199,   200,    -1,   202,   203,   204,   205,
   20845             :      206,   207,   208,   209,    -1,   211,   212,   213,   214,   215,
   20846             :      216,   217,   218,   219,    -1,   221,    -1,   223,   224,   225,
   20847             :      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
   20848             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   20849             :       -1,    -1,   248,   249,   250,   251,   252,    -1,   254,   255,
   20850             :      256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
   20851             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   20852             :      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
   20853             :      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
   20854             :      296,   297,   298,   299,   300,   301,   302,   303,    -1,   305,
   20855             :      306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,   315,
   20856             :      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
   20857             :      326,   327,   328,   329,   330,   331,   332,   333,   334,    -1,
   20858             :      336,   337,   338,   339,   340,   341,   342,   343,   344,    -1,
   20859             :      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   20860             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   20861             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   20862             :       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
   20863             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   20864             :       -1,   397,   398,   399,   400,   401,   402,   403,   404,   405,
   20865             :      406,   407,   408,   409,   410,   411,   412,    -1,   414,   415,
   20866             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   20867             :      426,   427,   428,   429,   430,   431,    -1,   433,   434,   435,
   20868             :       -1,   437,   438,   439,   440,   441,   442,   443,   444,    -1,
   20869             :      446,   447,   448,    -1,    -1,   451,   452,   453,   454,   455,
   20870             :      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
   20871             :       -1,   467,   468,   469,   470,   471,   472,   473,    -1,   475,
   20872             :      476,   477,   478,   479,   480,   481,    -1,   483,   484,   485,
   20873             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   20874             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   20875             :      506,   507,   508,   509,   510,   511,   512,   513,    -1,   515,
   20876             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20877             :       -1,   527,   528,    -1,    -1,    -1,     3,    -1,     5,     6,
   20878             :      536,     8,     9,    10,    11,    12,    -1,    -1,    -1,    -1,
   20879             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   20880             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   20881             :       37,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   20882             :       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
   20883             :       -1,    58,    59,    60,    61,    62,    63,    64,    65,    66,
   20884             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   20885             :       77,    -1,    79,    -1,    81,    82,    83,    84,    85,    86,
   20886             :       87,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   20887             :       97,    98,    -1,   100,   101,   102,   103,   104,   105,   106,
   20888             :      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
   20889             :      117,   118,   119,   120,   121,    -1,   123,   124,   125,   126,
   20890             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   20891             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   20892             :       -1,   148,   149,   150,   151,    -1,   153,   154,   155,   156,
   20893             :      157,   158,   159,   160,   161,   162,   163,   164,    -1,   166,
   20894             :      167,   168,   169,   170,    -1,   172,    -1,   174,   175,   176,
   20895             :       -1,   178,   179,   180,   181,   182,    -1,   184,   185,    -1,
   20896             :      187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
   20897             :      197,   198,   199,   200,    -1,   202,   203,   204,   205,   206,
   20898             :      207,   208,   209,    -1,   211,   212,   213,   214,   215,   216,
   20899             :      217,   218,   219,    -1,   221,    -1,   223,   224,   225,   226,
   20900             :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
   20901             :      237,   238,   239,   240,   241,   242,   243,   244,   245,    -1,
   20902             :       -1,   248,   249,   250,   251,   252,    -1,   254,   255,   256,
   20903             :      257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
   20904             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   20905             :      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
   20906             :      287,   288,   289,   290,   291,    -1,   293,   294,   295,   296,
   20907             :      297,   298,   299,   300,   301,   302,   303,    -1,   305,   306,
   20908             :      307,    -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,
   20909             :      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
   20910             :      327,   328,   329,   330,   331,   332,   333,   334,    -1,   336,
   20911             :      337,   338,   339,   340,   341,   342,   343,   344,    -1,   346,
   20912             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   20913             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   20914             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   20915             :      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
   20916             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   20917             :      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
   20918             :      407,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
   20919             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   20920             :      427,   428,   429,   430,   431,    -1,   433,   434,   435,    -1,
   20921             :      437,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
   20922             :      447,   448,    -1,    -1,   451,   452,   453,   454,   455,   456,
   20923             :      457,   458,   459,   460,   461,   462,   463,   464,   465,    -1,
   20924             :       -1,   468,   469,   470,   471,   472,   473,    -1,   475,   476,
   20925             :      477,   478,   479,   480,   481,    -1,   483,   484,   485,   486,
   20926             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   20927             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   20928             :      507,   508,   509,   510,   511,   512,   513,    -1,    -1,    -1,
   20929             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20930             :      527,   528,    -1,    -1,    -1,     3,    -1,     5,     6,   536,
   20931             :        8,     9,    10,    11,    12,    -1,    -1,    -1,    -1,    -1,
   20932             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   20933             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
   20934             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   20935             :       48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
   20936             :       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
   20937             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   20938             :       -1,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
   20939             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   20940             :       98,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
   20941             :      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
   20942             :      118,   119,   120,   121,    -1,   123,   124,   125,   126,   127,
   20943             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   20944             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   20945             :      148,   149,   150,   151,    -1,   153,   154,   155,   156,   157,
   20946             :      158,   159,   160,   161,   162,   163,   164,    -1,   166,   167,
   20947             :      168,   169,   170,    -1,   172,    -1,   174,   175,   176,    -1,
   20948             :      178,   179,   180,   181,   182,    -1,   184,   185,    -1,   187,
   20949             :      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
   20950             :      198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
   20951             :      208,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
   20952             :      218,   219,    -1,   221,    -1,   223,    -1,    -1,   226,   227,
   20953             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   20954             :      238,   239,   240,   241,   242,   243,   244,   245,    -1,    -1,
   20955             :      248,   249,   250,   251,   252,    -1,   254,   255,   256,   257,
   20956             :      258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   20957             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   20958             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   20959             :      288,   289,   290,   291,   292,   293,   294,    -1,   296,   297,
   20960             :      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
   20961             :       -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,   317,
   20962             :      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
   20963             :      328,   329,   330,   331,   332,   333,   334,    -1,   336,   337,
   20964             :      338,   339,   340,   341,   342,   343,   344,    -1,   346,   347,
   20965             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   20966             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   20967             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   20968             :      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
   20969             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   20970             :      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
   20971             :      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   20972             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   20973             :      428,   429,   430,   431,    -1,   433,   434,   435,    -1,   437,
   20974             :      438,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
   20975             :      448,    -1,    -1,   451,   452,   453,   454,   455,   456,   457,
   20976             :      458,   459,   460,   461,   462,   463,   464,   465,    -1,   467,
   20977             :      468,   469,   470,   471,   472,   473,    -1,   475,   476,   477,
   20978             :      478,   479,   480,   481,    -1,   483,   484,   485,   486,   487,
   20979             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   20980             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   20981             :      508,   509,   510,   511,   512,   513,    -1,   515,    -1,    -1,
   20982             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   527,
   20983             :      528,    -1,    -1,    -1,     3,    -1,     5,     6,   536,     8,
   20984             :        9,    10,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,
   20985             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   20986             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,    -1,
   20987             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
   20988             :       49,    50,    51,    52,    53,    54,    55,    56,    -1,    58,
   20989             :       59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
   20990             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   20991             :       79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
   20992             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   20993             :       -1,   100,   101,   102,   103,   104,   105,   106,   107,   108,
   20994             :      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
   20995             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   20996             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   20997             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   20998             :      149,   150,   151,    -1,   153,   154,   155,   156,   157,   158,
   20999             :      159,   160,   161,   162,   163,   164,    -1,   166,   167,   168,
   21000             :      169,   170,    -1,   172,    -1,   174,   175,   176,    -1,   178,
   21001             :      179,   180,   181,   182,    -1,   184,   185,    -1,   187,   188,
   21002             :      189,    -1,   191,   192,   193,   194,   195,   196,   197,   198,
   21003             :      199,   200,    -1,   202,   203,   204,   205,   206,   207,   208,
   21004             :      209,    -1,   211,   212,   213,   214,   215,   216,   217,   218,
   21005             :      219,    -1,   221,    -1,   223,   224,   225,   226,   227,   228,
   21006             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   21007             :      239,   240,   241,   242,   243,   244,   245,    -1,    -1,   248,
   21008             :      249,   250,   251,   252,    -1,   254,   255,   256,   257,   258,
   21009             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   21010             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   21011             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   21012             :      289,   290,   291,    -1,   293,   294,   295,   296,   297,   298,
   21013             :      299,   300,   301,   302,   303,    -1,   305,   306,   307,    -1,
   21014             :       -1,   310,   311,   312,    -1,    -1,   315,   316,   317,   318,
   21015             :      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
   21016             :      329,   330,   331,   332,   333,   334,    -1,   336,   337,   338,
   21017             :      339,   340,   341,   342,   343,   344,    -1,   346,   347,   348,
   21018             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   21019             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   21020             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   21021             :      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   21022             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   21023             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   21024             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   21025             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   21026             :      429,   430,   431,    -1,   433,   434,   435,    -1,   437,   438,
   21027             :      439,   440,   441,   442,   443,   444,    -1,   446,   447,   448,
   21028             :       -1,    -1,   451,   452,   453,   454,   455,   456,   457,   458,
   21029             :      459,   460,   461,   462,   463,   464,   465,    -1,    -1,   468,
   21030             :      469,   470,   471,   472,   473,    -1,   475,   476,   477,   478,
   21031             :      479,   480,   481,    -1,   483,   484,   485,   486,   487,   488,
   21032             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   21033             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   21034             :      509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,
   21035             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   527,   528,
   21036             :        3,    -1,     5,     6,    -1,     8,     9,   536,    11,    12,
   21037             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   21038             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   21039             :       -1,    -1,    -1,    -1,    37,    -1,    -1,    40,    41,    42,
   21040             :       -1,    44,    45,    46,    47,    48,    49,    50,    51,    52,
   21041             :       53,    54,    55,    56,    -1,    58,    59,    60,    61,    62,
   21042             :       63,    64,    65,    66,    67,    68,    69,    70,    71,    -1,
   21043             :       73,    74,    75,    76,    77,    -1,    79,    -1,    81,    82,
   21044             :       83,    84,    85,    86,    87,    88,    89,    90,    91,    -1,
   21045             :       93,    94,    95,    96,    97,    98,    -1,   100,   101,   102,
   21046             :      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
   21047             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   21048             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   21049             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   21050             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,    -1,
   21051             :      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   21052             :      163,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
   21053             :       -1,   174,   175,   176,    -1,   178,   179,   180,   181,   182,
   21054             :       -1,   184,   185,    -1,   187,   188,   189,    -1,   191,   192,
   21055             :      193,   194,   195,   196,   197,   198,   199,   200,    -1,   202,
   21056             :      203,   204,   205,   206,   207,   208,   209,    -1,   211,   212,
   21057             :      213,   214,   215,   216,   217,   218,   219,    -1,   221,    -1,
   21058             :      223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
   21059             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   21060             :      243,   244,   245,    -1,    -1,   248,   249,   250,   251,   252,
   21061             :       -1,   254,   255,   256,   257,   258,   259,   260,   261,   262,
   21062             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   21063             :      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
   21064             :      283,   284,   285,   286,   287,   288,   289,   290,   291,    -1,
   21065             :      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
   21066             :      303,    -1,   305,   306,   307,    -1,    -1,   310,   311,   312,
   21067             :       -1,    -1,   315,   316,   317,   318,   319,   320,   321,   322,
   21068             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   21069             :      333,   334,    -1,   336,   337,   338,   339,   340,   341,   342,
   21070             :      343,   344,    -1,   346,   347,   348,   349,   350,   351,   352,
   21071             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   21072             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   21073             :      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
   21074             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   21075             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,   402,
   21076             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   21077             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   21078             :      423,   424,   425,   426,   427,   428,   429,   430,   431,    -1,
   21079             :      433,   434,   435,    -1,   437,   438,   439,   440,   441,   442,
   21080             :      443,   444,    -1,   446,   447,   448,    -1,    -1,   451,   452,
   21081             :      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
   21082             :      463,   464,   465,    -1,    -1,   468,   469,   470,   471,   472,
   21083             :      473,    -1,   475,   476,   477,   478,   479,   480,   481,    -1,
   21084             :      483,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   21085             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   21086             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   21087             :      513,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21088             :       -1,    -1,    -1,    -1,   527,   528,     3,    -1,     5,     6,
   21089             :       -1,     8,     9,   536,    11,    12,    -1,    -1,    -1,    -1,
   21090             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   21091             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   21092             :       37,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   21093             :       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
   21094             :       -1,    58,    59,    60,    61,    62,    63,    64,    65,    66,
   21095             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   21096             :       77,    -1,    79,    -1,    81,    82,    83,    84,    85,    86,
   21097             :       87,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   21098             :       97,    98,    -1,   100,   101,   102,   103,   104,   105,   106,
   21099             :      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
   21100             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   21101             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   21102             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   21103             :       -1,   148,   149,   150,   151,    -1,   153,   154,   155,   156,
   21104             :      157,   158,   159,   160,   161,   162,   163,   164,    -1,   166,
   21105             :      167,   168,   169,   170,    -1,   172,    -1,   174,   175,   176,
   21106             :       -1,   178,   179,   180,   181,   182,    -1,   184,   185,    -1,
   21107             :      187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
   21108             :      197,   198,   199,   200,    -1,   202,   203,   204,   205,   206,
   21109             :      207,   208,   209,    -1,   211,   212,   213,   214,   215,   216,
   21110             :      217,   218,   219,    -1,   221,    -1,   223,   224,   225,   226,
   21111             :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
   21112             :      237,   238,   239,   240,   241,   242,   243,   244,   245,    -1,
   21113             :       -1,   248,   249,   250,   251,   252,    -1,   254,   255,   256,
   21114             :      257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
   21115             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   21116             :      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
   21117             :      287,   288,   289,   290,   291,    -1,   293,   294,   295,   296,
   21118             :      297,   298,   299,   300,   301,   302,   303,    -1,   305,   306,
   21119             :      307,    -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,
   21120             :      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
   21121             :      327,   328,   329,   330,   331,   332,   333,   334,    -1,   336,
   21122             :      337,   338,   339,   340,   341,   342,   343,   344,    -1,   346,
   21123             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   21124             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   21125             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   21126             :      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
   21127             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   21128             :      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
   21129             :      407,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
   21130             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   21131             :      427,   428,   429,   430,   431,    -1,   433,   434,   435,    -1,
   21132             :      437,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
   21133             :      447,   448,    -1,    -1,   451,   452,   453,   454,   455,   456,
   21134             :      457,   458,   459,   460,   461,   462,   463,   464,   465,    -1,
   21135             :       -1,   468,   469,   470,   471,   472,   473,    -1,   475,   476,
   21136             :      477,   478,   479,   480,   481,    -1,   483,   484,   485,   486,
   21137             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   21138             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   21139             :      507,   508,   509,   510,   511,   512,   513,    -1,    -1,    -1,
   21140             :       -1,    -1,    -1,     3,    -1,     5,     6,    -1,     8,     9,
   21141             :       -1,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,   536,
   21142             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   21143             :       30,    31,    32,    -1,    -1,    -1,    -1,    37,    -1,    -1,
   21144             :       40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
   21145             :       50,    51,    52,    53,    54,    55,    56,    -1,    58,    59,
   21146             :       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
   21147             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    79,
   21148             :       -1,    81,    82,    83,    84,    85,    86,    87,    88,    89,
   21149             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   21150             :      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
   21151             :      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   21152             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   21153             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   21154             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   21155             :      150,   151,    -1,   153,   154,   155,   156,   157,   158,   159,
   21156             :      160,   161,   162,   163,   164,    -1,   166,   167,   168,   169,
   21157             :      170,    -1,   172,    -1,   174,   175,   176,    -1,   178,   179,
   21158             :      180,   181,   182,    -1,   184,   185,    -1,   187,   188,   189,
   21159             :       -1,   191,   192,   193,   194,   195,   196,   197,   198,   199,
   21160             :      200,    -1,   202,   203,   204,   205,   206,   207,   208,   209,
   21161             :       -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
   21162             :       -1,   221,    -1,   223,   224,   225,   226,   227,   228,   229,
   21163             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   21164             :      240,   241,   242,   243,   244,   245,    -1,    -1,   248,   249,
   21165             :      250,   251,   252,    -1,   254,   255,   256,   257,   258,   259,
   21166             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   21167             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   21168             :      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   21169             :      290,   291,    -1,   293,   294,   295,   296,   297,   298,   299,
   21170             :      300,   301,   302,   303,    -1,   305,   306,   307,    -1,    -1,
   21171             :      310,   311,   312,    -1,    -1,   315,   316,   317,   318,   319,
   21172             :      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
   21173             :      330,   331,   332,   333,   334,    -1,   336,   337,   338,   339,
   21174             :      340,   341,   342,   343,   344,    -1,   346,   347,   348,   349,
   21175             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   21176             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   21177             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
   21178             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   21179             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   21180             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   21181             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   21182             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   21183             :      430,   431,    -1,   433,   434,   435,    -1,   437,   438,   439,
   21184             :      440,   441,   442,   443,   444,    -1,   446,   447,   448,    -1,
   21185             :       -1,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   21186             :      460,   461,   462,   463,   464,   465,    -1,    -1,   468,   469,
   21187             :      470,   471,   472,   473,    -1,   475,   476,   477,   478,   479,
   21188             :      480,   481,    -1,   483,   484,   485,   486,   487,   488,    -1,
   21189             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   21190             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   21191             :      510,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,    -1,
   21192             :        3,    -1,     5,     6,    -1,     8,     9,    -1,    11,    12,
   21193             :       -1,    -1,    -1,    -1,    -1,    -1,   536,    20,    21,    22,
   21194             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   21195             :       -1,    -1,    -1,    -1,    37,    -1,    -1,    40,    41,    42,
   21196             :       -1,    44,    45,    46,    47,    48,    49,    50,    51,    52,
   21197             :       53,    54,    55,    56,    -1,    58,    59,    60,    61,    62,
   21198             :       63,    64,    65,    66,    67,    68,    69,    70,    71,    -1,
   21199             :       73,    74,    75,    76,    77,    -1,    79,    -1,    81,    82,
   21200             :       83,    84,    85,    86,    87,    88,    89,    90,    91,    -1,
   21201             :       93,    94,    95,    96,    97,    98,    -1,   100,   101,   102,
   21202             :      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
   21203             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   21204             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   21205             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   21206             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,    -1,
   21207             :      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   21208             :      163,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
   21209             :       -1,   174,   175,   176,    -1,   178,   179,   180,   181,   182,
   21210             :       -1,   184,   185,    -1,   187,   188,   189,    -1,   191,   192,
   21211             :      193,   194,   195,   196,   197,   198,   199,   200,    -1,   202,
   21212             :      203,   204,   205,   206,   207,   208,   209,    -1,   211,   212,
   21213             :      213,   214,   215,   216,   217,   218,   219,    -1,   221,    -1,
   21214             :      223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
   21215             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   21216             :      243,   244,   245,    -1,    -1,   248,   249,   250,   251,   252,
   21217             :       -1,   254,   255,   256,   257,   258,   259,   260,   261,   262,
   21218             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   21219             :      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
   21220             :      283,   284,   285,   286,   287,   288,   289,   290,   291,    -1,
   21221             :      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
   21222             :      303,    -1,   305,   306,   307,    -1,    -1,   310,   311,   312,
   21223             :       -1,    -1,   315,   316,   317,   318,   319,   320,   321,   322,
   21224             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   21225             :      333,   334,    -1,   336,   337,   338,   339,   340,   341,   342,
   21226             :      343,   344,    -1,   346,   347,   348,   349,   350,   351,   352,
   21227             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   21228             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   21229             :      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
   21230             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   21231             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,   402,
   21232             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   21233             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   21234             :      423,   424,   425,   426,   427,   428,   429,   430,   431,    -1,
   21235             :      433,   434,   435,    -1,   437,   438,   439,   440,   441,   442,
   21236             :      443,   444,    -1,   446,   447,   448,    -1,    -1,   451,   452,
   21237             :      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
   21238             :      463,   464,   465,    -1,    -1,   468,   469,   470,   471,   472,
   21239             :      473,    -1,   475,   476,   477,   478,   479,   480,   481,    -1,
   21240             :      483,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   21241             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   21242             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   21243             :      513,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,
   21244             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21245             :       -1,    -1,    -1,   536,    20,    21,    22,    23,    24,    25,
   21246             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   21247             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   21248             :       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
   21249             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   21250             :       66,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   21251             :       76,    77,    -1,    79,    -1,    81,    82,    83,    84,    85,
   21252             :       86,    87,    88,    89,    90,    91,    -1,    93,    94,    95,
   21253             :       96,    97,    98,    -1,   100,   101,   102,   103,   104,   105,
   21254             :      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
   21255             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   21256             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   21257             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   21258             :      146,    -1,   148,   149,   150,   151,    -1,   153,   154,   155,
   21259             :      156,   157,   158,   159,   160,   161,   162,    -1,   164,    -1,
   21260             :      166,   167,   168,   169,   170,    -1,   172,    -1,   174,   175,
   21261             :      176,    -1,   178,   179,   180,   181,   182,    -1,   184,   185,
   21262             :       -1,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
   21263             :      196,   197,   198,   199,   200,    -1,   202,   203,   204,   205,
   21264             :      206,   207,   208,   209,    -1,   211,   212,   213,   214,   215,
   21265             :      216,   217,   218,   219,    -1,   221,    -1,   223,   224,   225,
   21266             :      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
   21267             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   21268             :      246,    -1,   248,   249,   250,   251,   252,    -1,   254,   255,
   21269             :      256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
   21270             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   21271             :      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
   21272             :      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
   21273             :      296,    -1,   298,   299,   300,   301,   302,   303,    -1,   305,
   21274             :      306,   307,    -1,   309,   310,   311,   312,    -1,    -1,   315,
   21275             :      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
   21276             :      326,   327,   328,   329,   330,   331,   332,   333,   334,    -1,
   21277             :      336,   337,   338,   339,   340,   341,   342,   343,   344,    -1,
   21278             :      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   21279             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   21280             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   21281             :       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
   21282             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   21283             :      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
   21284             :      406,   407,   408,   409,   410,   411,   412,    -1,   414,   415,
   21285             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   21286             :      426,   427,   428,   429,   430,   431,    -1,   433,   434,   435,
   21287             :      436,   437,   438,   439,   440,   441,   442,   443,   444,    -1,
   21288             :      446,   447,   448,    -1,    -1,   451,   452,   453,   454,   455,
   21289             :       -1,   457,   458,   459,   460,   461,   462,   463,   464,   465,
   21290             :       -1,    -1,   468,   469,   470,   471,   472,   473,    -1,   475,
   21291             :      476,   477,   478,   479,   480,   481,    -1,   483,   484,   485,
   21292             :      486,   487,   488,    -1,    -1,   491,    -1,   493,   494,   495,
   21293             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   21294             :      506,   507,   508,   509,   510,   511,   512,   513,    -1,    -1,
   21295             :       -1,   517,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,
   21296             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21297             :      536,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   21298             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   21299             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
   21300             :       49,    50,    51,    52,    53,    54,    55,    56,    -1,    58,
   21301             :       59,    60,    61,    62,    63,    64,    -1,    66,    67,    68,
   21302             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   21303             :       79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
   21304             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   21305             :       -1,   100,   101,   102,   103,   104,   105,   106,   107,   108,
   21306             :      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
   21307             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   21308             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   21309             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   21310             :      149,   150,   151,    -1,   153,   154,   155,   156,   157,   158,
   21311             :      159,   160,   161,   162,    -1,   164,    -1,   166,   167,   168,
   21312             :      169,   170,    -1,   172,    -1,   174,   175,   176,    -1,   178,
   21313             :      179,   180,   181,   182,    -1,   184,   185,    -1,   187,   188,
   21314             :      189,    -1,   191,   192,   193,   194,   195,   196,   197,   198,
   21315             :      199,   200,    -1,   202,   203,   204,   205,   206,   207,   208,
   21316             :      209,    -1,   211,   212,   213,   214,   215,   216,   217,   218,
   21317             :      219,    -1,   221,    -1,   223,   224,   225,   226,   227,   228,
   21318             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   21319             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,   248,
   21320             :      249,   250,   251,   252,    -1,   254,   255,   256,   257,   258,
   21321             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   21322             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   21323             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   21324             :      289,   290,   291,    -1,   293,   294,   295,   296,    -1,   298,
   21325             :      299,   300,   301,   302,   303,    -1,   305,   306,   307,    -1,
   21326             :      309,   310,   311,   312,    -1,    -1,   315,   316,   317,   318,
   21327             :      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
   21328             :      329,   330,   331,   332,   333,   334,    -1,   336,   337,   338,
   21329             :      339,   340,   341,   342,   343,   344,    -1,   346,   347,   348,
   21330             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   21331             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   21332             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   21333             :      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   21334             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   21335             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   21336             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   21337             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   21338             :      429,   430,   431,    -1,   433,   434,   435,    -1,   437,   438,
   21339             :      439,   440,   441,   442,   443,   444,    -1,   446,   447,   448,
   21340             :       -1,    -1,   451,   452,   453,   454,   455,    -1,   457,   458,
   21341             :      459,   460,   461,   462,   463,   464,   465,    -1,    -1,   468,
   21342             :      469,   470,   471,   472,   473,    -1,   475,   476,   477,   478,
   21343             :      479,   480,   481,    -1,   483,   484,   485,   486,   487,   488,
   21344             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   21345             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   21346             :      509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,
   21347             :       -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21348             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   536,    20,    21,
   21349             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   21350             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   21351             :       42,    -1,    44,    45,    46,    47,    48,    49,    50,    51,
   21352             :       52,    53,    54,    55,    56,    -1,    58,    59,    60,    61,
   21353             :       62,    63,    64,    -1,    66,    67,    68,    69,    70,    71,
   21354             :       -1,    73,    74,    75,    76,    77,    -1,    79,    -1,    81,
   21355             :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
   21356             :       -1,    93,    94,    95,    96,    97,    98,    -1,   100,   101,
   21357             :      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
   21358             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   21359             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   21360             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   21361             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   21362             :       -1,   153,   154,   155,   156,   157,   158,   159,   160,   161,
   21363             :      162,    -1,   164,    -1,   166,   167,   168,   169,   170,    -1,
   21364             :      172,    -1,   174,   175,   176,    -1,   178,   179,   180,   181,
   21365             :      182,    -1,   184,   185,    -1,   187,   188,   189,    -1,   191,
   21366             :      192,   193,   194,   195,   196,   197,   198,   199,   200,    -1,
   21367             :      202,   203,   204,   205,   206,   207,   208,   209,    -1,   211,
   21368             :      212,   213,   214,   215,   216,   217,   218,   219,    -1,   221,
   21369             :       -1,   223,   224,   225,   226,   227,   228,   229,   230,   231,
   21370             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   21371             :      242,   243,   244,   245,    -1,    -1,   248,   249,   250,   251,
   21372             :      252,    -1,   254,   255,   256,   257,   258,   259,   260,   261,
   21373             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   21374             :      272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
   21375             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   21376             :       -1,   293,   294,   295,   296,    -1,   298,   299,   300,   301,
   21377             :      302,   303,    -1,   305,   306,   307,    -1,    -1,   310,   311,
   21378             :      312,    -1,    -1,   315,   316,   317,   318,   319,   320,   321,
   21379             :      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   21380             :      332,   333,   334,    -1,   336,   337,   338,   339,   340,   341,
   21381             :      342,   343,   344,    -1,   346,   347,   348,   349,   350,   351,
   21382             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   21383             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   21384             :      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
   21385             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   21386             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   21387             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   21388             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   21389             :      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
   21390             :       -1,   433,   434,   435,    -1,   437,   438,   439,   440,   441,
   21391             :      442,   443,   444,    -1,   446,   447,   448,    -1,    -1,   451,
   21392             :      452,   453,   454,   455,    -1,   457,   458,   459,   460,   461,
   21393             :      462,   463,   464,   465,    -1,    -1,   468,   469,   470,   471,
   21394             :      472,   473,    -1,   475,   476,   477,   478,   479,   480,   481,
   21395             :       -1,   483,   484,   485,   486,   487,   488,    -1,    -1,   491,
   21396             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   21397             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   21398             :      512,   513,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,
   21399             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21400             :       -1,    -1,    -1,    -1,   536,    20,    21,    22,    23,    24,
   21401             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   21402             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   21403             :       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
   21404             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   21405             :       -1,    66,    67,    68,    69,    70,    71,    -1,    73,    74,
   21406             :       75,    76,    77,    -1,    79,    -1,    81,    82,    83,    84,
   21407             :       85,    86,    87,    88,    89,    90,    91,    -1,    93,    94,
   21408             :       95,    96,    97,    98,    -1,   100,   101,   102,   103,   104,
   21409             :      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
   21410             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   21411             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   21412             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   21413             :      145,   146,    -1,   148,   149,   150,   151,    -1,   153,   154,
   21414             :      155,   156,   157,   158,   159,   160,   161,   162,    -1,   164,
   21415             :       -1,   166,   167,   168,   169,   170,    -1,   172,    -1,   174,
   21416             :      175,   176,    -1,   178,   179,   180,   181,   182,    -1,   184,
   21417             :      185,    -1,   187,   188,   189,    -1,   191,   192,   193,   194,
   21418             :      195,   196,   197,   198,   199,   200,    -1,   202,   203,   204,
   21419             :      205,   206,   207,   208,   209,    -1,   211,   212,   213,   214,
   21420             :      215,   216,   217,   218,   219,    -1,   221,    -1,   223,   224,
   21421             :      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
   21422             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   21423             :      245,    -1,    -1,   248,   249,   250,   251,   252,    -1,   254,
   21424             :      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
   21425             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   21426             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
   21427             :      285,   286,   287,   288,   289,   290,   291,    -1,   293,   294,
   21428             :      295,   296,    -1,   298,   299,   300,   301,   302,   303,    -1,
   21429             :      305,   306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,
   21430             :      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
   21431             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   21432             :       -1,   336,   337,   338,   339,   340,   341,   342,   343,   344,
   21433             :       -1,   346,   347,   348,   349,   350,   351,   352,   353,   354,
   21434             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   21435             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   21436             :      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
   21437             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   21438             :      395,    -1,   397,   398,   399,   400,   401,   402,   403,   404,
   21439             :      405,   406,   407,   408,   409,   410,   411,   412,    -1,   414,
   21440             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   21441             :      425,   426,   427,   428,   429,   430,   431,    -1,   433,   434,
   21442             :      435,    -1,   437,   438,   439,   440,   441,   442,   443,   444,
   21443             :       -1,   446,   447,   448,    -1,    -1,   451,   452,   453,   454,
   21444             :      455,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
   21445             :      465,    -1,    -1,   468,   469,   470,   471,   472,   473,    -1,
   21446             :      475,   476,   477,   478,   479,   480,   481,    -1,   483,   484,
   21447             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   21448             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   21449             :      505,   506,   507,   508,   509,   510,   511,   512,   513,    -1,
   21450             :       -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,
   21451             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21452             :       -1,   536,    20,    21,    22,    23,    24,    25,    26,    27,
   21453             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   21454             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   21455             :       48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
   21456             :       58,    59,    60,    61,    62,    63,    64,    -1,    66,    67,
   21457             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   21458             :       -1,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
   21459             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   21460             :       98,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
   21461             :      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
   21462             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   21463             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   21464             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   21465             :      148,   149,   150,   151,    -1,   153,   154,   155,   156,   157,
   21466             :      158,   159,   160,   161,   162,    -1,   164,    -1,   166,   167,
   21467             :      168,   169,   170,    -1,   172,    -1,   174,   175,   176,    -1,
   21468             :      178,   179,   180,   181,   182,    -1,   184,   185,    -1,   187,
   21469             :      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
   21470             :      198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
   21471             :      208,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
   21472             :      218,   219,    -1,   221,    -1,   223,   224,   225,   226,   227,
   21473             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   21474             :      238,   239,   240,   241,   242,   243,   244,   245,    -1,    -1,
   21475             :      248,   249,   250,   251,   252,    -1,   254,   255,   256,   257,
   21476             :      258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   21477             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   21478             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   21479             :      288,   289,   290,   291,    -1,   293,   294,   295,   296,    -1,
   21480             :      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
   21481             :       -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,   317,
   21482             :      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
   21483             :      328,   329,   330,   331,   332,   333,   334,    -1,   336,   337,
   21484             :      338,   339,   340,   341,   342,   343,   344,    -1,   346,   347,
   21485             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   21486             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   21487             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   21488             :      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
   21489             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   21490             :      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
   21491             :      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   21492             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   21493             :      428,   429,   430,   431,    -1,   433,   434,   435,    -1,   437,
   21494             :      438,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
   21495             :      448,    -1,    -1,   451,   452,   453,   454,   455,    -1,   457,
   21496             :      458,   459,   460,   461,   462,   463,   464,   465,    -1,    -1,
   21497             :      468,   469,   470,   471,   472,   473,    -1,   475,   476,   477,
   21498             :      478,   479,   480,   481,    -1,   483,   484,   485,   486,   487,
   21499             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   21500             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   21501             :      508,   509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,
   21502             :       -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21503             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   536,    20,
   21504             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   21505             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   21506             :       41,    42,    -1,    44,    45,    46,    47,    48,    49,    50,
   21507             :       51,    52,    53,    54,    55,    56,    -1,    58,    59,    60,
   21508             :       61,    62,    63,    64,    -1,    66,    67,    68,    69,    70,
   21509             :       71,    -1,    73,    74,    75,    76,    77,    -1,    79,    -1,
   21510             :       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
   21511             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,   100,
   21512             :      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
   21513             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   21514             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   21515             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   21516             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   21517             :      151,    -1,   153,   154,   155,   156,   157,   158,   159,   160,
   21518             :      161,   162,    -1,   164,    -1,   166,   167,   168,   169,   170,
   21519             :       -1,   172,    -1,   174,   175,   176,    -1,   178,   179,   180,
   21520             :      181,   182,    -1,   184,   185,    -1,   187,   188,   189,    -1,
   21521             :      191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
   21522             :       -1,   202,   203,   204,   205,   206,   207,   208,   209,    -1,
   21523             :      211,   212,   213,   214,   215,   216,   217,   218,   219,    -1,
   21524             :      221,    -1,   223,   224,   225,   226,   227,   228,   229,   230,
   21525             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   21526             :      241,   242,   243,   244,   245,    -1,    -1,   248,   249,   250,
   21527             :      251,   252,    -1,   254,   255,   256,   257,   258,   259,   260,
   21528             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   21529             :      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
   21530             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   21531             :      291,    -1,   293,   294,   295,   296,    -1,   298,   299,   300,
   21532             :      301,   302,   303,    -1,   305,   306,   307,    -1,    -1,   310,
   21533             :      311,   312,    -1,    -1,   315,   316,   317,   318,   319,   320,
   21534             :      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
   21535             :      331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
   21536             :      341,   342,   343,   344,    -1,   346,   347,   348,   349,   350,
   21537             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   21538             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   21539             :      371,   372,   373,   374,   375,    -1,   377,   378,   379,   380,
   21540             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   21541             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   21542             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   21543             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   21544             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   21545             :      431,    -1,   433,   434,   435,    -1,   437,   438,   439,   440,
   21546             :      441,   442,   443,   444,    -1,   446,   447,   448,    -1,    -1,
   21547             :      451,   452,   453,   454,   455,    -1,   457,   458,   459,   460,
   21548             :      461,   462,   463,   464,   465,    -1,    -1,   468,   469,   470,
   21549             :      471,   472,   473,    -1,   475,   476,   477,   478,   479,   480,
   21550             :      481,    -1,   483,   484,   485,   486,   487,   488,    -1,    -1,
   21551             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   21552             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   21553             :      511,   512,   513,    -1,    -1,    -1,    -1,    -1,    -1,     3,
   21554             :       -1,     5,     6,    -1,    -1,    -1,    -1,    11,    -1,    -1,
   21555             :       -1,    -1,    -1,    -1,    -1,   536,    20,    21,    22,    23,
   21556             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   21557             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   21558             :       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
   21559             :       54,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   21560             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   21561             :       74,    75,    76,    77,    -1,    79,    -1,    81,    82,    83,
   21562             :       84,    85,    86,    87,    88,    89,    90,    91,    -1,    93,
   21563             :       94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
   21564             :       -1,    -1,    -1,   107,    -1,    -1,    -1,   111,   112,   113,
   21565             :      114,   115,   116,   117,   118,   119,   120,   121,    -1,   123,
   21566             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   21567             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   21568             :      144,   145,   146,    -1,   148,   149,   150,   151,    -1,   153,
   21569             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   21570             :      164,    -1,   166,   167,   168,   169,   170,    -1,   172,    -1,
   21571             :      174,   175,   176,    -1,   178,   179,   180,   181,   182,    -1,
   21572             :      184,   185,    -1,   187,   188,   189,    -1,   191,   192,   193,
   21573             :      194,   195,   196,   197,   198,   199,   200,    -1,   202,   203,
   21574             :      204,   205,   206,   207,   208,   209,    -1,   211,   212,   213,
   21575             :      214,   215,   216,   217,   218,   219,    -1,   221,    -1,   223,
   21576             :      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
   21577             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   21578             :      244,   245,    -1,    -1,   248,   249,   250,   251,   252,    -1,
   21579             :      254,   255,   256,    -1,    -1,   259,   260,   261,   262,   263,
   21580             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   21581             :      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
   21582             :      284,   285,   286,   287,   288,   289,   290,   291,    -1,   293,
   21583             :      294,   295,   296,    -1,   298,   299,   300,   301,   302,   303,
   21584             :       -1,   305,   306,   307,   308,    -1,   310,   311,   312,    -1,
   21585             :       -1,   315,   316,   317,   318,   319,   320,   321,   322,   323,
   21586             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   21587             :      334,    -1,   336,   337,   338,   339,   340,   341,   342,   343,
   21588             :      344,    -1,   346,   347,   348,   349,   350,   351,   352,   353,
   21589             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   21590             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   21591             :      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
   21592             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   21593             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   21594             :      404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
   21595             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   21596             :      424,   425,   426,   427,   428,   429,   430,   431,    -1,   433,
   21597             :      434,    -1,    -1,   437,   438,   439,   440,   441,   442,   443,
   21598             :      444,    -1,   446,   447,   448,    -1,    -1,   451,   452,   453,
   21599             :      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
   21600             :      464,   465,    -1,    -1,   468,   469,   470,   471,   472,    -1,
   21601             :       -1,   475,   476,   477,   478,   479,   480,   481,    -1,   483,
   21602             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   21603             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   21604             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   21605             :       -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,
   21606             :       -1,    -1,    -1,   527,   528,   529,    -1,    -1,    -1,    -1,
   21607             :       -1,    -1,   536,    20,    21,    22,    23,    24,    25,    26,
   21608             :       27,    28,    -1,    30,    31,    32,    33,    34,    -1,    -1,
   21609             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   21610             :       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
   21611             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   21612             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   21613             :       77,    -1,    79,    -1,    81,    82,    83,    84,    85,    86,
   21614             :       87,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   21615             :       97,    98,    -1,   100,   101,   102,   103,    -1,    -1,    -1,
   21616             :      107,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   21617             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   21618             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   21619             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   21620             :       -1,   148,   149,   150,   151,    -1,   153,   154,   155,   156,
   21621             :      157,   158,   159,   160,   161,   162,    -1,   164,    -1,   166,
   21622             :      167,   168,   169,   170,    -1,   172,    -1,   174,   175,   176,
   21623             :       -1,   178,   179,   180,   181,   182,    -1,   184,   185,    -1,
   21624             :      187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
   21625             :      197,   198,   199,   200,    -1,   202,   203,   204,   205,   206,
   21626             :      207,   208,   209,    -1,   211,   212,   213,   214,   215,   216,
   21627             :      217,   218,   219,    -1,   221,    -1,   223,   224,   225,   226,
   21628             :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
   21629             :      237,   238,   239,   240,   241,   242,   243,   244,   245,    -1,
   21630             :       -1,   248,   249,   250,   251,   252,    -1,   254,   255,   256,
   21631             :       -1,    -1,   259,   260,   261,   262,   263,   264,   265,   266,
   21632             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   21633             :      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
   21634             :      287,   288,   289,   290,   291,    -1,   293,   294,   295,   296,
   21635             :       -1,   298,   299,   300,   301,   302,   303,    -1,   305,   306,
   21636             :      307,    -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,
   21637             :      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
   21638             :      327,   328,   329,   330,   331,   332,   333,   334,    -1,   336,
   21639             :      337,   338,   339,   340,   341,   342,   343,   344,    -1,   346,
   21640             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   21641             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   21642             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   21643             :      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
   21644             :      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
   21645             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   21646             :      407,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
   21647             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   21648             :      427,   428,   429,   430,   431,    -1,   433,   434,    -1,   436,
   21649             :      437,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
   21650             :      447,   448,    -1,    -1,   451,   452,   453,   454,   455,    -1,
   21651             :      457,   458,   459,   460,   461,   462,   463,   464,   465,    -1,
   21652             :       -1,   468,   469,   470,   471,   472,    -1,    -1,   475,   476,
   21653             :      477,   478,   479,   480,   481,    -1,   483,   484,   485,   486,
   21654             :      487,   488,    -1,    -1,   491,    -1,   493,   494,   495,   496,
   21655             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   21656             :      507,   508,   509,   510,   511,   512,   513,   514,    -1,    -1,
   21657             :      517,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   21658             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   536,
   21659             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   21660             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21661             :       40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
   21662             :       50,    51,    52,    53,    54,    55,    56,    -1,    58,    59,
   21663             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   21664             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    79,
   21665             :       -1,    81,    82,    83,    84,    85,    86,    87,    88,    89,
   21666             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   21667             :      100,   101,   102,   103,    -1,    -1,    -1,   107,    -1,    -1,
   21668             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   21669             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   21670             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   21671             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   21672             :      150,   151,    -1,   153,   154,   155,   156,   157,   158,   159,
   21673             :      160,   161,   162,    -1,   164,    -1,   166,   167,   168,   169,
   21674             :      170,    -1,   172,    -1,   174,   175,   176,    -1,   178,   179,
   21675             :      180,   181,   182,    -1,   184,   185,    -1,   187,   188,   189,
   21676             :       -1,   191,   192,   193,   194,   195,   196,   197,   198,   199,
   21677             :      200,    -1,   202,   203,   204,   205,   206,   207,   208,   209,
   21678             :       -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
   21679             :       -1,   221,    -1,   223,   224,   225,   226,   227,   228,   229,
   21680             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   21681             :      240,   241,   242,   243,   244,   245,    -1,    -1,   248,   249,
   21682             :      250,   251,   252,    -1,   254,   255,   256,    -1,    -1,   259,
   21683             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   21684             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   21685             :      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   21686             :      290,   291,    -1,   293,   294,   295,   296,    -1,   298,   299,
   21687             :      300,   301,   302,   303,    -1,   305,   306,   307,    -1,    -1,
   21688             :      310,   311,   312,    -1,    -1,   315,   316,   317,   318,   319,
   21689             :      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
   21690             :      330,   331,   332,   333,   334,    -1,   336,   337,   338,   339,
   21691             :      340,   341,   342,   343,   344,    -1,   346,   347,   348,   349,
   21692             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   21693             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   21694             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
   21695             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   21696             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   21697             :      400,   401,    -1,   403,   404,   405,   406,   407,   408,   409,
   21698             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   21699             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   21700             :      430,   431,    -1,   433,   434,    -1,    -1,   437,   438,   439,
   21701             :      440,   441,   442,   443,   444,    -1,   446,   447,   448,    -1,
   21702             :       -1,   451,   452,   453,   454,   455,    -1,   457,   458,   459,
   21703             :      460,   461,   462,   463,   464,   465,    -1,    -1,   468,   469,
   21704             :      470,   471,   472,    -1,    -1,   475,   476,   477,   478,   479,
   21705             :      480,   481,    -1,   483,   484,   485,   486,   487,   488,    -1,
   21706             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   21707             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   21708             :      510,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,    -1,
   21709             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21710             :       -1,    -1,    -1,    -1,    -1,    -1,   536,    20,    21,    22,
   21711             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   21712             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   21713             :       -1,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
   21714             :       53,    -1,    55,    56,    -1,    58,    59,    60,    61,    62,
   21715             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   21716             :       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
   21717             :       83,    84,    85,    86,    -1,    88,    89,    90,    91,    -1,
   21718             :       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
   21719             :      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,
   21720             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   21721             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   21722             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   21723             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,    -1,
   21724             :      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   21725             :       -1,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
   21726             :       -1,   174,   175,    -1,    -1,    -1,   179,   180,   181,   182,
   21727             :       -1,   184,   185,    -1,   187,   188,   189,    -1,   191,   192,
   21728             :      193,   194,   195,    -1,   197,   198,   199,   200,    -1,   202,
   21729             :      203,   204,   205,   206,   207,   208,   209,    -1,   211,    -1,
   21730             :      213,   214,   215,   216,   217,   218,   219,    -1,   221,    -1,
   21731             :      223,    -1,    -1,   226,    -1,   228,   229,   230,   231,   232,
   21732             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   21733             :      243,   244,   245,    -1,    -1,   248,   249,    -1,   251,    -1,
   21734             :       -1,   254,   255,   256,    -1,    -1,   259,   260,   261,   262,
   21735             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   21736             :      273,   274,   275,   276,   277,   278,    -1,   280,   281,   282,
   21737             :      283,   284,   285,   286,   287,   288,   289,   290,   291,    -1,
   21738             :      293,   294,    -1,   296,    -1,   298,   299,   300,   301,   302,
   21739             :      303,    -1,   305,   306,   307,    -1,    -1,   310,   311,   312,
   21740             :       -1,    -1,   315,   316,   317,    -1,   319,    -1,   321,   322,
   21741             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   21742             :      333,   334,    -1,   336,   337,   338,   339,   340,   341,   342,
   21743             :      343,   344,    -1,   346,   347,   348,   349,   350,   351,   352,
   21744             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   21745             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   21746             :      373,   374,   375,    -1,   377,   378,    -1,   380,   381,   382,
   21747             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   21748             :      393,   394,   395,   396,   397,   398,   399,   400,   401,    -1,
   21749             :      403,   404,   405,   406,   407,    -1,   409,   410,   411,   412,
   21750             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   21751             :      423,   424,   425,   426,   427,   428,   429,   430,   431,    -1,
   21752             :      433,   434,    -1,   436,   437,    -1,   439,   440,   441,   442,
   21753             :      443,   444,    -1,   446,   447,   448,    -1,    -1,   451,   452,
   21754             :      453,   454,   455,    -1,   457,   458,   459,   460,   461,   462,
   21755             :      463,   464,   465,    -1,    -1,   468,   469,   470,   471,   472,
   21756             :       -1,    -1,   475,   476,   477,   478,   479,   480,   481,    -1,
   21757             :      483,    -1,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   21758             :      493,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   21759             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   21760             :      513,    -1,    -1,    -1,   517,    -1,    -1,     3,    -1,    -1,
   21761             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21762             :       -1,    -1,    -1,   536,    20,    21,    22,    23,    24,    25,
   21763             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   21764             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   21765             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   21766             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   21767             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   21768             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   21769             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   21770             :       96,    97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,
   21771             :       -1,   107,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   21772             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   21773             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   21774             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   21775             :      146,    -1,   148,   149,   150,   151,    -1,   153,   154,   155,
   21776             :      156,   157,   158,   159,   160,   161,   162,    -1,   164,    -1,
   21777             :      166,   167,   168,   169,   170,    -1,   172,    -1,   174,   175,
   21778             :       -1,    -1,    -1,   179,   180,   181,   182,    -1,   184,   185,
   21779             :       -1,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
   21780             :       -1,   197,   198,   199,   200,    -1,   202,   203,   204,   205,
   21781             :      206,   207,   208,   209,    -1,   211,    -1,   213,   214,   215,
   21782             :      216,   217,   218,   219,    -1,   221,    -1,   223,    -1,    -1,
   21783             :      226,    -1,   228,   229,   230,   231,   232,   233,   234,   235,
   21784             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   21785             :       -1,    -1,   248,   249,    -1,   251,    -1,    -1,   254,   255,
   21786             :      256,    -1,    -1,   259,   260,   261,   262,   263,   264,   265,
   21787             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   21788             :      276,   277,   278,    -1,   280,   281,   282,   283,   284,   285,
   21789             :      286,   287,   288,   289,   290,   291,    -1,   293,   294,    -1,
   21790             :      296,    -1,   298,   299,   300,   301,   302,   303,    -1,   305,
   21791             :      306,   307,    -1,   309,   310,   311,   312,    -1,    -1,   315,
   21792             :      316,   317,    -1,   319,    -1,   321,   322,   323,   324,   325,
   21793             :      326,   327,   328,   329,   330,   331,   332,   333,   334,    -1,
   21794             :      336,   337,   338,   339,   340,   341,   342,   343,   344,    -1,
   21795             :      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   21796             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   21797             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   21798             :       -1,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
   21799             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   21800             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   21801             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   21802             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   21803             :      426,   427,   428,   429,   430,   431,    -1,   433,   434,    -1,
   21804             :      436,   437,    -1,   439,   440,   441,   442,   443,   444,    -1,
   21805             :      446,   447,   448,    -1,    -1,   451,   452,   453,   454,   455,
   21806             :       -1,   457,   458,   459,   460,   461,   462,   463,   464,   465,
   21807             :       -1,    -1,   468,   469,   470,   471,   472,    -1,    -1,   475,
   21808             :      476,   477,   478,   479,   480,   481,    -1,   483,    -1,   485,
   21809             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   21810             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   21811             :      506,   507,   508,   509,   510,   511,   512,   513,    -1,    -1,
   21812             :       -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,
   21813             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21814             :      536,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   21815             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   21816             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   21817             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   21818             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   21819             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   21820             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   21821             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   21822             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   21823             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   21824             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   21825             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   21826             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   21827             :      149,   150,   151,    -1,   153,   154,   155,   156,   157,   158,
   21828             :      159,   160,   161,   162,    -1,   164,    -1,   166,   167,   168,
   21829             :      169,   170,    -1,   172,    -1,   174,   175,    -1,    -1,    -1,
   21830             :      179,   180,   181,   182,    -1,   184,   185,    -1,   187,   188,
   21831             :      189,    -1,   191,   192,   193,   194,   195,    -1,   197,   198,
   21832             :      199,   200,    -1,   202,   203,   204,   205,   206,   207,   208,
   21833             :      209,    -1,   211,    -1,   213,   214,   215,   216,   217,   218,
   21834             :      219,    -1,   221,    -1,   223,    -1,    -1,   226,    -1,   228,
   21835             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   21836             :      239,   240,   241,   242,   243,   244,   245,    -1,    -1,   248,
   21837             :      249,    -1,   251,    -1,    -1,   254,   255,   256,    -1,    -1,
   21838             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   21839             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   21840             :       -1,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   21841             :      289,   290,   291,    -1,   293,   294,    -1,   296,    -1,   298,
   21842             :      299,   300,   301,   302,   303,    -1,   305,   306,   307,    -1,
   21843             :       -1,   310,   311,   312,    -1,    -1,   315,   316,   317,    -1,
   21844             :      319,    -1,   321,   322,   323,   324,   325,   326,   327,   328,
   21845             :      329,   330,   331,   332,   333,   334,    -1,   336,   337,   338,
   21846             :      339,   340,   341,   342,   343,   344,    -1,   346,   347,   348,
   21847             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   21848             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   21849             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   21850             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   21851             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   21852             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   21853             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   21854             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   21855             :      429,   430,   431,    -1,   433,   434,    -1,    -1,   437,    -1,
   21856             :      439,   440,   441,   442,   443,   444,    -1,   446,   447,   448,
   21857             :       -1,    -1,   451,   452,   453,   454,   455,    -1,   457,   458,
   21858             :      459,   460,   461,   462,   463,   464,   465,    -1,    -1,   468,
   21859             :      469,   470,   471,   472,    -1,    -1,   475,   476,   477,   478,
   21860             :      479,   480,   481,    -1,   483,    -1,   485,   486,   487,   488,
   21861             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   21862             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   21863             :      509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,
   21864             :       -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21865             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   536,    20,    21,
   21866             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   21867             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   21868             :       42,    -1,    44,    45,    46,    47,    -1,    49,    50,    51,
   21869             :       52,    53,    -1,    55,    56,    -1,    58,    59,    60,    61,
   21870             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   21871             :       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
   21872             :       82,    83,    84,    85,    86,    -1,    88,    89,    90,    91,
   21873             :       -1,    93,    94,    95,    96,    97,    98,    -1,    -1,   101,
   21874             :      102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
   21875             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   21876             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   21877             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   21878             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   21879             :       -1,   153,   154,   155,   156,   157,   158,   159,   160,   161,
   21880             :      162,    -1,   164,    -1,   166,   167,   168,   169,   170,    -1,
   21881             :      172,    -1,   174,   175,    -1,    -1,    -1,   179,   180,   181,
   21882             :      182,    -1,   184,   185,    -1,   187,   188,   189,    -1,   191,
   21883             :      192,   193,   194,   195,    -1,   197,   198,   199,   200,    -1,
   21884             :      202,   203,   204,   205,   206,   207,   208,   209,    -1,   211,
   21885             :       -1,   213,   214,   215,   216,   217,   218,   219,    -1,   221,
   21886             :       -1,   223,    -1,    -1,   226,    -1,   228,   229,   230,   231,
   21887             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   21888             :      242,   243,   244,   245,    -1,    -1,   248,   249,    -1,   251,
   21889             :       -1,    -1,   254,   255,   256,    -1,    -1,   259,   260,   261,
   21890             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   21891             :      272,   273,   274,   275,   276,   277,   278,    -1,   280,   281,
   21892             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   21893             :       -1,   293,   294,    -1,   296,    -1,   298,   299,   300,   301,
   21894             :      302,   303,    -1,   305,   306,   307,    -1,    -1,   310,   311,
   21895             :      312,    -1,    -1,   315,   316,   317,    -1,   319,    -1,   321,
   21896             :      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   21897             :      332,   333,   334,    -1,   336,   337,   338,   339,   340,   341,
   21898             :      342,   343,   344,    -1,   346,   347,   348,   349,   350,   351,
   21899             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   21900             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   21901             :      372,   373,   374,   375,    -1,   377,   378,    -1,   380,   381,
   21902             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   21903             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   21904             :       -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
   21905             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   21906             :      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
   21907             :       -1,   433,   434,    -1,    -1,   437,    -1,   439,   440,   441,
   21908             :      442,   443,   444,    -1,   446,   447,   448,    -1,    -1,   451,
   21909             :      452,   453,   454,   455,    -1,   457,   458,   459,   460,   461,
   21910             :      462,   463,   464,   465,    -1,    -1,   468,   469,   470,   471,
   21911             :      472,    -1,    -1,   475,   476,   477,   478,   479,   480,   481,
   21912             :       -1,   483,    -1,   485,   486,   487,   488,    -1,    -1,   491,
   21913             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   21914             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   21915             :      512,   513,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,
   21916             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21917             :       -1,    -1,    -1,    -1,   536,    20,    21,    22,    23,    24,
   21918             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   21919             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   21920             :       45,    46,    47,    -1,    49,    50,    51,    52,    53,    -1,
   21921             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   21922             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   21923             :       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    84,
   21924             :       85,    86,    -1,    88,    89,    90,    91,    -1,    93,    94,
   21925             :       95,    96,    97,    98,    -1,    -1,   101,   102,   103,    -1,
   21926             :       -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,
   21927             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   21928             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   21929             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   21930             :      145,   146,    -1,   148,   149,   150,   151,    -1,   153,   154,
   21931             :      155,   156,   157,   158,   159,   160,   161,   162,    -1,   164,
   21932             :       -1,   166,   167,   168,   169,   170,    -1,   172,    -1,   174,
   21933             :      175,    -1,    -1,    -1,   179,   180,   181,   182,    -1,   184,
   21934             :      185,    -1,   187,   188,   189,    -1,   191,   192,   193,   194,
   21935             :      195,    -1,   197,   198,   199,   200,    -1,   202,   203,   204,
   21936             :      205,   206,   207,   208,   209,    -1,   211,    -1,   213,   214,
   21937             :      215,   216,   217,   218,   219,    -1,   221,    -1,   223,    -1,
   21938             :       -1,   226,    -1,   228,   229,   230,   231,   232,   233,   234,
   21939             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   21940             :      245,    -1,    -1,   248,   249,    -1,   251,    -1,    -1,   254,
   21941             :      255,   256,    -1,    -1,   259,   260,   261,   262,   263,   264,
   21942             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   21943             :      275,   276,   277,   278,    -1,   280,   281,   282,   283,   284,
   21944             :      285,   286,   287,   288,   289,   290,   291,    -1,   293,   294,
   21945             :       -1,   296,    -1,   298,   299,   300,   301,   302,   303,    -1,
   21946             :      305,   306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,
   21947             :      315,   316,   317,    -1,   319,    -1,   321,   322,   323,   324,
   21948             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   21949             :       -1,   336,   337,   338,   339,   340,   341,   342,   343,   344,
   21950             :       -1,   346,   347,   348,   349,   350,   351,   352,   353,   354,
   21951             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   21952             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   21953             :      375,    -1,   377,   378,    -1,   380,   381,   382,   383,   384,
   21954             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   21955             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   21956             :      405,   406,   407,    -1,   409,   410,   411,   412,    -1,   414,
   21957             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   21958             :      425,   426,   427,   428,   429,   430,   431,    -1,   433,   434,
   21959             :       -1,    -1,   437,    -1,   439,   440,   441,   442,   443,   444,
   21960             :       -1,   446,   447,   448,    -1,    -1,   451,   452,   453,   454,
   21961             :      455,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
   21962             :      465,    -1,    -1,   468,   469,   470,   471,   472,    -1,    -1,
   21963             :      475,   476,   477,   478,   479,   480,   481,    -1,   483,    -1,
   21964             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   21965             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   21966             :      505,   506,   507,   508,   509,   510,   511,   512,   513,    -1,
   21967             :       -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,
   21968             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21969             :       -1,   536,    20,    21,    22,    23,    24,    25,    26,    27,
   21970             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   21971             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   21972             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   21973             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   21974             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   21975             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   21976             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   21977             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   21978             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   21979             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   21980             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   21981             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   21982             :      148,   149,   150,   151,    -1,   153,   154,   155,   156,   157,
   21983             :      158,   159,   160,   161,   162,    -1,   164,    -1,   166,   167,
   21984             :      168,   169,   170,    -1,   172,    -1,   174,   175,    -1,    -1,
   21985             :       -1,   179,   180,   181,   182,    -1,   184,   185,    -1,   187,
   21986             :      188,   189,    -1,   191,   192,   193,   194,   195,    -1,   197,
   21987             :      198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
   21988             :      208,   209,    -1,   211,    -1,   213,   214,   215,   216,   217,
   21989             :      218,   219,    -1,   221,    -1,   223,    -1,    -1,   226,    -1,
   21990             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   21991             :      238,   239,   240,   241,   242,   243,   244,   245,    -1,    -1,
   21992             :      248,   249,    -1,   251,    -1,    -1,   254,   255,   256,    -1,
   21993             :       -1,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   21994             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   21995             :      278,    -1,   280,   281,   282,   283,   284,   285,   286,   287,
   21996             :      288,   289,   290,   291,    -1,   293,   294,    -1,   296,    -1,
   21997             :      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
   21998             :       -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,   317,
   21999             :       -1,   319,    -1,   321,   322,   323,   324,   325,   326,   327,
   22000             :      328,   329,   330,   331,   332,   333,   334,    -1,   336,   337,
   22001             :      338,   339,   340,   341,   342,   343,   344,    -1,   346,   347,
   22002             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   22003             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   22004             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   22005             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   22006             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   22007             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   22008             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   22009             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   22010             :      428,   429,   430,   431,    -1,   433,   434,    -1,    -1,   437,
   22011             :       -1,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
   22012             :      448,    -1,    -1,   451,   452,   453,   454,   455,    -1,   457,
   22013             :      458,   459,   460,   461,   462,   463,   464,   465,    -1,    -1,
   22014             :      468,   469,   470,   471,   472,    -1,    -1,   475,   476,   477,
   22015             :      478,   479,   480,   481,    -1,   483,    -1,   485,   486,   487,
   22016             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   22017             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   22018             :      508,   509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,
   22019             :       -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,
   22020             :       -1,    -1,    10,    -1,    -1,    13,    -1,    -1,   536,    17,
   22021             :       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
   22022             :       28,    29,    30,    31,    32,    33,    34,    35,    36,    -1,
   22023             :       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
   22024             :       48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
   22025             :       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
   22026             :       68,    -1,    -1,    71,    72,    73,    74,    75,    76,    77,
   22027             :       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
   22028             :       88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
   22029             :       98,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
   22030             :      108,   109,   110,   111,   112,   113,   114,    -1,   116,   117,
   22031             :      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
   22032             :      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
   22033             :      138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
   22034             :      148,   149,   150,   151,    -1,   153,   154,   155,   156,   157,
   22035             :      158,   159,   160,   161,   162,   163,   164,    -1,    -1,   167,
   22036             :      168,   169,   170,    -1,   172,   173,   174,   175,   176,    -1,
   22037             :      178,   179,   180,   181,   182,    -1,   184,   185,    -1,   187,
   22038             :      188,   189,    -1,   191,   192,    -1,   194,   195,   196,   197,
   22039             :      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
   22040             :      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
   22041             :      218,   219,    -1,   221,    -1,   223,   224,   225,   226,   227,
   22042             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   22043             :      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
   22044             :      248,   249,   250,   251,   252,    -1,   254,   255,   256,   257,
   22045             :      258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   22046             :      268,   269,   270,    -1,   272,   273,    -1,   275,   276,   277,
   22047             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   22048             :      288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
   22049             :      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
   22050             :       -1,   309,   310,   311,   312,   313,    -1,   315,   316,   317,
   22051             :      318,    -1,    -1,   321,   322,   323,   324,   325,   326,   327,
   22052             :      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
   22053             :      338,   339,   340,    -1,   342,   343,   344,   345,   346,   347,
   22054             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   22055             :      358,   359,   360,   361,   362,   363,   364,   365,   366,   367,
   22056             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   22057             :      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
   22058             :      388,   389,   390,   391,   392,   393,    -1,   395,   396,   397,
   22059             :      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
   22060             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   22061             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   22062             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   22063             :      438,   439,   440,   441,   442,   443,   444,   445,   446,   447,
   22064             :      448,    -1,   450,   451,   452,   453,   454,   455,   456,   457,
   22065             :      458,   459,   460,   461,   462,   463,   464,   465,    -1,   467,
   22066             :      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
   22067             :      478,   479,   480,   481,   482,    -1,   484,   485,   486,   487,
   22068             :      488,   489,    -1,   491,    -1,    -1,    -1,    -1,   496,   497,
   22069             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   22070             :      508,   509,   510,    -1,   512,   513,    -1,   515,    -1,    -1,
   22071             :       -1,    -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,
   22072             :      528,   529,   530,   531,   532,     3,    -1,     5,     6,    -1,
   22073             :       -1,    -1,    10,    11,    -1,    -1,    -1,    -1,    -1,    17,
   22074             :       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
   22075             :       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
   22076             :       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
   22077             :       48,    49,    50,    51,    -1,    53,    54,    55,    56,    57,
   22078             :       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
   22079             :       68,    69,    70,    71,    72,    73,    74,    75,    76,    -1,
   22080             :       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
   22081             :       88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
   22082             :       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
   22083             :      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
   22084             :      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
   22085             :      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
   22086             :      138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
   22087             :      148,   149,   150,   151,   152,   153,   154,   155,   156,    -1,
   22088             :      158,   159,   160,   161,    -1,   163,   164,   165,   166,   167,
   22089             :      168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
   22090             :      178,   179,   180,   181,   182,   183,   184,    -1,   186,    -1,
   22091             :      188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
   22092             :      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
   22093             :      208,   209,   210,   211,   212,    -1,   214,   215,   216,   217,
   22094             :      218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
   22095             :      228,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22096             :       -1,   239,   240,   241,   242,   243,   244,   245,   246,   247,
   22097             :      248,    -1,   250,   251,   252,   253,   254,   255,   256,   257,
   22098             :      258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   22099             :      268,    -1,   270,   271,   272,   273,   274,   275,   276,   277,
   22100             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   22101             :      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
   22102             :       -1,   299,   300,   301,   302,   303,   304,   305,   306,   307,
   22103             :      308,   309,   310,   311,   312,   313,   314,   315,   316,    -1,
   22104             :      318,   319,   320,    -1,   322,   323,   324,   325,   326,   327,
   22105             :      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
   22106             :      338,    -1,   340,    -1,   342,   343,   344,   345,   346,   347,
   22107             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   22108             :      358,   359,   360,   361,   362,   363,   364,   365,   366,   367,
   22109             :      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
   22110             :      378,   379,   380,   381,   382,   383,   384,    -1,   386,   387,
   22111             :      388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
   22112             :      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
   22113             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   22114             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   22115             :      428,   429,    -1,   431,   432,   433,   434,   435,   436,   437,
   22116             :      438,   439,   440,   441,   442,   443,   444,   445,   446,   447,
   22117             :      448,   449,   450,   451,   452,    -1,   454,    -1,   456,   457,
   22118             :      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
   22119             :      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
   22120             :      478,   479,    -1,   481,   482,   483,   484,   485,   486,   487,
   22121             :      488,   489,   490,   491,   492,   493,   494,   495,   496,   497,
   22122             :      498,   499,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22123             :       -1,    -1,    -1,   511,   512,   513,    -1,    -1,    -1,    -1,
   22124             :       -1,    -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,
   22125             :      528,   529,   530,   531,   532,     3,    -1,     5,     6,    -1,
   22126             :       -1,    -1,    10,    11,    -1,    -1,    -1,    -1,    -1,    17,
   22127             :       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
   22128             :       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
   22129             :       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
   22130             :       48,    49,    50,    51,    -1,    53,    54,    55,    56,    57,
   22131             :       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
   22132             :       68,    69,    70,    71,    72,    73,    74,    75,    76,    -1,
   22133             :       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
   22134             :       88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
   22135             :       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
   22136             :      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
   22137             :      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
   22138             :      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
   22139             :      138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
   22140             :      148,   149,   150,   151,   152,   153,   154,   155,   156,    -1,
   22141             :      158,   159,   160,   161,    -1,   163,   164,   165,   166,   167,
   22142             :      168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
   22143             :      178,   179,   180,   181,   182,   183,   184,    -1,   186,    -1,
   22144             :      188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
   22145             :      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
   22146             :      208,   209,   210,   211,   212,    -1,   214,   215,   216,   217,
   22147             :      218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
   22148             :      228,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22149             :       -1,   239,   240,   241,   242,   243,   244,   245,   246,   247,
   22150             :      248,    -1,   250,   251,   252,   253,   254,   255,   256,   257,
   22151             :      258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   22152             :      268,    -1,   270,   271,   272,   273,   274,   275,   276,   277,
   22153             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   22154             :      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
   22155             :       -1,   299,   300,   301,   302,   303,   304,   305,   306,   307,
   22156             :      308,   309,   310,   311,   312,   313,   314,   315,   316,    -1,
   22157             :      318,   319,   320,    -1,   322,   323,   324,   325,   326,   327,
   22158             :      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
   22159             :      338,    -1,   340,    -1,   342,   343,   344,   345,   346,   347,
   22160             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   22161             :      358,   359,   360,   361,   362,   363,   364,   365,   366,   367,
   22162             :      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
   22163             :      378,   379,   380,   381,   382,   383,   384,    -1,   386,   387,
   22164             :      388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
   22165             :      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
   22166             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   22167             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   22168             :      428,   429,    -1,   431,   432,   433,   434,   435,   436,   437,
   22169             :      438,   439,   440,   441,   442,   443,   444,   445,   446,   447,
   22170             :      448,   449,   450,   451,   452,    -1,   454,    -1,   456,   457,
   22171             :      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
   22172             :      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
   22173             :      478,   479,    -1,   481,   482,   483,   484,   485,   486,   487,
   22174             :      488,   489,   490,   491,   492,   493,   494,   495,   496,   497,
   22175             :      498,   499,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22176             :       -1,    -1,    -1,   511,   512,   513,    -1,    -1,    -1,    -1,
   22177             :       -1,    -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,
   22178             :      528,   529,   530,   531,   532,     3,    -1,    -1,    -1,    -1,
   22179             :       -1,    -1,    10,    -1,    -1,    -1,    -1,    -1,    -1,    17,
   22180             :       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
   22181             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   22182             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   22183             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   22184             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   22185             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   22186             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   22187             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   22188             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   22189             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   22190             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   22191             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   22192             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   22193             :      148,   149,   150,   151,    -1,   153,   154,   155,   156,   157,
   22194             :      158,   159,   160,   161,   162,    -1,   164,    -1,   166,   167,
   22195             :      168,   169,   170,    -1,   172,    -1,   174,   175,    -1,    -1,
   22196             :       -1,   179,   180,   181,   182,    -1,   184,   185,    -1,   187,
   22197             :      188,   189,    -1,   191,   192,   193,   194,   195,    -1,   197,
   22198             :      198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
   22199             :      208,   209,    -1,   211,    -1,   213,   214,   215,   216,   217,
   22200             :      218,   219,    -1,   221,    -1,   223,    -1,    -1,   226,    -1,
   22201             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   22202             :      238,   239,   240,   241,   242,   243,   244,   245,    -1,    -1,
   22203             :      248,   249,    -1,   251,    -1,    -1,   254,   255,   256,    -1,
   22204             :       -1,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   22205             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   22206             :      278,    -1,   280,   281,   282,   283,   284,   285,   286,   287,
   22207             :      288,   289,   290,   291,    -1,   293,   294,    -1,   296,    -1,
   22208             :      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
   22209             :       -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,   317,
   22210             :       -1,   319,    -1,   321,   322,   323,   324,   325,   326,   327,
   22211             :      328,   329,   330,   331,   332,   333,   334,    -1,   336,   337,
   22212             :      338,   339,   340,   341,   342,   343,   344,    -1,   346,   347,
   22213             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   22214             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   22215             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   22216             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   22217             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   22218             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   22219             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   22220             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   22221             :      428,   429,   430,   431,    -1,   433,   434,    -1,    -1,   437,
   22222             :       -1,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
   22223             :      448,    -1,    -1,   451,   452,   453,   454,   455,    -1,   457,
   22224             :      458,   459,   460,   461,   462,   463,   464,   465,    -1,    -1,
   22225             :      468,   469,   470,   471,   472,    -1,    -1,   475,   476,   477,
   22226             :      478,   479,   480,   481,    -1,   483,    -1,   485,   486,   487,
   22227             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   22228             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   22229             :      508,   509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,
   22230             :       -1,    -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,
   22231             :      528,   529,   530,   531,   532,     3,    -1,    -1,    -1,    -1,
   22232             :       -1,    -1,    10,    -1,    -1,    -1,    -1,    -1,    -1,    17,
   22233             :       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
   22234             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   22235             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   22236             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   22237             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   22238             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   22239             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   22240             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   22241             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   22242             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   22243             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   22244             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   22245             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   22246             :      148,   149,   150,   151,    -1,   153,   154,   155,   156,   157,
   22247             :      158,   159,   160,   161,   162,    -1,   164,    -1,   166,   167,
   22248             :      168,   169,   170,    -1,   172,    -1,   174,   175,    -1,    -1,
   22249             :       -1,   179,   180,   181,   182,    -1,   184,   185,    -1,   187,
   22250             :      188,   189,    -1,   191,   192,   193,   194,   195,    -1,   197,
   22251             :      198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
   22252             :      208,   209,    -1,   211,    -1,   213,   214,   215,   216,   217,
   22253             :      218,   219,    -1,   221,    -1,   223,    -1,    -1,   226,    -1,
   22254             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   22255             :      238,   239,   240,   241,   242,   243,   244,   245,    -1,    -1,
   22256             :      248,   249,    -1,   251,    -1,    -1,   254,   255,   256,    -1,
   22257             :       -1,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   22258             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   22259             :      278,    -1,   280,   281,   282,   283,   284,   285,   286,   287,
   22260             :      288,   289,   290,   291,    -1,   293,   294,    -1,   296,    -1,
   22261             :      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
   22262             :       -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,   317,
   22263             :       -1,   319,    -1,   321,   322,   323,   324,   325,   326,   327,
   22264             :      328,   329,   330,   331,   332,   333,   334,    -1,   336,   337,
   22265             :      338,   339,   340,   341,   342,   343,   344,    -1,   346,   347,
   22266             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   22267             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   22268             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   22269             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   22270             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   22271             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   22272             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   22273             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   22274             :      428,   429,   430,   431,    -1,   433,   434,    -1,    -1,   437,
   22275             :       -1,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
   22276             :      448,    -1,    -1,   451,   452,   453,   454,   455,    -1,   457,
   22277             :      458,   459,   460,   461,   462,   463,   464,   465,    -1,    -1,
   22278             :      468,   469,   470,   471,   472,    -1,    -1,   475,   476,   477,
   22279             :      478,   479,   480,   481,    -1,   483,    -1,   485,   486,   487,
   22280             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   22281             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   22282             :      508,   509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,
   22283             :       -1,    -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,
   22284             :      528,   529,   530,   531,   532,     3,    -1,    -1,    -1,    -1,
   22285             :       -1,    -1,    10,    -1,    -1,    -1,    -1,    -1,    -1,    17,
   22286             :       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
   22287             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   22288             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   22289             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   22290             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   22291             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   22292             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   22293             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   22294             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   22295             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   22296             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   22297             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   22298             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   22299             :      148,   149,   150,   151,    -1,   153,   154,   155,   156,   157,
   22300             :      158,   159,   160,   161,   162,    -1,   164,    -1,   166,   167,
   22301             :      168,   169,   170,    -1,   172,    -1,   174,   175,    -1,    -1,
   22302             :       -1,   179,   180,   181,   182,    -1,   184,   185,    -1,   187,
   22303             :      188,   189,    -1,   191,   192,   193,   194,   195,    -1,   197,
   22304             :      198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
   22305             :      208,   209,    -1,   211,    -1,   213,   214,   215,   216,   217,
   22306             :      218,   219,    -1,   221,    -1,   223,    -1,    -1,   226,    -1,
   22307             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   22308             :      238,   239,   240,   241,   242,   243,   244,   245,    -1,    -1,
   22309             :      248,   249,    -1,   251,    -1,    -1,   254,   255,   256,    -1,
   22310             :       -1,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   22311             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   22312             :      278,    -1,   280,   281,   282,   283,   284,   285,   286,   287,
   22313             :      288,   289,   290,   291,    -1,   293,   294,    -1,   296,    -1,
   22314             :      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
   22315             :       -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,   317,
   22316             :       -1,   319,    -1,   321,   322,   323,   324,   325,   326,   327,
   22317             :      328,   329,   330,   331,   332,   333,   334,    -1,   336,   337,
   22318             :      338,   339,   340,   341,   342,   343,   344,    -1,   346,   347,
   22319             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   22320             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   22321             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   22322             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   22323             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   22324             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   22325             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   22326             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   22327             :      428,   429,   430,   431,    -1,   433,   434,    -1,    -1,   437,
   22328             :       -1,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
   22329             :      448,    -1,    -1,   451,   452,   453,   454,   455,    -1,   457,
   22330             :      458,   459,   460,   461,   462,   463,   464,   465,    -1,    -1,
   22331             :      468,   469,   470,   471,   472,    -1,    -1,   475,   476,   477,
   22332             :      478,   479,   480,   481,    -1,   483,    -1,   485,   486,   487,
   22333             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   22334             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   22335             :      508,   509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,
   22336             :       -1,    -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,
   22337             :      528,   529,   530,   531,   532,     3,    -1,    -1,    -1,    -1,
   22338             :       -1,    -1,    10,    -1,    -1,    -1,    -1,    -1,    -1,    17,
   22339             :       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
   22340             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   22341             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   22342             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   22343             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   22344             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   22345             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   22346             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   22347             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   22348             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   22349             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   22350             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   22351             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   22352             :      148,   149,   150,   151,    -1,   153,   154,   155,   156,   157,
   22353             :      158,   159,   160,   161,   162,    -1,   164,    -1,   166,   167,
   22354             :      168,   169,   170,    -1,   172,    -1,   174,   175,    -1,    -1,
   22355             :       -1,   179,   180,   181,   182,    -1,   184,   185,    -1,   187,
   22356             :      188,   189,    -1,   191,   192,   193,   194,   195,    -1,   197,
   22357             :      198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
   22358             :      208,   209,    -1,   211,    -1,   213,   214,   215,   216,   217,
   22359             :      218,   219,    -1,   221,    -1,   223,    -1,    -1,   226,    -1,
   22360             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   22361             :      238,   239,   240,   241,   242,   243,   244,   245,    -1,    -1,
   22362             :      248,   249,    -1,   251,    -1,    -1,   254,   255,   256,    -1,
   22363             :       -1,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   22364             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   22365             :      278,    -1,   280,   281,   282,   283,   284,   285,   286,   287,
   22366             :      288,   289,   290,   291,    -1,   293,   294,    -1,   296,    -1,
   22367             :      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
   22368             :       -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,   317,
   22369             :       -1,   319,    -1,   321,   322,   323,   324,   325,   326,   327,
   22370             :      328,   329,   330,   331,   332,   333,   334,    -1,   336,   337,
   22371             :      338,   339,   340,   341,   342,   343,   344,    -1,   346,   347,
   22372             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   22373             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   22374             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   22375             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   22376             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   22377             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   22378             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   22379             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   22380             :      428,   429,   430,   431,    -1,   433,   434,    -1,    -1,   437,
   22381             :       -1,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
   22382             :      448,    -1,    -1,   451,   452,   453,   454,   455,    -1,   457,
   22383             :      458,   459,   460,   461,   462,   463,   464,   465,    -1,    -1,
   22384             :      468,   469,   470,   471,   472,    -1,    -1,   475,   476,   477,
   22385             :      478,   479,   480,   481,    -1,   483,    -1,   485,   486,   487,
   22386             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   22387             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   22388             :      508,   509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,
   22389             :       -1,    -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,
   22390             :      528,   529,   530,   531,   532,     3,    -1,    -1,    -1,    -1,
   22391             :       -1,    -1,    10,    -1,    -1,    -1,    -1,    -1,    -1,    17,
   22392             :       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
   22393             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   22394             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   22395             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   22396             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   22397             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   22398             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   22399             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   22400             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   22401             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   22402             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   22403             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   22404             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   22405             :      148,   149,   150,   151,    -1,   153,   154,   155,   156,   157,
   22406             :      158,   159,   160,   161,   162,    -1,   164,    -1,   166,   167,
   22407             :      168,   169,   170,    -1,   172,    -1,   174,   175,    -1,    -1,
   22408             :       -1,   179,   180,   181,   182,    -1,   184,   185,    -1,   187,
   22409             :      188,   189,    -1,   191,   192,   193,   194,   195,    -1,   197,
   22410             :      198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
   22411             :      208,   209,    -1,   211,    -1,   213,   214,   215,   216,   217,
   22412             :      218,   219,    -1,   221,    -1,   223,    -1,    -1,   226,    -1,
   22413             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   22414             :      238,   239,   240,   241,   242,   243,   244,   245,    -1,    -1,
   22415             :      248,   249,    -1,   251,    -1,    -1,   254,   255,   256,    -1,
   22416             :       -1,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   22417             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   22418             :      278,    -1,   280,   281,   282,   283,   284,   285,   286,   287,
   22419             :      288,   289,   290,   291,    -1,   293,   294,    -1,   296,    -1,
   22420             :      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
   22421             :       -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,   317,
   22422             :       -1,   319,    -1,   321,   322,   323,   324,   325,   326,   327,
   22423             :      328,   329,   330,   331,   332,   333,   334,    -1,   336,   337,
   22424             :      338,   339,   340,   341,   342,   343,   344,    -1,   346,   347,
   22425             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   22426             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   22427             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   22428             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   22429             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   22430             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   22431             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   22432             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   22433             :      428,   429,   430,   431,    -1,   433,   434,    -1,    -1,   437,
   22434             :       -1,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
   22435             :      448,    -1,    -1,   451,   452,   453,   454,   455,    -1,   457,
   22436             :      458,   459,   460,   461,   462,   463,   464,   465,    -1,    -1,
   22437             :      468,   469,   470,   471,   472,    -1,    -1,   475,   476,   477,
   22438             :      478,   479,   480,   481,    -1,   483,    -1,   485,   486,   487,
   22439             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   22440             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   22441             :      508,   509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,
   22442             :       -1,    -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,
   22443             :      528,   529,   530,   531,   532,     3,    -1,    -1,    -1,    -1,
   22444             :       -1,    -1,    10,    -1,    -1,    -1,    -1,    -1,    -1,    17,
   22445             :       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
   22446             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   22447             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   22448             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   22449             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   22450             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   22451             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   22452             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   22453             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   22454             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   22455             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   22456             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   22457             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   22458             :      148,   149,   150,   151,    -1,   153,   154,   155,   156,   157,
   22459             :      158,   159,   160,   161,   162,    -1,   164,    -1,   166,   167,
   22460             :      168,   169,   170,    -1,   172,    -1,   174,   175,    -1,    -1,
   22461             :       -1,   179,   180,   181,   182,    -1,   184,   185,    -1,   187,
   22462             :      188,   189,    -1,   191,   192,   193,   194,   195,    -1,   197,
   22463             :      198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
   22464             :      208,   209,    -1,   211,    -1,   213,   214,   215,   216,   217,
   22465             :      218,   219,    -1,   221,    -1,   223,    -1,    -1,   226,    -1,
   22466             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   22467             :      238,   239,   240,   241,   242,   243,   244,   245,    -1,    -1,
   22468             :      248,   249,    -1,   251,    -1,    -1,   254,   255,   256,    -1,
   22469             :       -1,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   22470             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   22471             :      278,    -1,   280,   281,   282,   283,   284,   285,   286,   287,
   22472             :      288,   289,   290,   291,    -1,   293,   294,    -1,   296,    -1,
   22473             :      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
   22474             :       -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,   317,
   22475             :       -1,   319,    -1,   321,   322,   323,   324,   325,   326,   327,
   22476             :      328,   329,   330,   331,   332,   333,   334,    -1,   336,   337,
   22477             :      338,   339,   340,   341,   342,   343,   344,    -1,   346,   347,
   22478             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   22479             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   22480             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   22481             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   22482             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   22483             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   22484             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   22485             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   22486             :      428,   429,   430,   431,    -1,   433,   434,    -1,    -1,   437,
   22487             :       -1,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
   22488             :      448,    -1,    -1,   451,   452,   453,   454,   455,    -1,   457,
   22489             :      458,   459,   460,   461,   462,   463,   464,   465,    -1,    -1,
   22490             :      468,   469,   470,   471,   472,    -1,    -1,   475,   476,   477,
   22491             :      478,   479,   480,   481,    -1,   483,    -1,   485,   486,   487,
   22492             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   22493             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   22494             :      508,   509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,
   22495             :       -1,    -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,
   22496             :      528,   529,   530,   531,   532,     3,    -1,    -1,    -1,    -1,
   22497             :       -1,    -1,    10,    -1,    -1,    -1,    -1,    -1,    -1,    17,
   22498             :       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
   22499             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   22500             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   22501             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   22502             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   22503             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   22504             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   22505             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   22506             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   22507             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   22508             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   22509             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   22510             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   22511             :      148,   149,   150,   151,    -1,   153,   154,   155,   156,   157,
   22512             :      158,   159,   160,   161,   162,    -1,   164,    -1,   166,   167,
   22513             :      168,   169,   170,    -1,   172,    -1,   174,   175,    -1,    -1,
   22514             :       -1,   179,   180,   181,   182,    -1,   184,   185,    -1,   187,
   22515             :      188,   189,    -1,   191,   192,   193,   194,   195,    -1,   197,
   22516             :      198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
   22517             :      208,   209,    -1,   211,    -1,   213,   214,   215,   216,   217,
   22518             :      218,   219,    -1,   221,    -1,   223,    -1,    -1,   226,    -1,
   22519             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   22520             :      238,   239,   240,   241,   242,   243,   244,   245,    -1,    -1,
   22521             :      248,   249,    -1,   251,    -1,    -1,   254,   255,   256,    -1,
   22522             :       -1,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   22523             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   22524             :      278,    -1,   280,   281,   282,   283,   284,   285,   286,   287,
   22525             :      288,   289,   290,   291,    -1,   293,   294,    -1,   296,    -1,
   22526             :      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
   22527             :       -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,   317,
   22528             :       -1,   319,    -1,   321,   322,   323,   324,   325,   326,   327,
   22529             :      328,   329,   330,   331,   332,   333,   334,    -1,   336,   337,
   22530             :      338,   339,   340,   341,   342,   343,   344,    -1,   346,   347,
   22531             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   22532             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   22533             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   22534             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   22535             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   22536             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   22537             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   22538             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   22539             :      428,   429,   430,   431,    -1,   433,   434,    -1,    -1,   437,
   22540             :       -1,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
   22541             :      448,    -1,    -1,   451,   452,   453,   454,   455,    -1,   457,
   22542             :      458,   459,   460,   461,   462,   463,   464,   465,    -1,    -1,
   22543             :      468,   469,   470,   471,   472,    -1,    -1,   475,   476,   477,
   22544             :      478,   479,   480,   481,    -1,   483,    -1,   485,   486,   487,
   22545             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   22546             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   22547             :      508,   509,   510,   511,   512,   513,    -1,    -1,     3,    -1,
   22548             :       -1,    -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,
   22549             :      528,   529,   530,   531,   532,    20,    21,    22,    23,    24,
   22550             :       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
   22551             :       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
   22552             :       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
   22553             :       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
   22554             :       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
   22555             :       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
   22556             :       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
   22557             :       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
   22558             :      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
   22559             :      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
   22560             :      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
   22561             :      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
   22562             :      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
   22563             :      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
   22564             :      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
   22565             :      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
   22566             :      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
   22567             :      195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
   22568             :      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
   22569             :      215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
   22570             :      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
   22571             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   22572             :      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
   22573             :      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
   22574             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   22575             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
   22576             :      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
   22577             :      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
   22578             :      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
   22579             :      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
   22580             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   22581             :      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
   22582             :      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
   22583             :      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
   22584             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   22585             :      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
   22586             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   22587             :      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
   22588             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   22589             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   22590             :      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
   22591             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   22592             :      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
   22593             :      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   22594             :      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
   22595             :      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
   22596             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   22597             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   22598             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   22599             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22600             :       -1,    -1,    -1,    -1,   529,    -1,    20,    21,    22,    23,
   22601             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   22602             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   22603             :       44,    45,    46,    47,    -1,    49,    50,    51,    52,    53,
   22604             :       -1,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   22605             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   22606             :       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
   22607             :       84,    85,    86,    -1,    88,    89,    90,    91,    -1,    93,
   22608             :       94,    95,    96,    97,    98,    -1,    -1,   101,   102,   103,
   22609             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,
   22610             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   22611             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   22612             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   22613             :      144,   145,   146,    -1,   148,   149,   150,   151,    -1,   153,
   22614             :      154,   155,   156,   157,   158,   159,   160,   161,   162,    -1,
   22615             :      164,    -1,   166,   167,   168,   169,   170,    -1,   172,    -1,
   22616             :      174,   175,    -1,    -1,    -1,   179,   180,   181,   182,    -1,
   22617             :      184,   185,    -1,   187,   188,   189,    -1,   191,   192,   193,
   22618             :      194,   195,    -1,   197,   198,   199,   200,    -1,   202,   203,
   22619             :      204,   205,   206,   207,   208,   209,    -1,   211,    -1,   213,
   22620             :      214,   215,   216,   217,   218,   219,    -1,   221,    -1,   223,
   22621             :       -1,    -1,   226,    -1,   228,   229,   230,   231,   232,   233,
   22622             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   22623             :      244,   245,    -1,    -1,   248,   249,    -1,   251,    -1,    -1,
   22624             :      254,   255,   256,    -1,    -1,   259,   260,   261,   262,   263,
   22625             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   22626             :      274,   275,   276,   277,   278,    -1,   280,   281,   282,   283,
   22627             :      284,   285,   286,   287,   288,   289,   290,   291,    -1,   293,
   22628             :      294,    -1,   296,    -1,   298,   299,   300,   301,   302,   303,
   22629             :       -1,   305,   306,   307,    -1,    -1,   310,   311,   312,    -1,
   22630             :       -1,   315,   316,   317,    -1,   319,    -1,   321,   322,   323,
   22631             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   22632             :      334,    -1,   336,   337,   338,   339,   340,   341,   342,   343,
   22633             :      344,    -1,   346,   347,   348,   349,   350,   351,   352,   353,
   22634             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   22635             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   22636             :      374,   375,    -1,   377,   378,    -1,   380,   381,   382,   383,
   22637             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   22638             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   22639             :      404,   405,   406,   407,    -1,   409,   410,   411,   412,    -1,
   22640             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   22641             :      424,   425,   426,   427,   428,   429,   430,   431,    -1,   433,
   22642             :      434,    -1,    -1,   437,    -1,   439,   440,   441,   442,   443,
   22643             :      444,    -1,   446,   447,   448,    -1,    -1,   451,   452,   453,
   22644             :      454,   455,    -1,   457,   458,   459,   460,   461,   462,   463,
   22645             :      464,   465,    -1,    -1,   468,   469,   470,   471,   472,    -1,
   22646             :       -1,   475,   476,   477,   478,   479,   480,   481,    -1,   483,
   22647             :       -1,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   22648             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   22649             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   22650             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22651             :       -1,    -1,    -1,    -1,    -1,   529,    -1,    20,    21,    22,
   22652             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   22653             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   22654             :       -1,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
   22655             :       53,    -1,    55,    56,    -1,    58,    59,    60,    61,    62,
   22656             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   22657             :       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
   22658             :       83,    84,    85,    86,    -1,    88,    89,    90,    91,    -1,
   22659             :       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
   22660             :      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,
   22661             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   22662             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   22663             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   22664             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,    -1,
   22665             :      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   22666             :       -1,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
   22667             :       -1,   174,   175,    -1,    -1,    -1,   179,   180,   181,   182,
   22668             :       -1,   184,   185,    -1,   187,   188,   189,    -1,   191,   192,
   22669             :      193,   194,   195,    -1,   197,   198,   199,   200,    -1,   202,
   22670             :      203,   204,   205,   206,   207,   208,   209,    -1,   211,    -1,
   22671             :      213,   214,   215,   216,   217,   218,   219,    -1,   221,    -1,
   22672             :      223,    -1,    -1,   226,    -1,   228,   229,   230,   231,   232,
   22673             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   22674             :      243,   244,   245,    -1,    -1,   248,   249,    -1,   251,    -1,
   22675             :       -1,   254,   255,   256,    -1,    -1,   259,   260,   261,   262,
   22676             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   22677             :      273,   274,   275,   276,   277,   278,    -1,   280,   281,   282,
   22678             :      283,   284,   285,   286,   287,   288,   289,   290,   291,    -1,
   22679             :      293,   294,    -1,   296,    -1,   298,   299,   300,   301,   302,
   22680             :      303,    -1,   305,   306,   307,    -1,    -1,   310,   311,   312,
   22681             :       -1,    -1,   315,   316,   317,    -1,   319,    -1,   321,   322,
   22682             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   22683             :      333,   334,    -1,   336,   337,   338,   339,   340,   341,   342,
   22684             :      343,   344,    -1,   346,   347,   348,   349,   350,   351,   352,
   22685             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   22686             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   22687             :      373,   374,   375,    -1,   377,   378,    -1,   380,   381,   382,
   22688             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   22689             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   22690             :      403,   404,   405,   406,   407,    -1,   409,   410,   411,   412,
   22691             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   22692             :      423,   424,   425,   426,   427,   428,   429,   430,   431,    -1,
   22693             :      433,   434,    -1,    -1,   437,    -1,   439,   440,   441,   442,
   22694             :      443,   444,    -1,   446,   447,   448,    -1,    -1,   451,   452,
   22695             :      453,   454,   455,    -1,   457,   458,   459,   460,   461,   462,
   22696             :      463,   464,   465,    -1,    -1,   468,   469,   470,   471,   472,
   22697             :       -1,    -1,   475,   476,   477,   478,   479,   480,   481,    -1,
   22698             :      483,    -1,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   22699             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   22700             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   22701             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22702             :       -1,    -1,    -1,    -1,    -1,    -1,   529,    -1,    20,    21,
   22703             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   22704             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   22705             :       42,    -1,    44,    45,    46,    47,    -1,    49,    50,    51,
   22706             :       52,    53,    -1,    55,    56,    -1,    58,    59,    60,    61,
   22707             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   22708             :       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
   22709             :       82,    83,    84,    85,    86,    -1,    88,    89,    90,    91,
   22710             :       -1,    93,    94,    95,    96,    97,    98,    -1,    -1,   101,
   22711             :      102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
   22712             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   22713             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   22714             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   22715             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   22716             :       -1,   153,   154,   155,   156,   157,   158,   159,   160,   161,
   22717             :      162,    -1,   164,    -1,   166,   167,   168,   169,   170,    -1,
   22718             :      172,    -1,   174,   175,    -1,    -1,    -1,   179,   180,   181,
   22719             :      182,    -1,   184,   185,    -1,   187,   188,   189,    -1,   191,
   22720             :      192,   193,   194,   195,    -1,   197,   198,   199,   200,    -1,
   22721             :      202,   203,   204,   205,   206,   207,   208,   209,    -1,   211,
   22722             :       -1,   213,   214,   215,   216,   217,   218,   219,    -1,   221,
   22723             :       -1,   223,    -1,    -1,   226,    -1,   228,   229,   230,   231,
   22724             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   22725             :      242,   243,   244,   245,    -1,    -1,   248,   249,    -1,   251,
   22726             :       -1,    -1,   254,   255,   256,    -1,    -1,   259,   260,   261,
   22727             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   22728             :      272,   273,   274,   275,   276,   277,   278,    -1,   280,   281,
   22729             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   22730             :       -1,   293,   294,    -1,   296,    -1,   298,   299,   300,   301,
   22731             :      302,   303,    -1,   305,   306,   307,    -1,    -1,   310,   311,
   22732             :      312,    -1,    -1,   315,   316,   317,    -1,   319,    -1,   321,
   22733             :      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   22734             :      332,   333,   334,    -1,   336,   337,   338,   339,   340,   341,
   22735             :      342,   343,   344,    -1,   346,   347,   348,   349,   350,   351,
   22736             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   22737             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   22738             :      372,   373,   374,   375,    -1,   377,   378,    -1,   380,   381,
   22739             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   22740             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   22741             :       -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
   22742             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   22743             :      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
   22744             :       -1,   433,   434,    -1,    -1,   437,    -1,   439,   440,   441,
   22745             :      442,   443,   444,    -1,   446,   447,   448,    -1,    -1,   451,
   22746             :      452,   453,   454,   455,    -1,   457,   458,   459,   460,   461,
   22747             :      462,   463,   464,   465,    -1,    -1,   468,   469,   470,   471,
   22748             :      472,    -1,    -1,   475,   476,   477,   478,   479,   480,   481,
   22749             :       -1,   483,    -1,   485,   486,   487,   488,    -1,    -1,   491,
   22750             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   22751             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   22752             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22753             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   529,    -1,    20,
   22754             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   22755             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   22756             :       41,    42,    -1,    44,    45,    46,    47,    -1,    49,    50,
   22757             :       51,    52,    53,    -1,    55,    56,    -1,    58,    59,    60,
   22758             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   22759             :       71,    -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,
   22760             :       81,    82,    83,    84,    85,    86,    -1,    88,    89,    90,
   22761             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,    -1,
   22762             :      101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22763             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   22764             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   22765             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   22766             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   22767             :      151,    -1,   153,   154,   155,   156,   157,   158,   159,   160,
   22768             :      161,   162,    -1,   164,    -1,   166,   167,   168,   169,   170,
   22769             :       -1,   172,    -1,   174,   175,    -1,    -1,    -1,   179,   180,
   22770             :      181,   182,    -1,   184,   185,    -1,   187,   188,   189,    -1,
   22771             :      191,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
   22772             :       -1,   202,   203,   204,   205,   206,   207,   208,   209,    -1,
   22773             :      211,    -1,   213,   214,   215,   216,   217,   218,   219,    -1,
   22774             :      221,    -1,   223,    -1,    -1,   226,    -1,   228,   229,   230,
   22775             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   22776             :      241,   242,   243,   244,   245,    -1,    -1,   248,   249,    -1,
   22777             :      251,    -1,    -1,   254,   255,   256,    -1,    -1,   259,   260,
   22778             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   22779             :      271,   272,   273,   274,   275,   276,   277,   278,    -1,   280,
   22780             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   22781             :      291,    -1,   293,   294,    -1,   296,    -1,   298,   299,   300,
   22782             :      301,   302,   303,    -1,   305,   306,   307,    -1,    -1,   310,
   22783             :      311,   312,    -1,    -1,   315,   316,   317,    -1,   319,    -1,
   22784             :      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
   22785             :      331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
   22786             :      341,   342,   343,   344,    -1,   346,   347,   348,   349,   350,
   22787             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   22788             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   22789             :      371,   372,   373,   374,   375,    -1,   377,   378,    -1,   380,
   22790             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   22791             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   22792             :      401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
   22793             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   22794             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   22795             :      431,    -1,   433,   434,    -1,    -1,   437,    -1,   439,   440,
   22796             :      441,   442,   443,   444,    -1,   446,   447,   448,    -1,    -1,
   22797             :      451,   452,   453,   454,   455,    -1,   457,   458,   459,   460,
   22798             :      461,   462,   463,   464,   465,    -1,    -1,   468,   469,   470,
   22799             :      471,   472,    -1,    -1,   475,   476,   477,   478,   479,   480,
   22800             :      481,    -1,   483,    -1,   485,   486,   487,   488,    -1,    -1,
   22801             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   22802             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   22803             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   22804             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   529,    -1,
   22805             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   22806             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22807             :       40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
   22808             :       50,    51,    -1,    53,    54,    55,    56,    -1,    58,    59,
   22809             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   22810             :       70,    71,    -1,    73,    74,    75,    76,    -1,    -1,    79,
   22811             :       -1,    81,    82,    83,    84,    85,    86,    87,    88,    89,
   22812             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   22813             :      100,   101,   102,   103,    -1,    -1,    -1,   107,    -1,    -1,
   22814             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   22815             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   22816             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   22817             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   22818             :      150,   151,    -1,   153,   154,   155,   156,    -1,   158,   159,
   22819             :      160,   161,    -1,    -1,   164,    -1,   166,   167,   168,   169,
   22820             :      170,    -1,   172,    -1,   174,   175,   176,    -1,   178,   179,
   22821             :      180,   181,   182,    -1,   184,    -1,    -1,    -1,   188,   189,
   22822             :       -1,   191,   192,   193,   194,   195,   196,   197,   198,   199,
   22823             :      200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
   22824             :       -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
   22825             :       -1,   221,    -1,   223,   224,   225,   226,   227,   228,    -1,
   22826             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   239,
   22827             :      240,   241,   242,   243,   244,   245,    -1,    -1,   248,    -1,
   22828             :      250,   251,   252,    -1,   254,   255,   256,    -1,    -1,   259,
   22829             :      260,   261,   262,   263,   264,   265,   266,   267,   268,    -1,
   22830             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   22831             :      280,   281,   282,   283,   284,   285,   286,   287,   288,    -1,
   22832             :       -1,   291,    -1,   293,   294,   295,   296,    -1,    -1,   299,
   22833             :      300,   301,   302,   303,    -1,   305,   306,   307,    -1,    -1,
   22834             :      310,   311,   312,    -1,   314,   315,   316,   317,   318,   319,
   22835             :      320,    -1,   322,   323,   324,   325,   326,   327,   328,   329,
   22836             :      330,   331,   332,   333,   334,    -1,   336,   337,   338,    -1,
   22837             :      340,    -1,   342,   343,   344,    -1,   346,   347,   348,   349,
   22838             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   22839             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   22840             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
   22841             :      380,   381,   382,   383,   384,    -1,   386,   387,   388,   389,
   22842             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   22843             :      400,   401,    -1,   403,   404,   405,   406,   407,   408,   409,
   22844             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   22845             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   22846             :       -1,   431,    -1,   433,   434,    -1,    -1,   437,   438,   439,
   22847             :      440,   441,   442,   443,   444,    -1,   446,   447,   448,    -1,
   22848             :       -1,   451,   452,    -1,   454,    -1,    -1,   457,   458,   459,
   22849             :      460,   461,   462,   463,   464,   465,    -1,    -1,   468,   469,
   22850             :      470,   471,   472,    -1,    -1,   475,   476,   477,   478,   479,
   22851             :       -1,   481,   482,   483,   484,   485,   486,   487,   488,    -1,
   22852             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   22853             :       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   22854             :       -1,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,    -1,
   22855             :       20,    21,    22,    23,    24,    25,    26,    27,    28,   529,
   22856             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22857             :       40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
   22858             :       50,    51,    -1,    53,    54,    55,    56,    -1,    58,    59,
   22859             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   22860             :       70,    71,    -1,    73,    74,    75,    76,    -1,    -1,    79,
   22861             :       -1,    81,    82,    83,    84,    85,    86,    87,    88,    89,
   22862             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   22863             :      100,   101,   102,   103,    -1,    -1,    -1,   107,    -1,    -1,
   22864             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   22865             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   22866             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   22867             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   22868             :      150,   151,    -1,   153,   154,   155,   156,    -1,   158,   159,
   22869             :      160,   161,    -1,    -1,   164,    -1,   166,   167,   168,   169,
   22870             :      170,    -1,   172,    -1,   174,   175,   176,    -1,   178,   179,
   22871             :      180,   181,   182,    -1,   184,    -1,    -1,    -1,   188,   189,
   22872             :       -1,   191,   192,   193,   194,   195,   196,   197,   198,   199,
   22873             :      200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
   22874             :       -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
   22875             :       -1,   221,    -1,   223,   224,   225,   226,   227,   228,    -1,
   22876             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   239,
   22877             :      240,   241,   242,   243,   244,   245,    -1,    -1,   248,    -1,
   22878             :      250,   251,   252,    -1,   254,   255,   256,    -1,    -1,   259,
   22879             :      260,   261,   262,   263,   264,   265,   266,   267,   268,    -1,
   22880             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   22881             :      280,   281,   282,   283,   284,   285,   286,   287,   288,    -1,
   22882             :       -1,   291,    -1,   293,   294,   295,   296,    -1,    -1,   299,
   22883             :      300,   301,   302,   303,    -1,   305,   306,   307,    -1,    -1,
   22884             :      310,   311,   312,    -1,   314,   315,   316,   317,   318,   319,
   22885             :      320,    -1,   322,   323,   324,   325,   326,   327,   328,   329,
   22886             :      330,   331,   332,   333,   334,    -1,   336,   337,   338,    -1,
   22887             :      340,    -1,   342,   343,   344,    -1,   346,   347,   348,   349,
   22888             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   22889             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   22890             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
   22891             :      380,   381,   382,   383,   384,    -1,   386,   387,   388,   389,
   22892             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   22893             :      400,   401,    -1,   403,   404,   405,   406,   407,   408,   409,
   22894             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   22895             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   22896             :       -1,   431,    -1,   433,   434,    -1,    -1,   437,   438,   439,
   22897             :      440,   441,   442,   443,   444,    -1,   446,   447,   448,    -1,
   22898             :       -1,   451,   452,    -1,   454,    -1,    -1,   457,   458,   459,
   22899             :      460,   461,   462,   463,   464,   465,    -1,    -1,   468,   469,
   22900             :      470,   471,   472,    -1,    -1,   475,   476,   477,   478,   479,
   22901             :       -1,   481,   482,   483,   484,   485,   486,   487,   488,    -1,
   22902             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   22903             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22904             :       -1,   511,   512,   513,     3,    -1,     5,     6,    -1,    -1,
   22905             :       -1,    -1,    11,    -1,    -1,    -1,    -1,    -1,    -1,   529,
   22906             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   22907             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   22908             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
   22909             :       49,    50,    51,    52,    53,    54,    55,    56,    -1,    58,
   22910             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   22911             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   22912             :       79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
   22913             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   22914             :       -1,   100,   101,   102,   103,    -1,    -1,    -1,   107,    -1,
   22915             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   22916             :      119,   120,   121,    -1,   123,   124,   125,   126,   127,   128,
   22917             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   22918             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   22919             :      149,   150,   151,    -1,   153,   154,   155,   156,   157,   158,
   22920             :      159,   160,   161,   162,   163,   164,    -1,   166,   167,   168,
   22921             :      169,   170,    -1,   172,    -1,   174,   175,   176,    -1,   178,
   22922             :      179,   180,   181,   182,    -1,   184,   185,    -1,   187,   188,
   22923             :      189,    -1,   191,   192,   193,   194,   195,   196,   197,   198,
   22924             :      199,   200,    -1,   202,   203,   204,   205,   206,   207,   208,
   22925             :      209,    -1,   211,   212,   213,   214,   215,   216,   217,   218,
   22926             :      219,    -1,   221,    -1,   223,   224,   225,   226,   227,   228,
   22927             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   22928             :      239,   240,   241,   242,   243,   244,   245,    -1,    -1,   248,
   22929             :      249,   250,   251,   252,    -1,   254,   255,   256,    -1,    -1,
   22930             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   22931             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   22932             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   22933             :      289,   290,   291,    -1,   293,   294,   295,   296,    -1,   298,
   22934             :      299,   300,   301,   302,   303,    -1,   305,   306,   307,   308,
   22935             :       -1,   310,   311,   312,    -1,    -1,   315,   316,   317,   318,
   22936             :      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
   22937             :      329,   330,   331,   332,   333,   334,    -1,   336,   337,   338,
   22938             :      339,   340,   341,   342,   343,   344,    -1,   346,   347,   348,
   22939             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   22940             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   22941             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   22942             :      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   22943             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   22944             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,   408,
   22945             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   22946             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   22947             :      429,   430,   431,    -1,   433,   434,    -1,    -1,   437,   438,
   22948             :      439,   440,   441,   442,   443,   444,    -1,   446,   447,   448,
   22949             :       -1,    -1,   451,   452,   453,   454,   455,   456,   457,   458,
   22950             :      459,   460,   461,   462,   463,   464,   465,    -1,    -1,   468,
   22951             :      469,   470,   471,   472,    -1,    -1,   475,   476,   477,   478,
   22952             :      479,   480,   481,    -1,   483,   484,   485,   486,   487,   488,
   22953             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   22954             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   22955             :      509,   510,   511,   512,   513,     3,    -1,     5,     6,    -1,
   22956             :       -1,    -1,    -1,    11,    -1,    -1,    -1,    -1,   527,   528,
   22957             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   22958             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   22959             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   22960             :       48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
   22961             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   22962             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   22963             :       -1,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
   22964             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   22965             :       98,    -1,   100,   101,   102,   103,    -1,    -1,    -1,   107,
   22966             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   22967             :      118,   119,   120,   121,    -1,   123,   124,   125,   126,   127,
   22968             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   22969             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   22970             :      148,   149,   150,   151,    -1,   153,   154,   155,   156,   157,
   22971             :      158,   159,   160,   161,   162,   163,   164,    -1,   166,   167,
   22972             :      168,   169,   170,    -1,   172,    -1,   174,   175,   176,    -1,
   22973             :      178,   179,   180,   181,   182,    -1,   184,   185,    -1,   187,
   22974             :      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
   22975             :      198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
   22976             :      208,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
   22977             :      218,   219,    -1,   221,    -1,   223,   224,   225,   226,   227,
   22978             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   22979             :      238,   239,   240,   241,   242,   243,   244,   245,    -1,    -1,
   22980             :      248,   249,   250,   251,   252,    -1,   254,   255,   256,    -1,
   22981             :       -1,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   22982             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   22983             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   22984             :      288,   289,   290,   291,    -1,   293,   294,   295,   296,    -1,
   22985             :      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
   22986             :      308,    -1,   310,   311,   312,    -1,    -1,   315,   316,   317,
   22987             :      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
   22988             :      328,   329,   330,   331,   332,   333,   334,    -1,   336,   337,
   22989             :      338,   339,   340,   341,   342,   343,   344,    -1,   346,   347,
   22990             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   22991             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   22992             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   22993             :      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
   22994             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   22995             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   22996             :      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   22997             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   22998             :      428,   429,   430,   431,    -1,   433,   434,    -1,    -1,   437,
   22999             :      438,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
   23000             :      448,    -1,    -1,   451,   452,   453,   454,   455,   456,   457,
   23001             :      458,   459,   460,   461,   462,   463,   464,   465,    -1,    -1,
   23002             :      468,   469,   470,   471,   472,    -1,    -1,   475,   476,   477,
   23003             :      478,   479,   480,   481,    -1,   483,   484,   485,   486,   487,
   23004             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   23005             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   23006             :      508,   509,   510,   511,   512,   513,     3,    -1,     5,     6,
   23007             :       -1,    -1,    -1,    -1,    11,    -1,    -1,    -1,    -1,   527,
   23008             :      528,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   23009             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   23010             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   23011             :       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
   23012             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   23013             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   23014             :       77,    -1,    79,    -1,    81,    82,    83,    84,    85,    86,
   23015             :       87,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   23016             :       97,    98,    -1,   100,   101,   102,   103,    -1,    -1,    -1,
   23017             :      107,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   23018             :      117,   118,   119,   120,   121,    -1,   123,   124,   125,   126,
   23019             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   23020             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   23021             :       -1,   148,   149,   150,   151,    -1,   153,   154,   155,   156,
   23022             :      157,   158,   159,   160,   161,   162,   163,   164,    -1,   166,
   23023             :      167,   168,   169,   170,    -1,   172,    -1,   174,   175,   176,
   23024             :       -1,   178,   179,   180,   181,   182,    -1,   184,   185,    -1,
   23025             :      187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
   23026             :      197,   198,   199,   200,    -1,   202,   203,   204,   205,   206,
   23027             :      207,   208,   209,    -1,   211,   212,   213,   214,   215,   216,
   23028             :      217,   218,   219,    -1,   221,    -1,   223,   224,   225,   226,
   23029             :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
   23030             :      237,   238,   239,   240,   241,   242,   243,   244,   245,    -1,
   23031             :       -1,   248,   249,   250,   251,   252,    -1,   254,   255,   256,
   23032             :       -1,    -1,   259,   260,   261,   262,   263,   264,   265,   266,
   23033             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   23034             :      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
   23035             :      287,   288,   289,   290,   291,    -1,   293,   294,   295,   296,
   23036             :       -1,   298,   299,   300,   301,   302,   303,    -1,   305,   306,
   23037             :      307,   308,    -1,   310,   311,   312,    -1,    -1,   315,   316,
   23038             :      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
   23039             :      327,   328,   329,   330,   331,   332,   333,   334,    -1,   336,
   23040             :      337,   338,   339,   340,   341,   342,   343,   344,    -1,   346,
   23041             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   23042             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   23043             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   23044             :      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
   23045             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   23046             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   23047             :      407,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
   23048             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   23049             :      427,   428,   429,   430,   431,    -1,   433,   434,    -1,    -1,
   23050             :      437,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
   23051             :      447,   448,    -1,    -1,   451,   452,   453,   454,   455,   456,
   23052             :      457,   458,   459,   460,   461,   462,   463,   464,   465,    -1,
   23053             :       -1,   468,   469,   470,   471,   472,    -1,    -1,   475,   476,
   23054             :      477,   478,   479,   480,   481,    -1,   483,   484,   485,   486,
   23055             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   23056             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   23057             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,     5,
   23058             :        6,    -1,    -1,    -1,    -1,    11,    -1,    -1,    -1,    -1,
   23059             :      527,   528,    -1,    -1,    20,    21,    22,    23,    24,    25,
   23060             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   23061             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   23062             :       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
   23063             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   23064             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   23065             :       76,    77,    -1,    79,    -1,    81,    82,    83,    84,    85,
   23066             :       86,    87,    88,    89,    90,    91,    -1,    93,    94,    95,
   23067             :       96,    97,    98,    -1,   100,   101,   102,   103,    -1,    -1,
   23068             :       -1,   107,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   23069             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   23070             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   23071             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   23072             :      146,    -1,   148,   149,   150,   151,    -1,   153,   154,   155,
   23073             :      156,   157,   158,   159,   160,   161,   162,   163,   164,    -1,
   23074             :      166,   167,   168,   169,   170,    -1,   172,    -1,   174,   175,
   23075             :      176,    -1,   178,   179,   180,   181,   182,    -1,   184,   185,
   23076             :       -1,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
   23077             :      196,   197,   198,   199,   200,    -1,   202,   203,   204,   205,
   23078             :      206,   207,   208,   209,    -1,   211,   212,   213,   214,   215,
   23079             :      216,   217,   218,   219,    -1,   221,    -1,   223,   224,   225,
   23080             :      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
   23081             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   23082             :       -1,    -1,   248,   249,   250,   251,   252,    -1,   254,   255,
   23083             :      256,    -1,    -1,   259,   260,   261,   262,   263,   264,   265,
   23084             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   23085             :      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
   23086             :      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
   23087             :      296,    -1,   298,   299,   300,   301,   302,   303,    -1,   305,
   23088             :      306,   307,   308,    -1,   310,   311,   312,    -1,    -1,   315,
   23089             :      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
   23090             :      326,   327,   328,   329,   330,   331,   332,   333,   334,    -1,
   23091             :      336,   337,   338,   339,   340,   341,   342,   343,   344,    -1,
   23092             :      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   23093             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   23094             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   23095             :       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
   23096             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   23097             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   23098             :      406,   407,   408,   409,   410,   411,   412,    -1,   414,   415,
   23099             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   23100             :      426,   427,   428,   429,   430,   431,    -1,   433,   434,    -1,
   23101             :       -1,   437,   438,   439,   440,   441,   442,   443,   444,    -1,
   23102             :      446,   447,   448,    -1,    -1,   451,   452,   453,   454,   455,
   23103             :      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
   23104             :       -1,    -1,   468,   469,   470,   471,   472,    -1,    -1,   475,
   23105             :      476,   477,   478,   479,   480,   481,    -1,   483,   484,   485,
   23106             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   23107             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   23108             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   23109             :       -1,    -1,    -1,    -1,    -1,    -1,    11,    -1,    -1,    -1,
   23110             :       -1,   527,   528,    -1,    -1,    20,    21,    22,    23,    24,
   23111             :       25,    26,    27,    28,    29,    30,    31,    32,    -1,    -1,
   23112             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   23113             :       45,    46,    47,    -1,    49,    50,    51,    52,    53,    -1,
   23114             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   23115             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   23116             :       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    84,
   23117             :       85,    86,    -1,    88,    89,    90,    91,    -1,    93,    94,
   23118             :       95,    96,    97,    98,    -1,    -1,   101,   102,   103,    -1,
   23119             :       -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,
   23120             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   23121             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   23122             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   23123             :      145,   146,    -1,   148,   149,   150,   151,    -1,   153,   154,
   23124             :      155,   156,   157,   158,   159,   160,   161,   162,    -1,   164,
   23125             :       -1,   166,   167,   168,   169,   170,    -1,   172,    -1,   174,
   23126             :      175,    -1,   177,    -1,   179,   180,   181,   182,    -1,   184,
   23127             :      185,    -1,   187,   188,   189,    -1,   191,   192,   193,   194,
   23128             :      195,    -1,   197,   198,   199,   200,   201,   202,   203,   204,
   23129             :      205,   206,   207,   208,   209,    -1,   211,    -1,   213,   214,
   23130             :      215,   216,   217,   218,   219,    -1,   221,    -1,   223,    -1,
   23131             :       -1,   226,    -1,   228,   229,   230,   231,   232,   233,   234,
   23132             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   23133             :      245,    -1,    -1,   248,   249,    -1,   251,    -1,    -1,   254,
   23134             :      255,   256,    -1,    -1,   259,   260,   261,   262,   263,   264,
   23135             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   23136             :      275,   276,   277,   278,    -1,   280,   281,   282,   283,   284,
   23137             :      285,   286,   287,   288,   289,   290,   291,    -1,   293,   294,
   23138             :       -1,   296,    -1,   298,   299,   300,   301,   302,   303,    -1,
   23139             :      305,   306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,
   23140             :      315,   316,   317,    -1,   319,    -1,   321,   322,   323,   324,
   23141             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   23142             :       -1,   336,   337,   338,   339,   340,   341,   342,   343,   344,
   23143             :       -1,   346,   347,   348,   349,   350,   351,   352,   353,   354,
   23144             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   23145             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   23146             :      375,    -1,   377,   378,    -1,   380,   381,   382,   383,   384,
   23147             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   23148             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   23149             :      405,   406,   407,    -1,   409,   410,   411,   412,    -1,   414,
   23150             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   23151             :      425,   426,   427,   428,   429,   430,   431,    -1,   433,   434,
   23152             :       -1,    -1,   437,    -1,   439,   440,   441,   442,   443,   444,
   23153             :       -1,   446,   447,   448,    -1,    -1,   451,   452,   453,   454,
   23154             :      455,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
   23155             :      465,    -1,    -1,   468,   469,   470,   471,   472,    -1,    -1,
   23156             :      475,   476,   477,   478,   479,   480,   481,    -1,   483,    -1,
   23157             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   23158             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   23159             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   23160             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23161             :       -1,    -1,   527,   528,    -1,    -1,    20,    21,    22,    23,
   23162             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    33,
   23163             :       34,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   23164             :       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
   23165             :       54,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   23166             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   23167             :       74,    75,    76,    77,    -1,    79,    -1,    81,    82,    83,
   23168             :       84,    85,    86,    87,    88,    89,    90,    91,    -1,    93,
   23169             :       94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
   23170             :       -1,    -1,    -1,   107,    -1,    -1,    -1,   111,   112,   113,
   23171             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   23172             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   23173             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   23174             :      144,   145,   146,    -1,   148,   149,   150,   151,    -1,   153,
   23175             :      154,   155,   156,   157,   158,   159,   160,   161,   162,    -1,
   23176             :      164,    -1,   166,   167,   168,   169,   170,    -1,   172,    -1,
   23177             :      174,   175,   176,    -1,   178,   179,   180,   181,   182,    -1,
   23178             :      184,   185,    -1,   187,   188,   189,    -1,   191,   192,   193,
   23179             :      194,   195,   196,   197,   198,   199,   200,    -1,   202,   203,
   23180             :      204,   205,   206,   207,   208,   209,    -1,   211,   212,   213,
   23181             :      214,   215,   216,   217,   218,   219,    -1,   221,    -1,   223,
   23182             :      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
   23183             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   23184             :      244,   245,    -1,    -1,   248,   249,   250,   251,   252,    -1,
   23185             :      254,   255,   256,    -1,    -1,   259,   260,   261,   262,   263,
   23186             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   23187             :      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
   23188             :      284,   285,   286,   287,   288,   289,   290,   291,    -1,   293,
   23189             :      294,   295,   296,    -1,   298,   299,   300,   301,   302,   303,
   23190             :       -1,   305,   306,   307,    -1,    -1,   310,   311,   312,    -1,
   23191             :       -1,   315,   316,   317,   318,   319,   320,   321,   322,   323,
   23192             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   23193             :      334,    -1,   336,   337,   338,   339,   340,   341,   342,   343,
   23194             :      344,    -1,   346,   347,   348,   349,   350,   351,   352,   353,
   23195             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   23196             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   23197             :      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
   23198             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   23199             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   23200             :      404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
   23201             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   23202             :      424,   425,   426,   427,   428,   429,   430,   431,    -1,   433,
   23203             :      434,    -1,    -1,   437,   438,   439,   440,   441,   442,   443,
   23204             :      444,    -1,   446,   447,   448,    -1,    -1,   451,   452,   453,
   23205             :      454,   455,    -1,   457,   458,   459,   460,   461,   462,   463,
   23206             :      464,   465,    -1,    -1,   468,   469,   470,   471,   472,    -1,
   23207             :       -1,   475,   476,   477,   478,   479,   480,   481,    -1,   483,
   23208             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   23209             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   23210             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   23211             :      514,     3,    -1,     5,     6,    -1,    -1,    -1,    -1,    11,
   23212             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   23213             :       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
   23214             :       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
   23215             :       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
   23216             :       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
   23217             :       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
   23218             :       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
   23219             :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
   23220             :       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
   23221             :      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
   23222             :      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
   23223             :      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
   23224             :      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
   23225             :      142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
   23226             :      152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
   23227             :      162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
   23228             :      172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
   23229             :      182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
   23230             :      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
   23231             :      202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
   23232             :      212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
   23233             :      222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
   23234             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   23235             :      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
   23236             :      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
   23237             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   23238             :      272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
   23239             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   23240             :      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
   23241             :      302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   23242             :      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
   23243             :      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   23244             :      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
   23245             :      342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
   23246             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   23247             :      362,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   23248             :      372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
   23249             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   23250             :      392,   393,   394,   395,   396,   397,   398,   399,   400,   401,
   23251             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   23252             :      412,   413,   414,   415,   416,   417,   418,   419,   420,   421,
   23253             :      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
   23254             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   23255             :      442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
   23256             :      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
   23257             :      462,   463,   464,   465,   466,   467,   468,   469,   470,   471,
   23258             :      472,   473,   474,   475,   476,   477,   478,   479,   480,   481,
   23259             :      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   23260             :      492,   493,   494,   495,   496,   497,   498,   499,   500,   501,
   23261             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   23262             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23263             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   23264             :       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
   23265             :       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
   23266             :       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
   23267             :       51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
   23268             :       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
   23269             :       71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
   23270             :       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
   23271             :       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
   23272             :      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
   23273             :      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
   23274             :      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
   23275             :      131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
   23276             :      141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
   23277             :      151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
   23278             :      161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
   23279             :      171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
   23280             :      181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
   23281             :      191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
   23282             :      201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
   23283             :      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
   23284             :      221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
   23285             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   23286             :      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
   23287             :      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
   23288             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   23289             :      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
   23290             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   23291             :      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
   23292             :      301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
   23293             :      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
   23294             :      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
   23295             :      331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
   23296             :      341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
   23297             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   23298             :      361,   362,   363,   364,   365,   366,   367,   368,   369,   370,
   23299             :      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
   23300             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   23301             :      391,   392,   393,   394,   395,   396,   397,   398,   399,   400,
   23302             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   23303             :      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
   23304             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   23305             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   23306             :      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
   23307             :      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
   23308             :      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
   23309             :      471,   472,   473,   474,   475,   476,   477,   478,   479,   480,
   23310             :      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
   23311             :      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
   23312             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   23313             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   23314             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23315             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
   23316             :       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
   23317             :       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
   23318             :       50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
   23319             :       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
   23320             :       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
   23321             :       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
   23322             :       90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
   23323             :      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
   23324             :      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   23325             :      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
   23326             :      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
   23327             :      140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
   23328             :      150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
   23329             :      160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
   23330             :      170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
   23331             :      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
   23332             :      190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
   23333             :      200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
   23334             :      210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
   23335             :      220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
   23336             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   23337             :      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
   23338             :      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
   23339             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   23340             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   23341             :      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   23342             :      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
   23343             :      300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
   23344             :      310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
   23345             :      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
   23346             :      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
   23347             :      340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
   23348             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   23349             :      360,   361,   362,   363,   364,   365,   366,   367,   368,   369,
   23350             :      370,   371,   372,   373,   374,   375,   376,   377,   378,   379,
   23351             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   23352             :      390,   391,   392,   393,   394,   395,   396,   397,   398,   399,
   23353             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   23354             :      410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
   23355             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   23356             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   23357             :      440,   441,   442,   443,   444,   445,   446,   447,   448,   449,
   23358             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   23359             :      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
   23360             :      470,   471,   472,   473,   474,   475,   476,   477,   478,   479,
   23361             :      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
   23362             :      490,   491,   492,   493,   494,   495,   496,   497,   498,   499,
   23363             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   23364             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   23365             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23366             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   23367             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   23368             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
   23369             :       49,    50,    51,    52,    53,    54,    55,    56,    -1,    58,
   23370             :       59,    60,    61,    62,    63,    64,    -1,    66,    67,    68,
   23371             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   23372             :       79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
   23373             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   23374             :       -1,   100,   101,   102,   103,   104,   105,   106,   107,   108,
   23375             :      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
   23376             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   23377             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   23378             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   23379             :      149,   150,   151,    -1,   153,   154,   155,   156,   157,   158,
   23380             :      159,   160,   161,   162,    -1,   164,    -1,   166,   167,   168,
   23381             :      169,   170,    -1,   172,    -1,   174,   175,   176,    -1,   178,
   23382             :      179,   180,   181,   182,    -1,   184,   185,    -1,   187,   188,
   23383             :      189,    -1,   191,   192,   193,   194,   195,   196,   197,   198,
   23384             :      199,   200,    -1,   202,   203,   204,   205,   206,   207,   208,
   23385             :      209,    -1,   211,   212,   213,   214,   215,   216,   217,   218,
   23386             :      219,    -1,   221,    -1,   223,   224,   225,   226,   227,   228,
   23387             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   23388             :      239,   240,   241,   242,   243,   244,   245,    -1,    -1,   248,
   23389             :      249,   250,   251,   252,    -1,   254,   255,   256,   257,   258,
   23390             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   23391             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   23392             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   23393             :      289,   290,   291,    -1,   293,   294,   295,   296,    -1,   298,
   23394             :      299,   300,   301,   302,   303,    -1,   305,   306,   307,    -1,
   23395             :       -1,   310,   311,   312,    -1,    -1,   315,   316,   317,   318,
   23396             :      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
   23397             :      329,   330,   331,   332,   333,   334,    -1,   336,   337,   338,
   23398             :      339,   340,   341,   342,   343,   344,    -1,   346,   347,   348,
   23399             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   23400             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   23401             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   23402             :      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   23403             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   23404             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   23405             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   23406             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   23407             :      429,   430,   431,    -1,   433,   434,   435,    -1,   437,   438,
   23408             :      439,   440,   441,   442,   443,   444,    -1,   446,   447,   448,
   23409             :       -1,    -1,   451,   452,   453,   454,   455,    -1,   457,   458,
   23410             :      459,   460,   461,   462,   463,   464,   465,    -1,    -1,   468,
   23411             :      469,   470,   471,   472,   473,    -1,   475,   476,   477,   478,
   23412             :      479,   480,   481,    -1,   483,   484,   485,   486,   487,   488,
   23413             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   23414             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   23415             :      509,   510,   511,   512,   513,     3,    -1,     5,     6,    -1,
   23416             :        8,     9,    -1,    11,    -1,    -1,    -1,    -1,    -1,    -1,
   23417             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   23418             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   23419             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   23420             :       48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
   23421             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   23422             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   23423             :       -1,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
   23424             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   23425             :       98,    -1,   100,   101,   102,   103,    -1,    -1,    -1,   107,
   23426             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   23427             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   23428             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   23429             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   23430             :      148,   149,   150,   151,    -1,   153,   154,   155,   156,   157,
   23431             :      158,   159,   160,   161,   162,   163,   164,    -1,   166,   167,
   23432             :      168,   169,   170,    -1,   172,    -1,   174,   175,   176,    -1,
   23433             :      178,   179,   180,   181,   182,    -1,   184,   185,    -1,   187,
   23434             :      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
   23435             :      198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
   23436             :      208,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
   23437             :      218,   219,    -1,   221,    -1,   223,   224,   225,   226,   227,
   23438             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   23439             :      238,   239,   240,   241,   242,   243,   244,   245,    -1,    -1,
   23440             :      248,   249,   250,   251,   252,    -1,   254,   255,   256,    -1,
   23441             :       -1,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   23442             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   23443             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   23444             :      288,   289,   290,   291,    -1,   293,   294,   295,   296,   297,
   23445             :      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
   23446             :       -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,   317,
   23447             :      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
   23448             :      328,   329,   330,   331,   332,   333,   334,    -1,   336,   337,
   23449             :      338,   339,   340,   341,   342,   343,   344,    -1,   346,   347,
   23450             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   23451             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   23452             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   23453             :      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
   23454             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   23455             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   23456             :      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   23457             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   23458             :      428,   429,   430,   431,    -1,   433,   434,    -1,    -1,   437,
   23459             :      438,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
   23460             :      448,    -1,    -1,   451,   452,   453,   454,   455,   456,   457,
   23461             :      458,   459,   460,   461,   462,   463,   464,   465,    -1,    -1,
   23462             :      468,   469,   470,   471,   472,    -1,    -1,   475,   476,   477,
   23463             :      478,   479,   480,   481,    -1,   483,   484,   485,   486,   487,
   23464             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   23465             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   23466             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,    -1,
   23467             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23468             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   23469             :       27,    28,    29,    30,    31,    32,    -1,    -1,    -1,    -1,
   23470             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   23471             :       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
   23472             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   23473             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   23474             :       77,    -1,    79,    -1,    81,    82,    83,    84,    85,    86,
   23475             :       87,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   23476             :       97,    98,    -1,   100,   101,   102,   103,    -1,    -1,   106,
   23477             :      107,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
   23478             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   23479             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   23480             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   23481             :       -1,   148,   149,   150,   151,    -1,   153,   154,   155,   156,
   23482             :      157,   158,   159,   160,   161,   162,    -1,   164,    -1,   166,
   23483             :      167,   168,   169,   170,    -1,   172,    -1,   174,   175,   176,
   23484             :       -1,   178,   179,   180,   181,   182,    -1,   184,   185,    -1,
   23485             :      187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
   23486             :      197,   198,   199,   200,    -1,   202,   203,   204,   205,   206,
   23487             :      207,   208,   209,    -1,   211,   212,   213,   214,   215,   216,
   23488             :      217,   218,   219,    -1,   221,    -1,   223,   224,   225,   226,
   23489             :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
   23490             :      237,   238,   239,   240,   241,   242,   243,   244,   245,    -1,
   23491             :       -1,   248,   249,   250,   251,   252,    -1,   254,   255,   256,
   23492             :       -1,    -1,   259,   260,   261,   262,   263,   264,   265,   266,
   23493             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   23494             :      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
   23495             :      287,   288,   289,   290,   291,    -1,   293,   294,   295,   296,
   23496             :       -1,   298,   299,   300,   301,   302,   303,    -1,   305,   306,
   23497             :      307,    -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,
   23498             :      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
   23499             :      327,   328,   329,   330,   331,   332,   333,   334,    -1,   336,
   23500             :      337,   338,   339,   340,   341,   342,   343,   344,    -1,   346,
   23501             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   23502             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   23503             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   23504             :      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
   23505             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   23506             :      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
   23507             :      407,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
   23508             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   23509             :      427,   428,   429,   430,   431,    -1,   433,   434,    -1,    -1,
   23510             :      437,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
   23511             :      447,   448,    -1,    -1,   451,   452,   453,   454,   455,    -1,
   23512             :      457,   458,   459,   460,   461,   462,   463,   464,   465,    -1,
   23513             :       -1,   468,   469,   470,   471,   472,    -1,    -1,   475,   476,
   23514             :      477,   478,   479,   480,   481,    -1,   483,   484,   485,   486,
   23515             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   23516             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   23517             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   23518             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23519             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   23520             :       26,    27,    28,    29,    30,    31,    32,    -1,    -1,    -1,
   23521             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   23522             :       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
   23523             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   23524             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   23525             :       76,    77,    -1,    79,    -1,    81,    82,    83,    84,    85,
   23526             :       86,    87,    88,    89,    90,    91,    -1,    93,    94,    95,
   23527             :       96,    97,    98,    -1,   100,   101,   102,   103,    -1,    -1,
   23528             :      106,   107,    -1,    -1,   110,   111,   112,   113,   114,   115,
   23529             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   23530             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   23531             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   23532             :      146,    -1,   148,   149,   150,   151,    -1,   153,   154,   155,
   23533             :      156,   157,   158,   159,   160,   161,   162,    -1,   164,    -1,
   23534             :      166,   167,   168,   169,   170,    -1,   172,    -1,   174,   175,
   23535             :      176,    -1,   178,   179,   180,   181,   182,    -1,   184,   185,
   23536             :       -1,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
   23537             :      196,   197,   198,   199,   200,    -1,   202,   203,   204,   205,
   23538             :      206,   207,   208,   209,    -1,   211,   212,   213,   214,   215,
   23539             :      216,   217,   218,   219,    -1,   221,    -1,   223,   224,   225,
   23540             :      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
   23541             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   23542             :       -1,    -1,   248,   249,   250,   251,   252,    -1,   254,   255,
   23543             :      256,    -1,    -1,   259,   260,   261,   262,   263,   264,   265,
   23544             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   23545             :      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
   23546             :      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
   23547             :      296,    -1,   298,   299,   300,   301,   302,   303,    -1,   305,
   23548             :      306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,   315,
   23549             :      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
   23550             :      326,   327,   328,   329,   330,   331,   332,   333,   334,    -1,
   23551             :      336,   337,   338,   339,   340,   341,   342,   343,   344,    -1,
   23552             :      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   23553             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   23554             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   23555             :       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
   23556             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   23557             :       -1,   397,   398,   399,   400,   401,   402,   403,   404,   405,
   23558             :      406,   407,   408,   409,   410,   411,   412,    -1,   414,   415,
   23559             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   23560             :      426,   427,   428,   429,   430,   431,    -1,   433,   434,    -1,
   23561             :       -1,   437,   438,   439,   440,   441,   442,   443,   444,    -1,
   23562             :      446,   447,   448,    -1,    -1,   451,   452,   453,   454,   455,
   23563             :       -1,   457,   458,   459,   460,   461,   462,   463,   464,   465,
   23564             :       -1,    -1,   468,   469,   470,   471,   472,    -1,    -1,   475,
   23565             :      476,   477,   478,   479,   480,   481,    -1,   483,   484,   485,
   23566             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   23567             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   23568             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   23569             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23570             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   23571             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   23572             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   23573             :       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
   23574             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   23575             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   23576             :       75,    76,    77,    -1,    79,    -1,    81,    82,    83,    84,
   23577             :       85,    86,    87,    88,    89,    90,    91,    -1,    93,    94,
   23578             :       95,    96,    97,    98,    -1,   100,   101,   102,   103,    -1,
   23579             :       -1,   106,   107,    -1,    -1,   110,   111,   112,   113,   114,
   23580             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   23581             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   23582             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   23583             :      145,   146,    -1,   148,   149,   150,   151,    -1,   153,   154,
   23584             :      155,   156,   157,   158,   159,   160,   161,   162,    -1,   164,
   23585             :       -1,   166,   167,   168,   169,   170,    -1,   172,    -1,   174,
   23586             :      175,   176,    -1,   178,   179,   180,   181,   182,    -1,   184,
   23587             :      185,    -1,   187,   188,   189,    -1,   191,   192,   193,   194,
   23588             :      195,   196,   197,   198,   199,   200,    -1,   202,   203,   204,
   23589             :      205,   206,   207,   208,   209,    -1,   211,   212,   213,   214,
   23590             :      215,   216,   217,   218,   219,    -1,   221,    -1,   223,   224,
   23591             :      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
   23592             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   23593             :      245,    -1,    -1,   248,   249,   250,   251,   252,    -1,   254,
   23594             :      255,   256,    -1,    -1,   259,   260,   261,   262,   263,   264,
   23595             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   23596             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
   23597             :      285,   286,   287,   288,   289,   290,   291,    -1,   293,   294,
   23598             :      295,   296,    -1,   298,   299,   300,   301,   302,   303,    -1,
   23599             :      305,   306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,
   23600             :      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
   23601             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   23602             :       -1,   336,   337,   338,   339,   340,   341,   342,   343,   344,
   23603             :       -1,   346,   347,   348,   349,   350,   351,   352,   353,   354,
   23604             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   23605             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   23606             :      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
   23607             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   23608             :      395,    -1,   397,   398,   399,   400,   401,   402,   403,   404,
   23609             :      405,   406,   407,   408,   409,   410,   411,   412,    -1,   414,
   23610             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   23611             :      425,   426,   427,   428,   429,   430,   431,    -1,   433,   434,
   23612             :       -1,    -1,   437,   438,   439,   440,   441,   442,   443,   444,
   23613             :       -1,   446,   447,   448,    -1,    -1,   451,   452,   453,   454,
   23614             :      455,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
   23615             :      465,    -1,    -1,   468,   469,   470,   471,   472,   473,    -1,
   23616             :      475,   476,   477,   478,   479,   480,   481,    -1,   483,   484,
   23617             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   23618             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   23619             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   23620             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23621             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   23622             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   23623             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   23624             :       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
   23625             :       54,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   23626             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   23627             :       74,    75,    76,    77,    -1,    79,    -1,    81,    82,    83,
   23628             :       84,    85,    86,    87,    88,    89,    90,    91,    -1,    93,
   23629             :       94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
   23630             :       -1,    -1,   106,   107,    -1,    -1,   110,   111,   112,   113,
   23631             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   23632             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   23633             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   23634             :      144,   145,   146,    -1,   148,   149,   150,   151,    -1,   153,
   23635             :      154,   155,   156,   157,   158,   159,   160,   161,   162,    -1,
   23636             :      164,    -1,   166,   167,   168,   169,   170,    -1,   172,    -1,
   23637             :      174,   175,   176,    -1,   178,   179,   180,   181,   182,    -1,
   23638             :      184,   185,   186,   187,   188,   189,    -1,   191,   192,   193,
   23639             :      194,   195,   196,   197,   198,   199,   200,    -1,   202,   203,
   23640             :      204,   205,   206,   207,   208,   209,    -1,   211,   212,   213,
   23641             :      214,   215,   216,   217,   218,   219,    -1,   221,    -1,   223,
   23642             :      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
   23643             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   23644             :      244,   245,    -1,    -1,   248,   249,   250,   251,   252,    -1,
   23645             :      254,   255,   256,    -1,    -1,   259,   260,   261,   262,   263,
   23646             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   23647             :      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
   23648             :      284,   285,   286,   287,   288,   289,   290,   291,    -1,   293,
   23649             :      294,   295,   296,    -1,   298,   299,   300,   301,   302,   303,
   23650             :       -1,   305,   306,   307,    -1,    -1,   310,   311,   312,    -1,
   23651             :       -1,   315,   316,   317,   318,   319,   320,   321,   322,   323,
   23652             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   23653             :      334,    -1,   336,   337,   338,   339,   340,   341,   342,   343,
   23654             :      344,    -1,   346,   347,   348,   349,   350,   351,   352,   353,
   23655             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   23656             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   23657             :      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
   23658             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   23659             :      394,   395,    -1,   397,   398,   399,   400,   401,   402,   403,
   23660             :      404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
   23661             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   23662             :      424,   425,   426,   427,   428,   429,   430,   431,    -1,   433,
   23663             :      434,    -1,    -1,   437,   438,   439,   440,   441,   442,   443,
   23664             :      444,    -1,   446,   447,   448,    -1,    -1,   451,   452,   453,
   23665             :      454,   455,    -1,   457,   458,   459,   460,   461,   462,   463,
   23666             :      464,   465,    -1,    -1,   468,   469,   470,   471,   472,    -1,
   23667             :       -1,   475,   476,   477,   478,   479,   480,   481,    -1,   483,
   23668             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   23669             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   23670             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   23671             :        3,    -1,    -1,     6,    -1,    -1,    -1,    -1,    -1,    -1,
   23672             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   23673             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   23674             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   23675             :       -1,    44,    45,    46,    47,    48,    49,    50,    51,    52,
   23676             :       53,    54,    55,    56,    -1,    58,    59,    60,    61,    62,
   23677             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   23678             :       73,    74,    75,    76,    77,    -1,    79,    -1,    81,    82,
   23679             :       83,    84,    85,    86,    87,    88,    89,    90,    91,    -1,
   23680             :       93,    94,    95,    96,    97,    98,    -1,   100,   101,   102,
   23681             :      103,    -1,    -1,    -1,   107,    -1,    -1,    -1,   111,   112,
   23682             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   23683             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   23684             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   23685             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,    -1,
   23686             :      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   23687             :      163,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
   23688             :       -1,   174,   175,   176,    -1,   178,   179,   180,   181,   182,
   23689             :       -1,   184,   185,    -1,   187,   188,   189,    -1,   191,   192,
   23690             :      193,   194,   195,   196,   197,   198,   199,   200,    -1,   202,
   23691             :      203,   204,   205,   206,   207,   208,   209,    -1,   211,   212,
   23692             :      213,   214,   215,   216,   217,   218,   219,    -1,   221,    -1,
   23693             :      223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
   23694             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   23695             :      243,   244,   245,    -1,    -1,   248,   249,   250,   251,   252,
   23696             :       -1,   254,   255,   256,    -1,    -1,   259,   260,   261,   262,
   23697             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   23698             :      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
   23699             :      283,   284,   285,   286,   287,   288,   289,   290,   291,    -1,
   23700             :      293,   294,   295,   296,    -1,   298,   299,   300,   301,   302,
   23701             :      303,    -1,   305,   306,   307,   308,    -1,   310,   311,   312,
   23702             :       -1,    -1,   315,   316,   317,   318,   319,   320,   321,   322,
   23703             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   23704             :      333,   334,    -1,   336,   337,   338,   339,   340,   341,   342,
   23705             :      343,   344,    -1,   346,   347,   348,   349,   350,   351,   352,
   23706             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   23707             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   23708             :      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
   23709             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   23710             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   23711             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   23712             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   23713             :      423,   424,   425,   426,   427,   428,   429,   430,   431,    -1,
   23714             :      433,   434,    -1,    -1,   437,   438,   439,   440,   441,   442,
   23715             :      443,   444,    -1,   446,   447,   448,    -1,    -1,   451,   452,
   23716             :      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
   23717             :      463,   464,   465,    -1,    -1,   468,   469,   470,   471,   472,
   23718             :       -1,    -1,   475,   476,   477,   478,   479,   480,   481,    -1,
   23719             :      483,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   23720             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   23721             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   23722             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23723             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   23724             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   23725             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   23726             :       42,    -1,    44,    45,    46,    47,    48,    49,    50,    51,
   23727             :       52,    53,    54,    55,    56,    -1,    58,    59,    60,    61,
   23728             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   23729             :       -1,    73,    74,    75,    76,    77,    -1,    79,    -1,    81,
   23730             :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
   23731             :       -1,    93,    94,    95,    96,    97,    98,    -1,   100,   101,
   23732             :      102,   103,    -1,    -1,   106,   107,    -1,    -1,   110,   111,
   23733             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   23734             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   23735             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   23736             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   23737             :       -1,   153,   154,   155,   156,   157,   158,   159,   160,   161,
   23738             :      162,    -1,   164,    -1,   166,   167,   168,   169,   170,    -1,
   23739             :      172,    -1,   174,   175,   176,    -1,   178,   179,   180,   181,
   23740             :      182,    -1,   184,   185,    -1,   187,   188,   189,    -1,   191,
   23741             :      192,   193,   194,   195,   196,   197,   198,   199,   200,    -1,
   23742             :      202,   203,   204,   205,   206,   207,   208,   209,    -1,   211,
   23743             :      212,   213,   214,   215,   216,   217,   218,   219,    -1,   221,
   23744             :       -1,   223,   224,   225,   226,   227,   228,   229,   230,   231,
   23745             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   23746             :      242,   243,   244,   245,    -1,    -1,   248,   249,   250,   251,
   23747             :      252,    -1,   254,   255,   256,    -1,    -1,   259,   260,   261,
   23748             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   23749             :      272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
   23750             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   23751             :       -1,   293,   294,   295,   296,    -1,   298,   299,   300,   301,
   23752             :      302,   303,    -1,   305,   306,   307,    -1,    -1,   310,   311,
   23753             :      312,    -1,    -1,   315,   316,   317,   318,   319,   320,   321,
   23754             :      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   23755             :      332,   333,   334,    -1,   336,   337,   338,   339,   340,   341,
   23756             :      342,   343,   344,    -1,   346,   347,   348,   349,   350,   351,
   23757             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   23758             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   23759             :      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
   23760             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   23761             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   23762             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   23763             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   23764             :      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
   23765             :       -1,   433,   434,    -1,    -1,   437,   438,   439,   440,   441,
   23766             :      442,   443,   444,    -1,   446,   447,   448,    -1,    -1,   451,
   23767             :      452,   453,   454,   455,    -1,   457,   458,   459,   460,   461,
   23768             :      462,   463,   464,   465,    -1,    -1,   468,   469,   470,   471,
   23769             :      472,    -1,    -1,   475,   476,   477,   478,   479,   480,   481,
   23770             :       -1,   483,   484,   485,   486,   487,   488,    -1,    -1,   491,
   23771             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   23772             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   23773             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23774             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   23775             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   23776             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   23777             :       41,    42,    -1,    44,    45,    46,    47,    48,    49,    50,
   23778             :       51,    52,    53,    54,    55,    56,    -1,    58,    59,    60,
   23779             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   23780             :       71,    -1,    73,    74,    75,    76,    77,    -1,    79,    -1,
   23781             :       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
   23782             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,   100,
   23783             :      101,   102,   103,    -1,    -1,   106,   107,    -1,    -1,   110,
   23784             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   23785             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   23786             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   23787             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   23788             :      151,    -1,   153,   154,   155,   156,   157,   158,   159,   160,
   23789             :      161,   162,    -1,   164,    -1,   166,   167,   168,   169,   170,
   23790             :       -1,   172,    -1,   174,   175,   176,    -1,   178,   179,   180,
   23791             :      181,   182,    -1,   184,   185,    -1,   187,   188,   189,    -1,
   23792             :      191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
   23793             :       -1,   202,   203,   204,   205,   206,   207,   208,   209,    -1,
   23794             :      211,   212,   213,   214,   215,   216,   217,   218,   219,    -1,
   23795             :      221,    -1,   223,   224,   225,   226,   227,   228,   229,   230,
   23796             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   23797             :      241,   242,   243,   244,   245,    -1,    -1,   248,   249,   250,
   23798             :      251,   252,    -1,   254,   255,   256,    -1,    -1,   259,   260,
   23799             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   23800             :      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
   23801             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   23802             :      291,    -1,   293,   294,   295,   296,    -1,   298,   299,   300,
   23803             :      301,   302,   303,    -1,   305,   306,   307,    -1,    -1,   310,
   23804             :      311,   312,    -1,    -1,   315,   316,   317,   318,   319,   320,
   23805             :      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
   23806             :      331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
   23807             :      341,   342,   343,   344,    -1,   346,   347,   348,   349,   350,
   23808             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   23809             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   23810             :      371,   372,   373,   374,   375,    -1,   377,   378,   379,   380,
   23811             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   23812             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   23813             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   23814             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   23815             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   23816             :      431,    -1,   433,   434,    -1,    -1,   437,   438,   439,   440,
   23817             :      441,   442,   443,   444,    -1,   446,   447,   448,    -1,    -1,
   23818             :      451,   452,   453,   454,   455,    -1,   457,   458,   459,   460,
   23819             :      461,   462,   463,   464,   465,    -1,    -1,   468,   469,   470,
   23820             :      471,   472,    -1,    -1,   475,   476,   477,   478,   479,   480,
   23821             :      481,    -1,   483,   484,   485,   486,   487,   488,    -1,    -1,
   23822             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   23823             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   23824             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   23825             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23826             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   23827             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23828             :       40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
   23829             :       50,    51,    52,    53,    54,    55,    56,    -1,    58,    59,
   23830             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   23831             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    79,
   23832             :       -1,    81,    82,    83,    84,    85,    86,    87,    88,    89,
   23833             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   23834             :      100,   101,   102,   103,    -1,    -1,   106,   107,    -1,    -1,
   23835             :      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   23836             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   23837             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   23838             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   23839             :      150,   151,    -1,   153,   154,   155,   156,   157,   158,   159,
   23840             :      160,   161,   162,    -1,   164,    -1,   166,   167,   168,   169,
   23841             :      170,    -1,   172,    -1,   174,   175,   176,    -1,   178,   179,
   23842             :      180,   181,   182,    -1,   184,   185,    -1,   187,   188,   189,
   23843             :       -1,   191,   192,   193,   194,   195,   196,   197,   198,   199,
   23844             :      200,    -1,   202,   203,   204,   205,   206,   207,   208,   209,
   23845             :       -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
   23846             :       -1,   221,    -1,   223,   224,   225,   226,   227,   228,   229,
   23847             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   23848             :      240,   241,   242,   243,   244,   245,    -1,    -1,   248,   249,
   23849             :      250,   251,   252,    -1,   254,   255,   256,    -1,    -1,   259,
   23850             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   23851             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   23852             :      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   23853             :      290,   291,    -1,   293,   294,   295,   296,    -1,   298,   299,
   23854             :      300,   301,   302,   303,    -1,   305,   306,   307,    -1,    -1,
   23855             :      310,   311,   312,    -1,    -1,   315,   316,   317,   318,   319,
   23856             :      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
   23857             :      330,   331,   332,   333,   334,    -1,   336,   337,   338,   339,
   23858             :      340,   341,   342,   343,   344,    -1,   346,   347,   348,   349,
   23859             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   23860             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   23861             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
   23862             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   23863             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   23864             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   23865             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   23866             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   23867             :      430,   431,    -1,   433,   434,    -1,    -1,   437,   438,   439,
   23868             :      440,   441,   442,   443,   444,    -1,   446,   447,   448,    -1,
   23869             :       -1,   451,   452,   453,   454,   455,    -1,   457,   458,   459,
   23870             :      460,   461,   462,   463,   464,   465,    -1,    -1,   468,   469,
   23871             :      470,   471,   472,    -1,    -1,   475,   476,   477,   478,   479,
   23872             :      480,   481,    -1,   483,   484,   485,   486,   487,   488,    -1,
   23873             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   23874             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   23875             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   23876             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23877             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   23878             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   23879             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
   23880             :       49,    50,    51,    52,    53,    54,    55,    56,    -1,    58,
   23881             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   23882             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   23883             :       79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
   23884             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   23885             :       -1,   100,   101,   102,   103,    -1,    -1,   106,   107,    -1,
   23886             :       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
   23887             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   23888             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   23889             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   23890             :      149,   150,   151,    -1,   153,   154,   155,   156,   157,   158,
   23891             :      159,   160,   161,   162,    -1,   164,    -1,   166,   167,   168,
   23892             :      169,   170,    -1,   172,    -1,   174,   175,   176,    -1,   178,
   23893             :      179,   180,   181,   182,    -1,   184,   185,    -1,   187,   188,
   23894             :      189,    -1,   191,   192,   193,   194,   195,   196,   197,   198,
   23895             :      199,   200,    -1,   202,   203,   204,   205,   206,   207,   208,
   23896             :      209,    -1,   211,   212,   213,   214,   215,   216,   217,   218,
   23897             :      219,    -1,   221,    -1,   223,   224,   225,   226,   227,   228,
   23898             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   23899             :      239,   240,   241,   242,   243,   244,   245,    -1,    -1,   248,
   23900             :      249,   250,   251,   252,    -1,   254,   255,   256,    -1,    -1,
   23901             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   23902             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   23903             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   23904             :      289,   290,   291,    -1,   293,   294,   295,   296,    -1,   298,
   23905             :      299,   300,   301,   302,   303,    -1,   305,   306,   307,    -1,
   23906             :       -1,   310,   311,   312,    -1,    -1,   315,   316,   317,   318,
   23907             :      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
   23908             :      329,   330,   331,   332,   333,   334,    -1,   336,   337,   338,
   23909             :      339,   340,   341,   342,   343,   344,    -1,   346,   347,   348,
   23910             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   23911             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   23912             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   23913             :      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   23914             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   23915             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   23916             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   23917             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   23918             :      429,   430,   431,    -1,   433,   434,    -1,    -1,   437,   438,
   23919             :      439,   440,   441,   442,   443,   444,    -1,   446,   447,   448,
   23920             :       -1,    -1,   451,   452,   453,   454,   455,    -1,   457,   458,
   23921             :      459,   460,   461,   462,   463,   464,   465,    -1,    -1,   468,
   23922             :      469,   470,   471,   472,    -1,    -1,   475,   476,   477,   478,
   23923             :      479,   480,   481,    -1,   483,   484,   485,   486,   487,   488,
   23924             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   23925             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   23926             :      509,   510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,
   23927             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23928             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   23929             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   23930             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   23931             :       48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
   23932             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   23933             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   23934             :       -1,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
   23935             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   23936             :       98,    -1,   100,   101,   102,   103,    -1,    -1,   106,   107,
   23937             :       -1,    -1,   110,   111,   112,   113,   114,   115,   116,   117,
   23938             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   23939             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   23940             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   23941             :      148,   149,   150,   151,    -1,   153,   154,   155,   156,   157,
   23942             :      158,   159,   160,   161,   162,    -1,   164,    -1,   166,   167,
   23943             :      168,   169,   170,    -1,   172,    -1,   174,   175,   176,    -1,
   23944             :      178,   179,   180,   181,   182,    -1,   184,   185,    -1,   187,
   23945             :      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
   23946             :      198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
   23947             :      208,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
   23948             :      218,   219,    -1,   221,    -1,   223,   224,   225,   226,   227,
   23949             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   23950             :      238,   239,   240,   241,   242,   243,   244,   245,    -1,    -1,
   23951             :      248,   249,   250,   251,   252,    -1,   254,   255,   256,    -1,
   23952             :       -1,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   23953             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   23954             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   23955             :      288,   289,   290,   291,    -1,   293,   294,   295,   296,    -1,
   23956             :      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
   23957             :       -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,   317,
   23958             :      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
   23959             :      328,   329,   330,   331,   332,   333,   334,    -1,   336,   337,
   23960             :      338,   339,   340,   341,   342,   343,   344,    -1,   346,   347,
   23961             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   23962             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   23963             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   23964             :      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
   23965             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   23966             :      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
   23967             :      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   23968             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   23969             :      428,   429,   430,   431,    -1,   433,   434,    -1,    -1,   437,
   23970             :      438,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
   23971             :      448,    -1,    -1,   451,   452,   453,   454,   455,    -1,   457,
   23972             :      458,   459,   460,   461,   462,   463,   464,   465,    -1,    -1,
   23973             :      468,   469,   470,   471,   472,    -1,    -1,   475,   476,   477,
   23974             :      478,   479,   480,   481,    -1,   483,   484,   485,   486,   487,
   23975             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   23976             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   23977             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,     6,
   23978             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23979             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   23980             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   23981             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   23982             :       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
   23983             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   23984             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   23985             :       77,    -1,    79,    -1,    81,    82,    83,    84,    85,    86,
   23986             :       87,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   23987             :       97,    98,    -1,   100,   101,   102,   103,    -1,    -1,    -1,
   23988             :      107,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   23989             :      117,   118,   119,   120,   121,    -1,   123,   124,   125,   126,
   23990             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   23991             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   23992             :       -1,   148,   149,   150,   151,    -1,   153,   154,   155,   156,
   23993             :      157,   158,   159,   160,   161,   162,    -1,   164,    -1,   166,
   23994             :      167,   168,   169,   170,    -1,   172,    -1,   174,   175,   176,
   23995             :       -1,   178,   179,   180,   181,   182,    -1,   184,   185,    -1,
   23996             :      187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
   23997             :      197,   198,   199,   200,    -1,   202,   203,   204,   205,   206,
   23998             :      207,   208,   209,    -1,   211,   212,   213,   214,   215,   216,
   23999             :      217,   218,   219,    -1,   221,    -1,   223,   224,   225,   226,
   24000             :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
   24001             :      237,   238,   239,   240,   241,   242,   243,   244,   245,    -1,
   24002             :       -1,   248,   249,   250,   251,   252,    -1,   254,   255,   256,
   24003             :       -1,    -1,   259,   260,   261,   262,   263,   264,   265,   266,
   24004             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   24005             :      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
   24006             :      287,   288,   289,   290,   291,    -1,   293,   294,   295,   296,
   24007             :       -1,   298,   299,   300,   301,   302,   303,    -1,   305,   306,
   24008             :      307,    -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,
   24009             :      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
   24010             :      327,   328,   329,   330,   331,   332,   333,   334,    -1,   336,
   24011             :      337,   338,   339,   340,   341,   342,   343,   344,    -1,   346,
   24012             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   24013             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   24014             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   24015             :      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
   24016             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   24017             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   24018             :      407,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
   24019             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   24020             :      427,   428,   429,   430,   431,    -1,   433,   434,    -1,    -1,
   24021             :      437,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
   24022             :      447,   448,    -1,    -1,   451,   452,   453,   454,   455,    -1,
   24023             :      457,   458,   459,   460,   461,   462,   463,   464,   465,    -1,
   24024             :       -1,   468,   469,   470,   471,   472,    -1,    -1,   475,   476,
   24025             :      477,   478,   479,   480,   481,    -1,   483,   484,   485,   486,
   24026             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   24027             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   24028             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   24029             :        6,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24030             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   24031             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   24032             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   24033             :       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
   24034             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   24035             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   24036             :       76,    77,    -1,    79,    -1,    81,    82,    83,    84,    85,
   24037             :       86,    87,    88,    89,    90,    91,    -1,    93,    94,    95,
   24038             :       96,    97,    98,    -1,   100,   101,   102,   103,    -1,    -1,
   24039             :       -1,   107,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   24040             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   24041             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   24042             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   24043             :      146,    -1,   148,   149,   150,   151,    -1,   153,   154,   155,
   24044             :      156,   157,   158,   159,   160,   161,   162,    -1,   164,    -1,
   24045             :      166,   167,   168,   169,   170,    -1,   172,    -1,   174,   175,
   24046             :      176,    -1,   178,   179,   180,   181,   182,    -1,   184,   185,
   24047             :       -1,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
   24048             :      196,   197,   198,   199,   200,    -1,   202,   203,   204,   205,
   24049             :      206,   207,   208,   209,    -1,   211,   212,   213,   214,   215,
   24050             :      216,   217,   218,   219,    -1,   221,    -1,   223,   224,   225,
   24051             :      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
   24052             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   24053             :       -1,    -1,   248,   249,   250,   251,   252,    -1,   254,   255,
   24054             :      256,    -1,    -1,   259,   260,   261,   262,   263,   264,   265,
   24055             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   24056             :      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
   24057             :      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
   24058             :      296,    -1,   298,   299,   300,   301,   302,   303,    -1,   305,
   24059             :      306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,   315,
   24060             :      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
   24061             :      326,   327,   328,   329,   330,   331,   332,   333,   334,    -1,
   24062             :      336,   337,   338,   339,   340,   341,   342,   343,   344,    -1,
   24063             :      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   24064             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   24065             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   24066             :       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
   24067             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   24068             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   24069             :      406,   407,   408,   409,   410,   411,   412,    -1,   414,   415,
   24070             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   24071             :      426,   427,   428,   429,   430,   431,    -1,   433,   434,    -1,
   24072             :       -1,   437,   438,   439,   440,   441,   442,   443,   444,    -1,
   24073             :      446,   447,   448,    -1,    -1,   451,   452,   453,   454,   455,
   24074             :       -1,   457,   458,   459,   460,   461,   462,   463,   464,   465,
   24075             :       -1,    -1,   468,   469,   470,   471,   472,    -1,    -1,   475,
   24076             :      476,   477,   478,   479,   480,   481,    -1,   483,   484,   485,
   24077             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   24078             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   24079             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   24080             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24081             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   24082             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   24083             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   24084             :       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
   24085             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   24086             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   24087             :       75,    76,    77,    -1,    79,    -1,    81,    82,    83,    84,
   24088             :       85,    86,    87,    88,    89,    90,    91,    -1,    93,    94,
   24089             :       95,    96,    97,    98,    -1,   100,   101,   102,   103,    -1,
   24090             :       -1,    -1,   107,    -1,    -1,    -1,   111,   112,   113,   114,
   24091             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   24092             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   24093             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   24094             :      145,   146,    -1,   148,   149,   150,   151,    -1,   153,   154,
   24095             :      155,   156,   157,   158,   159,   160,   161,   162,    -1,   164,
   24096             :       -1,   166,   167,   168,   169,   170,    -1,   172,    -1,   174,
   24097             :      175,   176,    -1,   178,   179,   180,   181,   182,    -1,   184,
   24098             :      185,    -1,   187,   188,   189,    -1,   191,   192,   193,   194,
   24099             :      195,   196,   197,   198,   199,   200,    -1,   202,   203,   204,
   24100             :      205,   206,   207,   208,   209,    -1,   211,   212,   213,   214,
   24101             :      215,   216,   217,   218,   219,    -1,   221,    -1,   223,   224,
   24102             :      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
   24103             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   24104             :      245,    -1,    -1,   248,   249,   250,   251,   252,    -1,   254,
   24105             :      255,   256,    -1,    -1,   259,   260,   261,   262,   263,   264,
   24106             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   24107             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
   24108             :      285,   286,   287,   288,   289,   290,   291,    -1,   293,   294,
   24109             :      295,   296,    -1,   298,   299,   300,   301,   302,   303,    -1,
   24110             :      305,   306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,
   24111             :      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
   24112             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   24113             :       -1,   336,   337,   338,   339,   340,   341,   342,   343,   344,
   24114             :       -1,   346,   347,   348,   349,   350,   351,   352,   353,   354,
   24115             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   24116             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   24117             :      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
   24118             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   24119             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   24120             :      405,   406,   407,   408,   409,   410,   411,   412,    -1,   414,
   24121             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   24122             :      425,   426,   427,   428,   429,   430,   431,    -1,   433,   434,
   24123             :       -1,    -1,   437,   438,   439,   440,   441,   442,   443,   444,
   24124             :       -1,   446,   447,   448,    -1,    -1,   451,   452,   453,   454,
   24125             :      455,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
   24126             :      465,    -1,    -1,   468,   469,   470,   471,   472,    -1,    -1,
   24127             :      475,   476,   477,   478,   479,   480,   481,    -1,   483,   484,
   24128             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   24129             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   24130             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   24131             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24132             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   24133             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   24134             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   24135             :       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
   24136             :       54,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   24137             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   24138             :       74,    75,    76,    77,    -1,    79,    -1,    81,    82,    83,
   24139             :       84,    85,    86,    87,    88,    89,    90,    91,    -1,    93,
   24140             :       94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
   24141             :       -1,    -1,    -1,   107,    -1,    -1,    -1,   111,   112,   113,
   24142             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   24143             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   24144             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   24145             :      144,   145,   146,    -1,   148,   149,   150,   151,    -1,   153,
   24146             :      154,   155,   156,   157,   158,   159,   160,   161,   162,    -1,
   24147             :      164,    -1,   166,   167,   168,   169,   170,    -1,   172,    -1,
   24148             :      174,   175,   176,    -1,   178,   179,   180,   181,   182,    -1,
   24149             :      184,   185,    -1,   187,   188,   189,    -1,   191,   192,   193,
   24150             :      194,   195,   196,   197,   198,   199,   200,    -1,   202,   203,
   24151             :      204,   205,   206,   207,   208,   209,    -1,   211,   212,   213,
   24152             :      214,   215,   216,   217,   218,   219,    -1,   221,    -1,   223,
   24153             :      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
   24154             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   24155             :      244,   245,    -1,    -1,   248,   249,   250,   251,   252,    -1,
   24156             :      254,   255,   256,    -1,    -1,   259,   260,   261,   262,   263,
   24157             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   24158             :      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
   24159             :      284,   285,   286,   287,   288,   289,   290,   291,    -1,   293,
   24160             :      294,   295,   296,    -1,   298,   299,   300,   301,   302,   303,
   24161             :       -1,   305,   306,   307,    -1,    -1,   310,   311,   312,    -1,
   24162             :       -1,   315,   316,   317,   318,   319,   320,   321,   322,   323,
   24163             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   24164             :      334,    -1,   336,   337,   338,   339,   340,   341,   342,   343,
   24165             :      344,    -1,   346,   347,   348,   349,   350,   351,   352,   353,
   24166             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   24167             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   24168             :      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
   24169             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   24170             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   24171             :      404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
   24172             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   24173             :      424,   425,   426,   427,   428,   429,   430,   431,    -1,   433,
   24174             :      434,    -1,    -1,   437,   438,   439,   440,   441,   442,   443,
   24175             :      444,    -1,   446,   447,   448,    -1,    -1,   451,   452,   453,
   24176             :      454,   455,    -1,   457,   458,   459,   460,   461,   462,   463,
   24177             :      464,   465,    -1,    -1,   468,   469,   470,   471,   472,    -1,
   24178             :       -1,   475,   476,   477,   478,   479,   480,   481,    -1,   483,
   24179             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   24180             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   24181             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   24182             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24183             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   24184             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   24185             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   24186             :       -1,    44,    45,    46,    47,    48,    49,    50,    51,    52,
   24187             :       53,    54,    55,    56,    -1,    58,    59,    60,    61,    62,
   24188             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   24189             :       73,    74,    75,    76,    77,    -1,    79,    -1,    81,    82,
   24190             :       83,    84,    85,    86,    87,    88,    89,    90,    91,    -1,
   24191             :       93,    94,    95,    96,    97,    98,    -1,   100,   101,   102,
   24192             :      103,    -1,    -1,    -1,   107,    -1,    -1,    -1,   111,   112,
   24193             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   24194             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   24195             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   24196             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,    -1,
   24197             :      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   24198             :       -1,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
   24199             :       -1,   174,   175,   176,    -1,   178,   179,   180,   181,   182,
   24200             :       -1,   184,   185,    -1,   187,   188,   189,    -1,   191,   192,
   24201             :      193,   194,   195,   196,   197,   198,   199,   200,    -1,   202,
   24202             :      203,   204,   205,   206,   207,   208,   209,    -1,   211,   212,
   24203             :      213,   214,   215,   216,   217,   218,   219,    -1,   221,    -1,
   24204             :      223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
   24205             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   24206             :      243,   244,   245,    -1,    -1,   248,   249,   250,   251,   252,
   24207             :       -1,   254,   255,   256,    -1,    -1,   259,   260,   261,   262,
   24208             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   24209             :      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
   24210             :      283,   284,   285,   286,   287,   288,   289,   290,   291,    -1,
   24211             :      293,   294,   295,   296,    -1,   298,   299,   300,   301,   302,
   24212             :      303,    -1,   305,   306,   307,    -1,    -1,   310,   311,   312,
   24213             :       -1,    -1,   315,   316,   317,   318,   319,   320,   321,   322,
   24214             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   24215             :      333,   334,    -1,   336,   337,   338,   339,   340,   341,   342,
   24216             :      343,   344,    -1,   346,   347,   348,   349,   350,   351,   352,
   24217             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   24218             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   24219             :      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
   24220             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   24221             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   24222             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   24223             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   24224             :      423,   424,   425,   426,   427,   428,   429,   430,   431,    -1,
   24225             :      433,   434,    -1,    -1,   437,   438,   439,   440,   441,   442,
   24226             :      443,   444,    -1,   446,   447,   448,    -1,    -1,   451,   452,
   24227             :      453,   454,   455,    -1,   457,   458,   459,   460,   461,   462,
   24228             :      463,   464,   465,    -1,    -1,   468,   469,   470,   471,   472,
   24229             :       -1,    -1,   475,   476,   477,   478,   479,   480,   481,    -1,
   24230             :      483,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   24231             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   24232             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   24233             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24234             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   24235             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   24236             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   24237             :       42,    -1,    44,    45,    46,    47,    48,    49,    50,    51,
   24238             :       52,    53,    54,    55,    56,    -1,    58,    59,    60,    61,
   24239             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   24240             :       -1,    73,    74,    75,    76,    77,    -1,    79,    -1,    81,
   24241             :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
   24242             :       -1,    93,    94,    95,    96,    97,    98,    -1,   100,   101,
   24243             :      102,   103,    -1,    -1,    -1,   107,    -1,    -1,    -1,   111,
   24244             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   24245             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   24246             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   24247             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   24248             :       -1,   153,   154,   155,   156,   157,   158,   159,   160,   161,
   24249             :      162,    -1,   164,    -1,   166,   167,   168,   169,   170,    -1,
   24250             :      172,    -1,   174,   175,   176,    -1,   178,   179,   180,   181,
   24251             :      182,    -1,   184,   185,    -1,   187,   188,   189,    -1,   191,
   24252             :      192,   193,   194,   195,   196,   197,   198,   199,   200,    -1,
   24253             :      202,   203,   204,   205,   206,   207,   208,   209,    -1,   211,
   24254             :      212,   213,   214,   215,   216,   217,   218,   219,    -1,   221,
   24255             :       -1,   223,   224,   225,   226,   227,   228,   229,   230,   231,
   24256             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   24257             :      242,   243,   244,   245,    -1,    -1,   248,   249,   250,   251,
   24258             :      252,    -1,   254,   255,   256,    -1,    -1,   259,   260,   261,
   24259             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   24260             :      272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
   24261             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   24262             :       -1,   293,   294,   295,   296,    -1,   298,   299,   300,   301,
   24263             :      302,   303,    -1,   305,   306,   307,    -1,    -1,   310,   311,
   24264             :      312,    -1,    -1,   315,   316,   317,   318,   319,   320,   321,
   24265             :      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   24266             :      332,   333,   334,    -1,   336,   337,   338,   339,   340,   341,
   24267             :      342,   343,   344,    -1,   346,   347,   348,   349,   350,   351,
   24268             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   24269             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   24270             :      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
   24271             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   24272             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   24273             :       -1,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   24274             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   24275             :      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
   24276             :       -1,   433,   434,    -1,    -1,   437,   438,   439,   440,   441,
   24277             :      442,   443,   444,    -1,   446,   447,   448,    -1,    -1,   451,
   24278             :      452,   453,   454,   455,    -1,   457,   458,   459,   460,   461,
   24279             :      462,   463,   464,   465,    -1,    -1,   468,   469,   470,   471,
   24280             :      472,    -1,    -1,   475,   476,   477,   478,   479,   480,   481,
   24281             :       -1,   483,   484,   485,   486,   487,   488,    -1,    -1,   491,
   24282             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   24283             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   24284             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24285             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   24286             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   24287             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   24288             :       41,    42,    -1,    44,    45,    46,    47,    48,    49,    50,
   24289             :       51,    52,    53,    54,    55,    56,    -1,    58,    59,    60,
   24290             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   24291             :       71,    -1,    73,    74,    75,    76,    77,    -1,    79,    -1,
   24292             :       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
   24293             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,   100,
   24294             :      101,   102,   103,    -1,    -1,    -1,   107,    -1,    -1,    -1,
   24295             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   24296             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   24297             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   24298             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   24299             :      151,    -1,   153,   154,   155,   156,   157,   158,   159,   160,
   24300             :      161,   162,    -1,   164,    -1,   166,   167,   168,   169,   170,
   24301             :       -1,   172,    -1,   174,   175,   176,    -1,   178,   179,   180,
   24302             :      181,   182,    -1,   184,   185,    -1,   187,   188,   189,    -1,
   24303             :      191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
   24304             :       -1,   202,   203,   204,   205,   206,   207,   208,   209,    -1,
   24305             :      211,   212,   213,   214,   215,   216,   217,   218,   219,    -1,
   24306             :      221,    -1,   223,   224,   225,   226,   227,   228,   229,   230,
   24307             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   24308             :      241,   242,   243,   244,   245,    -1,    -1,   248,   249,   250,
   24309             :      251,   252,    -1,   254,   255,   256,    -1,    -1,   259,   260,
   24310             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   24311             :      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
   24312             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   24313             :      291,    -1,   293,   294,   295,   296,    -1,   298,   299,   300,
   24314             :      301,   302,   303,    -1,   305,   306,   307,    -1,    -1,   310,
   24315             :      311,   312,    -1,    -1,   315,   316,   317,   318,   319,   320,
   24316             :      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
   24317             :      331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
   24318             :      341,   342,   343,   344,    -1,   346,   347,   348,   349,   350,
   24319             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   24320             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   24321             :      371,   372,   373,   374,   375,    -1,   377,   378,   379,   380,
   24322             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   24323             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   24324             :      401,    -1,   403,   404,   405,   406,   407,   408,   409,   410,
   24325             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   24326             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   24327             :      431,    -1,   433,   434,    -1,    -1,   437,   438,   439,   440,
   24328             :      441,   442,   443,   444,    -1,   446,   447,   448,    -1,    -1,
   24329             :      451,   452,   453,   454,   455,    -1,   457,   458,   459,   460,
   24330             :      461,   462,   463,   464,   465,    -1,    -1,   468,   469,   470,
   24331             :      471,   472,    -1,    -1,   475,   476,   477,   478,   479,   480,
   24332             :      481,    -1,   483,   484,   485,   486,   487,   488,    -1,    -1,
   24333             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   24334             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   24335             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   24336             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24337             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   24338             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24339             :       40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
   24340             :       50,    51,    52,    53,    54,    55,    56,    -1,    58,    59,
   24341             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   24342             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    79,
   24343             :       -1,    81,    82,    83,    84,    85,    86,    87,    88,    89,
   24344             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   24345             :      100,   101,   102,   103,    -1,    -1,    -1,   107,    -1,    -1,
   24346             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   24347             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   24348             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   24349             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   24350             :      150,   151,    -1,   153,   154,   155,   156,   157,   158,   159,
   24351             :      160,   161,   162,    -1,   164,    -1,   166,   167,   168,   169,
   24352             :      170,    -1,   172,    -1,   174,   175,   176,    -1,   178,   179,
   24353             :      180,   181,   182,    -1,   184,   185,    -1,   187,   188,   189,
   24354             :       -1,   191,   192,   193,   194,   195,   196,   197,   198,   199,
   24355             :      200,    -1,   202,   203,   204,   205,   206,   207,   208,   209,
   24356             :       -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
   24357             :       -1,   221,    -1,   223,   224,   225,   226,   227,   228,   229,
   24358             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   24359             :      240,   241,   242,   243,   244,   245,    -1,    -1,   248,   249,
   24360             :      250,   251,   252,    -1,   254,   255,   256,    -1,    -1,   259,
   24361             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   24362             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   24363             :      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   24364             :      290,   291,    -1,   293,   294,   295,   296,    -1,   298,   299,
   24365             :      300,   301,   302,   303,    -1,   305,   306,   307,    -1,    -1,
   24366             :      310,   311,   312,    -1,    -1,   315,   316,   317,   318,   319,
   24367             :      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
   24368             :      330,   331,   332,   333,   334,    -1,   336,   337,   338,   339,
   24369             :      340,   341,   342,   343,   344,    -1,   346,   347,   348,   349,
   24370             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   24371             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   24372             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
   24373             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   24374             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   24375             :      400,   401,    -1,   403,   404,   405,   406,   407,   408,   409,
   24376             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   24377             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   24378             :      430,   431,    -1,   433,   434,    -1,    -1,   437,   438,   439,
   24379             :      440,   441,   442,   443,   444,    -1,   446,   447,   448,    -1,
   24380             :       -1,   451,   452,   453,   454,   455,    -1,   457,   458,   459,
   24381             :      460,   461,   462,   463,   464,   465,    -1,    -1,   468,   469,
   24382             :      470,   471,   472,    -1,    -1,   475,   476,   477,   478,   479,
   24383             :      480,   481,    -1,   483,   484,   485,   486,   487,   488,    -1,
   24384             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   24385             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   24386             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   24387             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24388             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   24389             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   24390             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   24391             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   24392             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   24393             :       69,    70,    71,    72,    73,    74,    75,    76,    77,    -1,
   24394             :       -1,    80,    81,    82,    83,    84,    85,    86,    -1,    88,
   24395             :       89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
   24396             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   24397             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   24398             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   24399             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   24400             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   24401             :      149,   150,   151,    -1,   153,   154,   155,   156,   157,   158,
   24402             :      159,   160,   161,   162,    -1,   164,    -1,   166,   167,   168,
   24403             :      169,   170,    -1,   172,   173,   174,   175,    -1,    -1,    -1,
   24404             :      179,   180,   181,   182,    -1,   184,   185,    -1,   187,   188,
   24405             :      189,    -1,   191,   192,   193,   194,   195,    -1,   197,   198,
   24406             :      199,   200,    -1,   202,   203,   204,   205,   206,   207,   208,
   24407             :      209,    -1,   211,    -1,   213,   214,   215,   216,   217,   218,
   24408             :      219,    -1,   221,    -1,   223,    -1,    -1,   226,    -1,   228,
   24409             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   24410             :      239,   240,   241,   242,   243,   244,   245,    -1,    -1,   248,
   24411             :      249,    -1,   251,    -1,    -1,   254,   255,   256,    -1,    -1,
   24412             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   24413             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   24414             :       -1,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   24415             :      289,   290,   291,   292,   293,   294,    -1,   296,    -1,   298,
   24416             :      299,   300,   301,   302,   303,    -1,   305,   306,   307,    -1,
   24417             :       -1,   310,   311,   312,    -1,    -1,   315,   316,   317,    -1,
   24418             :      319,    -1,   321,   322,   323,   324,   325,   326,   327,   328,
   24419             :      329,   330,   331,   332,   333,   334,    -1,   336,   337,   338,
   24420             :      339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
   24421             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   24422             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   24423             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   24424             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   24425             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   24426             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   24427             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   24428             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   24429             :      429,   430,   431,    -1,   433,   434,    -1,    -1,   437,    -1,
   24430             :      439,   440,   441,   442,   443,   444,    -1,   446,   447,   448,
   24431             :       -1,    -1,   451,   452,   453,   454,   455,    -1,   457,   458,
   24432             :      459,   460,   461,   462,   463,   464,   465,    -1,   467,   468,
   24433             :      469,   470,   471,   472,    -1,    -1,   475,   476,   477,   478,
   24434             :      479,   480,   481,    -1,   483,    -1,   485,   486,   487,   488,
   24435             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   24436             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   24437             :      509,   510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,
   24438             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24439             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   24440             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   24441             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   24442             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   24443             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   24444             :       68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
   24445             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   24446             :       88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
   24447             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   24448             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   24449             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   24450             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   24451             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   24452             :      148,   149,   150,   151,    -1,   153,   154,   155,   156,   157,
   24453             :      158,   159,   160,   161,   162,    -1,   164,    -1,   166,   167,
   24454             :      168,   169,   170,    -1,   172,   173,   174,   175,    -1,    -1,
   24455             :       -1,   179,   180,   181,   182,    -1,   184,   185,    -1,   187,
   24456             :      188,   189,    -1,   191,   192,   193,   194,   195,    -1,   197,
   24457             :      198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
   24458             :      208,   209,    -1,   211,    -1,   213,   214,   215,   216,   217,
   24459             :      218,   219,    -1,   221,    -1,   223,    -1,    -1,   226,    -1,
   24460             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   24461             :      238,   239,   240,   241,   242,   243,   244,   245,    -1,    -1,
   24462             :      248,   249,    -1,   251,   252,    -1,   254,   255,   256,    -1,
   24463             :       -1,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   24464             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   24465             :      278,    -1,   280,   281,   282,   283,   284,   285,   286,   287,
   24466             :      288,   289,   290,   291,   292,   293,   294,    -1,   296,    -1,
   24467             :      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
   24468             :       -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,   317,
   24469             :       -1,   319,    -1,   321,   322,   323,   324,   325,   326,   327,
   24470             :      328,   329,   330,   331,   332,   333,   334,    -1,   336,   337,
   24471             :      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
   24472             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   24473             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   24474             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   24475             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   24476             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   24477             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   24478             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   24479             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   24480             :      428,   429,   430,   431,    -1,   433,   434,    -1,    -1,   437,
   24481             :       -1,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
   24482             :      448,    -1,    -1,   451,   452,   453,   454,   455,    -1,   457,
   24483             :      458,   459,   460,   461,   462,   463,   464,   465,    -1,   467,
   24484             :      468,   469,   470,   471,   472,    -1,    -1,   475,   476,   477,
   24485             :      478,   479,   480,   481,    -1,   483,    -1,   485,   486,   487,
   24486             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   24487             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   24488             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,    -1,
   24489             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24490             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   24491             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   24492             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   24493             :       47,    -1,    49,    50,    51,    52,    53,    -1,    55,    56,
   24494             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   24495             :       67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
   24496             :       77,    -1,    -1,    -1,    81,    82,    83,    84,    85,    86,
   24497             :       -1,    88,    89,    90,    91,    92,    93,    94,    95,    96,
   24498             :       97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,
   24499             :       -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   24500             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   24501             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   24502             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   24503             :       -1,   148,   149,   150,   151,    -1,   153,   154,   155,   156,
   24504             :      157,   158,   159,   160,   161,   162,    -1,   164,    -1,   166,
   24505             :      167,   168,   169,   170,    -1,   172,   173,   174,   175,    -1,
   24506             :       -1,    -1,   179,   180,   181,   182,    -1,   184,   185,    -1,
   24507             :      187,   188,   189,    -1,   191,   192,   193,   194,   195,    -1,
   24508             :      197,   198,   199,   200,    -1,   202,   203,   204,   205,   206,
   24509             :      207,   208,   209,    -1,   211,    -1,   213,   214,   215,   216,
   24510             :      217,   218,   219,    -1,   221,    -1,   223,    -1,    -1,   226,
   24511             :       -1,   228,   229,   230,   231,   232,   233,   234,   235,   236,
   24512             :      237,   238,   239,   240,   241,   242,   243,   244,   245,    -1,
   24513             :       -1,   248,   249,    -1,   251,    -1,    -1,   254,   255,   256,
   24514             :       -1,    -1,   259,   260,   261,   262,   263,   264,   265,   266,
   24515             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   24516             :      277,   278,    -1,   280,   281,   282,   283,   284,   285,   286,
   24517             :      287,   288,   289,   290,   291,   292,   293,   294,    -1,   296,
   24518             :       -1,   298,   299,   300,   301,   302,   303,    -1,   305,   306,
   24519             :      307,    -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,
   24520             :      317,    -1,   319,    -1,   321,   322,   323,   324,   325,   326,
   24521             :      327,   328,   329,   330,   331,   332,   333,   334,    -1,   336,
   24522             :      337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   24523             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   24524             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   24525             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   24526             :      377,   378,    -1,   380,   381,   382,   383,   384,   385,   386,
   24527             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   24528             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   24529             :      407,    -1,   409,   410,   411,   412,    -1,   414,   415,   416,
   24530             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   24531             :      427,   428,   429,   430,   431,    -1,   433,   434,    -1,    -1,
   24532             :      437,    -1,   439,   440,   441,   442,   443,   444,    -1,   446,
   24533             :      447,   448,    -1,    -1,   451,   452,   453,   454,   455,    -1,
   24534             :      457,   458,   459,   460,   461,   462,   463,   464,   465,    -1,
   24535             :      467,   468,   469,   470,   471,   472,    -1,    -1,   475,   476,
   24536             :      477,   478,   479,   480,   481,    -1,   483,    -1,   485,   486,
   24537             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   24538             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   24539             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   24540             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24541             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   24542             :       26,    27,    28,    29,    30,    31,    32,    -1,    -1,    -1,
   24543             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   24544             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   24545             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   24546             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   24547             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   24548             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   24549             :       96,    97,    98,    99,    -1,   101,   102,   103,    -1,    -1,
   24550             :       -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   24551             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   24552             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   24553             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   24554             :      146,    -1,   148,   149,   150,   151,    -1,   153,   154,   155,
   24555             :      156,   157,   158,   159,   160,   161,   162,    -1,   164,    -1,
   24556             :      166,   167,   168,   169,   170,    -1,   172,    -1,   174,   175,
   24557             :       -1,    -1,    -1,   179,   180,   181,   182,   183,   184,   185,
   24558             :       -1,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
   24559             :       -1,   197,   198,   199,   200,    -1,   202,   203,   204,   205,
   24560             :      206,   207,   208,   209,    -1,   211,    -1,   213,   214,   215,
   24561             :      216,   217,   218,   219,    -1,   221,    -1,   223,    -1,    -1,
   24562             :      226,    -1,   228,   229,   230,   231,   232,   233,   234,   235,
   24563             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   24564             :       -1,    -1,   248,   249,    -1,   251,    -1,    -1,   254,   255,
   24565             :      256,    -1,    -1,   259,   260,   261,   262,   263,   264,   265,
   24566             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   24567             :      276,   277,   278,    -1,   280,   281,   282,   283,   284,   285,
   24568             :      286,   287,   288,   289,   290,   291,    -1,   293,   294,    -1,
   24569             :      296,    -1,   298,   299,   300,   301,   302,   303,    -1,   305,
   24570             :      306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,   315,
   24571             :      316,   317,    -1,   319,    -1,   321,   322,   323,   324,   325,
   24572             :      326,   327,   328,   329,   330,   331,   332,   333,   334,    -1,
   24573             :      336,   337,   338,   339,   340,   341,   342,   343,   344,    -1,
   24574             :      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   24575             :      356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
   24576             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   24577             :       -1,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
   24578             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   24579             :      396,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   24580             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   24581             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   24582             :      426,   427,   428,   429,   430,   431,    -1,   433,   434,    -1,
   24583             :       -1,   437,    -1,   439,   440,   441,   442,   443,   444,    -1,
   24584             :      446,   447,   448,    -1,    -1,   451,   452,   453,   454,   455,
   24585             :       -1,   457,   458,   459,   460,   461,   462,   463,   464,   465,
   24586             :       -1,    -1,   468,   469,   470,   471,   472,    -1,    -1,   475,
   24587             :      476,   477,   478,   479,   480,   481,    -1,   483,    -1,   485,
   24588             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   24589             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   24590             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   24591             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24592             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   24593             :       25,    26,    27,    28,    29,    30,    31,    32,    -1,    -1,
   24594             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   24595             :       45,    46,    47,    -1,    49,    50,    51,    52,    53,    -1,
   24596             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   24597             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   24598             :       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    84,
   24599             :       85,    86,    -1,    88,    89,    90,    91,    -1,    93,    94,
   24600             :       95,    96,    97,    98,    99,    -1,   101,   102,   103,    -1,
   24601             :       -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,
   24602             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   24603             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   24604             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   24605             :      145,   146,    -1,   148,   149,   150,   151,    -1,   153,   154,
   24606             :      155,   156,   157,   158,   159,   160,   161,   162,    -1,   164,
   24607             :       -1,   166,   167,   168,   169,   170,    -1,   172,    -1,   174,
   24608             :      175,    -1,    -1,    -1,   179,   180,   181,   182,   183,   184,
   24609             :      185,    -1,   187,   188,   189,    -1,   191,   192,   193,   194,
   24610             :      195,    -1,   197,   198,   199,   200,    -1,   202,   203,   204,
   24611             :      205,   206,   207,   208,   209,    -1,   211,    -1,   213,   214,
   24612             :      215,   216,   217,   218,   219,    -1,   221,    -1,   223,    -1,
   24613             :       -1,   226,    -1,   228,   229,   230,   231,   232,   233,   234,
   24614             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   24615             :      245,    -1,    -1,   248,   249,    -1,   251,    -1,    -1,   254,
   24616             :      255,   256,    -1,    -1,   259,   260,   261,   262,   263,   264,
   24617             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   24618             :      275,   276,   277,   278,    -1,   280,   281,   282,   283,   284,
   24619             :      285,   286,   287,   288,   289,   290,   291,    -1,   293,   294,
   24620             :       -1,   296,    -1,   298,   299,   300,   301,   302,   303,    -1,
   24621             :      305,   306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,
   24622             :      315,   316,   317,    -1,   319,    -1,   321,   322,   323,   324,
   24623             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   24624             :       -1,   336,   337,   338,   339,   340,   341,   342,   343,   344,
   24625             :       -1,   346,   347,   348,   349,   350,   351,   352,   353,   354,
   24626             :      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
   24627             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   24628             :      375,    -1,   377,   378,    -1,   380,   381,   382,   383,   384,
   24629             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   24630             :      395,   396,   397,   398,   399,   400,   401,    -1,   403,   404,
   24631             :      405,   406,   407,    -1,   409,   410,   411,   412,    -1,   414,
   24632             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   24633             :      425,   426,   427,   428,   429,   430,   431,    -1,   433,   434,
   24634             :       -1,    -1,   437,    -1,   439,   440,   441,   442,   443,   444,
   24635             :       -1,   446,   447,   448,    -1,    -1,   451,   452,   453,   454,
   24636             :      455,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
   24637             :      465,    -1,    -1,   468,   469,   470,   471,   472,    -1,    -1,
   24638             :      475,   476,   477,   478,   479,   480,   481,    -1,   483,    -1,
   24639             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   24640             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   24641             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   24642             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24643             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   24644             :       24,    25,    26,    27,    28,    29,    30,    31,    32,    -1,
   24645             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   24646             :       44,    45,    46,    47,    -1,    49,    50,    51,    52,    53,
   24647             :       -1,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   24648             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   24649             :       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
   24650             :       84,    85,    86,    -1,    88,    89,    90,    91,    -1,    93,
   24651             :       94,    95,    96,    97,    98,    99,    -1,   101,   102,   103,
   24652             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,
   24653             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   24654             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   24655             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   24656             :      144,   145,   146,    -1,   148,   149,   150,   151,    -1,   153,
   24657             :      154,   155,   156,   157,   158,   159,   160,   161,   162,    -1,
   24658             :      164,    -1,   166,   167,   168,   169,   170,    -1,   172,    -1,
   24659             :      174,   175,    -1,    -1,    -1,   179,   180,   181,   182,    -1,
   24660             :      184,   185,    -1,   187,   188,   189,    -1,   191,   192,   193,
   24661             :      194,   195,    -1,   197,   198,   199,   200,    -1,   202,   203,
   24662             :      204,   205,   206,   207,   208,   209,    -1,   211,    -1,   213,
   24663             :      214,   215,   216,   217,   218,   219,    -1,   221,    -1,   223,
   24664             :       -1,    -1,   226,    -1,   228,   229,   230,   231,   232,   233,
   24665             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   24666             :      244,   245,    -1,    -1,   248,   249,    -1,   251,    -1,    -1,
   24667             :      254,   255,   256,    -1,    -1,   259,   260,   261,   262,   263,
   24668             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   24669             :      274,   275,   276,   277,   278,    -1,   280,   281,   282,   283,
   24670             :      284,   285,   286,   287,   288,   289,   290,   291,    -1,   293,
   24671             :      294,    -1,   296,    -1,   298,   299,   300,   301,   302,   303,
   24672             :       -1,   305,   306,   307,    -1,    -1,   310,   311,   312,    -1,
   24673             :       -1,   315,   316,   317,    -1,   319,    -1,   321,   322,   323,
   24674             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   24675             :      334,    -1,   336,   337,   338,   339,   340,   341,   342,   343,
   24676             :      344,    -1,   346,   347,   348,   349,   350,   351,   352,   353,
   24677             :      354,   355,   356,   357,   358,   359,   360,   361,   362,   363,
   24678             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   24679             :      374,   375,    -1,   377,   378,    -1,   380,   381,   382,   383,
   24680             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   24681             :      394,   395,   396,   397,   398,   399,   400,   401,    -1,   403,
   24682             :      404,   405,   406,   407,    -1,   409,   410,   411,   412,    -1,
   24683             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   24684             :      424,   425,   426,   427,   428,   429,   430,   431,    -1,   433,
   24685             :      434,    -1,    -1,   437,    -1,   439,   440,   441,   442,   443,
   24686             :      444,    -1,   446,   447,   448,    -1,    -1,   451,   452,   453,
   24687             :      454,   455,    -1,   457,   458,   459,   460,   461,   462,   463,
   24688             :      464,   465,    -1,    -1,   468,   469,   470,   471,   472,    -1,
   24689             :       -1,   475,   476,   477,   478,   479,   480,   481,    -1,   483,
   24690             :       -1,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   24691             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   24692             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   24693             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24694             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   24695             :       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
   24696             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   24697             :       -1,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
   24698             :       53,    -1,    55,    56,    -1,    58,    59,    60,    61,    62,
   24699             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   24700             :       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
   24701             :       83,    84,    85,    86,    -1,    88,    89,    90,    91,    -1,
   24702             :       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
   24703             :      103,    -1,    -1,    -1,   107,    -1,    -1,    -1,   111,   112,
   24704             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   24705             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   24706             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   24707             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,    -1,
   24708             :      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   24709             :       -1,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
   24710             :       -1,   174,   175,    -1,    -1,    -1,   179,   180,   181,   182,
   24711             :       -1,   184,   185,    -1,   187,   188,   189,    -1,   191,   192,
   24712             :      193,   194,   195,    -1,   197,   198,   199,   200,    -1,   202,
   24713             :      203,   204,   205,   206,   207,   208,   209,    -1,   211,    -1,
   24714             :      213,   214,   215,   216,   217,   218,   219,    -1,   221,    -1,
   24715             :      223,    -1,    -1,   226,    -1,   228,   229,   230,   231,   232,
   24716             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   24717             :      243,   244,   245,    -1,    -1,   248,   249,    -1,   251,    -1,
   24718             :       -1,   254,   255,   256,    -1,    -1,   259,   260,   261,   262,
   24719             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   24720             :      273,   274,   275,   276,   277,   278,    -1,   280,   281,   282,
   24721             :      283,   284,   285,   286,   287,   288,   289,   290,   291,    -1,
   24722             :      293,   294,    -1,   296,    -1,   298,   299,   300,   301,   302,
   24723             :      303,    -1,   305,   306,   307,    -1,   309,   310,   311,   312,
   24724             :       -1,    -1,   315,   316,   317,    -1,   319,    -1,   321,   322,
   24725             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   24726             :      333,   334,    -1,   336,   337,   338,   339,   340,   341,   342,
   24727             :      343,   344,    -1,   346,   347,   348,   349,   350,   351,   352,
   24728             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   24729             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   24730             :      373,   374,   375,    -1,   377,   378,    -1,   380,   381,   382,
   24731             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   24732             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   24733             :      403,   404,   405,   406,   407,    -1,   409,   410,   411,   412,
   24734             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   24735             :      423,   424,   425,   426,   427,   428,   429,   430,   431,    -1,
   24736             :      433,   434,    -1,   436,   437,    -1,   439,   440,   441,   442,
   24737             :      443,   444,    -1,   446,   447,   448,    -1,    -1,   451,   452,
   24738             :      453,   454,   455,    -1,   457,   458,   459,   460,   461,   462,
   24739             :      463,   464,   465,    -1,    -1,   468,   469,   470,   471,   472,
   24740             :       -1,    -1,   475,   476,   477,   478,   479,   480,   481,    -1,
   24741             :      483,    -1,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   24742             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   24743             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   24744             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24745             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   24746             :       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
   24747             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   24748             :       42,    -1,    44,    45,    46,    47,    -1,    49,    50,    51,
   24749             :       52,    53,    -1,    55,    56,    -1,    58,    59,    60,    61,
   24750             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   24751             :       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
   24752             :       82,    83,    84,    85,    86,    -1,    88,    89,    90,    91,
   24753             :       -1,    93,    94,    95,    96,    97,    98,    -1,    -1,   101,
   24754             :      102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
   24755             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   24756             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   24757             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   24758             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   24759             :       -1,   153,   154,   155,   156,   157,   158,   159,   160,   161,
   24760             :      162,    -1,   164,    -1,   166,   167,   168,   169,   170,    -1,
   24761             :      172,   173,   174,   175,    -1,    -1,    -1,   179,   180,   181,
   24762             :      182,    -1,   184,   185,    -1,   187,   188,   189,    -1,   191,
   24763             :      192,   193,   194,   195,    -1,   197,   198,   199,   200,    -1,
   24764             :      202,   203,   204,   205,   206,   207,   208,   209,    -1,   211,
   24765             :       -1,   213,   214,   215,   216,   217,   218,   219,    -1,   221,
   24766             :       -1,   223,    -1,    -1,   226,    -1,   228,   229,   230,   231,
   24767             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   24768             :      242,   243,   244,   245,    -1,    -1,   248,   249,    -1,   251,
   24769             :       -1,    -1,   254,   255,   256,    -1,    -1,   259,   260,   261,
   24770             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   24771             :      272,   273,   274,   275,   276,   277,   278,    -1,   280,   281,
   24772             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   24773             :       -1,   293,   294,    -1,   296,    -1,   298,   299,   300,   301,
   24774             :      302,   303,    -1,   305,   306,   307,    -1,    -1,   310,   311,
   24775             :      312,    -1,    -1,   315,   316,   317,    -1,   319,    -1,   321,
   24776             :      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   24777             :      332,   333,   334,    -1,   336,   337,   338,   339,   340,   341,
   24778             :      342,   343,   344,    -1,   346,   347,   348,   349,   350,   351,
   24779             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   24780             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   24781             :      372,   373,   374,   375,    -1,   377,   378,    -1,   380,   381,
   24782             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   24783             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   24784             :       -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
   24785             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   24786             :      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
   24787             :       -1,   433,   434,    -1,   436,   437,    -1,   439,   440,   441,
   24788             :      442,   443,   444,    -1,   446,   447,   448,    -1,    -1,   451,
   24789             :      452,   453,   454,   455,    -1,   457,   458,   459,   460,   461,
   24790             :      462,   463,   464,   465,    -1,    -1,   468,   469,   470,   471,
   24791             :      472,    -1,    -1,   475,   476,   477,   478,   479,   480,   481,
   24792             :       -1,   483,    -1,   485,   486,   487,   488,    -1,    -1,   491,
   24793             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   24794             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   24795             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24796             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   24797             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   24798             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   24799             :       41,    42,    -1,    44,    45,    46,    47,    -1,    49,    50,
   24800             :       51,    52,    53,    -1,    55,    56,    -1,    58,    59,    60,
   24801             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   24802             :       71,    -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,
   24803             :       81,    82,    83,    84,    85,    86,    -1,    88,    89,    90,
   24804             :       91,    -1,    93,    94,    95,    96,    97,    98,    99,    -1,
   24805             :      101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24806             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   24807             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   24808             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   24809             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   24810             :      151,    -1,   153,   154,   155,   156,   157,   158,   159,   160,
   24811             :      161,   162,    -1,   164,    -1,   166,   167,   168,   169,   170,
   24812             :       -1,   172,    -1,   174,   175,    -1,    -1,    -1,   179,   180,
   24813             :      181,   182,    -1,   184,   185,    -1,   187,   188,   189,    -1,
   24814             :      191,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
   24815             :       -1,   202,   203,   204,   205,   206,   207,   208,   209,    -1,
   24816             :      211,    -1,   213,   214,   215,   216,   217,   218,   219,    -1,
   24817             :      221,    -1,   223,    -1,    -1,   226,    -1,   228,   229,   230,
   24818             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   24819             :      241,   242,   243,   244,   245,    -1,    -1,   248,   249,    -1,
   24820             :      251,    -1,    -1,   254,   255,   256,    -1,    -1,   259,   260,
   24821             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   24822             :      271,   272,   273,   274,   275,   276,   277,   278,    -1,   280,
   24823             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   24824             :      291,    -1,   293,   294,    -1,   296,    -1,   298,   299,   300,
   24825             :      301,   302,   303,    -1,   305,   306,   307,    -1,    -1,   310,
   24826             :      311,   312,    -1,    -1,   315,   316,   317,    -1,   319,    -1,
   24827             :      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
   24828             :      331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
   24829             :      341,   342,   343,   344,    -1,   346,   347,   348,   349,   350,
   24830             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   24831             :      361,   362,   363,   364,   365,   366,   367,   368,   369,   370,
   24832             :      371,   372,   373,   374,   375,    -1,   377,   378,    -1,   380,
   24833             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   24834             :      391,   392,   393,   394,   395,   396,   397,   398,   399,   400,
   24835             :      401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
   24836             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   24837             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   24838             :      431,    -1,   433,   434,    -1,    -1,   437,    -1,   439,   440,
   24839             :      441,   442,   443,   444,    -1,   446,   447,   448,    -1,    -1,
   24840             :      451,   452,   453,   454,   455,    -1,   457,   458,   459,   460,
   24841             :      461,   462,   463,   464,   465,    -1,    -1,   468,   469,   470,
   24842             :      471,   472,    -1,    -1,   475,   476,   477,   478,   479,   480,
   24843             :      481,    -1,   483,    -1,   485,   486,   487,   488,    -1,    -1,
   24844             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   24845             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   24846             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   24847             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24848             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   24849             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24850             :       40,    41,    42,    -1,    44,    45,    46,    47,    -1,    49,
   24851             :       50,    51,    52,    53,    -1,    55,    56,    -1,    58,    59,
   24852             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   24853             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    -1,
   24854             :       -1,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
   24855             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   24856             :       -1,   101,   102,   103,    -1,    -1,    -1,   107,    -1,    -1,
   24857             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   24858             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   24859             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   24860             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   24861             :      150,   151,    -1,   153,   154,   155,   156,   157,   158,   159,
   24862             :      160,   161,   162,    -1,   164,    -1,   166,   167,   168,   169,
   24863             :      170,    -1,   172,    -1,   174,   175,    -1,    -1,    -1,   179,
   24864             :      180,   181,   182,    -1,   184,   185,    -1,   187,   188,   189,
   24865             :       -1,   191,   192,   193,   194,   195,    -1,   197,   198,   199,
   24866             :      200,    -1,   202,   203,   204,   205,   206,   207,   208,   209,
   24867             :       -1,   211,    -1,   213,   214,   215,   216,   217,   218,   219,
   24868             :       -1,   221,    -1,   223,    -1,    -1,   226,    -1,   228,   229,
   24869             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   24870             :      240,   241,   242,   243,   244,   245,    -1,    -1,   248,   249,
   24871             :       -1,   251,    -1,    -1,   254,   255,   256,    -1,    -1,   259,
   24872             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   24873             :      270,   271,   272,   273,   274,   275,   276,   277,   278,    -1,
   24874             :      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   24875             :      290,   291,    -1,   293,   294,    -1,   296,    -1,   298,   299,
   24876             :      300,   301,   302,   303,    -1,   305,   306,   307,    -1,   309,
   24877             :      310,   311,   312,    -1,    -1,   315,   316,   317,    -1,   319,
   24878             :       -1,   321,   322,   323,   324,   325,   326,   327,   328,   329,
   24879             :      330,   331,   332,   333,   334,    -1,   336,   337,   338,   339,
   24880             :      340,   341,   342,   343,   344,    -1,   346,   347,   348,   349,
   24881             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   24882             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   24883             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,    -1,
   24884             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   24885             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   24886             :      400,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
   24887             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   24888             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   24889             :      430,   431,    -1,   433,   434,    -1,   436,   437,    -1,   439,
   24890             :      440,   441,   442,   443,   444,    -1,   446,   447,   448,    -1,
   24891             :       -1,   451,   452,   453,   454,   455,    -1,   457,   458,   459,
   24892             :      460,   461,   462,   463,   464,   465,    -1,    -1,   468,   469,
   24893             :      470,   471,   472,    -1,    -1,   475,   476,   477,   478,   479,
   24894             :      480,   481,    -1,   483,    -1,   485,   486,   487,   488,    -1,
   24895             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   24896             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   24897             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   24898             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24899             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   24900             :       29,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   24901             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   24902             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   24903             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   24904             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   24905             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   24906             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   24907             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   24908             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   24909             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   24910             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   24911             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   24912             :      149,   150,   151,    -1,   153,   154,   155,   156,   157,   158,
   24913             :      159,   160,   161,   162,    -1,   164,    -1,   166,   167,   168,
   24914             :      169,   170,    -1,   172,    -1,   174,   175,    -1,    -1,    -1,
   24915             :      179,   180,   181,   182,    -1,   184,   185,    -1,   187,   188,
   24916             :      189,    -1,   191,   192,   193,   194,   195,    -1,   197,   198,
   24917             :      199,   200,    -1,   202,   203,   204,   205,   206,   207,   208,
   24918             :      209,    -1,   211,    -1,   213,   214,   215,   216,   217,   218,
   24919             :      219,    -1,   221,    -1,   223,    -1,    -1,   226,    -1,   228,
   24920             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   24921             :      239,   240,   241,   242,   243,   244,   245,    -1,    -1,   248,
   24922             :      249,    -1,   251,    -1,    -1,   254,   255,   256,    -1,    -1,
   24923             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   24924             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   24925             :       -1,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   24926             :      289,   290,   291,    -1,   293,   294,    -1,   296,    -1,   298,
   24927             :      299,   300,   301,   302,   303,    -1,   305,   306,   307,    -1,
   24928             :      309,   310,   311,   312,    -1,    -1,   315,   316,   317,    -1,
   24929             :      319,    -1,   321,   322,   323,   324,   325,   326,   327,   328,
   24930             :      329,   330,   331,   332,   333,   334,    -1,   336,   337,   338,
   24931             :      339,   340,   341,   342,   343,   344,    -1,   346,   347,   348,
   24932             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   24933             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   24934             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   24935             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   24936             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   24937             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   24938             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   24939             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   24940             :      429,   430,   431,    -1,   433,   434,    -1,    -1,   437,    -1,
   24941             :      439,   440,   441,   442,   443,   444,    -1,   446,   447,   448,
   24942             :       -1,    -1,   451,   452,   453,   454,   455,    -1,   457,   458,
   24943             :      459,   460,   461,   462,   463,   464,   465,    -1,    -1,   468,
   24944             :      469,   470,   471,   472,    -1,    -1,   475,   476,   477,   478,
   24945             :      479,   480,   481,    -1,   483,    -1,   485,   486,   487,   488,
   24946             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   24947             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   24948             :      509,   510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,
   24949             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24950             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   24951             :       28,    29,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   24952             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   24953             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   24954             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   24955             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   24956             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   24957             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   24958             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   24959             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   24960             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   24961             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   24962             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   24963             :      148,   149,   150,   151,    -1,   153,   154,   155,   156,   157,
   24964             :      158,   159,   160,   161,   162,    -1,   164,    -1,   166,   167,
   24965             :      168,   169,   170,    -1,   172,    -1,   174,   175,    -1,    -1,
   24966             :       -1,   179,   180,   181,   182,    -1,   184,   185,    -1,   187,
   24967             :      188,   189,    -1,   191,   192,   193,   194,   195,    -1,   197,
   24968             :      198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
   24969             :      208,   209,    -1,   211,    -1,   213,   214,   215,   216,   217,
   24970             :      218,   219,    -1,   221,    -1,   223,    -1,    -1,   226,    -1,
   24971             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   24972             :      238,   239,   240,   241,   242,   243,   244,   245,    -1,    -1,
   24973             :      248,   249,    -1,   251,    -1,    -1,   254,   255,   256,    -1,
   24974             :       -1,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   24975             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   24976             :      278,    -1,   280,   281,   282,   283,   284,   285,   286,   287,
   24977             :      288,   289,   290,   291,    -1,   293,   294,    -1,   296,    -1,
   24978             :      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
   24979             :       -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,   317,
   24980             :       -1,   319,    -1,   321,   322,   323,   324,   325,   326,   327,
   24981             :      328,   329,   330,   331,   332,   333,   334,    -1,   336,   337,
   24982             :      338,   339,   340,   341,   342,   343,   344,    -1,   346,   347,
   24983             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   24984             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   24985             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   24986             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   24987             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   24988             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   24989             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   24990             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   24991             :      428,   429,   430,   431,    -1,   433,   434,    -1,    -1,   437,
   24992             :       -1,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
   24993             :      448,    -1,    -1,   451,   452,   453,   454,   455,    -1,   457,
   24994             :      458,   459,   460,   461,   462,   463,   464,   465,    -1,    -1,
   24995             :      468,   469,   470,   471,   472,   473,    -1,   475,   476,   477,
   24996             :      478,   479,   480,   481,    -1,   483,    -1,   485,   486,   487,
   24997             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   24998             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   24999             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,    -1,
   25000             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25001             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   25002             :       27,    28,    29,    30,    31,    32,    -1,    -1,    -1,    -1,
   25003             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   25004             :       47,    -1,    49,    50,    51,    52,    53,    -1,    55,    56,
   25005             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   25006             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   25007             :       77,    -1,    -1,    -1,    81,    82,    83,    84,    85,    86,
   25008             :       -1,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   25009             :       97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,
   25010             :       -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   25011             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   25012             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   25013             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   25014             :       -1,   148,   149,   150,   151,    -1,   153,   154,   155,   156,
   25015             :      157,   158,   159,   160,   161,   162,    -1,   164,    -1,   166,
   25016             :      167,   168,   169,   170,    -1,   172,    -1,   174,   175,    -1,
   25017             :       -1,    -1,   179,   180,   181,   182,    -1,   184,   185,    -1,
   25018             :      187,   188,   189,    -1,   191,   192,   193,   194,   195,    -1,
   25019             :      197,   198,   199,   200,    -1,   202,   203,   204,   205,   206,
   25020             :      207,   208,   209,    -1,   211,    -1,   213,   214,   215,   216,
   25021             :      217,   218,   219,    -1,   221,    -1,   223,    -1,    -1,   226,
   25022             :       -1,   228,   229,   230,   231,   232,   233,   234,   235,   236,
   25023             :      237,   238,   239,   240,   241,   242,   243,   244,   245,    -1,
   25024             :       -1,   248,   249,    -1,   251,    -1,    -1,   254,   255,   256,
   25025             :       -1,    -1,   259,   260,   261,   262,   263,   264,   265,   266,
   25026             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   25027             :      277,   278,    -1,   280,   281,   282,   283,   284,   285,   286,
   25028             :      287,   288,   289,   290,   291,    -1,   293,   294,    -1,   296,
   25029             :       -1,   298,   299,   300,   301,   302,   303,    -1,   305,   306,
   25030             :      307,    -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,
   25031             :      317,    -1,   319,    -1,   321,   322,   323,   324,   325,   326,
   25032             :      327,   328,   329,   330,   331,   332,   333,   334,    -1,   336,
   25033             :      337,   338,   339,   340,   341,   342,   343,   344,    -1,   346,
   25034             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   25035             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   25036             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   25037             :      377,   378,    -1,   380,   381,   382,   383,   384,   385,   386,
   25038             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   25039             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   25040             :      407,    -1,   409,   410,   411,   412,    -1,   414,   415,   416,
   25041             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   25042             :      427,   428,   429,   430,   431,    -1,   433,   434,    -1,    -1,
   25043             :      437,    -1,   439,   440,   441,   442,   443,   444,    -1,   446,
   25044             :      447,   448,    -1,    -1,   451,   452,   453,   454,   455,    -1,
   25045             :      457,   458,   459,   460,   461,   462,   463,   464,   465,    -1,
   25046             :       -1,   468,   469,   470,   471,   472,   473,    -1,   475,   476,
   25047             :      477,   478,   479,   480,   481,    -1,   483,    -1,   485,   486,
   25048             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   25049             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   25050             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   25051             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25052             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   25053             :       26,    27,    28,    29,    30,    31,    32,    -1,    -1,    -1,
   25054             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   25055             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   25056             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   25057             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   25058             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   25059             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   25060             :       96,    97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,
   25061             :       -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   25062             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   25063             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   25064             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   25065             :      146,    -1,   148,   149,   150,   151,    -1,   153,   154,   155,
   25066             :      156,   157,   158,   159,   160,   161,   162,    -1,   164,    -1,
   25067             :      166,   167,   168,   169,   170,    -1,   172,    -1,   174,   175,
   25068             :       -1,    -1,    -1,   179,   180,   181,   182,    -1,   184,   185,
   25069             :       -1,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
   25070             :       -1,   197,   198,   199,   200,    -1,   202,   203,   204,   205,
   25071             :      206,   207,   208,   209,    -1,   211,    -1,   213,   214,   215,
   25072             :      216,   217,   218,   219,    -1,   221,    -1,   223,    -1,    -1,
   25073             :      226,    -1,   228,   229,   230,   231,   232,   233,   234,   235,
   25074             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   25075             :       -1,    -1,   248,   249,    -1,   251,    -1,    -1,   254,   255,
   25076             :      256,    -1,    -1,   259,   260,   261,   262,   263,   264,   265,
   25077             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   25078             :      276,   277,   278,    -1,   280,   281,   282,   283,   284,   285,
   25079             :      286,   287,   288,   289,   290,   291,    -1,   293,   294,    -1,
   25080             :      296,    -1,   298,   299,   300,   301,   302,   303,    -1,   305,
   25081             :      306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,   315,
   25082             :      316,   317,    -1,   319,    -1,   321,   322,   323,   324,   325,
   25083             :      326,   327,   328,   329,   330,   331,   332,   333,   334,    -1,
   25084             :      336,   337,   338,   339,   340,   341,   342,   343,   344,    -1,
   25085             :      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   25086             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   25087             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   25088             :       -1,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
   25089             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   25090             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   25091             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   25092             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   25093             :      426,   427,   428,   429,   430,   431,    -1,   433,   434,    -1,
   25094             :       -1,   437,    -1,   439,   440,   441,   442,   443,   444,    -1,
   25095             :      446,   447,   448,    -1,    -1,   451,   452,   453,   454,   455,
   25096             :       -1,   457,   458,   459,   460,   461,   462,   463,   464,   465,
   25097             :       -1,    -1,   468,   469,   470,   471,   472,    -1,    -1,   475,
   25098             :      476,   477,   478,   479,   480,   481,    -1,   483,    -1,   485,
   25099             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   25100             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   25101             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   25102             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25103             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   25104             :       25,    26,    27,    28,    29,    30,    31,    32,    -1,    -1,
   25105             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   25106             :       45,    46,    47,    -1,    49,    50,    51,    52,    53,    -1,
   25107             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   25108             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   25109             :       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    84,
   25110             :       85,    86,    -1,    88,    89,    90,    91,    -1,    93,    94,
   25111             :       95,    96,    97,    98,    -1,    -1,   101,   102,   103,    -1,
   25112             :       -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,
   25113             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   25114             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   25115             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   25116             :      145,   146,    -1,   148,   149,   150,   151,    -1,   153,   154,
   25117             :      155,   156,   157,   158,   159,   160,   161,   162,    -1,   164,
   25118             :       -1,   166,   167,   168,   169,   170,    -1,   172,    -1,   174,
   25119             :      175,    -1,    -1,    -1,   179,   180,   181,   182,    -1,   184,
   25120             :      185,    -1,   187,   188,   189,    -1,   191,   192,   193,   194,
   25121             :      195,    -1,   197,   198,   199,   200,    -1,   202,   203,   204,
   25122             :      205,   206,   207,   208,   209,    -1,   211,    -1,   213,   214,
   25123             :      215,   216,   217,   218,   219,    -1,   221,    -1,   223,    -1,
   25124             :       -1,   226,    -1,   228,   229,   230,   231,   232,   233,   234,
   25125             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   25126             :      245,    -1,    -1,   248,   249,    -1,   251,    -1,    -1,   254,
   25127             :      255,   256,    -1,    -1,   259,   260,   261,   262,   263,   264,
   25128             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   25129             :      275,   276,   277,   278,    -1,   280,   281,   282,   283,   284,
   25130             :      285,   286,   287,   288,   289,   290,   291,    -1,   293,   294,
   25131             :       -1,   296,    -1,   298,   299,   300,   301,   302,   303,    -1,
   25132             :      305,   306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,
   25133             :      315,   316,   317,    -1,   319,    -1,   321,   322,   323,   324,
   25134             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   25135             :       -1,   336,   337,   338,   339,   340,   341,   342,   343,   344,
   25136             :       -1,   346,   347,   348,   349,   350,   351,   352,   353,   354,
   25137             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   25138             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   25139             :      375,    -1,   377,   378,    -1,   380,   381,   382,   383,   384,
   25140             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   25141             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   25142             :      405,   406,   407,    -1,   409,   410,   411,   412,    -1,   414,
   25143             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   25144             :      425,   426,   427,   428,   429,   430,   431,    -1,   433,   434,
   25145             :       -1,    -1,   437,    -1,   439,   440,   441,   442,   443,   444,
   25146             :       -1,   446,   447,   448,    -1,    -1,   451,   452,   453,   454,
   25147             :      455,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
   25148             :      465,    -1,    -1,   468,   469,   470,   471,   472,    -1,    -1,
   25149             :      475,   476,   477,   478,   479,   480,   481,    -1,   483,    -1,
   25150             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   25151             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   25152             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   25153             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25154             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   25155             :       24,    25,    26,    27,    28,    29,    30,    31,    32,    -1,
   25156             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   25157             :       44,    45,    46,    47,    -1,    49,    50,    51,    52,    53,
   25158             :       -1,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   25159             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   25160             :       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
   25161             :       84,    85,    86,    -1,    88,    89,    90,    91,    -1,    93,
   25162             :       94,    95,    96,    97,    98,    -1,    -1,   101,   102,   103,
   25163             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,
   25164             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   25165             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   25166             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   25167             :      144,   145,   146,    -1,   148,   149,   150,   151,    -1,   153,
   25168             :      154,   155,   156,   157,   158,   159,   160,   161,   162,    -1,
   25169             :      164,    -1,   166,   167,   168,   169,   170,    -1,   172,    -1,
   25170             :      174,   175,    -1,    -1,    -1,   179,   180,   181,   182,    -1,
   25171             :      184,   185,    -1,   187,   188,   189,    -1,   191,   192,   193,
   25172             :      194,   195,    -1,   197,   198,   199,   200,    -1,   202,   203,
   25173             :      204,   205,   206,   207,   208,   209,    -1,   211,    -1,   213,
   25174             :      214,   215,   216,   217,   218,   219,    -1,   221,    -1,   223,
   25175             :       -1,    -1,   226,    -1,   228,   229,   230,   231,   232,   233,
   25176             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   25177             :      244,   245,    -1,    -1,   248,   249,    -1,   251,    -1,    -1,
   25178             :      254,   255,   256,    -1,    -1,   259,   260,   261,   262,   263,
   25179             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   25180             :      274,   275,   276,   277,   278,    -1,   280,   281,   282,   283,
   25181             :      284,   285,   286,   287,   288,   289,   290,   291,    -1,   293,
   25182             :      294,    -1,   296,    -1,   298,   299,   300,   301,   302,   303,
   25183             :       -1,   305,   306,   307,    -1,    -1,   310,   311,   312,    -1,
   25184             :       -1,   315,   316,   317,    -1,   319,    -1,   321,   322,   323,
   25185             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   25186             :      334,    -1,   336,   337,   338,   339,   340,   341,   342,   343,
   25187             :      344,    -1,   346,   347,   348,   349,   350,   351,   352,   353,
   25188             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   25189             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   25190             :      374,   375,    -1,   377,   378,    -1,   380,   381,   382,   383,
   25191             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   25192             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   25193             :      404,   405,   406,   407,    -1,   409,   410,   411,   412,    -1,
   25194             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   25195             :      424,   425,   426,   427,   428,   429,   430,   431,    -1,   433,
   25196             :      434,    -1,    -1,   437,    -1,   439,   440,   441,   442,   443,
   25197             :      444,    -1,   446,   447,   448,    -1,    -1,   451,   452,   453,
   25198             :      454,   455,    -1,   457,   458,   459,   460,   461,   462,   463,
   25199             :      464,   465,    -1,    -1,   468,   469,   470,   471,   472,    -1,
   25200             :       -1,   475,   476,   477,   478,   479,   480,   481,    -1,   483,
   25201             :       -1,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   25202             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   25203             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   25204             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25205             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   25206             :       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
   25207             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   25208             :       -1,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
   25209             :       53,    -1,    55,    56,    -1,    58,    59,    60,    61,    62,
   25210             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   25211             :       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
   25212             :       83,    84,    85,    86,    -1,    88,    89,    90,    91,    -1,
   25213             :       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
   25214             :      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,
   25215             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   25216             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   25217             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   25218             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,    -1,
   25219             :      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   25220             :       -1,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
   25221             :       -1,   174,   175,    -1,    -1,    -1,   179,   180,   181,   182,
   25222             :       -1,   184,   185,    -1,   187,   188,   189,    -1,   191,   192,
   25223             :      193,   194,   195,    -1,   197,   198,   199,   200,    -1,   202,
   25224             :      203,   204,   205,   206,   207,   208,   209,    -1,   211,    -1,
   25225             :      213,   214,   215,   216,   217,   218,   219,    -1,   221,    -1,
   25226             :      223,    -1,    -1,   226,    -1,   228,   229,   230,   231,   232,
   25227             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   25228             :      243,   244,   245,    -1,    -1,   248,   249,    -1,   251,    -1,
   25229             :       -1,   254,   255,   256,    -1,    -1,   259,   260,   261,   262,
   25230             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   25231             :      273,   274,   275,   276,   277,   278,    -1,   280,   281,   282,
   25232             :      283,   284,   285,   286,   287,   288,   289,   290,   291,    -1,
   25233             :      293,   294,    -1,   296,    -1,   298,   299,   300,   301,   302,
   25234             :      303,    -1,   305,   306,   307,    -1,    -1,   310,   311,   312,
   25235             :       -1,    -1,   315,   316,   317,    -1,   319,    -1,   321,   322,
   25236             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   25237             :      333,   334,    -1,   336,   337,   338,   339,   340,   341,   342,
   25238             :      343,   344,    -1,   346,   347,   348,   349,   350,   351,   352,
   25239             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   25240             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   25241             :      373,   374,   375,    -1,   377,   378,    -1,   380,   381,   382,
   25242             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   25243             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   25244             :      403,   404,   405,   406,   407,    -1,   409,   410,   411,   412,
   25245             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   25246             :      423,   424,   425,   426,   427,   428,   429,   430,   431,    -1,
   25247             :      433,   434,    -1,    -1,   437,    -1,   439,   440,   441,   442,
   25248             :      443,   444,    -1,   446,   447,   448,    -1,    -1,   451,   452,
   25249             :      453,   454,   455,    -1,   457,   458,   459,   460,   461,   462,
   25250             :      463,   464,   465,    -1,    -1,   468,   469,   470,   471,   472,
   25251             :       -1,    -1,   475,   476,   477,   478,   479,   480,   481,    -1,
   25252             :      483,    -1,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   25253             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   25254             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   25255             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25256             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   25257             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   25258             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   25259             :       42,    -1,    44,    45,    46,    47,    -1,    49,    50,    51,
   25260             :       52,    53,    -1,    55,    56,    -1,    58,    59,    60,    61,
   25261             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   25262             :       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
   25263             :       82,    83,    84,    85,    86,    -1,    88,    89,    90,    91,
   25264             :       -1,    93,    94,    95,    96,    97,    98,    -1,    -1,   101,
   25265             :      102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
   25266             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   25267             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   25268             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   25269             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   25270             :       -1,   153,   154,   155,   156,   157,   158,   159,   160,   161,
   25271             :      162,    -1,   164,    -1,   166,   167,   168,   169,   170,    -1,
   25272             :      172,    -1,   174,   175,    -1,    -1,    -1,   179,   180,   181,
   25273             :      182,    -1,   184,   185,    -1,   187,   188,   189,    -1,   191,
   25274             :      192,   193,   194,   195,    -1,   197,   198,   199,   200,    -1,
   25275             :      202,   203,   204,   205,   206,   207,   208,   209,    -1,   211,
   25276             :       -1,   213,   214,   215,   216,   217,   218,   219,    -1,   221,
   25277             :       -1,   223,    -1,    -1,   226,    -1,   228,   229,   230,   231,
   25278             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   25279             :      242,   243,   244,   245,    -1,    -1,   248,   249,    -1,   251,
   25280             :       -1,    -1,   254,   255,   256,    -1,    -1,   259,   260,   261,
   25281             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   25282             :      272,   273,   274,   275,   276,   277,   278,    -1,   280,   281,
   25283             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   25284             :       -1,   293,   294,    -1,   296,    -1,   298,   299,   300,   301,
   25285             :      302,   303,    -1,   305,   306,   307,    -1,   309,   310,   311,
   25286             :      312,    -1,    -1,   315,   316,   317,    -1,   319,    -1,   321,
   25287             :      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   25288             :      332,   333,   334,    -1,   336,   337,   338,   339,   340,   341,
   25289             :      342,   343,   344,    -1,   346,   347,   348,   349,   350,   351,
   25290             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   25291             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   25292             :      372,   373,   374,   375,    -1,   377,   378,    -1,   380,   381,
   25293             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   25294             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   25295             :       -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
   25296             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   25297             :      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
   25298             :       -1,   433,   434,    -1,    -1,   437,    -1,   439,   440,   441,
   25299             :      442,   443,   444,    -1,   446,   447,   448,    -1,    -1,   451,
   25300             :      452,   453,   454,   455,    -1,   457,   458,   459,   460,   461,
   25301             :      462,   463,   464,   465,    -1,    -1,   468,   469,   470,   471,
   25302             :      472,    -1,    -1,   475,   476,   477,   478,   479,   480,   481,
   25303             :       -1,   483,    -1,   485,   486,   487,   488,    -1,    -1,   491,
   25304             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   25305             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   25306             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25307             :       -1,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   25308             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   25309             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   25310             :       41,    42,    -1,    44,    45,    46,    47,    -1,    49,    50,
   25311             :       51,    52,    53,    -1,    55,    56,    -1,    58,    59,    60,
   25312             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   25313             :       71,    -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,
   25314             :       81,    82,    83,    84,    85,    86,    -1,    88,    89,    90,
   25315             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,    -1,
   25316             :      101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25317             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   25318             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   25319             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   25320             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   25321             :      151,    -1,   153,   154,   155,   156,   157,   158,   159,   160,
   25322             :      161,   162,    -1,   164,    -1,   166,   167,   168,   169,   170,
   25323             :       -1,   172,    -1,   174,   175,    -1,    -1,    -1,   179,   180,
   25324             :      181,   182,    -1,   184,   185,    -1,   187,   188,   189,    -1,
   25325             :      191,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
   25326             :       -1,   202,   203,   204,   205,   206,   207,   208,   209,    -1,
   25327             :      211,    -1,   213,   214,   215,   216,   217,   218,   219,    -1,
   25328             :      221,    -1,   223,    -1,    -1,   226,    -1,   228,   229,   230,
   25329             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   25330             :      241,   242,   243,   244,   245,    -1,    -1,   248,   249,    -1,
   25331             :      251,    -1,    -1,   254,   255,   256,    -1,    -1,   259,   260,
   25332             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   25333             :      271,   272,   273,   274,   275,   276,   277,   278,    -1,   280,
   25334             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   25335             :      291,    -1,   293,   294,    -1,   296,    -1,   298,   299,   300,
   25336             :      301,   302,   303,    -1,   305,   306,   307,    -1,    -1,   310,
   25337             :      311,   312,    -1,    -1,   315,   316,   317,    -1,   319,    -1,
   25338             :      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
   25339             :      331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
   25340             :      341,   342,   343,   344,    -1,   346,   347,   348,   349,   350,
   25341             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   25342             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   25343             :      371,   372,   373,   374,   375,    -1,   377,   378,    -1,   380,
   25344             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   25345             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   25346             :      401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
   25347             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   25348             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   25349             :      431,    -1,   433,   434,    -1,    -1,   437,    -1,   439,   440,
   25350             :      441,   442,   443,   444,    -1,   446,   447,   448,    -1,    -1,
   25351             :      451,   452,   453,   454,   455,    -1,   457,   458,   459,   460,
   25352             :      461,   462,   463,   464,   465,    -1,    -1,   468,   469,   470,
   25353             :      471,   472,    -1,    -1,   475,   476,   477,   478,   479,   480,
   25354             :      481,    -1,   483,    -1,   485,   486,   487,   488,    -1,    -1,
   25355             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   25356             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   25357             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   25358             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25359             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
   25360             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25361             :       40,    41,    42,    -1,    44,    45,    46,    47,    -1,    49,
   25362             :       50,    51,    52,    53,    -1,    55,    56,    -1,    58,    59,
   25363             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   25364             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    -1,
   25365             :       -1,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
   25366             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   25367             :       -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
   25368             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   25369             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   25370             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   25371             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   25372             :      150,   151,    -1,   153,   154,   155,   156,   157,   158,   159,
   25373             :      160,   161,   162,    -1,   164,    -1,   166,   167,   168,   169,
   25374             :      170,    -1,   172,    -1,   174,   175,    -1,    -1,    -1,   179,
   25375             :      180,   181,   182,    -1,   184,   185,    -1,   187,   188,   189,
   25376             :       -1,   191,   192,   193,   194,   195,    -1,   197,   198,   199,
   25377             :      200,    -1,   202,   203,   204,   205,   206,   207,   208,   209,
   25378             :       -1,   211,    -1,   213,   214,   215,   216,   217,   218,   219,
   25379             :       -1,   221,    -1,   223,    -1,    -1,   226,    -1,   228,   229,
   25380             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   25381             :      240,   241,   242,   243,   244,   245,    -1,    -1,   248,   249,
   25382             :       -1,   251,    -1,    -1,   254,   255,   256,    -1,    -1,   259,
   25383             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   25384             :      270,   271,   272,   273,   274,   275,   276,   277,   278,    -1,
   25385             :      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   25386             :      290,   291,    -1,   293,   294,    -1,   296,    -1,   298,   299,
   25387             :      300,   301,   302,   303,    -1,   305,   306,   307,    -1,    -1,
   25388             :      310,   311,   312,    -1,    -1,   315,   316,   317,    -1,   319,
   25389             :       -1,   321,   322,   323,   324,   325,   326,   327,   328,   329,
   25390             :      330,   331,   332,   333,   334,    -1,   336,   337,   338,   339,
   25391             :      340,   341,   342,   343,   344,    -1,   346,   347,   348,   349,
   25392             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   25393             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   25394             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,    -1,
   25395             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   25396             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   25397             :      400,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
   25398             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   25399             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   25400             :      430,   431,    -1,   433,   434,    -1,    -1,   437,    -1,   439,
   25401             :      440,   441,   442,   443,   444,    -1,   446,   447,   448,    -1,
   25402             :       -1,   451,   452,   453,   454,   455,    -1,   457,   458,   459,
   25403             :      460,   461,   462,   463,   464,   465,    -1,    -1,   468,   469,
   25404             :      470,   471,   472,    -1,    -1,   475,   476,   477,   478,   479,
   25405             :      480,   481,    -1,   483,    -1,   485,   486,   487,   488,    -1,
   25406             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   25407             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   25408             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   25409             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25410             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   25411             :       29,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   25412             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   25413             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   25414             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   25415             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   25416             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   25417             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   25418             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   25419             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   25420             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   25421             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   25422             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   25423             :      149,   150,   151,    -1,   153,   154,   155,   156,   157,   158,
   25424             :      159,   160,   161,   162,    -1,   164,    -1,   166,   167,   168,
   25425             :      169,   170,    -1,   172,    -1,   174,   175,    -1,    -1,    -1,
   25426             :      179,   180,   181,   182,    -1,   184,   185,    -1,   187,   188,
   25427             :      189,    -1,   191,   192,   193,   194,   195,    -1,   197,   198,
   25428             :      199,   200,    -1,   202,   203,   204,   205,   206,   207,   208,
   25429             :      209,    -1,   211,    -1,   213,   214,   215,   216,   217,   218,
   25430             :      219,    -1,   221,    -1,   223,    -1,    -1,   226,    -1,   228,
   25431             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   25432             :      239,   240,   241,   242,   243,   244,   245,    -1,    -1,   248,
   25433             :      249,    -1,   251,    -1,    -1,   254,   255,   256,    -1,    -1,
   25434             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   25435             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   25436             :       -1,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   25437             :      289,   290,   291,    -1,   293,   294,    -1,   296,    -1,   298,
   25438             :      299,   300,   301,   302,   303,    -1,   305,   306,   307,    -1,
   25439             :       -1,   310,   311,   312,    -1,    -1,   315,   316,   317,    -1,
   25440             :      319,    -1,   321,   322,   323,   324,   325,   326,   327,   328,
   25441             :      329,   330,   331,   332,   333,   334,    -1,   336,   337,   338,
   25442             :      339,   340,   341,   342,   343,   344,    -1,   346,   347,   348,
   25443             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   25444             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   25445             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   25446             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   25447             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   25448             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   25449             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   25450             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   25451             :      429,   430,   431,    -1,   433,   434,    -1,    -1,   437,    -1,
   25452             :      439,   440,   441,   442,   443,   444,    -1,   446,   447,   448,
   25453             :       -1,    -1,   451,   452,   453,   454,   455,    -1,   457,   458,
   25454             :      459,   460,   461,   462,   463,   464,   465,    -1,    -1,   468,
   25455             :      469,   470,   471,   472,    -1,    -1,   475,   476,   477,   478,
   25456             :      479,   480,   481,    -1,   483,    -1,   485,   486,   487,   488,
   25457             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   25458             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   25459             :      509,   510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,
   25460             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25461             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   25462             :       28,    29,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   25463             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   25464             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   25465             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   25466             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   25467             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   25468             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   25469             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   25470             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   25471             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   25472             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   25473             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   25474             :      148,   149,   150,   151,    -1,   153,   154,   155,   156,   157,
   25475             :      158,   159,   160,   161,   162,    -1,   164,    -1,   166,   167,
   25476             :      168,   169,   170,    -1,   172,    -1,   174,   175,    -1,    -1,
   25477             :       -1,   179,   180,   181,   182,    -1,   184,   185,    -1,   187,
   25478             :      188,   189,    -1,   191,   192,   193,   194,   195,    -1,   197,
   25479             :      198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
   25480             :      208,   209,    -1,   211,    -1,   213,   214,   215,   216,   217,
   25481             :      218,   219,    -1,   221,    -1,   223,    -1,    -1,   226,    -1,
   25482             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   25483             :      238,   239,   240,   241,   242,   243,   244,   245,    -1,    -1,
   25484             :      248,   249,    -1,   251,    -1,    -1,   254,   255,   256,    -1,
   25485             :       -1,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   25486             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   25487             :      278,    -1,   280,   281,   282,   283,   284,   285,   286,   287,
   25488             :      288,   289,   290,   291,    -1,   293,   294,    -1,   296,    -1,
   25489             :      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
   25490             :       -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,   317,
   25491             :       -1,   319,    -1,   321,   322,   323,   324,   325,   326,   327,
   25492             :      328,   329,   330,   331,   332,   333,   334,    -1,   336,   337,
   25493             :      338,   339,   340,   341,   342,   343,   344,    -1,   346,   347,
   25494             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   25495             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   25496             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   25497             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   25498             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   25499             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   25500             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   25501             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   25502             :      428,   429,   430,   431,    -1,   433,   434,    -1,    -1,   437,
   25503             :       -1,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
   25504             :      448,    -1,    -1,   451,   452,   453,   454,   455,    -1,   457,
   25505             :      458,   459,   460,   461,   462,   463,   464,   465,    -1,    -1,
   25506             :      468,   469,   470,   471,   472,    -1,    -1,   475,   476,   477,
   25507             :      478,   479,   480,   481,    -1,   483,    -1,   485,   486,   487,
   25508             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   25509             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   25510             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,    -1,
   25511             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25512             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   25513             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   25514             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   25515             :       47,    48,    49,    50,    51,    52,    53,    -1,    55,    56,
   25516             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   25517             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   25518             :       77,    -1,    -1,    -1,    81,    82,    83,    84,    85,    86,
   25519             :       -1,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   25520             :       97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,
   25521             :       -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   25522             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   25523             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   25524             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   25525             :       -1,   148,   149,   150,   151,    -1,   153,   154,   155,   156,
   25526             :      157,   158,   159,   160,   161,   162,    -1,   164,    -1,   166,
   25527             :      167,   168,   169,   170,    -1,   172,    -1,   174,   175,    -1,
   25528             :       -1,    -1,   179,   180,   181,   182,    -1,   184,   185,    -1,
   25529             :      187,   188,   189,    -1,   191,   192,   193,   194,   195,    -1,
   25530             :      197,   198,   199,   200,    -1,   202,   203,   204,   205,   206,
   25531             :      207,   208,   209,    -1,   211,    -1,   213,   214,   215,   216,
   25532             :      217,   218,   219,    -1,   221,    -1,   223,    -1,    -1,   226,
   25533             :       -1,   228,   229,   230,   231,   232,   233,   234,   235,   236,
   25534             :      237,   238,   239,   240,   241,   242,   243,   244,   245,    -1,
   25535             :       -1,   248,   249,    -1,   251,    -1,    -1,   254,   255,   256,
   25536             :       -1,    -1,   259,   260,   261,   262,   263,   264,   265,   266,
   25537             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   25538             :      277,   278,    -1,   280,   281,   282,   283,   284,   285,   286,
   25539             :      287,   288,   289,   290,   291,    -1,   293,   294,    -1,   296,
   25540             :       -1,   298,   299,   300,   301,   302,   303,    -1,   305,   306,
   25541             :      307,    -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,
   25542             :      317,    -1,   319,    -1,   321,   322,   323,   324,   325,   326,
   25543             :      327,   328,   329,   330,   331,   332,   333,   334,    -1,   336,
   25544             :      337,   338,   339,   340,   341,   342,   343,   344,    -1,   346,
   25545             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   25546             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   25547             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   25548             :      377,   378,    -1,   380,   381,   382,   383,   384,   385,   386,
   25549             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   25550             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   25551             :      407,    -1,   409,   410,   411,   412,    -1,   414,   415,   416,
   25552             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   25553             :      427,   428,   429,   430,   431,    -1,   433,   434,    -1,    -1,
   25554             :      437,    -1,   439,   440,   441,   442,   443,   444,    -1,   446,
   25555             :      447,   448,    -1,    -1,   451,   452,   453,   454,   455,    -1,
   25556             :      457,   458,   459,   460,   461,   462,   463,   464,   465,    -1,
   25557             :       -1,   468,   469,   470,   471,   472,    -1,    -1,   475,   476,
   25558             :      477,   478,   479,   480,   481,    -1,   483,    -1,   485,   486,
   25559             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   25560             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   25561             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   25562             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25563             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   25564             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   25565             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   25566             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   25567             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   25568             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   25569             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   25570             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   25571             :       96,    97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,
   25572             :       -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   25573             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   25574             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   25575             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   25576             :      146,    -1,   148,   149,   150,   151,    -1,   153,   154,   155,
   25577             :      156,   157,   158,   159,   160,   161,   162,    -1,   164,    -1,
   25578             :      166,   167,   168,   169,   170,    -1,   172,    -1,   174,   175,
   25579             :       -1,    -1,    -1,   179,   180,   181,   182,    -1,   184,   185,
   25580             :       -1,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
   25581             :       -1,   197,   198,   199,   200,    -1,   202,   203,   204,   205,
   25582             :      206,   207,   208,   209,    -1,   211,    -1,   213,   214,   215,
   25583             :      216,   217,   218,   219,    -1,   221,    -1,   223,    -1,    -1,
   25584             :      226,    -1,   228,   229,   230,   231,   232,   233,   234,   235,
   25585             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   25586             :       -1,    -1,   248,   249,    -1,   251,    -1,    -1,   254,   255,
   25587             :      256,    -1,    -1,   259,   260,   261,   262,   263,   264,   265,
   25588             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   25589             :      276,   277,   278,    -1,   280,   281,   282,   283,   284,   285,
   25590             :      286,   287,   288,   289,   290,   291,    -1,   293,   294,    -1,
   25591             :      296,    -1,   298,   299,   300,   301,   302,   303,    -1,   305,
   25592             :      306,   307,    -1,   309,   310,   311,   312,    -1,    -1,   315,
   25593             :      316,   317,    -1,   319,    -1,   321,   322,   323,   324,   325,
   25594             :      326,   327,   328,   329,   330,   331,   332,   333,   334,    -1,
   25595             :      336,   337,   338,   339,   340,   341,   342,   343,   344,    -1,
   25596             :      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   25597             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   25598             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   25599             :       -1,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
   25600             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   25601             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   25602             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   25603             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   25604             :      426,   427,   428,   429,   430,   431,    -1,   433,   434,    -1,
   25605             :       -1,   437,    -1,   439,   440,   441,   442,   443,   444,    -1,
   25606             :      446,   447,   448,    -1,    -1,   451,   452,   453,   454,   455,
   25607             :       -1,   457,   458,   459,   460,   461,   462,   463,   464,   465,
   25608             :       -1,    -1,   468,   469,   470,   471,   472,    -1,    -1,   475,
   25609             :      476,   477,   478,   479,   480,   481,    -1,   483,    -1,   485,
   25610             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   25611             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   25612             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   25613             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25614             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   25615             :       25,    26,    27,    28,    29,    30,    31,    32,    -1,    -1,
   25616             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   25617             :       45,    46,    47,    -1,    49,    50,    51,    52,    53,    -1,
   25618             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   25619             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   25620             :       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    84,
   25621             :       85,    86,    -1,    88,    89,    90,    91,    -1,    93,    94,
   25622             :       95,    96,    97,    98,    -1,    -1,   101,   102,   103,    -1,
   25623             :       -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,
   25624             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   25625             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   25626             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   25627             :      145,   146,    -1,   148,   149,   150,   151,    -1,   153,   154,
   25628             :      155,   156,   157,   158,   159,   160,   161,   162,    -1,   164,
   25629             :       -1,   166,   167,   168,   169,   170,    -1,   172,    -1,   174,
   25630             :      175,    -1,    -1,    -1,   179,   180,   181,   182,    -1,   184,
   25631             :      185,    -1,   187,   188,   189,    -1,   191,   192,   193,   194,
   25632             :      195,    -1,   197,   198,   199,   200,    -1,   202,   203,   204,
   25633             :      205,   206,   207,   208,   209,    -1,   211,    -1,   213,   214,
   25634             :      215,   216,   217,   218,   219,    -1,   221,    -1,   223,    -1,
   25635             :       -1,   226,    -1,   228,   229,   230,   231,   232,   233,   234,
   25636             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   25637             :      245,    -1,    -1,   248,   249,    -1,   251,    -1,    -1,   254,
   25638             :      255,   256,    -1,    -1,   259,   260,   261,   262,   263,   264,
   25639             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   25640             :      275,   276,   277,   278,    -1,   280,   281,   282,   283,   284,
   25641             :      285,   286,   287,   288,   289,   290,   291,    -1,   293,   294,
   25642             :       -1,   296,    -1,   298,   299,   300,   301,   302,   303,    -1,
   25643             :      305,   306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,
   25644             :      315,   316,   317,    -1,   319,    -1,   321,   322,   323,   324,
   25645             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   25646             :       -1,   336,   337,   338,   339,   340,   341,   342,   343,   344,
   25647             :       -1,   346,   347,   348,   349,   350,   351,   352,   353,   354,
   25648             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   25649             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   25650             :      375,    -1,   377,   378,    -1,   380,   381,   382,   383,   384,
   25651             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   25652             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   25653             :      405,   406,   407,    -1,   409,   410,   411,   412,    -1,   414,
   25654             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   25655             :      425,   426,   427,   428,   429,   430,   431,    -1,   433,   434,
   25656             :       -1,    -1,   437,    -1,   439,   440,   441,   442,   443,   444,
   25657             :       -1,   446,   447,   448,    -1,    -1,   451,   452,   453,   454,
   25658             :      455,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
   25659             :      465,    -1,    -1,   468,   469,   470,   471,   472,    -1,    -1,
   25660             :      475,   476,   477,   478,   479,   480,   481,    -1,   483,    -1,
   25661             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   25662             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   25663             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   25664             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25665             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   25666             :       24,    25,    26,    27,    28,    29,    30,    31,    32,    -1,
   25667             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   25668             :       44,    45,    46,    47,    -1,    49,    50,    51,    52,    53,
   25669             :       -1,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   25670             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   25671             :       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
   25672             :       84,    85,    86,    -1,    88,    89,    90,    91,    -1,    93,
   25673             :       94,    95,    96,    97,    98,    -1,    -1,   101,   102,   103,
   25674             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,
   25675             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   25676             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   25677             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   25678             :      144,   145,   146,    -1,   148,   149,   150,   151,    -1,   153,
   25679             :      154,   155,   156,   157,   158,   159,   160,   161,   162,    -1,
   25680             :      164,    -1,   166,   167,   168,   169,   170,    -1,   172,    -1,
   25681             :      174,   175,    -1,    -1,    -1,   179,   180,   181,   182,    -1,
   25682             :      184,   185,    -1,   187,   188,   189,    -1,   191,   192,   193,
   25683             :      194,   195,    -1,   197,   198,   199,   200,    -1,   202,   203,
   25684             :      204,   205,   206,   207,   208,   209,    -1,   211,    -1,   213,
   25685             :      214,   215,   216,   217,   218,   219,    -1,   221,    -1,   223,
   25686             :       -1,    -1,   226,    -1,   228,   229,   230,   231,   232,   233,
   25687             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   25688             :      244,   245,    -1,    -1,   248,   249,    -1,   251,    -1,    -1,
   25689             :      254,   255,   256,    -1,    -1,   259,   260,   261,   262,   263,
   25690             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   25691             :      274,   275,   276,   277,   278,    -1,   280,   281,   282,   283,
   25692             :      284,   285,   286,   287,   288,   289,   290,   291,    -1,   293,
   25693             :      294,    -1,   296,    -1,   298,   299,   300,   301,   302,   303,
   25694             :       -1,   305,   306,   307,    -1,    -1,   310,   311,   312,    -1,
   25695             :       -1,   315,   316,   317,    -1,   319,    -1,   321,   322,   323,
   25696             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   25697             :      334,    -1,   336,   337,   338,   339,   340,   341,   342,   343,
   25698             :      344,    -1,   346,   347,   348,   349,   350,   351,   352,   353,
   25699             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   25700             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   25701             :      374,   375,    -1,   377,   378,    -1,   380,   381,   382,   383,
   25702             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   25703             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   25704             :      404,   405,   406,   407,    -1,   409,   410,   411,   412,    -1,
   25705             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   25706             :      424,   425,   426,   427,   428,   429,   430,   431,    -1,   433,
   25707             :      434,    -1,    -1,   437,    -1,   439,   440,   441,   442,   443,
   25708             :      444,    -1,   446,   447,   448,    -1,    -1,   451,   452,   453,
   25709             :      454,   455,    -1,   457,   458,   459,   460,   461,   462,   463,
   25710             :      464,   465,    -1,    -1,   468,   469,   470,   471,   472,    -1,
   25711             :       -1,   475,   476,   477,   478,   479,   480,   481,    -1,   483,
   25712             :       -1,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   25713             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   25714             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   25715             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25716             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   25717             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   25718             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   25719             :       -1,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
   25720             :       53,    -1,    55,    56,    -1,    58,    59,    60,    61,    62,
   25721             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   25722             :       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
   25723             :       83,    84,    85,    86,    -1,    88,    89,    90,    91,    -1,
   25724             :       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
   25725             :      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,
   25726             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   25727             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   25728             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   25729             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,    -1,
   25730             :      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   25731             :       -1,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
   25732             :       -1,   174,   175,    -1,    -1,    -1,   179,   180,   181,   182,
   25733             :       -1,   184,   185,    -1,   187,   188,   189,    -1,   191,   192,
   25734             :      193,   194,   195,    -1,   197,   198,   199,   200,    -1,   202,
   25735             :      203,   204,   205,   206,   207,   208,   209,    -1,   211,    -1,
   25736             :      213,   214,   215,   216,   217,   218,   219,    -1,   221,    -1,
   25737             :      223,    -1,    -1,   226,    -1,   228,   229,   230,   231,   232,
   25738             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   25739             :      243,   244,   245,    -1,    -1,   248,   249,    -1,   251,    -1,
   25740             :       -1,   254,   255,   256,    -1,    -1,   259,   260,   261,   262,
   25741             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   25742             :      273,   274,   275,   276,   277,   278,    -1,   280,   281,   282,
   25743             :      283,   284,   285,   286,   287,   288,   289,   290,   291,    -1,
   25744             :      293,   294,    -1,   296,    -1,   298,   299,   300,   301,   302,
   25745             :      303,    -1,   305,   306,   307,    -1,    -1,   310,   311,   312,
   25746             :       -1,    -1,   315,   316,   317,    -1,   319,    -1,   321,   322,
   25747             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   25748             :      333,   334,    -1,   336,   337,   338,   339,   340,   341,   342,
   25749             :      343,   344,    -1,   346,   347,   348,   349,   350,   351,   352,
   25750             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   25751             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   25752             :      373,   374,   375,    -1,   377,   378,    -1,   380,   381,   382,
   25753             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   25754             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   25755             :      403,   404,   405,   406,   407,    -1,   409,   410,   411,   412,
   25756             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   25757             :      423,   424,   425,   426,   427,   428,   429,   430,   431,    -1,
   25758             :      433,   434,    -1,   436,   437,    -1,   439,   440,   441,   442,
   25759             :      443,   444,    -1,   446,   447,   448,    -1,    -1,   451,   452,
   25760             :      453,   454,   455,    -1,   457,   458,   459,   460,   461,   462,
   25761             :      463,   464,   465,    -1,    -1,   468,   469,   470,   471,   472,
   25762             :       -1,    -1,   475,   476,   477,   478,   479,   480,   481,    -1,
   25763             :      483,    -1,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   25764             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   25765             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   25766             :      513,     3,    -1,    -1,     6,    -1,    -1,    -1,    -1,    -1,
   25767             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   25768             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   25769             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   25770             :       42,    -1,    44,    45,    46,    47,    -1,    49,    50,    51,
   25771             :       52,    53,    -1,    55,    56,    -1,    58,    59,    60,    61,
   25772             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   25773             :       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
   25774             :       82,    83,    84,    85,    86,    -1,    88,    89,    90,    91,
   25775             :       -1,    93,    94,    95,    96,    97,    98,    -1,    -1,   101,
   25776             :      102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
   25777             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   25778             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   25779             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   25780             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   25781             :       -1,   153,   154,   155,   156,   157,   158,   159,   160,   161,
   25782             :      162,    -1,   164,    -1,   166,   167,   168,   169,   170,    -1,
   25783             :      172,    -1,   174,   175,    -1,    -1,    -1,   179,   180,   181,
   25784             :      182,    -1,   184,   185,    -1,   187,   188,   189,    -1,   191,
   25785             :      192,   193,   194,   195,    -1,   197,   198,   199,   200,    -1,
   25786             :      202,   203,   204,   205,   206,   207,   208,   209,    -1,   211,
   25787             :       -1,   213,   214,   215,   216,   217,   218,   219,    -1,   221,
   25788             :       -1,   223,    -1,    -1,   226,    -1,   228,   229,   230,   231,
   25789             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   25790             :      242,   243,   244,   245,    -1,    -1,   248,   249,    -1,   251,
   25791             :       -1,    -1,   254,   255,   256,    -1,    -1,   259,   260,   261,
   25792             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   25793             :      272,   273,   274,   275,   276,   277,   278,    -1,   280,   281,
   25794             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   25795             :       -1,   293,   294,    -1,   296,    -1,   298,   299,   300,   301,
   25796             :      302,   303,    -1,   305,   306,   307,    -1,    -1,   310,   311,
   25797             :      312,    -1,    -1,   315,   316,   317,    -1,   319,    -1,   321,
   25798             :      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   25799             :      332,   333,   334,    -1,   336,   337,   338,   339,   340,   341,
   25800             :      342,   343,   344,    -1,   346,   347,   348,   349,   350,   351,
   25801             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   25802             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   25803             :      372,   373,   374,   375,    -1,   377,   378,    -1,   380,   381,
   25804             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   25805             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   25806             :       -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
   25807             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   25808             :      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
   25809             :       -1,   433,   434,    -1,    -1,   437,    -1,   439,   440,   441,
   25810             :      442,   443,   444,    -1,   446,   447,   448,    -1,    -1,   451,
   25811             :      452,   453,   454,   455,    -1,   457,   458,   459,   460,   461,
   25812             :      462,   463,   464,   465,    -1,    -1,   468,   469,   470,   471,
   25813             :      472,    -1,    -1,   475,   476,   477,   478,   479,   480,   481,
   25814             :       -1,   483,    -1,   485,   486,   487,   488,    -1,    -1,   491,
   25815             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   25816             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   25817             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25818             :       11,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   25819             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   25820             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   25821             :       41,    42,    -1,    44,    45,    46,    47,    -1,    49,    50,
   25822             :       51,    52,    53,    -1,    55,    56,    -1,    58,    59,    60,
   25823             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   25824             :       71,    -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,
   25825             :       81,    82,    83,    84,    85,    86,    -1,    88,    89,    90,
   25826             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,    -1,
   25827             :      101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25828             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   25829             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   25830             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   25831             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   25832             :      151,    -1,   153,   154,   155,   156,   157,   158,   159,   160,
   25833             :      161,   162,    -1,   164,    -1,   166,   167,   168,   169,   170,
   25834             :       -1,   172,    -1,   174,   175,    -1,    -1,    -1,   179,   180,
   25835             :      181,   182,    -1,   184,   185,    -1,   187,   188,   189,    -1,
   25836             :      191,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
   25837             :       -1,   202,   203,   204,   205,   206,   207,   208,   209,    -1,
   25838             :      211,    -1,   213,   214,   215,   216,   217,   218,   219,    -1,
   25839             :      221,    -1,   223,    -1,    -1,   226,    -1,   228,   229,   230,
   25840             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   25841             :      241,   242,   243,   244,   245,    -1,    -1,   248,   249,    -1,
   25842             :      251,    -1,    -1,   254,   255,   256,    -1,    -1,   259,   260,
   25843             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   25844             :      271,   272,   273,   274,   275,   276,   277,   278,    -1,   280,
   25845             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   25846             :      291,    -1,   293,   294,    -1,   296,    -1,   298,   299,   300,
   25847             :      301,   302,   303,    -1,   305,   306,   307,    -1,    -1,   310,
   25848             :      311,   312,    -1,    -1,   315,   316,   317,    -1,   319,    -1,
   25849             :      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
   25850             :      331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
   25851             :      341,   342,   343,   344,    -1,   346,   347,   348,   349,   350,
   25852             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   25853             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   25854             :      371,   372,   373,   374,   375,    -1,   377,   378,    -1,   380,
   25855             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   25856             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   25857             :      401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
   25858             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   25859             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   25860             :      431,    -1,   433,   434,    -1,    -1,   437,    -1,   439,   440,
   25861             :      441,   442,   443,   444,    -1,   446,   447,   448,    -1,    -1,
   25862             :      451,   452,   453,   454,   455,    -1,   457,   458,   459,   460,
   25863             :      461,   462,   463,   464,   465,    -1,    -1,   468,   469,   470,
   25864             :      471,   472,    -1,    -1,   475,   476,   477,   478,   479,   480,
   25865             :      481,    -1,   483,    -1,   485,   486,   487,   488,    -1,    -1,
   25866             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   25867             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   25868             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   25869             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25870             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   25871             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    38,    -1,
   25872             :       40,    41,    42,    -1,    44,    45,    46,    47,    -1,    49,
   25873             :       50,    51,    52,    53,    -1,    55,    56,    -1,    58,    59,
   25874             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   25875             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    -1,
   25876             :       -1,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
   25877             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   25878             :       -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
   25879             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   25880             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   25881             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   25882             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   25883             :      150,   151,    -1,   153,   154,   155,   156,   157,   158,   159,
   25884             :      160,   161,   162,    -1,   164,    -1,   166,   167,   168,   169,
   25885             :      170,    -1,   172,    -1,   174,   175,    -1,    -1,    -1,   179,
   25886             :      180,   181,   182,    -1,   184,   185,    -1,   187,   188,   189,
   25887             :       -1,   191,   192,   193,   194,   195,    -1,   197,   198,   199,
   25888             :      200,    -1,   202,   203,   204,   205,   206,   207,   208,   209,
   25889             :       -1,   211,    -1,   213,   214,   215,   216,   217,   218,   219,
   25890             :       -1,   221,    -1,   223,    -1,    -1,   226,    -1,   228,   229,
   25891             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   25892             :      240,   241,   242,   243,   244,   245,    -1,    -1,   248,   249,
   25893             :       -1,   251,    -1,    -1,   254,   255,   256,    -1,    -1,   259,
   25894             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   25895             :      270,   271,   272,   273,   274,   275,   276,   277,   278,    -1,
   25896             :      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   25897             :      290,   291,    -1,   293,   294,    -1,   296,    -1,   298,   299,
   25898             :      300,   301,   302,   303,    -1,   305,   306,   307,    -1,    -1,
   25899             :      310,   311,   312,    -1,    -1,   315,   316,   317,    -1,   319,
   25900             :       -1,   321,   322,   323,   324,   325,   326,   327,   328,   329,
   25901             :      330,   331,   332,   333,   334,    -1,   336,   337,   338,   339,
   25902             :      340,   341,   342,   343,   344,    -1,   346,   347,   348,   349,
   25903             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   25904             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   25905             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,    -1,
   25906             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   25907             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   25908             :      400,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
   25909             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   25910             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   25911             :      430,   431,    -1,   433,   434,    -1,    -1,   437,    -1,   439,
   25912             :      440,   441,   442,   443,   444,    -1,   446,   447,   448,    -1,
   25913             :       -1,   451,   452,   453,   454,   455,    -1,   457,   458,   459,
   25914             :      460,   461,   462,   463,   464,   465,    -1,    -1,   468,   469,
   25915             :      470,   471,   472,    -1,    -1,   475,   476,   477,   478,   479,
   25916             :      480,   481,    -1,   483,    -1,   485,   486,   487,   488,    -1,
   25917             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   25918             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   25919             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   25920             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25921             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   25922             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    38,
   25923             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   25924             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   25925             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   25926             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   25927             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   25928             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   25929             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   25930             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   25931             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   25932             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   25933             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   25934             :      149,   150,   151,    -1,   153,   154,   155,   156,   157,   158,
   25935             :      159,   160,   161,   162,    -1,   164,    -1,   166,   167,   168,
   25936             :      169,   170,    -1,   172,    -1,   174,   175,    -1,    -1,    -1,
   25937             :      179,   180,   181,   182,    -1,   184,   185,    -1,   187,   188,
   25938             :      189,    -1,   191,   192,   193,   194,   195,    -1,   197,   198,
   25939             :      199,   200,    -1,   202,   203,   204,   205,   206,   207,   208,
   25940             :      209,    -1,   211,    -1,   213,   214,   215,   216,   217,   218,
   25941             :      219,    -1,   221,    -1,   223,    -1,    -1,   226,    -1,   228,
   25942             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   25943             :      239,   240,   241,   242,   243,   244,   245,    -1,    -1,   248,
   25944             :      249,    -1,   251,    -1,    -1,   254,   255,   256,    -1,    -1,
   25945             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   25946             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   25947             :       -1,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   25948             :      289,   290,   291,    -1,   293,   294,    -1,   296,    -1,   298,
   25949             :      299,   300,   301,   302,   303,    -1,   305,   306,   307,    -1,
   25950             :       -1,   310,   311,   312,    -1,    -1,   315,   316,   317,    -1,
   25951             :      319,    -1,   321,   322,   323,   324,   325,   326,   327,   328,
   25952             :      329,   330,   331,   332,   333,   334,    -1,   336,   337,   338,
   25953             :      339,   340,   341,   342,   343,   344,    -1,   346,   347,   348,
   25954             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   25955             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   25956             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   25957             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   25958             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   25959             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   25960             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   25961             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   25962             :      429,   430,   431,    -1,   433,   434,    -1,    -1,   437,    -1,
   25963             :      439,   440,   441,   442,   443,   444,    -1,   446,   447,   448,
   25964             :       -1,    -1,   451,   452,   453,   454,   455,    -1,   457,   458,
   25965             :      459,   460,   461,   462,   463,   464,   465,    -1,    -1,   468,
   25966             :      469,   470,   471,   472,    -1,    -1,   475,   476,   477,   478,
   25967             :      479,   480,   481,    -1,   483,    -1,   485,   486,   487,   488,
   25968             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   25969             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   25970             :      509,   510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,
   25971             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25972             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   25973             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   25974             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   25975             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   25976             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   25977             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   25978             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   25979             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   25980             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   25981             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   25982             :      118,   119,   120,   121,    -1,   123,   124,   125,   126,   127,
   25983             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   25984             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   25985             :      148,   149,   150,   151,    -1,   153,   154,   155,   156,   157,
   25986             :      158,   159,   160,   161,   162,    -1,   164,    -1,   166,   167,
   25987             :      168,   169,   170,    -1,   172,    -1,   174,   175,    -1,    -1,
   25988             :       -1,   179,   180,   181,   182,    -1,   184,   185,    -1,   187,
   25989             :      188,   189,    -1,   191,   192,   193,   194,   195,    -1,   197,
   25990             :      198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
   25991             :      208,   209,    -1,   211,    -1,   213,   214,   215,   216,   217,
   25992             :      218,   219,    -1,   221,    -1,   223,    -1,    -1,   226,    -1,
   25993             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   25994             :      238,   239,   240,   241,   242,   243,   244,   245,    -1,    -1,
   25995             :      248,   249,    -1,   251,    -1,    -1,   254,   255,   256,    -1,
   25996             :       -1,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   25997             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   25998             :      278,    -1,   280,   281,   282,   283,   284,   285,   286,   287,
   25999             :      288,   289,   290,   291,    -1,   293,   294,    -1,   296,    -1,
   26000             :      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
   26001             :       -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,   317,
   26002             :       -1,   319,    -1,   321,   322,   323,   324,   325,   326,   327,
   26003             :      328,   329,   330,   331,   332,   333,   334,    -1,   336,   337,
   26004             :      338,   339,   340,   341,   342,   343,   344,    -1,   346,   347,
   26005             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   26006             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   26007             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   26008             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   26009             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   26010             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   26011             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   26012             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   26013             :      428,   429,   430,   431,    -1,   433,   434,    -1,    -1,   437,
   26014             :       -1,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
   26015             :      448,    -1,    -1,   451,   452,   453,   454,   455,    -1,   457,
   26016             :      458,   459,   460,   461,   462,   463,   464,   465,    -1,    -1,
   26017             :      468,   469,   470,   471,   472,    -1,    -1,   475,   476,   477,
   26018             :      478,   479,   480,   481,    -1,   483,    -1,   485,   486,   487,
   26019             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   26020             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   26021             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,    -1,
   26022             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26023             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   26024             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   26025             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   26026             :       47,    -1,    49,    50,    51,    52,    53,    -1,    55,    56,
   26027             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   26028             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   26029             :       77,    -1,    -1,    -1,    81,    82,    83,    84,    85,    86,
   26030             :       -1,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   26031             :       97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,
   26032             :       -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   26033             :      117,   118,   119,   120,   121,    -1,   123,   124,   125,   126,
   26034             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   26035             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   26036             :       -1,   148,   149,   150,   151,    -1,   153,   154,   155,   156,
   26037             :      157,   158,   159,   160,   161,   162,    -1,   164,    -1,   166,
   26038             :      167,   168,   169,   170,    -1,   172,    -1,   174,   175,    -1,
   26039             :       -1,    -1,   179,   180,   181,   182,    -1,   184,   185,    -1,
   26040             :      187,   188,   189,    -1,   191,   192,   193,   194,   195,    -1,
   26041             :      197,   198,   199,   200,    -1,   202,   203,   204,   205,   206,
   26042             :      207,   208,   209,    -1,   211,    -1,   213,   214,   215,   216,
   26043             :      217,   218,   219,    -1,   221,    -1,   223,    -1,    -1,   226,
   26044             :       -1,   228,   229,   230,   231,   232,   233,   234,   235,   236,
   26045             :      237,   238,   239,   240,   241,   242,   243,   244,   245,    -1,
   26046             :       -1,   248,   249,    -1,   251,    -1,    -1,   254,   255,   256,
   26047             :       -1,    -1,   259,   260,   261,   262,   263,   264,   265,   266,
   26048             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   26049             :      277,   278,    -1,   280,   281,   282,   283,   284,   285,   286,
   26050             :      287,   288,   289,   290,   291,    -1,   293,   294,    -1,   296,
   26051             :       -1,   298,   299,   300,   301,   302,   303,    -1,   305,   306,
   26052             :      307,    -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,
   26053             :      317,    -1,   319,    -1,   321,   322,   323,   324,   325,   326,
   26054             :      327,   328,   329,   330,   331,   332,   333,   334,    -1,   336,
   26055             :      337,   338,   339,   340,   341,   342,   343,   344,    -1,   346,
   26056             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   26057             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   26058             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   26059             :      377,   378,    -1,   380,   381,   382,   383,   384,   385,   386,
   26060             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   26061             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   26062             :      407,    -1,   409,   410,   411,   412,    -1,   414,   415,   416,
   26063             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   26064             :      427,   428,   429,   430,   431,    -1,   433,   434,    -1,    -1,
   26065             :      437,    -1,   439,   440,   441,   442,   443,   444,    -1,   446,
   26066             :      447,   448,    -1,    -1,   451,   452,   453,   454,   455,    -1,
   26067             :      457,   458,   459,   460,   461,   462,   463,   464,   465,    -1,
   26068             :       -1,   468,   469,   470,   471,   472,    -1,    -1,   475,   476,
   26069             :      477,   478,   479,   480,   481,    -1,   483,    -1,   485,   486,
   26070             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   26071             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   26072             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   26073             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26074             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   26075             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   26076             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   26077             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   26078             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   26079             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   26080             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   26081             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   26082             :       96,    97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,
   26083             :       -1,   107,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   26084             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   26085             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   26086             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   26087             :      146,    -1,   148,   149,   150,   151,    -1,   153,   154,   155,
   26088             :      156,   157,   158,   159,   160,   161,   162,    -1,   164,    -1,
   26089             :      166,   167,   168,   169,   170,    -1,   172,    -1,   174,   175,
   26090             :       -1,    -1,    -1,   179,   180,   181,   182,    -1,   184,   185,
   26091             :       -1,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
   26092             :       -1,   197,   198,   199,   200,    -1,   202,   203,   204,   205,
   26093             :      206,   207,   208,   209,    -1,   211,    -1,   213,   214,   215,
   26094             :      216,   217,   218,   219,    -1,   221,    -1,   223,    -1,    -1,
   26095             :      226,    -1,   228,   229,   230,   231,   232,   233,   234,   235,
   26096             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   26097             :       -1,    -1,   248,   249,    -1,   251,    -1,    -1,   254,   255,
   26098             :      256,    -1,    -1,   259,   260,   261,   262,   263,   264,   265,
   26099             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   26100             :      276,   277,   278,    -1,   280,   281,   282,   283,   284,   285,
   26101             :      286,   287,   288,   289,   290,   291,    -1,   293,   294,    -1,
   26102             :      296,    -1,   298,   299,   300,   301,   302,   303,    -1,   305,
   26103             :      306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,   315,
   26104             :      316,   317,    -1,   319,    -1,   321,   322,   323,   324,   325,
   26105             :      326,   327,   328,   329,   330,   331,   332,   333,   334,    -1,
   26106             :      336,   337,   338,   339,   340,   341,   342,   343,   344,    -1,
   26107             :      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   26108             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   26109             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   26110             :       -1,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
   26111             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   26112             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   26113             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   26114             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   26115             :      426,   427,   428,   429,   430,   431,    -1,   433,   434,    -1,
   26116             :       -1,   437,    -1,   439,   440,   441,   442,   443,   444,    -1,
   26117             :      446,   447,   448,    -1,    -1,   451,   452,   453,   454,   455,
   26118             :       -1,   457,   458,   459,   460,   461,   462,   463,   464,   465,
   26119             :       -1,    -1,   468,   469,   470,   471,   472,    -1,    -1,   475,
   26120             :      476,   477,   478,   479,   480,   481,    -1,   483,    -1,   485,
   26121             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   26122             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   26123             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   26124             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26125             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   26126             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   26127             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   26128             :       45,    46,    47,    -1,    49,    50,    51,    52,    53,    -1,
   26129             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   26130             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   26131             :       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    84,
   26132             :       85,    86,    -1,    88,    89,    90,    91,    -1,    93,    94,
   26133             :       95,    96,    97,    98,    -1,    -1,   101,   102,   103,    -1,
   26134             :       -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,
   26135             :      115,   116,   117,   118,   119,   120,   121,    -1,   123,   124,
   26136             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   26137             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   26138             :      145,   146,    -1,   148,   149,   150,   151,    -1,   153,   154,
   26139             :      155,   156,   157,   158,   159,   160,   161,   162,    -1,   164,
   26140             :       -1,   166,   167,   168,   169,   170,    -1,   172,    -1,   174,
   26141             :      175,    -1,    -1,    -1,   179,   180,   181,   182,    -1,   184,
   26142             :      185,    -1,   187,   188,   189,    -1,   191,   192,   193,   194,
   26143             :      195,    -1,   197,   198,   199,   200,    -1,   202,   203,   204,
   26144             :      205,   206,   207,   208,   209,    -1,   211,    -1,   213,   214,
   26145             :      215,   216,   217,   218,   219,    -1,   221,    -1,   223,    -1,
   26146             :       -1,   226,    -1,   228,   229,   230,   231,   232,   233,   234,
   26147             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   26148             :      245,    -1,    -1,   248,   249,    -1,   251,    -1,    -1,   254,
   26149             :      255,   256,    -1,    -1,   259,   260,   261,   262,   263,   264,
   26150             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   26151             :      275,   276,   277,   278,    -1,   280,   281,   282,   283,   284,
   26152             :      285,   286,   287,   288,   289,   290,   291,    -1,   293,   294,
   26153             :       -1,   296,    -1,   298,   299,   300,   301,   302,   303,    -1,
   26154             :      305,   306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,
   26155             :      315,   316,   317,    -1,   319,    -1,   321,   322,   323,   324,
   26156             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   26157             :       -1,   336,   337,   338,   339,   340,   341,   342,   343,   344,
   26158             :       -1,   346,   347,   348,   349,   350,   351,   352,   353,   354,
   26159             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   26160             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   26161             :      375,    -1,   377,   378,    -1,   380,   381,   382,   383,   384,
   26162             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   26163             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   26164             :      405,   406,   407,    -1,   409,   410,   411,   412,    -1,   414,
   26165             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   26166             :      425,   426,   427,   428,   429,   430,   431,    -1,   433,   434,
   26167             :       -1,    -1,   437,    -1,   439,   440,   441,   442,   443,   444,
   26168             :       -1,   446,   447,   448,    -1,    -1,   451,   452,   453,   454,
   26169             :      455,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
   26170             :      465,    -1,    -1,   468,   469,   470,   471,   472,    -1,    -1,
   26171             :      475,   476,   477,   478,   479,   480,   481,    -1,   483,    -1,
   26172             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   26173             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   26174             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   26175             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26176             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   26177             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   26178             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   26179             :       44,    45,    46,    47,    -1,    49,    50,    51,    52,    53,
   26180             :       -1,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   26181             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   26182             :       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
   26183             :       84,    85,    86,    -1,    88,    89,    90,    91,    -1,    93,
   26184             :       94,    95,    96,    97,    98,    -1,    -1,   101,   102,   103,
   26185             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,
   26186             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   26187             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   26188             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   26189             :      144,   145,   146,    -1,   148,   149,   150,   151,    -1,   153,
   26190             :      154,   155,   156,   157,   158,   159,   160,   161,   162,    -1,
   26191             :      164,    -1,   166,   167,   168,   169,   170,    -1,   172,    -1,
   26192             :      174,   175,    -1,    -1,    -1,   179,   180,   181,   182,    -1,
   26193             :      184,   185,    -1,   187,   188,   189,    -1,   191,   192,   193,
   26194             :      194,   195,    -1,   197,   198,   199,   200,    -1,   202,   203,
   26195             :      204,   205,   206,   207,   208,   209,    -1,   211,    -1,   213,
   26196             :      214,   215,   216,   217,   218,   219,    -1,   221,    -1,   223,
   26197             :       -1,    -1,   226,    -1,   228,   229,   230,   231,   232,   233,
   26198             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   26199             :      244,   245,    -1,    -1,   248,   249,    -1,   251,    -1,    -1,
   26200             :      254,   255,   256,    -1,    -1,   259,   260,   261,   262,   263,
   26201             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   26202             :      274,   275,   276,   277,   278,    -1,   280,   281,   282,   283,
   26203             :      284,   285,   286,   287,   288,   289,   290,   291,    -1,   293,
   26204             :      294,    -1,   296,    -1,   298,   299,   300,   301,   302,   303,
   26205             :       -1,   305,   306,   307,    -1,    -1,   310,   311,   312,    -1,
   26206             :       -1,   315,   316,   317,    -1,   319,    -1,   321,   322,   323,
   26207             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   26208             :      334,    -1,   336,   337,   338,   339,   340,   341,   342,   343,
   26209             :      344,    -1,   346,   347,   348,   349,   350,   351,   352,   353,
   26210             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   26211             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   26212             :      374,   375,    -1,   377,   378,    -1,   380,   381,   382,   383,
   26213             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   26214             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   26215             :      404,   405,   406,   407,    -1,   409,   410,   411,   412,    -1,
   26216             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   26217             :      424,   425,   426,   427,   428,   429,   430,   431,    -1,   433,
   26218             :      434,    -1,    -1,   437,    -1,   439,   440,   441,   442,   443,
   26219             :      444,    -1,   446,   447,   448,    -1,    -1,   451,   452,   453,
   26220             :      454,   455,    -1,   457,   458,   459,   460,   461,   462,   463,
   26221             :      464,   465,    -1,    -1,   468,   469,   470,   471,   472,    -1,
   26222             :       -1,   475,   476,   477,   478,   479,   480,   481,    -1,   483,
   26223             :       -1,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   26224             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   26225             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   26226             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26227             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   26228             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   26229             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   26230             :       -1,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
   26231             :       53,    -1,    55,    56,    -1,    58,    59,    60,    61,    62,
   26232             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   26233             :       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
   26234             :       83,    84,    85,    86,    -1,    88,    89,    90,    91,    -1,
   26235             :       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
   26236             :      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,
   26237             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   26238             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   26239             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   26240             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,    -1,
   26241             :      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   26242             :       -1,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
   26243             :       -1,   174,   175,    -1,    -1,    -1,   179,   180,   181,   182,
   26244             :       -1,   184,   185,    -1,   187,   188,   189,    -1,   191,   192,
   26245             :      193,   194,   195,    -1,   197,   198,   199,   200,    -1,   202,
   26246             :      203,   204,   205,   206,   207,   208,   209,    -1,   211,    -1,
   26247             :      213,   214,   215,   216,   217,   218,   219,    -1,   221,    -1,
   26248             :      223,    -1,    -1,   226,    -1,   228,   229,   230,   231,   232,
   26249             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   26250             :      243,   244,   245,    -1,    -1,   248,   249,    -1,   251,    -1,
   26251             :       -1,   254,   255,   256,    -1,    -1,   259,   260,   261,   262,
   26252             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   26253             :      273,   274,   275,   276,   277,   278,    -1,   280,   281,   282,
   26254             :      283,   284,   285,   286,   287,   288,   289,   290,   291,    -1,
   26255             :      293,   294,    -1,   296,    -1,   298,   299,   300,   301,   302,
   26256             :      303,    -1,   305,   306,   307,    -1,    -1,   310,   311,   312,
   26257             :       -1,    -1,   315,   316,   317,    -1,   319,    -1,   321,   322,
   26258             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   26259             :      333,   334,    -1,   336,   337,   338,   339,   340,   341,   342,
   26260             :      343,   344,    -1,   346,   347,   348,   349,   350,   351,   352,
   26261             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   26262             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   26263             :      373,   374,   375,    -1,   377,   378,    -1,   380,   381,   382,
   26264             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   26265             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   26266             :      403,   404,   405,   406,   407,    -1,   409,   410,   411,   412,
   26267             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   26268             :      423,   424,   425,   426,   427,   428,   429,   430,   431,    -1,
   26269             :      433,   434,    -1,    -1,   437,    -1,   439,   440,   441,   442,
   26270             :      443,   444,    -1,   446,   447,   448,    -1,    -1,   451,   452,
   26271             :      453,   454,   455,    -1,   457,   458,   459,   460,   461,   462,
   26272             :      463,   464,   465,    -1,    -1,   468,   469,   470,   471,   472,
   26273             :       -1,    -1,   475,   476,   477,   478,   479,   480,   481,    -1,
   26274             :      483,    -1,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   26275             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   26276             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   26277             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26278             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   26279             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   26280             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   26281             :       42,    -1,    44,    45,    46,    47,    -1,    49,    50,    51,
   26282             :       52,    53,    -1,    55,    56,    -1,    58,    59,    60,    61,
   26283             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   26284             :       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
   26285             :       82,    83,    84,    85,    86,    -1,    88,    89,    90,    91,
   26286             :       -1,    93,    94,    95,    96,    97,    98,    -1,    -1,   101,
   26287             :      102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
   26288             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   26289             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   26290             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   26291             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   26292             :       -1,   153,   154,   155,   156,   157,   158,   159,   160,   161,
   26293             :      162,    -1,   164,    -1,   166,   167,   168,   169,   170,    -1,
   26294             :      172,    -1,   174,   175,    -1,    -1,    -1,   179,   180,   181,
   26295             :      182,    -1,   184,   185,    -1,   187,   188,   189,    -1,   191,
   26296             :      192,   193,   194,   195,    -1,   197,   198,   199,   200,    -1,
   26297             :      202,   203,   204,   205,   206,   207,   208,   209,    -1,   211,
   26298             :       -1,   213,   214,   215,   216,   217,   218,   219,    -1,   221,
   26299             :       -1,   223,    -1,    -1,   226,    -1,   228,   229,   230,   231,
   26300             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   26301             :      242,   243,   244,   245,    -1,    -1,   248,   249,    -1,   251,
   26302             :       -1,    -1,   254,   255,   256,    -1,    -1,   259,   260,   261,
   26303             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   26304             :      272,   273,   274,   275,   276,   277,   278,    -1,   280,   281,
   26305             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   26306             :       -1,   293,   294,    -1,   296,    -1,   298,   299,   300,   301,
   26307             :      302,   303,    -1,   305,   306,   307,    -1,    -1,   310,   311,
   26308             :      312,    -1,    -1,   315,   316,   317,    -1,   319,    -1,   321,
   26309             :      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   26310             :      332,   333,   334,    -1,   336,   337,   338,   339,   340,   341,
   26311             :      342,   343,   344,    -1,   346,   347,   348,   349,   350,   351,
   26312             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   26313             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   26314             :      372,   373,   374,   375,    -1,   377,   378,    -1,   380,   381,
   26315             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   26316             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   26317             :       -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
   26318             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   26319             :      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
   26320             :       -1,   433,   434,    -1,    -1,   437,    -1,   439,   440,   441,
   26321             :      442,   443,   444,    -1,   446,   447,   448,    -1,    -1,   451,
   26322             :      452,   453,   454,   455,    -1,   457,   458,   459,   460,   461,
   26323             :      462,   463,   464,   465,    -1,    -1,   468,   469,   470,   471,
   26324             :      472,    -1,    -1,   475,   476,   477,   478,   479,   480,   481,
   26325             :       -1,   483,    -1,   485,   486,   487,   488,    -1,    -1,   491,
   26326             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   26327             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   26328             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26329             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   26330             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   26331             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   26332             :       41,    42,    -1,    44,    45,    46,    47,    -1,    49,    50,
   26333             :       51,    52,    53,    -1,    55,    56,    -1,    58,    59,    60,
   26334             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   26335             :       71,    -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,
   26336             :       81,    82,    83,    84,    85,    86,    -1,    88,    89,    90,
   26337             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,    -1,
   26338             :      101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26339             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   26340             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   26341             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   26342             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   26343             :      151,    -1,   153,   154,   155,   156,   157,   158,   159,   160,
   26344             :      161,   162,    -1,   164,    -1,   166,   167,   168,   169,   170,
   26345             :       -1,   172,    -1,   174,   175,    -1,    -1,    -1,   179,   180,
   26346             :      181,   182,    -1,   184,   185,    -1,   187,   188,   189,    -1,
   26347             :      191,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
   26348             :       -1,   202,   203,   204,   205,   206,   207,   208,   209,    -1,
   26349             :      211,    -1,   213,   214,   215,   216,   217,   218,   219,    -1,
   26350             :      221,    -1,   223,    -1,    -1,   226,    -1,   228,   229,   230,
   26351             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   26352             :      241,   242,   243,   244,   245,    -1,    -1,   248,   249,    -1,
   26353             :      251,    -1,    -1,   254,   255,   256,    -1,    -1,   259,   260,
   26354             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   26355             :      271,   272,   273,   274,   275,   276,   277,   278,    -1,   280,
   26356             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   26357             :      291,    -1,   293,   294,    -1,   296,    -1,   298,   299,   300,
   26358             :      301,   302,   303,    -1,   305,   306,   307,    -1,    -1,   310,
   26359             :      311,   312,    -1,    -1,   315,   316,   317,    -1,   319,    -1,
   26360             :      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
   26361             :      331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
   26362             :      341,   342,   343,   344,    -1,   346,   347,   348,   349,   350,
   26363             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   26364             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   26365             :      371,   372,   373,   374,   375,    -1,   377,   378,    -1,   380,
   26366             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   26367             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   26368             :      401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
   26369             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   26370             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   26371             :      431,    -1,   433,   434,    -1,    -1,   437,    -1,   439,   440,
   26372             :      441,   442,   443,   444,    -1,   446,   447,   448,    -1,    -1,
   26373             :      451,   452,   453,   454,   455,    -1,   457,   458,   459,   460,
   26374             :      461,   462,   463,   464,   465,    -1,    -1,   468,   469,   470,
   26375             :      471,   472,    -1,    -1,   475,   476,   477,   478,   479,   480,
   26376             :      481,    -1,   483,    -1,   485,   486,   487,   488,    -1,    -1,
   26377             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   26378             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   26379             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   26380             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26381             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   26382             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26383             :       40,    41,    42,    -1,    44,    45,    46,    47,    -1,    49,
   26384             :       50,    51,    52,    53,    -1,    55,    56,    -1,    58,    59,
   26385             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   26386             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    -1,
   26387             :       -1,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
   26388             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   26389             :       -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
   26390             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   26391             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   26392             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   26393             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   26394             :      150,   151,    -1,   153,   154,   155,   156,   157,   158,   159,
   26395             :      160,   161,   162,    -1,   164,    -1,   166,   167,   168,   169,
   26396             :      170,    -1,   172,    -1,   174,   175,    -1,    -1,    -1,   179,
   26397             :      180,   181,   182,    -1,   184,   185,    -1,   187,   188,   189,
   26398             :       -1,   191,   192,   193,   194,   195,    -1,   197,   198,   199,
   26399             :      200,    -1,   202,   203,   204,   205,   206,   207,   208,   209,
   26400             :       -1,   211,    -1,   213,   214,   215,   216,   217,   218,   219,
   26401             :       -1,   221,    -1,   223,    -1,    -1,   226,    -1,   228,   229,
   26402             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   26403             :      240,   241,   242,   243,   244,   245,    -1,    -1,   248,   249,
   26404             :       -1,   251,    -1,    -1,   254,   255,   256,    -1,    -1,   259,
   26405             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   26406             :      270,   271,   272,   273,   274,   275,   276,   277,   278,    -1,
   26407             :      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   26408             :      290,   291,    -1,   293,   294,    -1,   296,    -1,   298,   299,
   26409             :      300,   301,   302,   303,    -1,   305,   306,   307,    -1,    -1,
   26410             :      310,   311,   312,    -1,    -1,   315,   316,   317,    -1,   319,
   26411             :       -1,   321,   322,   323,   324,   325,   326,   327,   328,   329,
   26412             :      330,   331,   332,   333,   334,    -1,   336,   337,   338,   339,
   26413             :      340,   341,   342,   343,   344,    -1,   346,   347,   348,   349,
   26414             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   26415             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   26416             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,    -1,
   26417             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   26418             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   26419             :      400,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
   26420             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   26421             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   26422             :      430,   431,    -1,   433,   434,    -1,    -1,   437,    -1,   439,
   26423             :      440,   441,   442,   443,   444,    -1,   446,   447,   448,    -1,
   26424             :       -1,   451,   452,   453,   454,   455,    -1,   457,   458,   459,
   26425             :      460,   461,   462,   463,   464,   465,    -1,    -1,   468,   469,
   26426             :      470,   471,   472,    -1,    -1,   475,   476,   477,   478,   479,
   26427             :      480,   481,    -1,   483,    -1,   485,   486,   487,   488,    -1,
   26428             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   26429             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   26430             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   26431             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26432             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   26433             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   26434             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   26435             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   26436             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   26437             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   26438             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   26439             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   26440             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   26441             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   26442             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   26443             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   26444             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   26445             :      149,   150,   151,    -1,   153,   154,   155,   156,   157,   158,
   26446             :      159,   160,   161,   162,    -1,   164,    -1,   166,   167,   168,
   26447             :      169,   170,    -1,   172,    -1,   174,   175,    -1,    -1,    -1,
   26448             :      179,   180,   181,   182,    -1,   184,   185,    -1,   187,   188,
   26449             :      189,    -1,   191,   192,   193,   194,   195,    -1,   197,   198,
   26450             :      199,   200,    -1,   202,   203,   204,   205,   206,   207,   208,
   26451             :      209,    -1,   211,    -1,   213,   214,   215,   216,   217,   218,
   26452             :      219,    -1,   221,    -1,   223,    -1,    -1,   226,    -1,   228,
   26453             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   26454             :      239,   240,   241,   242,   243,   244,   245,    -1,    -1,   248,
   26455             :      249,    -1,   251,    -1,    -1,   254,   255,   256,    -1,    -1,
   26456             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   26457             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   26458             :       -1,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   26459             :      289,   290,   291,    -1,   293,   294,    -1,   296,    -1,   298,
   26460             :      299,   300,   301,   302,   303,    -1,   305,   306,   307,    -1,
   26461             :       -1,   310,   311,   312,    -1,    -1,   315,   316,   317,    -1,
   26462             :      319,    -1,   321,   322,   323,   324,   325,   326,   327,   328,
   26463             :      329,   330,   331,   332,   333,   334,    -1,   336,   337,   338,
   26464             :      339,   340,   341,   342,   343,   344,    -1,   346,   347,   348,
   26465             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   26466             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   26467             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   26468             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   26469             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   26470             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   26471             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   26472             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   26473             :      429,   430,   431,    -1,   433,   434,    -1,    -1,   437,    -1,
   26474             :      439,   440,   441,   442,   443,   444,    -1,   446,   447,   448,
   26475             :       -1,    -1,   451,   452,   453,   454,   455,    -1,   457,   458,
   26476             :      459,   460,   461,   462,   463,   464,   465,    -1,    -1,   468,
   26477             :      469,   470,   471,   472,    -1,    -1,   475,   476,   477,   478,
   26478             :      479,   480,   481,    -1,   483,    -1,   485,   486,   487,   488,
   26479             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   26480             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   26481             :      509,   510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,
   26482             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26483             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   26484             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   26485             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   26486             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   26487             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   26488             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   26489             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   26490             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   26491             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   26492             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   26493             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   26494             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   26495             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   26496             :      148,   149,   150,   151,    -1,   153,   154,   155,   156,   157,
   26497             :      158,   159,   160,   161,   162,    -1,   164,    -1,   166,   167,
   26498             :      168,   169,   170,    -1,   172,    -1,   174,   175,    -1,    -1,
   26499             :       -1,   179,   180,   181,   182,    -1,   184,   185,    -1,   187,
   26500             :      188,   189,    -1,   191,   192,   193,   194,   195,    -1,   197,
   26501             :      198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
   26502             :      208,   209,    -1,   211,    -1,   213,   214,   215,   216,   217,
   26503             :      218,   219,    -1,   221,    -1,   223,    -1,    -1,   226,    -1,
   26504             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   26505             :      238,   239,   240,   241,   242,   243,   244,   245,    -1,    -1,
   26506             :      248,   249,    -1,   251,    -1,    -1,   254,   255,   256,    -1,
   26507             :       -1,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   26508             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   26509             :      278,    -1,   280,   281,   282,   283,   284,   285,   286,   287,
   26510             :      288,   289,   290,   291,    -1,   293,   294,    -1,   296,    -1,
   26511             :      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
   26512             :       -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,   317,
   26513             :       -1,   319,    -1,   321,   322,   323,   324,   325,   326,   327,
   26514             :      328,   329,   330,   331,   332,   333,   334,    -1,   336,   337,
   26515             :      338,   339,   340,   341,   342,   343,   344,    -1,   346,   347,
   26516             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   26517             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   26518             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   26519             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   26520             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   26521             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   26522             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   26523             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   26524             :      428,   429,   430,   431,    -1,   433,   434,    -1,    -1,   437,
   26525             :       -1,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
   26526             :      448,    -1,    -1,   451,   452,   453,   454,   455,    -1,   457,
   26527             :      458,   459,   460,   461,   462,   463,   464,   465,    -1,    -1,
   26528             :      468,   469,   470,   471,   472,    -1,    -1,   475,   476,   477,
   26529             :      478,   479,   480,   481,    -1,   483,    -1,   485,   486,   487,
   26530             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   26531             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   26532             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,    -1,
   26533             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26534             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   26535             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   26536             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   26537             :       47,    -1,    49,    50,    51,    52,    53,    -1,    55,    56,
   26538             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   26539             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   26540             :       77,    -1,    -1,    -1,    81,    82,    83,    84,    85,    86,
   26541             :       -1,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   26542             :       97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,
   26543             :       -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   26544             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   26545             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   26546             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   26547             :       -1,   148,   149,   150,   151,    -1,   153,   154,   155,   156,
   26548             :      157,   158,   159,   160,   161,   162,    -1,   164,    -1,   166,
   26549             :      167,   168,   169,   170,    -1,   172,    -1,   174,   175,    -1,
   26550             :       -1,    -1,   179,   180,   181,   182,    -1,   184,   185,    -1,
   26551             :      187,   188,   189,    -1,   191,   192,   193,   194,   195,    -1,
   26552             :      197,   198,   199,   200,    -1,   202,   203,   204,   205,   206,
   26553             :      207,   208,   209,    -1,   211,    -1,   213,   214,   215,   216,
   26554             :      217,   218,   219,    -1,   221,    -1,   223,    -1,    -1,   226,
   26555             :       -1,   228,   229,   230,   231,   232,   233,   234,   235,   236,
   26556             :      237,   238,   239,   240,   241,   242,   243,   244,   245,    -1,
   26557             :       -1,   248,   249,    -1,   251,    -1,    -1,   254,   255,   256,
   26558             :       -1,    -1,   259,   260,   261,   262,   263,   264,   265,   266,
   26559             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   26560             :      277,   278,    -1,   280,   281,   282,   283,   284,   285,   286,
   26561             :      287,   288,   289,   290,   291,    -1,   293,   294,    -1,   296,
   26562             :       -1,   298,   299,   300,   301,   302,   303,    -1,   305,   306,
   26563             :      307,    -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,
   26564             :      317,    -1,   319,    -1,   321,   322,   323,   324,   325,   326,
   26565             :      327,   328,   329,   330,   331,   332,   333,   334,    -1,   336,
   26566             :      337,   338,   339,   340,   341,   342,   343,   344,    -1,   346,
   26567             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   26568             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   26569             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   26570             :      377,   378,    -1,   380,   381,   382,   383,   384,   385,   386,
   26571             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   26572             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   26573             :      407,    -1,   409,   410,   411,   412,    -1,   414,   415,   416,
   26574             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   26575             :      427,   428,   429,   430,   431,    -1,   433,   434,    -1,    -1,
   26576             :      437,    -1,   439,   440,   441,   442,   443,   444,    -1,   446,
   26577             :      447,   448,    -1,    -1,   451,   452,   453,   454,   455,    -1,
   26578             :      457,   458,   459,   460,   461,   462,   463,   464,   465,    -1,
   26579             :       -1,   468,   469,   470,   471,   472,    -1,    -1,   475,   476,
   26580             :      477,   478,   479,   480,   481,    -1,   483,    -1,   485,   486,
   26581             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   26582             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   26583             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   26584             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26585             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   26586             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   26587             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   26588             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   26589             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   26590             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   26591             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   26592             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   26593             :       96,    97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,
   26594             :       -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   26595             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   26596             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   26597             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   26598             :      146,    -1,   148,   149,   150,   151,    -1,   153,   154,   155,
   26599             :      156,   157,   158,   159,   160,   161,   162,    -1,   164,    -1,
   26600             :      166,   167,   168,   169,   170,    -1,   172,    -1,   174,   175,
   26601             :       -1,    -1,    -1,   179,   180,   181,   182,    -1,   184,   185,
   26602             :       -1,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
   26603             :       -1,   197,   198,   199,   200,    -1,   202,   203,   204,   205,
   26604             :      206,   207,   208,   209,    -1,   211,    -1,   213,   214,   215,
   26605             :      216,   217,   218,   219,    -1,   221,    -1,   223,    -1,    -1,
   26606             :      226,    -1,   228,   229,   230,   231,   232,   233,   234,   235,
   26607             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   26608             :       -1,    -1,   248,   249,    -1,   251,    -1,    -1,   254,   255,
   26609             :      256,    -1,    -1,   259,   260,   261,   262,   263,   264,   265,
   26610             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   26611             :      276,   277,   278,    -1,   280,   281,   282,   283,   284,   285,
   26612             :      286,   287,   288,   289,   290,   291,    -1,   293,   294,    -1,
   26613             :      296,    -1,   298,   299,   300,   301,   302,   303,    -1,   305,
   26614             :      306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,   315,
   26615             :      316,   317,    -1,   319,    -1,   321,   322,   323,   324,   325,
   26616             :      326,   327,   328,   329,   330,   331,   332,   333,   334,    -1,
   26617             :      336,   337,   338,   339,   340,   341,   342,   343,   344,    -1,
   26618             :      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   26619             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   26620             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   26621             :       -1,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
   26622             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   26623             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   26624             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   26625             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   26626             :      426,   427,   428,   429,   430,   431,    -1,   433,   434,    -1,
   26627             :       -1,   437,    -1,   439,   440,   441,   442,   443,   444,    -1,
   26628             :      446,   447,   448,    -1,    -1,   451,   452,   453,   454,   455,
   26629             :       -1,   457,   458,   459,   460,   461,   462,   463,   464,   465,
   26630             :       -1,    -1,   468,   469,   470,   471,   472,    -1,    -1,   475,
   26631             :      476,   477,   478,   479,   480,   481,    -1,   483,    -1,   485,
   26632             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   26633             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   26634             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   26635             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26636             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   26637             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   26638             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   26639             :       45,    46,    47,    -1,    49,    50,    51,    52,    53,    -1,
   26640             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   26641             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   26642             :       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    84,
   26643             :       85,    86,    -1,    88,    89,    90,    91,    -1,    93,    94,
   26644             :       95,    96,    97,    98,    -1,    -1,   101,   102,   103,    -1,
   26645             :       -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,
   26646             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   26647             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   26648             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   26649             :      145,   146,    -1,   148,   149,   150,   151,    -1,   153,   154,
   26650             :      155,   156,   157,   158,   159,   160,   161,   162,    -1,   164,
   26651             :       -1,   166,   167,   168,   169,   170,    -1,   172,    -1,   174,
   26652             :      175,    -1,    -1,    -1,   179,   180,   181,   182,    -1,   184,
   26653             :      185,    -1,   187,   188,   189,    -1,   191,   192,   193,   194,
   26654             :      195,    -1,   197,   198,   199,   200,    -1,   202,   203,   204,
   26655             :      205,   206,   207,   208,   209,    -1,   211,    -1,   213,   214,
   26656             :      215,   216,   217,   218,   219,    -1,   221,    -1,   223,    -1,
   26657             :       -1,   226,    -1,   228,   229,   230,   231,   232,   233,   234,
   26658             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   26659             :      245,    -1,    -1,   248,   249,    -1,   251,    -1,    -1,   254,
   26660             :      255,   256,    -1,    -1,   259,   260,   261,   262,   263,   264,
   26661             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   26662             :      275,   276,   277,   278,    -1,   280,   281,   282,   283,   284,
   26663             :      285,   286,   287,   288,   289,   290,   291,    -1,   293,   294,
   26664             :       -1,   296,    -1,   298,   299,   300,   301,   302,   303,    -1,
   26665             :      305,   306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,
   26666             :      315,   316,   317,    -1,   319,    -1,   321,   322,   323,   324,
   26667             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   26668             :       -1,   336,   337,   338,   339,   340,   341,   342,   343,   344,
   26669             :       -1,   346,   347,   348,   349,   350,   351,   352,   353,   354,
   26670             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   26671             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   26672             :      375,    -1,   377,   378,    -1,   380,   381,   382,   383,   384,
   26673             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   26674             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   26675             :      405,   406,   407,    -1,   409,   410,   411,   412,    -1,   414,
   26676             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   26677             :      425,   426,   427,   428,   429,   430,   431,    -1,   433,   434,
   26678             :       -1,    -1,   437,    -1,   439,   440,   441,   442,   443,   444,
   26679             :       -1,   446,   447,   448,    -1,    -1,   451,   452,   453,   454,
   26680             :      455,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
   26681             :      465,    -1,    -1,   468,   469,   470,   471,   472,    -1,    -1,
   26682             :      475,   476,   477,   478,   479,   480,   481,    -1,   483,    -1,
   26683             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   26684             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   26685             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   26686             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26687             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   26688             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   26689             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   26690             :       44,    45,    46,    47,    -1,    49,    50,    51,    52,    53,
   26691             :       -1,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   26692             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   26693             :       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
   26694             :       84,    85,    86,    -1,    88,    89,    90,    91,    -1,    93,
   26695             :       94,    95,    96,    97,    98,    -1,    -1,   101,   102,   103,
   26696             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,
   26697             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   26698             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   26699             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   26700             :      144,   145,   146,    -1,   148,   149,   150,   151,    -1,   153,
   26701             :      154,   155,   156,   157,   158,   159,   160,   161,   162,    -1,
   26702             :      164,    -1,   166,   167,   168,   169,   170,    -1,   172,    -1,
   26703             :      174,   175,    -1,    -1,    -1,   179,   180,   181,   182,    -1,
   26704             :      184,   185,    -1,   187,   188,   189,    -1,   191,   192,   193,
   26705             :      194,   195,    -1,   197,   198,   199,   200,    -1,   202,   203,
   26706             :      204,   205,   206,   207,   208,   209,    -1,   211,    -1,   213,
   26707             :      214,   215,   216,   217,   218,   219,    -1,   221,    -1,   223,
   26708             :       -1,    -1,   226,    -1,   228,   229,   230,   231,   232,   233,
   26709             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   26710             :      244,   245,    -1,    -1,   248,   249,    -1,   251,    -1,    -1,
   26711             :      254,   255,   256,    -1,    -1,   259,   260,   261,   262,   263,
   26712             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   26713             :      274,   275,   276,   277,   278,    -1,   280,   281,   282,   283,
   26714             :      284,   285,   286,   287,   288,   289,   290,   291,    -1,   293,
   26715             :      294,    -1,   296,    -1,   298,   299,   300,   301,   302,   303,
   26716             :       -1,   305,   306,   307,    -1,    -1,   310,   311,   312,    -1,
   26717             :       -1,   315,   316,   317,    -1,   319,    -1,   321,   322,   323,
   26718             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   26719             :      334,    -1,   336,   337,   338,   339,   340,   341,   342,   343,
   26720             :      344,    -1,   346,   347,   348,   349,   350,   351,   352,   353,
   26721             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   26722             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   26723             :      374,   375,    -1,   377,   378,    -1,   380,   381,   382,   383,
   26724             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   26725             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   26726             :      404,   405,   406,   407,    -1,   409,   410,   411,   412,    -1,
   26727             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   26728             :      424,   425,   426,   427,   428,   429,   430,   431,    -1,   433,
   26729             :      434,    -1,    -1,   437,    -1,   439,   440,   441,   442,   443,
   26730             :      444,    -1,   446,   447,   448,    -1,    -1,   451,   452,   453,
   26731             :      454,   455,    -1,   457,   458,   459,   460,   461,   462,   463,
   26732             :      464,   465,    -1,    -1,   468,   469,   470,   471,   472,    -1,
   26733             :       -1,   475,   476,   477,   478,   479,   480,   481,    -1,   483,
   26734             :       -1,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   26735             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   26736             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   26737             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26738             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   26739             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   26740             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   26741             :       -1,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
   26742             :       53,    -1,    55,    56,    -1,    58,    59,    60,    61,    62,
   26743             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   26744             :       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
   26745             :       83,    84,    85,    86,    -1,    88,    89,    90,    91,    -1,
   26746             :       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
   26747             :      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,
   26748             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   26749             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   26750             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   26751             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,    -1,
   26752             :      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   26753             :       -1,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
   26754             :       -1,   174,   175,    -1,    -1,    -1,   179,   180,   181,   182,
   26755             :       -1,   184,   185,    -1,   187,   188,   189,    -1,   191,   192,
   26756             :      193,   194,   195,    -1,   197,   198,   199,   200,    -1,   202,
   26757             :      203,   204,   205,   206,   207,   208,   209,    -1,   211,    -1,
   26758             :      213,   214,   215,   216,   217,   218,   219,    -1,   221,    -1,
   26759             :      223,    -1,    -1,   226,    -1,   228,   229,   230,   231,   232,
   26760             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   26761             :      243,   244,   245,    -1,    -1,   248,   249,    -1,   251,    -1,
   26762             :       -1,   254,   255,   256,    -1,    -1,   259,   260,   261,   262,
   26763             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   26764             :      273,   274,   275,   276,   277,   278,    -1,   280,   281,   282,
   26765             :      283,   284,   285,   286,   287,   288,   289,   290,   291,    -1,
   26766             :      293,   294,    -1,   296,    -1,   298,   299,   300,   301,   302,
   26767             :      303,    -1,   305,   306,   307,    -1,    -1,   310,   311,   312,
   26768             :       -1,    -1,   315,   316,   317,    -1,   319,    -1,   321,   322,
   26769             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   26770             :      333,   334,    -1,   336,   337,   338,   339,   340,   341,   342,
   26771             :      343,   344,    -1,   346,   347,   348,   349,   350,   351,   352,
   26772             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   26773             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   26774             :      373,   374,   375,    -1,   377,   378,    -1,   380,   381,   382,
   26775             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   26776             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   26777             :      403,   404,   405,   406,   407,    -1,   409,   410,   411,   412,
   26778             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   26779             :      423,   424,   425,   426,   427,   428,   429,   430,   431,    -1,
   26780             :      433,   434,    -1,    -1,   437,    -1,   439,   440,   441,   442,
   26781             :      443,   444,    -1,   446,   447,   448,    -1,    -1,   451,   452,
   26782             :      453,   454,   455,    -1,   457,   458,   459,   460,   461,   462,
   26783             :      463,   464,   465,    -1,    -1,   468,   469,   470,   471,   472,
   26784             :       -1,    -1,   475,   476,   477,   478,   479,   480,   481,    -1,
   26785             :      483,    -1,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   26786             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   26787             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   26788             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26789             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   26790             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   26791             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   26792             :       42,    -1,    44,    45,    46,    47,    -1,    49,    50,    51,
   26793             :       52,    53,    -1,    55,    56,    -1,    58,    59,    60,    61,
   26794             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   26795             :       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
   26796             :       82,    83,    84,    85,    86,    -1,    88,    89,    90,    91,
   26797             :       -1,    93,    94,    95,    96,    97,    98,    -1,    -1,   101,
   26798             :      102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
   26799             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   26800             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   26801             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   26802             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   26803             :       -1,   153,   154,   155,   156,   157,   158,   159,   160,   161,
   26804             :      162,    -1,   164,    -1,   166,   167,   168,   169,   170,    -1,
   26805             :      172,    -1,   174,   175,    -1,    -1,    -1,   179,   180,   181,
   26806             :      182,    -1,   184,   185,    -1,   187,   188,   189,    -1,   191,
   26807             :      192,   193,   194,   195,    -1,   197,   198,   199,   200,    -1,
   26808             :      202,   203,   204,   205,   206,   207,   208,   209,    -1,   211,
   26809             :       -1,   213,   214,   215,   216,   217,   218,   219,    -1,   221,
   26810             :       -1,   223,    -1,    -1,   226,    -1,   228,   229,   230,   231,
   26811             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   26812             :      242,   243,   244,   245,    -1,    -1,   248,   249,    -1,   251,
   26813             :       -1,    -1,   254,   255,   256,    -1,    -1,   259,   260,   261,
   26814             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   26815             :      272,   273,   274,   275,   276,   277,   278,    -1,   280,   281,
   26816             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   26817             :       -1,   293,   294,    -1,   296,    -1,   298,   299,   300,   301,
   26818             :      302,   303,    -1,   305,   306,   307,    -1,    -1,   310,   311,
   26819             :      312,    -1,    -1,   315,   316,   317,    -1,   319,    -1,   321,
   26820             :      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   26821             :      332,   333,   334,    -1,   336,   337,   338,   339,   340,   341,
   26822             :      342,   343,   344,    -1,   346,   347,   348,   349,   350,   351,
   26823             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   26824             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   26825             :      372,   373,   374,   375,    -1,   377,   378,    -1,   380,   381,
   26826             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   26827             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   26828             :       -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
   26829             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   26830             :      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
   26831             :       -1,   433,   434,    -1,    -1,   437,    -1,   439,   440,   441,
   26832             :      442,   443,   444,    -1,   446,   447,   448,    -1,    -1,   451,
   26833             :      452,   453,   454,   455,    -1,   457,   458,   459,   460,   461,
   26834             :      462,   463,   464,   465,    -1,    -1,   468,   469,   470,   471,
   26835             :      472,    -1,    -1,   475,   476,   477,   478,   479,   480,   481,
   26836             :       -1,   483,    -1,   485,   486,   487,   488,    -1,    -1,   491,
   26837             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   26838             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   26839             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26840             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   26841             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   26842             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   26843             :       41,    42,    -1,    44,    45,    46,    47,    -1,    49,    50,
   26844             :       51,    52,    53,    -1,    55,    56,    -1,    58,    59,    60,
   26845             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   26846             :       71,    -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,
   26847             :       81,    82,    83,    84,    85,    86,    -1,    88,    89,    90,
   26848             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,    -1,
   26849             :      101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26850             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   26851             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   26852             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   26853             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   26854             :      151,    -1,   153,   154,   155,   156,   157,   158,   159,   160,
   26855             :      161,   162,    -1,   164,    -1,   166,   167,   168,   169,   170,
   26856             :       -1,   172,    -1,   174,   175,    -1,    -1,    -1,   179,   180,
   26857             :      181,   182,    -1,   184,   185,    -1,   187,   188,   189,    -1,
   26858             :      191,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
   26859             :       -1,   202,   203,   204,   205,   206,   207,   208,   209,    -1,
   26860             :      211,    -1,   213,   214,   215,   216,   217,   218,   219,    -1,
   26861             :      221,    -1,   223,    -1,    -1,   226,    -1,   228,   229,   230,
   26862             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   26863             :      241,   242,   243,   244,   245,    -1,    -1,   248,   249,    -1,
   26864             :      251,    -1,    -1,   254,   255,   256,    -1,    -1,   259,   260,
   26865             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   26866             :      271,   272,   273,   274,   275,   276,   277,   278,    -1,   280,
   26867             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   26868             :      291,    -1,   293,   294,    -1,   296,    -1,   298,   299,   300,
   26869             :      301,   302,   303,    -1,   305,   306,   307,    -1,    -1,   310,
   26870             :      311,   312,    -1,    -1,   315,   316,   317,    -1,   319,    -1,
   26871             :      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
   26872             :      331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
   26873             :      341,   342,   343,   344,    -1,   346,   347,   348,   349,   350,
   26874             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   26875             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   26876             :      371,   372,   373,   374,   375,    -1,   377,   378,    -1,   380,
   26877             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   26878             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   26879             :      401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
   26880             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   26881             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   26882             :      431,    -1,   433,   434,    -1,    -1,   437,    -1,   439,   440,
   26883             :      441,   442,   443,   444,    -1,   446,   447,   448,    -1,    -1,
   26884             :      451,   452,   453,   454,   455,    -1,   457,   458,   459,   460,
   26885             :      461,   462,   463,   464,   465,    -1,    -1,   468,   469,   470,
   26886             :      471,   472,    -1,    -1,   475,   476,   477,   478,   479,   480,
   26887             :      481,    -1,   483,    -1,   485,   486,   487,   488,    -1,    -1,
   26888             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   26889             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   26890             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   26891             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26892             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   26893             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26894             :       40,    41,    42,    -1,    44,    45,    46,    47,    -1,    49,
   26895             :       50,    51,    52,    53,    -1,    55,    56,    -1,    58,    59,
   26896             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   26897             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    -1,
   26898             :       -1,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
   26899             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   26900             :       -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
   26901             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   26902             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   26903             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   26904             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   26905             :      150,   151,    -1,   153,   154,   155,   156,   157,   158,   159,
   26906             :      160,   161,   162,    -1,   164,    -1,   166,   167,   168,   169,
   26907             :      170,    -1,   172,    -1,   174,   175,    -1,    -1,    -1,   179,
   26908             :      180,   181,   182,    -1,   184,   185,    -1,   187,   188,   189,
   26909             :       -1,   191,   192,   193,   194,   195,    -1,   197,   198,   199,
   26910             :      200,    -1,   202,   203,   204,   205,   206,   207,   208,   209,
   26911             :       -1,   211,    -1,   213,   214,   215,   216,   217,   218,   219,
   26912             :       -1,   221,    -1,   223,    -1,    -1,   226,    -1,   228,   229,
   26913             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   26914             :      240,   241,   242,   243,   244,   245,    -1,    -1,   248,   249,
   26915             :       -1,   251,    -1,    -1,   254,   255,   256,    -1,    -1,   259,
   26916             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   26917             :      270,   271,   272,   273,   274,   275,   276,   277,   278,    -1,
   26918             :      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   26919             :      290,   291,    -1,   293,   294,    -1,   296,    -1,   298,   299,
   26920             :      300,   301,   302,   303,    -1,   305,   306,   307,    -1,    -1,
   26921             :      310,   311,   312,    -1,    -1,   315,   316,   317,    -1,   319,
   26922             :       -1,   321,   322,   323,   324,   325,   326,   327,   328,   329,
   26923             :      330,   331,   332,   333,   334,    -1,   336,   337,   338,   339,
   26924             :      340,   341,   342,   343,   344,    -1,   346,   347,   348,   349,
   26925             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   26926             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   26927             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,    -1,
   26928             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   26929             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   26930             :      400,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
   26931             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   26932             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   26933             :      430,   431,    -1,   433,   434,    -1,    -1,   437,    -1,   439,
   26934             :      440,   441,   442,   443,   444,    -1,   446,   447,   448,    -1,
   26935             :       -1,   451,   452,   453,   454,   455,    -1,   457,   458,   459,
   26936             :      460,   461,   462,   463,   464,   465,    -1,    -1,   468,   469,
   26937             :      470,   471,   472,    -1,    -1,   475,   476,   477,   478,   479,
   26938             :      480,   481,    -1,   483,    -1,   485,   486,   487,   488,    -1,
   26939             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   26940             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   26941             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   26942             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26943             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   26944             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   26945             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   26946             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   26947             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   26948             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   26949             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   26950             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   26951             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   26952             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   26953             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   26954             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   26955             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   26956             :      149,   150,   151,    -1,   153,   154,   155,   156,   157,   158,
   26957             :      159,   160,   161,   162,    -1,   164,    -1,   166,   167,   168,
   26958             :      169,   170,    -1,   172,    -1,   174,   175,    -1,    -1,    -1,
   26959             :      179,   180,   181,   182,    -1,   184,   185,    -1,   187,   188,
   26960             :      189,    -1,   191,   192,   193,   194,   195,    -1,   197,   198,
   26961             :      199,   200,    -1,   202,   203,   204,   205,   206,   207,   208,
   26962             :      209,    -1,   211,    -1,   213,   214,   215,   216,   217,   218,
   26963             :      219,    -1,   221,    -1,   223,    -1,    -1,   226,    -1,   228,
   26964             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   26965             :      239,   240,   241,   242,   243,   244,   245,    -1,    -1,   248,
   26966             :      249,    -1,   251,    -1,    -1,   254,   255,   256,    -1,    -1,
   26967             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   26968             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   26969             :       -1,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   26970             :      289,   290,   291,    -1,   293,   294,    -1,   296,    -1,   298,
   26971             :      299,   300,   301,   302,   303,    -1,   305,   306,   307,    -1,
   26972             :       -1,   310,   311,   312,    -1,    -1,   315,   316,   317,    -1,
   26973             :      319,    -1,   321,   322,   323,   324,   325,   326,   327,   328,
   26974             :      329,   330,   331,   332,   333,   334,    -1,   336,   337,   338,
   26975             :      339,   340,   341,   342,   343,   344,    -1,   346,   347,   348,
   26976             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   26977             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   26978             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   26979             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   26980             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   26981             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   26982             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   26983             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   26984             :      429,   430,   431,    -1,   433,   434,    -1,    -1,   437,    -1,
   26985             :      439,   440,   441,   442,   443,   444,    -1,   446,   447,   448,
   26986             :       -1,    -1,   451,   452,   453,   454,   455,    -1,   457,   458,
   26987             :      459,   460,   461,   462,   463,   464,   465,    -1,    -1,   468,
   26988             :      469,   470,   471,   472,    -1,    -1,   475,   476,   477,   478,
   26989             :      479,   480,   481,    -1,   483,    -1,   485,   486,   487,   488,
   26990             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   26991             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   26992             :      509,   510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,
   26993             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26994             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   26995             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   26996             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   26997             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   26998             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   26999             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   27000             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   27001             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   27002             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   27003             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   27004             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   27005             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   27006             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   27007             :      148,   149,   150,   151,    -1,   153,   154,   155,   156,   157,
   27008             :      158,   159,   160,   161,   162,    -1,   164,    -1,   166,   167,
   27009             :      168,   169,   170,    -1,   172,    -1,   174,   175,    -1,    -1,
   27010             :       -1,   179,   180,   181,   182,    -1,   184,   185,    -1,   187,
   27011             :      188,   189,    -1,   191,   192,   193,   194,   195,    -1,   197,
   27012             :      198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
   27013             :      208,   209,    -1,   211,    -1,   213,   214,   215,   216,   217,
   27014             :      218,   219,    -1,   221,    -1,   223,    -1,    -1,   226,    -1,
   27015             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   27016             :      238,   239,   240,   241,   242,   243,   244,   245,    -1,    -1,
   27017             :      248,   249,    -1,   251,    -1,    -1,   254,   255,   256,    -1,
   27018             :       -1,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   27019             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   27020             :      278,    -1,   280,   281,   282,   283,   284,   285,   286,   287,
   27021             :      288,   289,   290,   291,    -1,   293,   294,    -1,   296,    -1,
   27022             :      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
   27023             :       -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,   317,
   27024             :       -1,   319,    -1,   321,   322,   323,   324,   325,   326,   327,
   27025             :      328,   329,   330,   331,   332,   333,   334,    -1,   336,   337,
   27026             :      338,   339,   340,   341,   342,   343,   344,    -1,   346,   347,
   27027             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   27028             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   27029             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   27030             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   27031             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   27032             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   27033             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   27034             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   27035             :      428,   429,   430,   431,    -1,   433,   434,    -1,    -1,   437,
   27036             :       -1,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
   27037             :      448,    -1,    -1,   451,   452,   453,   454,   455,    -1,   457,
   27038             :      458,   459,   460,   461,   462,   463,   464,   465,    -1,    -1,
   27039             :      468,   469,   470,   471,   472,    -1,    -1,   475,   476,   477,
   27040             :      478,   479,   480,   481,    -1,   483,    -1,   485,   486,   487,
   27041             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   27042             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   27043             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,    -1,
   27044             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27045             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   27046             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   27047             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   27048             :       47,    -1,    49,    50,    51,    52,    53,    -1,    55,    56,
   27049             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   27050             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   27051             :       77,    -1,    -1,    -1,    81,    82,    83,    84,    85,    86,
   27052             :       -1,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   27053             :       97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,
   27054             :       -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   27055             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   27056             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   27057             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   27058             :       -1,   148,   149,   150,   151,    -1,   153,   154,   155,   156,
   27059             :      157,   158,   159,   160,   161,   162,    -1,   164,    -1,   166,
   27060             :      167,   168,   169,   170,    -1,   172,    -1,   174,   175,    -1,
   27061             :       -1,    -1,   179,   180,   181,   182,    -1,   184,   185,    -1,
   27062             :      187,   188,   189,    -1,   191,   192,   193,   194,   195,    -1,
   27063             :      197,   198,   199,   200,    -1,   202,   203,   204,   205,   206,
   27064             :      207,   208,   209,    -1,   211,    -1,   213,   214,   215,   216,
   27065             :      217,   218,   219,    -1,   221,    -1,   223,    -1,    -1,   226,
   27066             :       -1,   228,   229,   230,   231,   232,   233,   234,   235,   236,
   27067             :      237,   238,   239,   240,   241,   242,   243,   244,   245,    -1,
   27068             :       -1,   248,   249,    -1,   251,    -1,    -1,   254,   255,   256,
   27069             :       -1,    -1,   259,   260,   261,   262,   263,   264,   265,   266,
   27070             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   27071             :      277,   278,    -1,   280,   281,   282,   283,   284,   285,   286,
   27072             :      287,   288,   289,   290,   291,    -1,   293,   294,    -1,   296,
   27073             :       -1,   298,   299,   300,   301,   302,   303,    -1,   305,   306,
   27074             :      307,    -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,
   27075             :      317,    -1,   319,    -1,   321,   322,   323,   324,   325,   326,
   27076             :      327,   328,   329,   330,   331,   332,   333,   334,    -1,   336,
   27077             :      337,   338,   339,   340,   341,   342,   343,   344,    -1,   346,
   27078             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   27079             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   27080             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   27081             :      377,   378,    -1,   380,   381,   382,   383,   384,   385,   386,
   27082             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   27083             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   27084             :      407,    -1,   409,   410,   411,   412,    -1,   414,   415,   416,
   27085             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   27086             :      427,   428,   429,   430,   431,    -1,   433,   434,    -1,    -1,
   27087             :      437,    -1,   439,   440,   441,   442,   443,   444,    -1,   446,
   27088             :      447,   448,    -1,    -1,   451,   452,   453,   454,   455,    -1,
   27089             :      457,   458,   459,   460,   461,   462,   463,   464,   465,    -1,
   27090             :       -1,   468,   469,   470,   471,   472,    -1,    -1,   475,   476,
   27091             :      477,   478,   479,   480,   481,    -1,   483,    -1,   485,   486,
   27092             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   27093             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   27094             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   27095             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27096             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   27097             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   27098             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   27099             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   27100             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   27101             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   27102             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   27103             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   27104             :       96,    97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,
   27105             :       -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   27106             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   27107             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   27108             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   27109             :      146,    -1,   148,   149,   150,   151,    -1,   153,   154,   155,
   27110             :      156,   157,   158,   159,   160,   161,   162,    -1,   164,    -1,
   27111             :      166,   167,   168,   169,   170,    -1,   172,    -1,   174,   175,
   27112             :       -1,    -1,    -1,   179,   180,   181,   182,    -1,   184,   185,
   27113             :       -1,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
   27114             :       -1,   197,   198,   199,   200,    -1,   202,   203,   204,   205,
   27115             :      206,   207,   208,   209,    -1,   211,    -1,   213,   214,   215,
   27116             :      216,   217,   218,   219,    -1,   221,    -1,   223,    -1,    -1,
   27117             :      226,    -1,   228,   229,   230,   231,   232,   233,   234,   235,
   27118             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   27119             :       -1,    -1,   248,   249,    -1,   251,    -1,    -1,   254,   255,
   27120             :      256,    -1,    -1,   259,   260,   261,   262,   263,   264,   265,
   27121             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   27122             :      276,   277,   278,    -1,   280,   281,   282,   283,   284,   285,
   27123             :      286,   287,   288,   289,   290,   291,    -1,   293,   294,    -1,
   27124             :      296,    -1,   298,   299,   300,   301,   302,   303,    -1,   305,
   27125             :      306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,   315,
   27126             :      316,   317,    -1,   319,    -1,   321,   322,   323,   324,   325,
   27127             :      326,   327,   328,   329,   330,   331,   332,   333,   334,    -1,
   27128             :      336,   337,   338,   339,   340,   341,   342,   343,   344,    -1,
   27129             :      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   27130             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   27131             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   27132             :       -1,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
   27133             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   27134             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   27135             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   27136             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   27137             :      426,   427,   428,   429,   430,   431,    -1,   433,   434,    -1,
   27138             :       -1,   437,    -1,   439,   440,   441,   442,   443,   444,    -1,
   27139             :      446,   447,   448,    -1,    -1,   451,   452,   453,   454,   455,
   27140             :       -1,   457,   458,   459,   460,   461,   462,   463,   464,   465,
   27141             :       -1,    -1,   468,   469,   470,   471,   472,    -1,    -1,   475,
   27142             :      476,   477,   478,   479,   480,   481,    -1,   483,    -1,   485,
   27143             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   27144             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   27145             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   27146             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27147             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   27148             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   27149             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   27150             :       45,    46,    47,    -1,    49,    50,    51,    52,    53,    -1,
   27151             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   27152             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   27153             :       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    84,
   27154             :       85,    86,    -1,    88,    89,    90,    91,    -1,    93,    94,
   27155             :       95,    96,    97,    98,    -1,    -1,   101,   102,   103,    -1,
   27156             :       -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,
   27157             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   27158             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   27159             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   27160             :      145,   146,    -1,   148,   149,   150,   151,    -1,   153,   154,
   27161             :      155,   156,   157,   158,   159,   160,   161,   162,    -1,   164,
   27162             :       -1,   166,   167,   168,   169,   170,    -1,   172,    -1,   174,
   27163             :      175,    -1,    -1,    -1,   179,   180,   181,   182,    -1,   184,
   27164             :      185,    -1,   187,   188,   189,    -1,   191,   192,   193,   194,
   27165             :      195,    -1,   197,   198,   199,   200,    -1,   202,   203,   204,
   27166             :      205,   206,   207,   208,   209,    -1,   211,    -1,   213,   214,
   27167             :      215,   216,   217,   218,   219,    -1,   221,    -1,   223,    -1,
   27168             :       -1,   226,    -1,   228,   229,   230,   231,   232,   233,   234,
   27169             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   27170             :      245,    -1,    -1,   248,   249,    -1,   251,    -1,    -1,   254,
   27171             :      255,   256,    -1,    -1,   259,   260,   261,   262,   263,   264,
   27172             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   27173             :      275,   276,   277,   278,    -1,   280,   281,   282,   283,   284,
   27174             :      285,   286,   287,   288,   289,   290,   291,    -1,   293,   294,
   27175             :       -1,   296,    -1,   298,   299,   300,   301,   302,   303,    -1,
   27176             :      305,   306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,
   27177             :      315,   316,   317,    -1,   319,    -1,   321,   322,   323,   324,
   27178             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   27179             :       -1,   336,   337,   338,   339,   340,   341,   342,   343,   344,
   27180             :       -1,   346,   347,   348,   349,   350,   351,   352,   353,   354,
   27181             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   27182             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   27183             :      375,    -1,   377,   378,    -1,   380,   381,   382,   383,   384,
   27184             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   27185             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   27186             :      405,   406,   407,    -1,   409,   410,   411,   412,    -1,   414,
   27187             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   27188             :      425,   426,   427,   428,   429,   430,   431,    -1,   433,   434,
   27189             :       -1,    -1,   437,    -1,   439,   440,   441,   442,   443,   444,
   27190             :       -1,   446,   447,   448,    -1,    -1,   451,   452,   453,   454,
   27191             :      455,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
   27192             :      465,    -1,    -1,   468,   469,   470,   471,   472,    -1,    -1,
   27193             :      475,   476,   477,   478,   479,   480,   481,    -1,   483,    -1,
   27194             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   27195             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   27196             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   27197             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27198             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   27199             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   27200             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   27201             :       44,    45,    46,    47,    -1,    49,    50,    51,    52,    53,
   27202             :       -1,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   27203             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   27204             :       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
   27205             :       84,    85,    86,    -1,    88,    89,    90,    91,    -1,    93,
   27206             :       94,    95,    96,    97,    98,    -1,    -1,   101,   102,   103,
   27207             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,
   27208             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   27209             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   27210             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   27211             :      144,   145,   146,    -1,   148,   149,   150,   151,    -1,   153,
   27212             :      154,   155,   156,   157,   158,   159,   160,   161,   162,    -1,
   27213             :      164,    -1,   166,   167,   168,   169,   170,    -1,   172,    -1,
   27214             :      174,   175,    -1,    -1,    -1,   179,   180,   181,   182,    -1,
   27215             :      184,   185,    -1,   187,   188,   189,    -1,   191,   192,   193,
   27216             :      194,   195,    -1,   197,   198,   199,   200,    -1,   202,   203,
   27217             :      204,   205,   206,   207,   208,   209,    -1,   211,    -1,   213,
   27218             :      214,   215,   216,   217,   218,   219,    -1,   221,    -1,   223,
   27219             :       -1,    -1,   226,    -1,   228,   229,   230,   231,   232,   233,
   27220             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   27221             :      244,   245,    -1,    -1,   248,   249,    -1,   251,    -1,    -1,
   27222             :      254,   255,   256,    -1,    -1,   259,   260,   261,   262,   263,
   27223             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   27224             :      274,   275,   276,   277,   278,    -1,   280,   281,   282,   283,
   27225             :      284,   285,   286,   287,   288,   289,   290,   291,    -1,   293,
   27226             :      294,    -1,   296,    -1,   298,   299,   300,   301,   302,   303,
   27227             :       -1,   305,   306,   307,    -1,    -1,   310,   311,   312,    -1,
   27228             :       -1,   315,   316,   317,    -1,   319,    -1,   321,   322,   323,
   27229             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   27230             :      334,    -1,   336,   337,   338,   339,   340,   341,   342,   343,
   27231             :      344,    -1,   346,   347,   348,   349,   350,   351,   352,   353,
   27232             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   27233             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   27234             :      374,   375,    -1,   377,   378,    -1,   380,   381,   382,   383,
   27235             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   27236             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   27237             :      404,   405,   406,   407,    -1,   409,   410,   411,   412,    -1,
   27238             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   27239             :      424,   425,   426,   427,   428,   429,   430,   431,    -1,   433,
   27240             :      434,    -1,    -1,   437,    -1,   439,   440,   441,   442,   443,
   27241             :      444,    -1,   446,   447,   448,    -1,    -1,   451,   452,   453,
   27242             :      454,   455,    -1,   457,   458,   459,   460,   461,   462,   463,
   27243             :      464,   465,    -1,    -1,   468,   469,   470,   471,   472,    -1,
   27244             :       -1,   475,   476,   477,   478,   479,   480,   481,    -1,   483,
   27245             :       -1,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   27246             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   27247             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   27248             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27249             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   27250             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   27251             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   27252             :       -1,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
   27253             :       53,    -1,    55,    56,    -1,    58,    59,    60,    61,    62,
   27254             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   27255             :       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
   27256             :       83,    84,    85,    86,    -1,    88,    89,    90,    91,    -1,
   27257             :       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
   27258             :      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,
   27259             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   27260             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   27261             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   27262             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,    -1,
   27263             :      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   27264             :       -1,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
   27265             :       -1,   174,   175,    -1,    -1,    -1,   179,   180,   181,   182,
   27266             :       -1,   184,   185,    -1,   187,   188,   189,    -1,   191,   192,
   27267             :      193,   194,   195,    -1,   197,   198,   199,   200,    -1,   202,
   27268             :      203,   204,   205,   206,   207,   208,   209,    -1,   211,    -1,
   27269             :      213,   214,   215,   216,   217,   218,   219,    -1,   221,    -1,
   27270             :      223,    -1,    -1,   226,    -1,   228,   229,   230,   231,   232,
   27271             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   27272             :      243,   244,   245,    -1,    -1,   248,   249,    -1,   251,    -1,
   27273             :       -1,   254,   255,   256,    -1,    -1,   259,   260,   261,   262,
   27274             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   27275             :      273,   274,   275,   276,   277,   278,    -1,   280,   281,   282,
   27276             :      283,   284,   285,   286,   287,   288,   289,   290,   291,    -1,
   27277             :      293,   294,    -1,   296,    -1,   298,   299,   300,   301,   302,
   27278             :      303,    -1,   305,   306,   307,    -1,    -1,   310,   311,   312,
   27279             :       -1,    -1,   315,   316,   317,    -1,   319,    -1,   321,   322,
   27280             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   27281             :      333,   334,    -1,   336,   337,   338,   339,   340,   341,   342,
   27282             :      343,   344,    -1,   346,   347,   348,   349,   350,   351,   352,
   27283             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   27284             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   27285             :      373,   374,   375,    -1,   377,   378,    -1,   380,   381,   382,
   27286             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   27287             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   27288             :      403,   404,   405,   406,   407,    -1,   409,   410,   411,   412,
   27289             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   27290             :      423,   424,   425,   426,   427,   428,   429,   430,   431,    -1,
   27291             :      433,   434,    -1,    -1,   437,    -1,   439,   440,   441,   442,
   27292             :      443,   444,    -1,   446,   447,   448,    -1,    -1,   451,   452,
   27293             :      453,   454,   455,    -1,   457,   458,   459,   460,   461,   462,
   27294             :      463,   464,   465,    -1,    -1,   468,   469,   470,   471,   472,
   27295             :       -1,    -1,   475,   476,   477,   478,   479,   480,   481,    -1,
   27296             :      483,    -1,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   27297             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   27298             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   27299             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27300             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   27301             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   27302             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   27303             :       42,    -1,    44,    45,    46,    47,    -1,    49,    50,    51,
   27304             :       52,    53,    -1,    55,    56,    -1,    58,    59,    60,    61,
   27305             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   27306             :       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
   27307             :       82,    83,    84,    85,    86,    -1,    88,    89,    90,    91,
   27308             :       -1,    93,    94,    95,    96,    97,    98,    -1,    -1,   101,
   27309             :      102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
   27310             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   27311             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   27312             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   27313             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   27314             :       -1,   153,   154,   155,   156,   157,   158,   159,   160,   161,
   27315             :      162,    -1,   164,    -1,   166,   167,   168,   169,   170,    -1,
   27316             :      172,    -1,   174,   175,    -1,    -1,    -1,   179,   180,   181,
   27317             :      182,    -1,   184,   185,    -1,   187,   188,   189,    -1,   191,
   27318             :      192,   193,   194,   195,    -1,   197,   198,   199,   200,    -1,
   27319             :      202,   203,   204,   205,   206,   207,   208,   209,    -1,   211,
   27320             :       -1,   213,   214,   215,   216,   217,   218,   219,    -1,   221,
   27321             :       -1,   223,    -1,    -1,   226,    -1,   228,   229,   230,   231,
   27322             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   27323             :      242,   243,   244,   245,    -1,    -1,   248,   249,    -1,   251,
   27324             :       -1,    -1,   254,   255,   256,    -1,    -1,   259,   260,   261,
   27325             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   27326             :      272,   273,   274,   275,   276,   277,   278,    -1,   280,   281,
   27327             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   27328             :       -1,   293,   294,    -1,   296,    -1,   298,   299,   300,   301,
   27329             :      302,   303,    -1,   305,   306,   307,    -1,    -1,   310,   311,
   27330             :      312,    -1,    -1,   315,   316,   317,    -1,   319,    -1,   321,
   27331             :      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   27332             :      332,   333,   334,    -1,   336,   337,   338,   339,   340,   341,
   27333             :      342,   343,   344,    -1,   346,   347,   348,   349,   350,   351,
   27334             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   27335             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   27336             :      372,   373,   374,   375,    -1,   377,   378,    -1,   380,   381,
   27337             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   27338             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   27339             :       -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
   27340             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   27341             :      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
   27342             :       -1,   433,   434,    -1,    -1,   437,    -1,   439,   440,   441,
   27343             :      442,   443,   444,    -1,   446,   447,   448,    -1,    -1,   451,
   27344             :      452,   453,   454,   455,    -1,   457,   458,   459,   460,   461,
   27345             :      462,   463,   464,   465,    -1,    -1,   468,   469,   470,   471,
   27346             :      472,    -1,    -1,   475,   476,   477,   478,   479,   480,   481,
   27347             :       -1,   483,    -1,   485,   486,   487,   488,    -1,    -1,   491,
   27348             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   27349             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   27350             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27351             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   27352             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   27353             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   27354             :       41,    42,    -1,    44,    45,    46,    47,    -1,    49,    50,
   27355             :       51,    52,    53,    -1,    55,    56,    -1,    58,    59,    60,
   27356             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   27357             :       71,    -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,
   27358             :       81,    82,    83,    84,    85,    86,    -1,    88,    89,    90,
   27359             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,    -1,
   27360             :      101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27361             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   27362             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   27363             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   27364             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   27365             :      151,    -1,   153,   154,   155,   156,   157,   158,   159,   160,
   27366             :      161,   162,    -1,   164,    -1,   166,   167,   168,   169,   170,
   27367             :       -1,   172,    -1,   174,   175,    -1,    -1,    -1,   179,   180,
   27368             :      181,   182,    -1,   184,   185,    -1,   187,   188,   189,    -1,
   27369             :      191,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
   27370             :       -1,   202,   203,   204,   205,   206,   207,   208,   209,    -1,
   27371             :      211,    -1,   213,   214,   215,   216,   217,   218,   219,    -1,
   27372             :      221,    -1,   223,    -1,    -1,   226,    -1,   228,   229,   230,
   27373             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   27374             :      241,   242,   243,   244,   245,    -1,    -1,   248,   249,    -1,
   27375             :      251,    -1,    -1,   254,   255,   256,    -1,    -1,   259,   260,
   27376             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   27377             :      271,   272,   273,   274,   275,   276,   277,   278,    -1,   280,
   27378             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   27379             :      291,    -1,   293,   294,    -1,   296,    -1,   298,   299,   300,
   27380             :      301,   302,   303,    -1,   305,   306,   307,    -1,    -1,   310,
   27381             :      311,   312,    -1,    -1,   315,   316,   317,    -1,   319,    -1,
   27382             :      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
   27383             :      331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
   27384             :      341,   342,   343,   344,    -1,   346,   347,   348,   349,   350,
   27385             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   27386             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   27387             :      371,   372,   373,   374,   375,    -1,   377,   378,    -1,   380,
   27388             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   27389             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   27390             :      401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
   27391             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   27392             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   27393             :      431,    -1,   433,   434,    -1,    -1,   437,    -1,   439,   440,
   27394             :      441,   442,   443,   444,    -1,   446,   447,   448,    -1,    -1,
   27395             :      451,   452,   453,   454,   455,    -1,   457,   458,   459,   460,
   27396             :      461,   462,   463,   464,   465,    -1,    -1,   468,   469,   470,
   27397             :      471,   472,    -1,    -1,   475,   476,   477,   478,   479,   480,
   27398             :      481,    -1,   483,    -1,   485,   486,   487,   488,    -1,    -1,
   27399             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   27400             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   27401             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   27402             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27403             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   27404             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27405             :       40,    41,    42,    -1,    44,    45,    46,    47,    -1,    49,
   27406             :       50,    51,    52,    53,    -1,    55,    56,    -1,    58,    59,
   27407             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   27408             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    -1,
   27409             :       -1,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
   27410             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   27411             :       -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
   27412             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   27413             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   27414             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   27415             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   27416             :      150,   151,    -1,   153,   154,   155,   156,   157,   158,   159,
   27417             :      160,   161,   162,    -1,   164,    -1,   166,   167,   168,   169,
   27418             :      170,    -1,   172,    -1,   174,   175,    -1,    -1,    -1,   179,
   27419             :      180,   181,   182,    -1,   184,   185,    -1,   187,   188,   189,
   27420             :       -1,   191,   192,   193,   194,   195,    -1,   197,   198,   199,
   27421             :      200,    -1,   202,   203,   204,   205,   206,   207,   208,   209,
   27422             :       -1,   211,    -1,   213,   214,   215,   216,   217,   218,   219,
   27423             :       -1,   221,    -1,   223,    -1,    -1,   226,    -1,   228,   229,
   27424             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   27425             :      240,   241,   242,   243,   244,   245,    -1,    -1,   248,   249,
   27426             :       -1,   251,    -1,    -1,   254,   255,   256,    -1,    -1,   259,
   27427             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   27428             :      270,   271,   272,   273,   274,   275,   276,   277,   278,    -1,
   27429             :      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   27430             :      290,   291,    -1,   293,   294,    -1,   296,    -1,   298,   299,
   27431             :      300,   301,   302,   303,    -1,   305,   306,   307,    -1,    -1,
   27432             :      310,   311,   312,    -1,    -1,   315,   316,   317,    -1,   319,
   27433             :       -1,   321,   322,   323,   324,   325,   326,   327,   328,   329,
   27434             :      330,   331,   332,   333,   334,    -1,   336,   337,   338,   339,
   27435             :      340,   341,   342,   343,   344,    -1,   346,   347,   348,   349,
   27436             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   27437             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   27438             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,    -1,
   27439             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   27440             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   27441             :      400,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
   27442             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   27443             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   27444             :      430,   431,    -1,   433,   434,    -1,    -1,   437,    -1,   439,
   27445             :      440,   441,   442,   443,   444,    -1,   446,   447,   448,    -1,
   27446             :       -1,   451,   452,   453,   454,   455,    -1,   457,   458,   459,
   27447             :      460,   461,   462,   463,   464,   465,    -1,    -1,   468,   469,
   27448             :      470,   471,   472,    -1,    -1,   475,   476,   477,   478,   479,
   27449             :      480,   481,    -1,   483,    -1,   485,   486,   487,   488,    -1,
   27450             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   27451             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   27452             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   27453             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27454             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   27455             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   27456             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   27457             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   27458             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   27459             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   27460             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   27461             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   27462             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   27463             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   27464             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   27465             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   27466             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   27467             :      149,   150,   151,    -1,   153,   154,   155,   156,   157,   158,
   27468             :      159,   160,   161,   162,    -1,   164,    -1,   166,   167,   168,
   27469             :      169,   170,    -1,   172,    -1,   174,   175,    -1,    -1,    -1,
   27470             :      179,   180,   181,   182,    -1,   184,   185,    -1,   187,   188,
   27471             :      189,    -1,   191,   192,   193,   194,   195,    -1,   197,   198,
   27472             :      199,   200,    -1,   202,   203,   204,   205,   206,   207,   208,
   27473             :      209,    -1,   211,    -1,   213,   214,   215,   216,   217,   218,
   27474             :      219,    -1,   221,    -1,   223,    -1,    -1,   226,    -1,   228,
   27475             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   27476             :      239,   240,   241,   242,   243,   244,   245,    -1,    -1,   248,
   27477             :      249,    -1,   251,    -1,    -1,   254,   255,   256,    -1,    -1,
   27478             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   27479             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   27480             :       -1,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   27481             :      289,   290,   291,    -1,   293,   294,    -1,   296,    -1,   298,
   27482             :      299,   300,   301,   302,   303,    -1,   305,   306,   307,    -1,
   27483             :       -1,   310,   311,   312,    -1,    -1,   315,   316,   317,    -1,
   27484             :      319,    -1,   321,   322,   323,   324,   325,   326,   327,   328,
   27485             :      329,   330,   331,   332,   333,   334,    -1,   336,   337,   338,
   27486             :      339,   340,   341,   342,   343,   344,    -1,   346,   347,   348,
   27487             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   27488             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   27489             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   27490             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   27491             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   27492             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   27493             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   27494             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   27495             :      429,   430,   431,    -1,   433,   434,    -1,    -1,   437,    -1,
   27496             :      439,   440,   441,   442,   443,   444,    -1,   446,   447,   448,
   27497             :       -1,    -1,   451,   452,   453,   454,   455,    -1,   457,   458,
   27498             :      459,   460,   461,   462,   463,   464,   465,    -1,    -1,   468,
   27499             :      469,   470,   471,   472,    -1,    -1,   475,   476,   477,   478,
   27500             :      479,   480,   481,    -1,   483,    -1,   485,   486,   487,   488,
   27501             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   27502             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   27503             :      509,   510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,
   27504             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27505             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   27506             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   27507             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   27508             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   27509             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   27510             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   27511             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   27512             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   27513             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   27514             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   27515             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   27516             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   27517             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   27518             :      148,   149,   150,   151,    -1,   153,   154,   155,   156,   157,
   27519             :      158,   159,   160,   161,   162,    -1,   164,    -1,   166,   167,
   27520             :      168,   169,   170,    -1,   172,    -1,   174,   175,    -1,    -1,
   27521             :       -1,   179,   180,   181,   182,    -1,   184,   185,    -1,   187,
   27522             :      188,   189,    -1,   191,   192,   193,   194,   195,    -1,   197,
   27523             :      198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
   27524             :      208,   209,    -1,   211,    -1,   213,   214,   215,   216,   217,
   27525             :      218,   219,    -1,   221,    -1,   223,    -1,    -1,   226,    -1,
   27526             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   27527             :      238,   239,   240,   241,   242,   243,   244,   245,    -1,    -1,
   27528             :      248,   249,    -1,   251,    -1,    -1,   254,   255,   256,    -1,
   27529             :       -1,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   27530             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   27531             :      278,    -1,   280,   281,   282,   283,   284,   285,   286,   287,
   27532             :      288,   289,   290,   291,    -1,   293,   294,    -1,   296,    -1,
   27533             :      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
   27534             :       -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,   317,
   27535             :       -1,   319,    -1,   321,   322,   323,   324,   325,   326,   327,
   27536             :      328,   329,   330,   331,   332,   333,   334,    -1,   336,   337,
   27537             :      338,   339,   340,   341,   342,   343,   344,    -1,   346,   347,
   27538             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   27539             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   27540             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   27541             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   27542             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   27543             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   27544             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   27545             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   27546             :      428,   429,   430,   431,    -1,   433,   434,    -1,    -1,   437,
   27547             :       -1,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
   27548             :      448,    -1,    -1,   451,   452,   453,   454,   455,    -1,   457,
   27549             :      458,   459,   460,   461,   462,   463,   464,   465,    -1,    -1,
   27550             :      468,   469,   470,   471,   472,    -1,    -1,   475,   476,   477,
   27551             :      478,   479,   480,   481,    -1,   483,    -1,   485,   486,   487,
   27552             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   27553             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   27554             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,    -1,
   27555             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27556             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   27557             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   27558             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   27559             :       47,    -1,    49,    50,    51,    52,    53,    -1,    55,    56,
   27560             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   27561             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   27562             :       77,    -1,    -1,    -1,    81,    82,    83,    84,    85,    86,
   27563             :       -1,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   27564             :       97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,
   27565             :       -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   27566             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   27567             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   27568             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   27569             :       -1,   148,   149,   150,   151,    -1,   153,   154,   155,   156,
   27570             :      157,   158,   159,   160,   161,   162,    -1,   164,    -1,   166,
   27571             :      167,   168,   169,   170,    -1,   172,    -1,   174,   175,    -1,
   27572             :       -1,    -1,   179,   180,   181,   182,    -1,   184,   185,    -1,
   27573             :      187,   188,   189,    -1,   191,   192,   193,   194,   195,    -1,
   27574             :      197,   198,   199,   200,    -1,   202,   203,   204,   205,   206,
   27575             :      207,   208,   209,    -1,   211,    -1,   213,   214,   215,   216,
   27576             :      217,   218,   219,    -1,   221,    -1,   223,    -1,    -1,   226,
   27577             :       -1,   228,   229,   230,   231,   232,   233,   234,   235,   236,
   27578             :      237,   238,   239,   240,   241,   242,   243,   244,   245,    -1,
   27579             :       -1,   248,   249,    -1,   251,    -1,    -1,   254,   255,   256,
   27580             :       -1,    -1,   259,   260,   261,   262,   263,   264,   265,   266,
   27581             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   27582             :      277,   278,    -1,   280,   281,   282,   283,   284,   285,   286,
   27583             :      287,   288,   289,   290,   291,    -1,   293,   294,    -1,   296,
   27584             :       -1,   298,   299,   300,   301,   302,   303,    -1,   305,   306,
   27585             :      307,    -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,
   27586             :      317,    -1,   319,    -1,   321,   322,   323,   324,   325,   326,
   27587             :      327,   328,   329,   330,   331,   332,   333,   334,    -1,   336,
   27588             :      337,   338,   339,   340,   341,   342,   343,   344,    -1,   346,
   27589             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   27590             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   27591             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   27592             :      377,   378,    -1,   380,   381,   382,   383,   384,   385,   386,
   27593             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   27594             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   27595             :      407,    -1,   409,   410,   411,   412,    -1,   414,   415,   416,
   27596             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   27597             :      427,   428,   429,   430,   431,    -1,   433,   434,    -1,    -1,
   27598             :      437,    -1,   439,   440,   441,   442,   443,   444,    -1,   446,
   27599             :      447,   448,    -1,    -1,   451,   452,   453,   454,   455,    -1,
   27600             :      457,   458,   459,   460,   461,   462,   463,   464,   465,    -1,
   27601             :       -1,   468,   469,   470,   471,   472,    -1,    -1,   475,   476,
   27602             :      477,   478,   479,   480,   481,    -1,   483,    -1,   485,   486,
   27603             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   27604             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   27605             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   27606             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27607             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   27608             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   27609             :       -1,    -1,    38,    -1,    40,    41,    42,    -1,    44,    45,
   27610             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   27611             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   27612             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   27613             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   27614             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   27615             :       96,    97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,
   27616             :       -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   27617             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   27618             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   27619             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   27620             :      146,    -1,   148,   149,   150,   151,    -1,   153,   154,   155,
   27621             :      156,   157,   158,   159,   160,   161,   162,    -1,   164,    -1,
   27622             :      166,   167,   168,   169,   170,    -1,   172,    -1,   174,   175,
   27623             :       -1,    -1,    -1,   179,   180,   181,   182,    -1,   184,   185,
   27624             :       -1,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
   27625             :       -1,   197,   198,   199,   200,    -1,   202,   203,   204,   205,
   27626             :      206,   207,   208,   209,    -1,   211,    -1,   213,   214,   215,
   27627             :      216,   217,   218,   219,    -1,   221,    -1,   223,    -1,    -1,
   27628             :      226,    -1,   228,   229,   230,   231,   232,   233,   234,   235,
   27629             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   27630             :       -1,    -1,   248,   249,    -1,   251,    -1,    -1,   254,   255,
   27631             :      256,    -1,    -1,   259,   260,   261,   262,   263,   264,   265,
   27632             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   27633             :      276,   277,   278,    -1,   280,   281,   282,   283,   284,   285,
   27634             :      286,   287,   288,   289,   290,   291,    -1,   293,   294,    -1,
   27635             :      296,    -1,   298,   299,   300,   301,   302,   303,    -1,   305,
   27636             :      306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,   315,
   27637             :      316,   317,    -1,   319,    -1,   321,   322,   323,   324,   325,
   27638             :      326,   327,   328,   329,   330,   331,   332,   333,   334,    -1,
   27639             :      336,   337,   338,   339,   340,   341,   342,   343,   344,    -1,
   27640             :      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   27641             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   27642             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   27643             :       -1,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
   27644             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   27645             :       -1,   397,   398,   399,   400,   401,    -1,    -1,   404,   405,
   27646             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   27647             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   27648             :      426,   427,   428,   429,   430,   431,    -1,   433,   434,    -1,
   27649             :       -1,   437,    -1,   439,   440,   441,   442,   443,   444,    -1,
   27650             :      446,   447,   448,    -1,    -1,   451,   452,   453,   454,   455,
   27651             :       -1,   457,   458,   459,   460,   461,   462,   463,   464,   465,
   27652             :       -1,    -1,   468,   469,   470,   471,   472,    -1,    -1,   475,
   27653             :      476,   477,   478,   479,   480,   481,    -1,   483,    -1,   485,
   27654             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   27655             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   27656             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   27657             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27658             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   27659             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   27660             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   27661             :       45,    46,    47,    -1,    49,    50,    51,    52,    53,    -1,
   27662             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   27663             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   27664             :       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    84,
   27665             :       85,    86,    -1,    88,    89,    90,    91,    -1,    93,    94,
   27666             :       95,    96,    97,    98,    -1,    -1,   101,   102,   103,    -1,
   27667             :       -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,
   27668             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   27669             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   27670             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   27671             :      145,   146,    -1,   148,   149,   150,   151,    -1,   153,   154,
   27672             :      155,   156,   157,   158,   159,   160,   161,   162,    -1,   164,
   27673             :       -1,   166,   167,   168,   169,   170,    -1,   172,    -1,   174,
   27674             :      175,    -1,    -1,    -1,   179,   180,   181,   182,    -1,   184,
   27675             :      185,    -1,   187,   188,   189,    -1,   191,   192,   193,   194,
   27676             :      195,    -1,   197,   198,   199,   200,    -1,   202,   203,   204,
   27677             :      205,   206,   207,   208,   209,    -1,   211,    -1,   213,   214,
   27678             :      215,   216,   217,   218,   219,    -1,   221,    -1,   223,    -1,
   27679             :       -1,   226,    -1,   228,   229,   230,   231,   232,   233,   234,
   27680             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   27681             :      245,    -1,    -1,   248,   249,    -1,   251,    -1,    -1,   254,
   27682             :      255,   256,    -1,    -1,   259,   260,   261,   262,   263,   264,
   27683             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   27684             :      275,   276,   277,   278,    -1,   280,   281,   282,   283,   284,
   27685             :      285,   286,   287,   288,   289,   290,   291,    -1,   293,   294,
   27686             :       -1,   296,    -1,   298,   299,   300,   301,   302,   303,    -1,
   27687             :      305,   306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,
   27688             :      315,   316,   317,    -1,   319,    -1,   321,   322,   323,   324,
   27689             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   27690             :       -1,   336,   337,   338,   339,   340,   341,   342,   343,   344,
   27691             :       -1,   346,   347,   348,   349,   350,   351,   352,   353,   354,
   27692             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   27693             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   27694             :      375,    -1,   377,   378,    -1,   380,   381,   382,   383,   384,
   27695             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   27696             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   27697             :      405,   406,   407,    -1,   409,   410,   411,   412,    -1,   414,
   27698             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   27699             :      425,   426,   427,   428,   429,   430,   431,    -1,   433,   434,
   27700             :       -1,    -1,   437,    -1,   439,   440,   441,   442,   443,   444,
   27701             :       -1,   446,   447,   448,    -1,    -1,   451,   452,   453,   454,
   27702             :      455,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
   27703             :      465,    -1,    -1,   468,   469,   470,   471,   472,    -1,    -1,
   27704             :      475,   476,   477,   478,   479,   480,   481,    -1,   483,    -1,
   27705             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   27706             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   27707             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   27708             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27709             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   27710             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   27711             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   27712             :       44,    45,    46,    47,    -1,    49,    50,    51,    52,    53,
   27713             :       -1,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   27714             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   27715             :       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
   27716             :       84,    85,    86,    -1,    88,    89,    90,    91,    -1,    93,
   27717             :       94,    95,    96,    97,    98,    -1,    -1,   101,   102,   103,
   27718             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,
   27719             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   27720             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   27721             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   27722             :      144,   145,   146,    -1,   148,   149,   150,   151,    -1,   153,
   27723             :      154,   155,   156,   157,   158,   159,   160,   161,   162,    -1,
   27724             :      164,    -1,   166,   167,   168,   169,   170,    -1,   172,    -1,
   27725             :      174,   175,    -1,    -1,    -1,   179,   180,   181,   182,    -1,
   27726             :      184,   185,    -1,   187,   188,   189,    -1,   191,   192,   193,
   27727             :      194,   195,    -1,   197,   198,   199,   200,    -1,   202,   203,
   27728             :      204,   205,   206,   207,   208,   209,    -1,   211,    -1,   213,
   27729             :      214,   215,   216,   217,   218,   219,    -1,   221,    -1,   223,
   27730             :       -1,    -1,   226,    -1,   228,   229,   230,   231,   232,   233,
   27731             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   27732             :      244,   245,    -1,    -1,   248,   249,    -1,   251,    -1,    -1,
   27733             :      254,   255,   256,    -1,    -1,   259,   260,   261,   262,   263,
   27734             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   27735             :      274,   275,   276,   277,   278,    -1,   280,   281,   282,   283,
   27736             :      284,   285,   286,   287,   288,   289,   290,   291,    -1,   293,
   27737             :      294,    -1,   296,    -1,   298,   299,   300,   301,   302,   303,
   27738             :       -1,   305,   306,   307,    -1,    -1,   310,   311,   312,    -1,
   27739             :       -1,   315,   316,   317,    -1,   319,    -1,   321,   322,   323,
   27740             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   27741             :      334,    -1,   336,   337,   338,   339,   340,   341,   342,   343,
   27742             :      344,    -1,   346,   347,   348,   349,   350,   351,   352,   353,
   27743             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   27744             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   27745             :      374,   375,    -1,   377,   378,    -1,   380,   381,   382,   383,
   27746             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   27747             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   27748             :      404,   405,   406,   407,    -1,   409,   410,   411,   412,    -1,
   27749             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   27750             :      424,   425,   426,   427,   428,   429,   430,   431,    -1,   433,
   27751             :      434,    -1,    -1,   437,    -1,   439,   440,   441,   442,   443,
   27752             :      444,    -1,   446,   447,   448,    -1,    -1,   451,   452,   453,
   27753             :      454,   455,    -1,   457,   458,   459,   460,   461,   462,   463,
   27754             :      464,   465,    -1,    -1,   468,   469,   470,   471,   472,    -1,
   27755             :       -1,   475,   476,   477,   478,   479,   480,   481,    -1,   483,
   27756             :       -1,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   27757             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   27758             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   27759             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27760             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   27761             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   27762             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   27763             :       -1,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
   27764             :       53,    -1,    55,    56,    -1,    58,    59,    60,    61,    62,
   27765             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   27766             :       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
   27767             :       83,    84,    85,    86,    -1,    88,    89,    90,    91,    -1,
   27768             :       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
   27769             :      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,
   27770             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   27771             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   27772             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   27773             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,    -1,
   27774             :      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   27775             :       -1,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
   27776             :       -1,   174,   175,    -1,    -1,    -1,   179,   180,   181,   182,
   27777             :       -1,   184,   185,    -1,   187,   188,   189,    -1,   191,   192,
   27778             :      193,   194,   195,    -1,   197,   198,   199,   200,    -1,   202,
   27779             :      203,   204,   205,   206,   207,   208,   209,    -1,   211,    -1,
   27780             :      213,   214,   215,   216,   217,   218,   219,    -1,   221,    -1,
   27781             :      223,    -1,    -1,   226,    -1,   228,   229,   230,   231,   232,
   27782             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   27783             :      243,   244,   245,    -1,    -1,   248,   249,    -1,   251,    -1,
   27784             :       -1,   254,   255,   256,    -1,    -1,   259,   260,   261,   262,
   27785             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   27786             :      273,   274,   275,   276,   277,   278,    -1,   280,   281,   282,
   27787             :      283,   284,   285,   286,   287,   288,   289,   290,   291,    -1,
   27788             :      293,   294,    -1,   296,    -1,   298,   299,   300,   301,   302,
   27789             :      303,    -1,   305,   306,   307,    -1,    -1,   310,   311,   312,
   27790             :       -1,    -1,   315,   316,   317,    -1,   319,    -1,   321,   322,
   27791             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   27792             :      333,   334,    -1,   336,   337,   338,   339,   340,   341,   342,
   27793             :      343,   344,    -1,   346,   347,   348,   349,   350,   351,   352,
   27794             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   27795             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   27796             :      373,   374,   375,    -1,   377,   378,    -1,   380,   381,   382,
   27797             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   27798             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   27799             :      403,   404,   405,   406,   407,    -1,   409,   410,   411,   412,
   27800             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   27801             :      423,   424,   425,   426,   427,   428,   429,   430,   431,    -1,
   27802             :      433,   434,    -1,    -1,   437,    -1,   439,   440,   441,   442,
   27803             :      443,   444,    -1,   446,   447,   448,    -1,    -1,   451,   452,
   27804             :      453,   454,   455,    -1,   457,   458,   459,   460,   461,   462,
   27805             :      463,   464,   465,    -1,    -1,   468,   469,   470,   471,   472,
   27806             :       -1,    -1,   475,   476,   477,   478,   479,   480,   481,    -1,
   27807             :      483,    -1,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   27808             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   27809             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   27810             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27811             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   27812             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   27813             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   27814             :       42,    -1,    44,    45,    46,    47,    -1,    49,    50,    51,
   27815             :       52,    53,    -1,    55,    56,    -1,    58,    59,    60,    61,
   27816             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   27817             :       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
   27818             :       82,    83,    84,    85,    86,    -1,    88,    89,    90,    91,
   27819             :       -1,    93,    94,    95,    96,    97,    98,    -1,    -1,   101,
   27820             :      102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
   27821             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   27822             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   27823             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   27824             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   27825             :       -1,   153,   154,   155,   156,   157,   158,   159,   160,   161,
   27826             :      162,    -1,   164,    -1,   166,   167,   168,   169,   170,    -1,
   27827             :      172,    -1,   174,   175,    -1,    -1,    -1,   179,   180,   181,
   27828             :      182,    -1,   184,   185,    -1,   187,   188,   189,    -1,   191,
   27829             :      192,   193,   194,   195,    -1,   197,   198,   199,   200,    -1,
   27830             :      202,   203,   204,   205,   206,   207,   208,   209,    -1,   211,
   27831             :       -1,   213,   214,   215,   216,   217,   218,   219,    -1,   221,
   27832             :       -1,   223,    -1,    -1,   226,    -1,   228,   229,   230,   231,
   27833             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   27834             :      242,   243,   244,   245,    -1,    -1,   248,   249,    -1,   251,
   27835             :       -1,    -1,   254,   255,   256,    -1,    -1,   259,   260,   261,
   27836             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   27837             :      272,   273,   274,   275,   276,   277,   278,    -1,   280,   281,
   27838             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   27839             :       -1,   293,   294,    -1,   296,    -1,   298,   299,   300,   301,
   27840             :      302,   303,    -1,   305,   306,   307,    -1,    -1,   310,   311,
   27841             :      312,    -1,    -1,   315,   316,   317,    -1,   319,    -1,   321,
   27842             :      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   27843             :      332,   333,   334,    -1,   336,   337,   338,   339,   340,   341,
   27844             :      342,   343,   344,    -1,   346,   347,   348,   349,   350,   351,
   27845             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   27846             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   27847             :      372,   373,   374,   375,    -1,   377,   378,    -1,   380,   381,
   27848             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   27849             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   27850             :       -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
   27851             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   27852             :      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
   27853             :       -1,   433,   434,    -1,    -1,   437,    -1,   439,   440,   441,
   27854             :      442,   443,   444,    -1,   446,   447,   448,    -1,    -1,   451,
   27855             :      452,   453,   454,   455,    -1,   457,   458,   459,   460,   461,
   27856             :      462,   463,   464,   465,    -1,    -1,   468,   469,   470,   471,
   27857             :      472,    -1,    -1,   475,   476,   477,   478,   479,   480,   481,
   27858             :       -1,   483,    -1,   485,   486,   487,   488,    -1,    -1,   491,
   27859             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   27860             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   27861             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27862             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   27863             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   27864             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   27865             :       41,    42,    -1,    44,    45,    46,    47,    -1,    49,    50,
   27866             :       51,    52,    53,    -1,    55,    56,    -1,    58,    59,    60,
   27867             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   27868             :       71,    -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,
   27869             :       81,    82,    83,    84,    85,    86,    -1,    88,    89,    90,
   27870             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,    -1,
   27871             :      101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27872             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   27873             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   27874             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   27875             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   27876             :      151,    -1,   153,   154,   155,   156,   157,   158,   159,   160,
   27877             :      161,   162,    -1,   164,    -1,   166,   167,   168,   169,   170,
   27878             :       -1,   172,    -1,   174,   175,    -1,    -1,    -1,   179,   180,
   27879             :      181,   182,    -1,   184,   185,    -1,   187,   188,   189,    -1,
   27880             :      191,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
   27881             :       -1,   202,   203,   204,   205,   206,   207,   208,   209,    -1,
   27882             :      211,    -1,   213,   214,   215,   216,   217,   218,   219,    -1,
   27883             :      221,    -1,   223,    -1,    -1,   226,    -1,   228,   229,   230,
   27884             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   27885             :      241,   242,   243,   244,   245,    -1,    -1,   248,   249,    -1,
   27886             :      251,    -1,    -1,   254,   255,   256,    -1,    -1,   259,   260,
   27887             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   27888             :      271,   272,   273,   274,   275,   276,   277,   278,    -1,   280,
   27889             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   27890             :      291,    -1,   293,   294,    -1,   296,    -1,   298,   299,   300,
   27891             :      301,   302,   303,    -1,   305,   306,   307,    -1,    -1,   310,
   27892             :      311,   312,    -1,    -1,   315,   316,   317,    -1,   319,    -1,
   27893             :      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
   27894             :      331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
   27895             :      341,   342,   343,   344,    -1,   346,   347,   348,   349,   350,
   27896             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   27897             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   27898             :      371,   372,   373,   374,   375,    -1,   377,   378,    -1,   380,
   27899             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   27900             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   27901             :      401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
   27902             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   27903             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   27904             :      431,    -1,   433,   434,    -1,    -1,   437,    -1,   439,   440,
   27905             :      441,   442,   443,   444,    -1,   446,   447,   448,    -1,    -1,
   27906             :      451,   452,   453,   454,   455,    -1,   457,   458,   459,   460,
   27907             :      461,   462,   463,   464,   465,    -1,    -1,   468,   469,   470,
   27908             :      471,   472,    -1,    -1,   475,   476,   477,   478,   479,   480,
   27909             :      481,    -1,   483,    -1,   485,   486,   487,   488,    -1,    -1,
   27910             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   27911             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   27912             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   27913             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27914             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   27915             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27916             :       40,    41,    42,    -1,    44,    45,    46,    47,    -1,    49,
   27917             :       50,    51,    52,    53,    -1,    55,    56,    -1,    58,    59,
   27918             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   27919             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    -1,
   27920             :       -1,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
   27921             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   27922             :       -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
   27923             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   27924             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   27925             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   27926             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   27927             :      150,   151,    -1,   153,   154,   155,   156,   157,   158,   159,
   27928             :      160,   161,   162,    -1,   164,    -1,   166,   167,   168,   169,
   27929             :      170,    -1,   172,    -1,   174,   175,    -1,    -1,    -1,   179,
   27930             :      180,   181,   182,    -1,   184,   185,    -1,   187,   188,   189,
   27931             :       -1,   191,   192,   193,   194,   195,    -1,   197,   198,   199,
   27932             :      200,    -1,   202,   203,   204,   205,   206,   207,   208,   209,
   27933             :       -1,   211,    -1,   213,   214,   215,   216,   217,   218,   219,
   27934             :       -1,   221,    -1,   223,    -1,    -1,   226,    -1,   228,   229,
   27935             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   27936             :      240,   241,   242,   243,   244,   245,    -1,    -1,   248,   249,
   27937             :       -1,   251,    -1,    -1,   254,   255,   256,    -1,    -1,   259,
   27938             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   27939             :      270,   271,   272,   273,   274,   275,   276,   277,   278,    -1,
   27940             :      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   27941             :      290,   291,    -1,   293,   294,    -1,   296,    -1,   298,   299,
   27942             :      300,   301,   302,   303,    -1,   305,   306,   307,    -1,    -1,
   27943             :      310,   311,   312,    -1,    -1,   315,   316,   317,    -1,   319,
   27944             :       -1,   321,   322,   323,   324,   325,   326,   327,   328,   329,
   27945             :      330,   331,   332,   333,   334,    -1,   336,   337,   338,   339,
   27946             :      340,   341,   342,   343,   344,    -1,   346,   347,   348,   349,
   27947             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   27948             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   27949             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,    -1,
   27950             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   27951             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   27952             :      400,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
   27953             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   27954             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   27955             :      430,   431,    -1,   433,   434,    -1,    -1,   437,    -1,   439,
   27956             :      440,   441,   442,   443,   444,    -1,   446,   447,   448,    -1,
   27957             :       -1,   451,   452,   453,   454,   455,    -1,   457,   458,   459,
   27958             :      460,   461,   462,   463,   464,   465,    -1,    -1,   468,   469,
   27959             :      470,   471,   472,    -1,    -1,   475,   476,   477,   478,   479,
   27960             :      480,   481,    -1,   483,    -1,   485,   486,   487,   488,    -1,
   27961             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   27962             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   27963             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   27964             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27965             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   27966             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   27967             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   27968             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   27969             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   27970             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   27971             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   27972             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   27973             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   27974             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   27975             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   27976             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   27977             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   27978             :      149,   150,   151,    -1,   153,   154,   155,   156,   157,   158,
   27979             :      159,   160,   161,   162,    -1,   164,    -1,   166,   167,   168,
   27980             :      169,   170,    -1,   172,    -1,   174,   175,    -1,    -1,    -1,
   27981             :      179,   180,   181,   182,    -1,   184,   185,    -1,   187,   188,
   27982             :      189,    -1,   191,   192,   193,   194,   195,    -1,   197,   198,
   27983             :      199,   200,    -1,   202,   203,   204,   205,   206,   207,   208,
   27984             :      209,    -1,   211,    -1,   213,   214,   215,   216,   217,   218,
   27985             :      219,    -1,   221,    -1,   223,    -1,    -1,   226,    -1,   228,
   27986             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   27987             :      239,   240,   241,   242,   243,   244,   245,    -1,    -1,   248,
   27988             :      249,    -1,   251,    -1,    -1,   254,   255,   256,    -1,    -1,
   27989             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   27990             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   27991             :       -1,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   27992             :      289,   290,   291,    -1,   293,   294,    -1,   296,    -1,   298,
   27993             :      299,   300,   301,   302,   303,    -1,   305,   306,   307,    -1,
   27994             :       -1,   310,   311,   312,    -1,    -1,   315,   316,   317,    -1,
   27995             :      319,    -1,   321,   322,   323,   324,   325,   326,   327,   328,
   27996             :      329,   330,   331,   332,   333,   334,    -1,   336,   337,   338,
   27997             :      339,   340,   341,   342,   343,   344,    -1,   346,   347,   348,
   27998             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   27999             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   28000             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   28001             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   28002             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   28003             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   28004             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   28005             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   28006             :      429,   430,   431,    -1,   433,   434,    -1,    -1,   437,    -1,
   28007             :      439,   440,   441,   442,   443,   444,    -1,   446,   447,   448,
   28008             :       -1,    -1,   451,   452,   453,   454,   455,    -1,   457,   458,
   28009             :      459,   460,   461,   462,   463,   464,   465,    -1,    -1,   468,
   28010             :      469,   470,   471,   472,    -1,    -1,   475,   476,   477,   478,
   28011             :      479,   480,   481,    -1,   483,    -1,   485,   486,   487,   488,
   28012             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   28013             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   28014             :      509,   510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,
   28015             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28016             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   28017             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   28018             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   28019             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   28020             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   28021             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   28022             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   28023             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   28024             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   28025             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   28026             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   28027             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   28028             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   28029             :      148,   149,   150,   151,    -1,   153,   154,   155,   156,   157,
   28030             :      158,   159,   160,   161,   162,    -1,   164,    -1,   166,   167,
   28031             :      168,   169,   170,    -1,   172,    -1,   174,   175,    -1,    -1,
   28032             :       -1,   179,   180,   181,   182,    -1,   184,   185,    -1,   187,
   28033             :      188,   189,    -1,   191,   192,   193,   194,   195,    -1,   197,
   28034             :      198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
   28035             :      208,   209,    -1,   211,    -1,   213,   214,   215,   216,   217,
   28036             :      218,   219,    -1,   221,    -1,   223,    -1,    -1,   226,    -1,
   28037             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   28038             :      238,   239,   240,   241,   242,   243,   244,   245,    -1,    -1,
   28039             :      248,   249,    -1,   251,    -1,    -1,   254,   255,   256,    -1,
   28040             :       -1,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   28041             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   28042             :      278,    -1,   280,   281,   282,   283,   284,   285,   286,   287,
   28043             :      288,   289,   290,   291,    -1,   293,   294,    -1,   296,    -1,
   28044             :      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
   28045             :       -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,   317,
   28046             :       -1,   319,    -1,   321,   322,   323,   324,   325,   326,   327,
   28047             :      328,   329,   330,   331,   332,   333,   334,    -1,   336,   337,
   28048             :      338,   339,   340,   341,   342,   343,   344,    -1,   346,   347,
   28049             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   28050             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   28051             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   28052             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   28053             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   28054             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   28055             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   28056             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   28057             :      428,   429,   430,   431,    -1,   433,   434,    -1,    -1,   437,
   28058             :       -1,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
   28059             :      448,    -1,    -1,   451,   452,   453,   454,   455,    -1,   457,
   28060             :      458,   459,   460,   461,   462,   463,   464,   465,    -1,    -1,
   28061             :      468,   469,   470,   471,   472,    -1,    -1,   475,   476,   477,
   28062             :      478,   479,   480,   481,    -1,   483,    -1,   485,   486,   487,
   28063             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   28064             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   28065             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,    -1,
   28066             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28067             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   28068             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   28069             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   28070             :       47,    -1,    49,    50,    51,    52,    53,    -1,    55,    56,
   28071             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   28072             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   28073             :       77,    -1,    -1,    -1,    81,    82,    83,    84,    85,    86,
   28074             :       -1,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   28075             :       97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,
   28076             :       -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   28077             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   28078             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   28079             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   28080             :       -1,   148,   149,   150,   151,    -1,   153,   154,   155,   156,
   28081             :      157,   158,   159,   160,   161,   162,    -1,   164,    -1,   166,
   28082             :      167,   168,   169,   170,    -1,   172,    -1,   174,   175,    -1,
   28083             :       -1,    -1,   179,   180,   181,   182,    -1,   184,   185,    -1,
   28084             :      187,   188,   189,    -1,   191,   192,   193,   194,   195,    -1,
   28085             :      197,   198,   199,   200,    -1,   202,   203,   204,   205,   206,
   28086             :      207,   208,   209,    -1,   211,    -1,   213,   214,   215,   216,
   28087             :      217,   218,   219,    -1,   221,    -1,   223,    -1,    -1,   226,
   28088             :       -1,   228,   229,   230,   231,   232,   233,   234,   235,   236,
   28089             :      237,   238,   239,   240,   241,   242,   243,   244,   245,    -1,
   28090             :       -1,   248,   249,    -1,   251,    -1,    -1,   254,   255,   256,
   28091             :       -1,    -1,   259,   260,   261,   262,   263,   264,   265,   266,
   28092             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   28093             :      277,   278,    -1,   280,   281,   282,   283,   284,   285,   286,
   28094             :      287,   288,   289,   290,   291,    -1,   293,   294,    -1,   296,
   28095             :       -1,   298,   299,   300,   301,   302,   303,    -1,   305,   306,
   28096             :      307,    -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,
   28097             :      317,    -1,   319,    -1,   321,   322,   323,   324,   325,   326,
   28098             :      327,   328,   329,   330,   331,   332,   333,   334,    -1,   336,
   28099             :      337,   338,   339,   340,   341,   342,   343,   344,    -1,   346,
   28100             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   28101             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   28102             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   28103             :      377,   378,    -1,   380,   381,   382,   383,   384,   385,   386,
   28104             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   28105             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   28106             :      407,    -1,   409,   410,   411,   412,    -1,   414,   415,   416,
   28107             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   28108             :      427,   428,   429,   430,   431,    -1,   433,   434,    -1,    -1,
   28109             :      437,    -1,   439,   440,   441,   442,   443,   444,    -1,   446,
   28110             :      447,   448,    -1,    -1,   451,   452,   453,   454,   455,    -1,
   28111             :      457,   458,   459,   460,   461,   462,   463,   464,   465,    -1,
   28112             :       -1,   468,   469,   470,   471,   472,    -1,    -1,   475,   476,
   28113             :      477,   478,   479,   480,   481,    -1,   483,    -1,   485,   486,
   28114             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   28115             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   28116             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   28117             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28118             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   28119             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   28120             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   28121             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   28122             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   28123             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   28124             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   28125             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   28126             :       96,    97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,
   28127             :       -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   28128             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   28129             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   28130             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   28131             :      146,    -1,   148,   149,   150,   151,    -1,   153,   154,   155,
   28132             :      156,   157,   158,   159,   160,   161,   162,    -1,   164,    -1,
   28133             :      166,   167,   168,   169,   170,    -1,   172,    -1,   174,   175,
   28134             :       -1,    -1,    -1,   179,   180,   181,   182,    -1,   184,   185,
   28135             :       -1,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
   28136             :       -1,   197,   198,   199,   200,    -1,   202,   203,   204,   205,
   28137             :      206,   207,   208,   209,    -1,   211,    -1,   213,   214,   215,
   28138             :      216,   217,   218,   219,    -1,   221,    -1,   223,    -1,    -1,
   28139             :      226,    -1,   228,   229,   230,   231,   232,   233,   234,   235,
   28140             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   28141             :       -1,    -1,   248,   249,    -1,   251,    -1,    -1,   254,   255,
   28142             :      256,    -1,    -1,   259,   260,   261,   262,   263,   264,   265,
   28143             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   28144             :      276,   277,   278,    -1,   280,   281,   282,   283,   284,   285,
   28145             :      286,   287,   288,   289,   290,   291,    -1,   293,   294,    -1,
   28146             :      296,    -1,   298,   299,   300,   301,   302,   303,    -1,   305,
   28147             :      306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,   315,
   28148             :      316,   317,    -1,   319,    -1,   321,   322,   323,   324,   325,
   28149             :      326,   327,   328,   329,   330,   331,   332,   333,   334,    -1,
   28150             :      336,   337,   338,   339,   340,   341,   342,   343,   344,    -1,
   28151             :      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   28152             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   28153             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   28154             :       -1,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
   28155             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   28156             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   28157             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   28158             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   28159             :      426,   427,   428,   429,   430,   431,    -1,   433,   434,    -1,
   28160             :       -1,   437,    -1,   439,   440,   441,   442,   443,   444,    -1,
   28161             :      446,   447,   448,    -1,    -1,   451,   452,   453,   454,   455,
   28162             :       -1,   457,   458,   459,   460,   461,   462,   463,   464,   465,
   28163             :       -1,    -1,   468,   469,   470,   471,   472,    -1,    -1,   475,
   28164             :      476,   477,   478,   479,   480,   481,    -1,   483,    -1,   485,
   28165             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   28166             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   28167             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   28168             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28169             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   28170             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   28171             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   28172             :       45,    46,    47,    -1,    49,    50,    51,    52,    53,    -1,
   28173             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   28174             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   28175             :       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    84,
   28176             :       85,    86,    -1,    88,    89,    90,    91,    -1,    93,    94,
   28177             :       95,    96,    97,    98,    -1,    -1,   101,   102,   103,    -1,
   28178             :       -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,
   28179             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   28180             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   28181             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   28182             :      145,   146,    -1,   148,   149,   150,   151,    -1,   153,   154,
   28183             :      155,   156,   157,   158,   159,   160,   161,   162,    -1,   164,
   28184             :       -1,   166,   167,   168,   169,   170,    -1,   172,    -1,   174,
   28185             :      175,    -1,    -1,    -1,   179,   180,   181,   182,    -1,   184,
   28186             :      185,    -1,   187,   188,   189,    -1,   191,   192,   193,   194,
   28187             :      195,    -1,   197,   198,   199,   200,    -1,   202,   203,   204,
   28188             :      205,   206,   207,   208,   209,    -1,   211,    -1,   213,   214,
   28189             :      215,   216,   217,   218,   219,    -1,   221,    -1,   223,    -1,
   28190             :       -1,   226,    -1,   228,   229,   230,   231,   232,   233,   234,
   28191             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   28192             :      245,    -1,    -1,   248,   249,    -1,   251,    -1,    -1,   254,
   28193             :      255,   256,    -1,    -1,   259,   260,   261,   262,   263,   264,
   28194             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   28195             :      275,   276,   277,   278,    -1,   280,   281,   282,   283,   284,
   28196             :      285,   286,   287,   288,   289,   290,   291,    -1,   293,   294,
   28197             :       -1,   296,    -1,   298,   299,   300,   301,   302,   303,    -1,
   28198             :      305,   306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,
   28199             :      315,   316,   317,    -1,   319,    -1,   321,   322,   323,   324,
   28200             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   28201             :       -1,   336,   337,   338,   339,   340,   341,   342,   343,   344,
   28202             :       -1,   346,   347,   348,   349,   350,   351,   352,   353,   354,
   28203             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   28204             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   28205             :      375,    -1,   377,   378,    -1,   380,   381,   382,   383,   384,
   28206             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   28207             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   28208             :      405,   406,   407,    -1,   409,   410,   411,   412,    -1,   414,
   28209             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   28210             :      425,   426,   427,   428,   429,   430,   431,    -1,   433,   434,
   28211             :       -1,    -1,   437,    -1,   439,   440,   441,   442,   443,   444,
   28212             :       -1,   446,   447,   448,    -1,    -1,   451,   452,   453,   454,
   28213             :      455,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
   28214             :      465,    -1,    -1,   468,   469,   470,   471,   472,    -1,    -1,
   28215             :      475,   476,   477,   478,   479,   480,   481,    -1,   483,    -1,
   28216             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   28217             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   28218             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   28219             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28220             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   28221             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   28222             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   28223             :       44,    45,    46,    47,    -1,    49,    50,    51,    52,    53,
   28224             :       -1,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   28225             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   28226             :       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
   28227             :       84,    85,    86,    -1,    88,    89,    90,    91,    -1,    93,
   28228             :       94,    95,    96,    97,    98,    -1,    -1,   101,   102,   103,
   28229             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,
   28230             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   28231             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   28232             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   28233             :      144,   145,   146,    -1,   148,   149,   150,   151,    -1,   153,
   28234             :      154,   155,   156,   157,   158,   159,   160,   161,   162,    -1,
   28235             :      164,    -1,   166,   167,   168,   169,   170,    -1,   172,    -1,
   28236             :      174,   175,    -1,    -1,    -1,   179,   180,   181,   182,    -1,
   28237             :      184,   185,    -1,   187,   188,   189,    -1,   191,   192,   193,
   28238             :      194,   195,    -1,   197,   198,   199,   200,    -1,   202,   203,
   28239             :      204,   205,   206,   207,   208,   209,    -1,   211,    -1,   213,
   28240             :      214,   215,   216,   217,   218,   219,    -1,   221,    -1,   223,
   28241             :       -1,    -1,   226,    -1,   228,   229,   230,   231,   232,   233,
   28242             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   28243             :      244,   245,    -1,    -1,   248,   249,    -1,   251,    -1,    -1,
   28244             :      254,   255,   256,    -1,    -1,   259,   260,   261,   262,   263,
   28245             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   28246             :      274,   275,   276,   277,   278,    -1,   280,   281,   282,   283,
   28247             :      284,   285,   286,   287,   288,   289,   290,   291,    -1,   293,
   28248             :      294,    -1,   296,    -1,   298,   299,   300,   301,   302,   303,
   28249             :       -1,   305,   306,   307,    -1,    -1,   310,   311,   312,    -1,
   28250             :       -1,   315,   316,   317,    -1,   319,    -1,   321,   322,   323,
   28251             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   28252             :      334,    -1,   336,   337,   338,   339,   340,   341,   342,   343,
   28253             :      344,    -1,   346,   347,   348,   349,   350,   351,   352,   353,
   28254             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   28255             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   28256             :      374,   375,    -1,   377,   378,    -1,   380,   381,   382,   383,
   28257             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   28258             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   28259             :      404,   405,   406,   407,    -1,   409,   410,   411,   412,    -1,
   28260             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   28261             :      424,   425,   426,   427,   428,   429,   430,   431,    -1,   433,
   28262             :      434,    -1,    -1,   437,    -1,   439,   440,   441,   442,   443,
   28263             :      444,    -1,   446,   447,   448,    -1,    -1,   451,   452,   453,
   28264             :      454,   455,    -1,   457,   458,   459,   460,   461,   462,   463,
   28265             :      464,   465,    -1,    -1,   468,   469,   470,   471,   472,    -1,
   28266             :       -1,   475,   476,   477,   478,   479,   480,   481,    -1,   483,
   28267             :       -1,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   28268             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   28269             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   28270             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28271             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   28272             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   28273             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   28274             :       -1,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
   28275             :       53,    -1,    55,    56,    -1,    58,    59,    60,    61,    62,
   28276             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   28277             :       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
   28278             :       83,    84,    85,    86,    -1,    88,    89,    90,    91,    -1,
   28279             :       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
   28280             :      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,
   28281             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   28282             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   28283             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   28284             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,    -1,
   28285             :      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   28286             :       -1,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
   28287             :       -1,   174,   175,    -1,    -1,    -1,   179,   180,   181,   182,
   28288             :       -1,   184,   185,    -1,   187,   188,   189,    -1,   191,   192,
   28289             :      193,   194,   195,    -1,   197,   198,   199,   200,    -1,   202,
   28290             :      203,   204,   205,   206,   207,   208,   209,    -1,   211,    -1,
   28291             :      213,   214,   215,   216,   217,   218,   219,    -1,   221,    -1,
   28292             :      223,    -1,    -1,   226,    -1,   228,   229,   230,   231,   232,
   28293             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   28294             :      243,   244,   245,    -1,    -1,   248,   249,    -1,   251,    -1,
   28295             :       -1,   254,   255,   256,    -1,    -1,   259,   260,   261,   262,
   28296             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   28297             :      273,   274,   275,   276,   277,   278,    -1,   280,   281,   282,
   28298             :      283,   284,   285,   286,   287,   288,   289,   290,   291,    -1,
   28299             :      293,   294,    -1,   296,    -1,   298,   299,   300,   301,   302,
   28300             :      303,    -1,   305,   306,   307,    -1,    -1,   310,   311,   312,
   28301             :       -1,    -1,   315,   316,   317,    -1,   319,    -1,   321,   322,
   28302             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   28303             :      333,   334,    -1,   336,   337,   338,   339,   340,   341,   342,
   28304             :      343,   344,    -1,   346,   347,   348,   349,   350,   351,   352,
   28305             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   28306             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   28307             :      373,   374,   375,    -1,   377,   378,    -1,   380,   381,   382,
   28308             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   28309             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   28310             :      403,   404,   405,   406,   407,    -1,   409,   410,   411,   412,
   28311             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   28312             :      423,   424,   425,   426,   427,   428,   429,   430,   431,    -1,
   28313             :      433,   434,    -1,    -1,   437,    -1,   439,   440,   441,   442,
   28314             :      443,   444,    -1,   446,   447,   448,    -1,    -1,   451,   452,
   28315             :      453,   454,   455,    -1,   457,   458,   459,   460,   461,   462,
   28316             :      463,   464,   465,    -1,    -1,   468,   469,   470,   471,   472,
   28317             :       -1,    -1,   475,   476,   477,   478,   479,   480,   481,    -1,
   28318             :      483,    -1,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   28319             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   28320             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   28321             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28322             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   28323             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   28324             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   28325             :       42,    -1,    44,    45,    46,    47,    -1,    49,    50,    51,
   28326             :       52,    53,    -1,    55,    56,    -1,    58,    59,    60,    61,
   28327             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   28328             :       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
   28329             :       82,    83,    84,    85,    86,    -1,    88,    89,    90,    91,
   28330             :       -1,    93,    94,    95,    96,    97,    98,    -1,    -1,   101,
   28331             :      102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
   28332             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   28333             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   28334             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   28335             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   28336             :       -1,   153,   154,   155,   156,   157,   158,   159,   160,   161,
   28337             :      162,    -1,   164,    -1,   166,   167,   168,   169,   170,    -1,
   28338             :      172,    -1,   174,   175,    -1,    -1,    -1,   179,   180,   181,
   28339             :      182,    -1,   184,   185,    -1,   187,   188,   189,    -1,   191,
   28340             :      192,   193,   194,   195,    -1,   197,   198,   199,   200,    -1,
   28341             :      202,   203,   204,   205,   206,   207,   208,   209,    -1,   211,
   28342             :       -1,   213,   214,   215,   216,   217,   218,   219,    -1,   221,
   28343             :       -1,   223,    -1,    -1,   226,    -1,   228,   229,   230,   231,
   28344             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   28345             :      242,   243,   244,   245,    -1,    -1,   248,   249,    -1,   251,
   28346             :       -1,    -1,   254,   255,   256,    -1,    -1,   259,   260,   261,
   28347             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   28348             :      272,   273,   274,   275,   276,   277,   278,    -1,   280,   281,
   28349             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   28350             :       -1,   293,   294,    -1,   296,    -1,   298,   299,   300,   301,
   28351             :      302,   303,    -1,   305,   306,   307,    -1,    -1,   310,   311,
   28352             :      312,    -1,    -1,   315,   316,   317,    -1,   319,    -1,   321,
   28353             :      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   28354             :      332,   333,   334,    -1,   336,   337,   338,   339,   340,   341,
   28355             :      342,   343,   344,    -1,   346,   347,   348,   349,   350,   351,
   28356             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   28357             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   28358             :      372,   373,   374,   375,    -1,   377,   378,    -1,   380,   381,
   28359             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   28360             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   28361             :       -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
   28362             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   28363             :      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
   28364             :       -1,   433,   434,    -1,    -1,   437,    -1,   439,   440,   441,
   28365             :      442,   443,   444,    -1,   446,   447,   448,    -1,    -1,   451,
   28366             :      452,   453,   454,   455,    -1,   457,   458,   459,   460,   461,
   28367             :      462,   463,   464,   465,    -1,    -1,   468,   469,   470,   471,
   28368             :      472,    -1,    -1,   475,   476,   477,   478,   479,   480,   481,
   28369             :       -1,   483,    -1,   485,   486,   487,   488,    -1,    -1,   491,
   28370             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   28371             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   28372             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28373             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   28374             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   28375             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   28376             :       41,    42,    -1,    44,    45,    46,    47,    -1,    49,    50,
   28377             :       51,    52,    53,    -1,    55,    56,    -1,    58,    59,    60,
   28378             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   28379             :       71,    -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,
   28380             :       81,    82,    83,    84,    85,    86,    -1,    88,    89,    90,
   28381             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,    -1,
   28382             :      101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28383             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   28384             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   28385             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   28386             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   28387             :      151,    -1,   153,   154,   155,   156,   157,   158,   159,   160,
   28388             :      161,   162,    -1,   164,    -1,   166,   167,   168,   169,   170,
   28389             :       -1,   172,    -1,   174,   175,    -1,    -1,    -1,   179,   180,
   28390             :      181,   182,    -1,   184,   185,    -1,   187,   188,   189,    -1,
   28391             :      191,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
   28392             :       -1,   202,   203,   204,   205,   206,   207,   208,   209,    -1,
   28393             :      211,    -1,   213,   214,   215,   216,   217,   218,   219,    -1,
   28394             :      221,    -1,   223,    -1,    -1,   226,    -1,   228,   229,   230,
   28395             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   28396             :      241,   242,   243,   244,   245,    -1,    -1,   248,   249,    -1,
   28397             :      251,    -1,    -1,   254,   255,   256,    -1,    -1,   259,   260,
   28398             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   28399             :      271,   272,   273,   274,   275,   276,   277,   278,    -1,   280,
   28400             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   28401             :      291,    -1,   293,   294,    -1,   296,    -1,   298,   299,   300,
   28402             :      301,   302,   303,    -1,   305,   306,   307,    -1,    -1,   310,
   28403             :      311,   312,    -1,    -1,   315,   316,   317,    -1,   319,    -1,
   28404             :      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
   28405             :      331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
   28406             :      341,   342,   343,   344,    -1,   346,   347,   348,   349,   350,
   28407             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   28408             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   28409             :      371,   372,   373,   374,   375,    -1,   377,   378,    -1,   380,
   28410             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   28411             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   28412             :      401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
   28413             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   28414             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   28415             :      431,    -1,   433,   434,    -1,    -1,   437,    -1,   439,   440,
   28416             :      441,   442,   443,   444,    -1,   446,   447,   448,    -1,    -1,
   28417             :      451,   452,   453,   454,   455,    -1,   457,   458,   459,   460,
   28418             :      461,   462,   463,   464,   465,    -1,    -1,   468,   469,   470,
   28419             :      471,   472,    -1,    -1,   475,   476,   477,   478,   479,   480,
   28420             :      481,    -1,   483,    -1,   485,   486,   487,   488,    -1,    -1,
   28421             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   28422             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   28423             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   28424             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28425             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   28426             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28427             :       40,    41,    42,    -1,    44,    45,    46,    47,    -1,    49,
   28428             :       50,    51,    52,    53,    -1,    55,    56,    -1,    58,    59,
   28429             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   28430             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    -1,
   28431             :       -1,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
   28432             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   28433             :       -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
   28434             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   28435             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   28436             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   28437             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   28438             :      150,   151,    -1,   153,   154,   155,   156,   157,   158,   159,
   28439             :      160,   161,   162,    -1,   164,    -1,   166,   167,   168,   169,
   28440             :      170,    -1,   172,    -1,   174,   175,    -1,    -1,    -1,   179,
   28441             :      180,   181,   182,    -1,   184,   185,    -1,   187,   188,   189,
   28442             :       -1,   191,   192,   193,   194,   195,    -1,   197,   198,   199,
   28443             :      200,    -1,   202,   203,   204,   205,   206,   207,   208,   209,
   28444             :       -1,   211,    -1,   213,   214,   215,   216,   217,   218,   219,
   28445             :       -1,   221,    -1,   223,    -1,    -1,   226,    -1,   228,   229,
   28446             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   28447             :      240,   241,   242,   243,   244,   245,    -1,    -1,   248,   249,
   28448             :       -1,   251,    -1,    -1,   254,   255,   256,    -1,    -1,   259,
   28449             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   28450             :      270,   271,   272,   273,   274,   275,   276,   277,   278,    -1,
   28451             :      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   28452             :      290,   291,    -1,   293,   294,    -1,   296,    -1,   298,   299,
   28453             :      300,   301,   302,   303,    -1,   305,   306,   307,    -1,    -1,
   28454             :      310,   311,   312,    -1,    -1,   315,   316,   317,    -1,   319,
   28455             :       -1,   321,   322,   323,   324,   325,   326,   327,   328,   329,
   28456             :      330,   331,   332,   333,   334,    -1,   336,   337,   338,   339,
   28457             :      340,   341,   342,   343,   344,    -1,   346,   347,   348,   349,
   28458             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   28459             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   28460             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,    -1,
   28461             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   28462             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   28463             :      400,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
   28464             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   28465             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   28466             :      430,   431,    -1,   433,   434,    -1,    -1,   437,    -1,   439,
   28467             :      440,   441,   442,   443,   444,    -1,   446,   447,   448,    -1,
   28468             :       -1,   451,   452,   453,   454,   455,    -1,   457,   458,   459,
   28469             :      460,   461,   462,   463,   464,   465,    -1,    -1,   468,   469,
   28470             :      470,   471,   472,    -1,    -1,   475,   476,   477,   478,   479,
   28471             :      480,   481,    -1,   483,    -1,   485,   486,   487,   488,    -1,
   28472             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   28473             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   28474             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   28475             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28476             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   28477             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   28478             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   28479             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   28480             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   28481             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   28482             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   28483             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   28484             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   28485             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   28486             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   28487             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   28488             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   28489             :      149,   150,   151,    -1,   153,   154,   155,   156,   157,   158,
   28490             :      159,   160,   161,   162,    -1,   164,    -1,   166,   167,   168,
   28491             :      169,   170,    -1,   172,    -1,   174,   175,    -1,    -1,    -1,
   28492             :      179,   180,   181,   182,    -1,   184,   185,    -1,   187,   188,
   28493             :      189,    -1,   191,   192,   193,   194,   195,    -1,   197,   198,
   28494             :      199,   200,    -1,   202,   203,   204,   205,   206,   207,   208,
   28495             :      209,    -1,   211,    -1,   213,   214,   215,   216,   217,   218,
   28496             :      219,    -1,   221,    -1,   223,    -1,    -1,   226,    -1,   228,
   28497             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   28498             :      239,   240,   241,   242,   243,   244,   245,    -1,    -1,   248,
   28499             :      249,    -1,   251,    -1,    -1,   254,   255,   256,    -1,    -1,
   28500             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   28501             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   28502             :       -1,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   28503             :      289,   290,   291,    -1,   293,   294,    -1,   296,    -1,   298,
   28504             :      299,   300,   301,   302,   303,    -1,   305,   306,   307,    -1,
   28505             :       -1,   310,   311,   312,    -1,    -1,   315,   316,   317,    -1,
   28506             :      319,    -1,   321,   322,   323,   324,   325,   326,   327,   328,
   28507             :      329,   330,   331,   332,   333,   334,    -1,   336,   337,   338,
   28508             :      339,   340,   341,   342,   343,   344,    -1,   346,   347,   348,
   28509             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   28510             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   28511             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   28512             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   28513             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   28514             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   28515             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   28516             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   28517             :      429,   430,   431,    -1,   433,   434,    -1,    -1,   437,    -1,
   28518             :      439,   440,   441,   442,   443,   444,    -1,   446,   447,   448,
   28519             :       -1,    -1,   451,   452,   453,   454,   455,    -1,   457,   458,
   28520             :      459,   460,   461,   462,   463,   464,   465,    -1,    -1,   468,
   28521             :      469,   470,   471,   472,    -1,    -1,   475,   476,   477,   478,
   28522             :      479,   480,   481,    -1,   483,    -1,   485,   486,   487,   488,
   28523             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   28524             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   28525             :      509,   510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,
   28526             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28527             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   28528             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   28529             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   28530             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   28531             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   28532             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   28533             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   28534             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   28535             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   28536             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   28537             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   28538             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   28539             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   28540             :      148,   149,   150,   151,    -1,   153,   154,   155,   156,   157,
   28541             :      158,   159,   160,   161,   162,    -1,   164,    -1,   166,   167,
   28542             :      168,   169,   170,    -1,   172,    -1,   174,   175,    -1,    -1,
   28543             :       -1,   179,   180,   181,   182,    -1,   184,   185,    -1,   187,
   28544             :       -1,   189,    -1,   191,   192,   193,   194,   195,    -1,   197,
   28545             :      198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
   28546             :      208,   209,    -1,   211,    -1,   213,   214,   215,   216,   217,
   28547             :      218,   219,    -1,   221,    -1,   223,    -1,    -1,   226,    -1,
   28548             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   28549             :      238,   239,   240,   241,   242,   243,   244,   245,    -1,    -1,
   28550             :      248,   249,    -1,   251,    -1,    -1,   254,   255,   256,    -1,
   28551             :       -1,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   28552             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   28553             :      278,    -1,   280,   281,   282,   283,   284,   285,   286,   287,
   28554             :      288,   289,   290,   291,    -1,   293,   294,    -1,   296,    -1,
   28555             :      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
   28556             :       -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,   317,
   28557             :       -1,   319,    -1,   321,   322,   323,   324,   325,   326,   327,
   28558             :      328,    -1,   330,   331,   332,   333,   334,    -1,   336,   337,
   28559             :      338,   339,   340,   341,   342,   343,   344,    -1,   346,   347,
   28560             :      348,   349,   350,   351,   352,   353,   354,    -1,   356,   357,
   28561             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   28562             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   28563             :      378,    -1,   380,   381,   382,   383,   384,   385,    -1,   387,
   28564             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   28565             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   28566             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   28567             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   28568             :      428,   429,   430,   431,    -1,   433,   434,    -1,    -1,   437,
   28569             :       -1,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
   28570             :      448,    -1,    -1,   451,   452,   453,   454,   455,    -1,   457,
   28571             :      458,   459,   460,   461,   462,   463,   464,   465,    -1,    -1,
   28572             :      468,   469,   470,   471,   472,    -1,    -1,   475,   476,   477,
   28573             :      478,   479,   480,   481,    -1,   483,    -1,   485,   486,   487,
   28574             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   28575             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   28576             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,    -1,
   28577             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28578             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   28579             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   28580             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   28581             :       47,    48,    49,    50,    51,    -1,    53,    54,    55,    56,
   28582             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   28583             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   28584             :       -1,    -1,    79,    -1,    81,    82,    83,    84,    85,    86,
   28585             :       87,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   28586             :       97,    98,    -1,   100,   101,   102,   103,    -1,    -1,    -1,
   28587             :      107,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   28588             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   28589             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   28590             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   28591             :       -1,   148,   149,   150,   151,    -1,   153,   154,   155,   156,
   28592             :       -1,   158,   159,   160,   161,    -1,    -1,   164,    -1,   166,
   28593             :      167,   168,   169,   170,    -1,   172,    -1,   174,   175,   176,
   28594             :       -1,   178,   179,   180,   181,   182,    -1,   184,    -1,    -1,
   28595             :       -1,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
   28596             :      197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
   28597             :      207,   208,   209,    -1,   211,   212,   213,   214,   215,   216,
   28598             :      217,   218,   219,    -1,   221,    -1,   223,   224,   225,   226,
   28599             :      227,   228,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28600             :       -1,    -1,   239,   240,   241,   242,   243,   244,   245,    -1,
   28601             :       -1,   248,    -1,   250,   251,   252,    -1,   254,   255,   256,
   28602             :       -1,    -1,   259,   260,   261,   262,   263,   264,   265,   266,
   28603             :      267,   268,    -1,   270,   271,   272,   273,   274,   275,   276,
   28604             :      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
   28605             :      287,   288,    -1,    -1,   291,    -1,   293,   294,   295,   296,
   28606             :       -1,    -1,   299,   300,   301,   302,   303,    -1,   305,   306,
   28607             :      307,    -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,
   28608             :      317,   318,   319,   320,    -1,   322,   323,   324,   325,   326,
   28609             :      327,   328,   329,   330,   331,   332,   333,   334,    -1,   336,
   28610             :      337,   338,    -1,   340,    -1,   342,   343,   344,    -1,   346,
   28611             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   28612             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   28613             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   28614             :      377,   378,   379,   380,   381,   382,   383,   384,    -1,   386,
   28615             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   28616             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   28617             :      407,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
   28618             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   28619             :      427,   428,   429,    -1,   431,    -1,   433,   434,    -1,    -1,
   28620             :      437,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
   28621             :      447,   448,    -1,    -1,   451,   452,    -1,   454,    -1,    -1,
   28622             :      457,   458,   459,   460,   461,   462,   463,   464,   465,    -1,
   28623             :       -1,   468,   469,   470,   471,   472,    -1,    -1,   475,   476,
   28624             :      477,   478,   479,    -1,   481,   482,   483,   484,   485,   486,
   28625             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   28626             :      497,   498,   499,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   28627             :       -1,    -1,    -1,    -1,   511,   512,   513,    -1,    -1,    -1,
   28628             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   28629             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28630             :       40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
   28631             :       50,    51,    -1,    53,    54,    55,    56,    -1,    58,    59,
   28632             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   28633             :       70,    71,    -1,    73,    74,    75,    76,    -1,    -1,    79,
   28634             :       -1,    81,    82,    83,    84,    85,    86,    87,    88,    89,
   28635             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   28636             :      100,   101,   102,   103,    -1,    -1,    -1,   107,    -1,    -1,
   28637             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   28638             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   28639             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   28640             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   28641             :      150,   151,    -1,   153,   154,   155,   156,    -1,   158,   159,
   28642             :      160,   161,    -1,    -1,   164,    -1,   166,   167,   168,   169,
   28643             :      170,    -1,   172,    -1,   174,   175,   176,    -1,   178,   179,
   28644             :      180,   181,   182,    -1,   184,    -1,    -1,    -1,   188,   189,
   28645             :       -1,   191,   192,   193,   194,   195,   196,   197,   198,   199,
   28646             :      200,    -1,   202,   203,   204,   205,   206,   207,   208,   209,
   28647             :       -1,   211,   212,    -1,   214,   215,   216,   217,   218,   219,
   28648             :       -1,   221,    -1,   223,   224,   225,   226,   227,   228,    -1,
   28649             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   239,
   28650             :      240,   241,   242,   243,   244,   245,    -1,    -1,   248,    -1,
   28651             :      250,   251,   252,    -1,   254,   255,   256,    -1,    -1,   259,
   28652             :      260,   261,   262,   263,   264,   265,   266,   267,   268,    -1,
   28653             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   28654             :      280,   281,   282,   283,   284,   285,   286,   287,   288,    -1,
   28655             :       -1,   291,    -1,   293,   294,   295,   296,   297,    -1,   299,
   28656             :      300,   301,   302,   303,    -1,   305,   306,   307,    -1,    -1,
   28657             :      310,   311,   312,    -1,    -1,   315,   316,    -1,   318,   319,
   28658             :      320,    -1,   322,   323,   324,   325,   326,   327,   328,   329,
   28659             :      330,   331,   332,   333,   334,    -1,   336,   337,   338,    -1,
   28660             :      340,    -1,   342,   343,   344,    -1,   346,   347,   348,   349,
   28661             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   28662             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   28663             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
   28664             :      380,   381,   382,   383,   384,    -1,   386,   387,   388,   389,
   28665             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   28666             :      400,   401,    -1,   403,   404,   405,   406,   407,   408,   409,
   28667             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   28668             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   28669             :       -1,   431,    -1,   433,   434,    -1,   436,   437,   438,   439,
   28670             :      440,   441,   442,   443,   444,    -1,   446,   447,   448,    -1,
   28671             :       -1,   451,   452,    -1,   454,    -1,    -1,   457,   458,   459,
   28672             :      460,   461,   462,   463,   464,   465,    -1,    -1,   468,   469,
   28673             :      470,   471,   472,    -1,    -1,   475,   476,   477,   478,   479,
   28674             :       -1,   481,    -1,   483,   484,   485,   486,   487,   488,    -1,
   28675             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   28676             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28677             :       -1,   511,   512,   513,    -1,    -1,    -1,    20,    21,    22,
   28678             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   28679             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   28680             :       -1,    44,    45,    46,    47,    48,    49,    50,    51,    -1,
   28681             :       53,    54,    55,    56,    -1,    58,    59,    60,    61,    62,
   28682             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   28683             :       73,    74,    75,    76,    -1,    -1,    79,    -1,    81,    82,
   28684             :       83,    84,    85,    86,    87,    88,    89,    90,    91,    -1,
   28685             :       93,    94,    95,    96,    97,    98,    -1,   100,   101,   102,
   28686             :      103,    -1,    -1,    -1,   107,    -1,    -1,    -1,   111,   112,
   28687             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   28688             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   28689             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   28690             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,    -1,
   28691             :      153,   154,   155,   156,    -1,   158,   159,   160,   161,    -1,
   28692             :       -1,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
   28693             :       -1,   174,   175,   176,    -1,   178,   179,   180,   181,   182,
   28694             :       -1,   184,    -1,    -1,    -1,   188,   189,    -1,   191,   192,
   28695             :      193,   194,   195,   196,   197,   198,   199,   200,    -1,   202,
   28696             :      203,   204,   205,   206,   207,   208,   209,    -1,   211,   212,
   28697             :       -1,   214,   215,   216,   217,   218,   219,    -1,   221,    -1,
   28698             :      223,   224,   225,   226,   227,   228,    -1,    -1,    -1,    -1,
   28699             :       -1,    -1,    -1,    -1,    -1,    -1,   239,   240,   241,   242,
   28700             :      243,   244,   245,    -1,    -1,   248,    -1,   250,   251,   252,
   28701             :       -1,   254,   255,   256,    -1,    -1,   259,   260,   261,   262,
   28702             :      263,   264,   265,   266,   267,   268,    -1,   270,   271,   272,
   28703             :      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
   28704             :      283,   284,   285,   286,   287,   288,   289,    -1,   291,    -1,
   28705             :      293,   294,   295,   296,    -1,    -1,   299,   300,   301,   302,
   28706             :      303,    -1,   305,   306,   307,    -1,    -1,   310,   311,   312,
   28707             :       -1,    -1,   315,   316,    -1,   318,   319,   320,    -1,   322,
   28708             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   28709             :      333,   334,    -1,   336,   337,   338,    -1,   340,    -1,   342,
   28710             :      343,   344,    -1,   346,   347,   348,   349,   350,   351,   352,
   28711             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   28712             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   28713             :      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
   28714             :      383,   384,    -1,   386,   387,   388,   389,   390,   391,   392,
   28715             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   28716             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   28717             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   28718             :      423,   424,   425,   426,   427,   428,   429,    -1,   431,    -1,
   28719             :      433,   434,    -1,    -1,   437,   438,   439,   440,   441,   442,
   28720             :      443,   444,    -1,   446,   447,   448,    -1,    -1,   451,   452,
   28721             :       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
   28722             :      463,   464,   465,    -1,    -1,   468,   469,   470,   471,   472,
   28723             :       -1,    -1,   475,   476,   477,   478,   479,    -1,   481,    -1,
   28724             :      483,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   28725             :       -1,   494,   495,   496,   497,   498,   499,     3,    -1,    -1,
   28726             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   511,   512,
   28727             :      513,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   28728             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   28729             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   28730             :       46,    47,    48,    49,    50,    51,    -1,    53,    54,    55,
   28731             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   28732             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   28733             :       76,    -1,    -1,    79,    -1,    81,    82,    83,    84,    85,
   28734             :       86,    87,    88,    89,    90,    91,    -1,    93,    94,    95,
   28735             :       96,    97,    98,    -1,   100,   101,   102,   103,    -1,    -1,
   28736             :       -1,   107,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   28737             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   28738             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   28739             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   28740             :      146,    -1,   148,   149,   150,   151,    -1,   153,   154,   155,
   28741             :      156,    -1,   158,   159,   160,   161,    -1,    -1,   164,    -1,
   28742             :      166,   167,   168,   169,   170,    -1,   172,    -1,   174,   175,
   28743             :      176,    -1,   178,   179,   180,   181,   182,    -1,   184,    -1,
   28744             :       -1,    -1,   188,   189,    -1,   191,   192,   193,   194,   195,
   28745             :      196,   197,   198,   199,   200,    -1,   202,   203,   204,   205,
   28746             :      206,   207,   208,   209,    -1,   211,   212,    -1,   214,   215,
   28747             :      216,   217,   218,   219,    -1,   221,    -1,   223,   224,   225,
   28748             :      226,   227,   228,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28749             :       -1,    -1,    -1,   239,   240,   241,   242,   243,   244,   245,
   28750             :       -1,    -1,   248,    -1,   250,   251,   252,    -1,   254,   255,
   28751             :      256,    -1,    -1,   259,   260,   261,   262,   263,   264,   265,
   28752             :      266,   267,   268,    -1,   270,   271,   272,   273,   274,   275,
   28753             :      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
   28754             :      286,   287,   288,   289,    -1,   291,    -1,   293,   294,   295,
   28755             :      296,    -1,    -1,   299,   300,   301,   302,   303,    -1,   305,
   28756             :      306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,   315,
   28757             :      316,    -1,   318,   319,   320,    -1,   322,   323,   324,   325,
   28758             :      326,   327,   328,   329,   330,   331,   332,   333,   334,    -1,
   28759             :      336,   337,   338,    -1,   340,    -1,   342,   343,   344,    -1,
   28760             :      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   28761             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   28762             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   28763             :       -1,   377,   378,   379,   380,   381,   382,   383,   384,    -1,
   28764             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   28765             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   28766             :      406,   407,   408,   409,   410,   411,   412,    -1,   414,   415,
   28767             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   28768             :      426,   427,   428,   429,    -1,   431,    -1,   433,   434,    -1,
   28769             :       -1,   437,   438,   439,   440,   441,   442,   443,   444,    -1,
   28770             :      446,   447,   448,    -1,    -1,   451,   452,    -1,   454,    -1,
   28771             :       -1,   457,   458,   459,   460,   461,   462,   463,   464,   465,
   28772             :       -1,    -1,   468,   469,   470,   471,   472,    -1,    -1,   475,
   28773             :      476,   477,   478,   479,    -1,   481,    -1,   483,   484,   485,
   28774             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   28775             :      496,   497,   498,   499,     3,    -1,    -1,    -1,    -1,    -1,
   28776             :       -1,    -1,    -1,    -1,    -1,   511,   512,   513,    -1,    -1,
   28777             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   28778             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   28779             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
   28780             :       49,    50,    51,    -1,    53,    54,    55,    56,    -1,    58,
   28781             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   28782             :       69,    70,    71,    -1,    73,    74,    75,    76,    -1,    -1,
   28783             :       79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
   28784             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   28785             :       -1,   100,   101,   102,   103,    -1,    -1,    -1,   107,    -1,
   28786             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   28787             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   28788             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   28789             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   28790             :      149,   150,   151,    -1,   153,   154,   155,   156,    -1,   158,
   28791             :      159,   160,   161,    -1,    -1,   164,    -1,   166,   167,   168,
   28792             :      169,   170,   171,   172,    -1,   174,   175,   176,    -1,   178,
   28793             :      179,   180,   181,   182,    -1,   184,    -1,    -1,    -1,   188,
   28794             :      189,    -1,   191,   192,   193,   194,   195,   196,   197,   198,
   28795             :      199,   200,    -1,   202,   203,   204,   205,   206,   207,   208,
   28796             :      209,    -1,   211,   212,    -1,   214,   215,   216,   217,   218,
   28797             :      219,    -1,   221,    -1,   223,   224,   225,   226,   227,   228,
   28798             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28799             :      239,   240,   241,   242,   243,   244,   245,    -1,    -1,   248,
   28800             :       -1,   250,   251,   252,    -1,   254,   255,   256,    -1,    -1,
   28801             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   28802             :       -1,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   28803             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   28804             :       -1,    -1,   291,    -1,   293,   294,   295,   296,    -1,    -1,
   28805             :      299,   300,   301,   302,   303,    -1,   305,   306,   307,    -1,
   28806             :       -1,   310,   311,   312,    -1,    -1,   315,   316,    -1,   318,
   28807             :      319,   320,    -1,   322,   323,   324,   325,   326,   327,   328,
   28808             :      329,   330,   331,   332,   333,   334,    -1,   336,   337,   338,
   28809             :       -1,   340,    -1,   342,   343,   344,    -1,   346,   347,   348,
   28810             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   28811             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   28812             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   28813             :      379,   380,   381,   382,   383,   384,    -1,   386,   387,   388,
   28814             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   28815             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,   408,
   28816             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   28817             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   28818             :      429,    -1,   431,    -1,   433,   434,    -1,    -1,   437,   438,
   28819             :      439,   440,   441,   442,   443,   444,    -1,   446,   447,   448,
   28820             :       -1,    -1,   451,   452,    -1,   454,    -1,    -1,   457,   458,
   28821             :      459,   460,   461,   462,   463,   464,   465,    -1,    -1,   468,
   28822             :      469,   470,   471,   472,    -1,    -1,   475,   476,   477,   478,
   28823             :      479,    -1,   481,    -1,   483,   484,   485,   486,   487,   488,
   28824             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   28825             :      499,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28826             :       -1,    -1,   511,   512,   513,    -1,    -1,    -1,    20,    21,
   28827             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   28828             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   28829             :       42,    -1,    44,    45,    46,    47,    48,    49,    50,    51,
   28830             :       -1,    53,    54,    55,    56,    -1,    58,    59,    60,    61,
   28831             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   28832             :       -1,    73,    74,    75,    76,    -1,    -1,    79,    -1,    81,
   28833             :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
   28834             :       -1,    93,    94,    95,    96,    97,    98,    -1,   100,   101,
   28835             :      102,   103,    -1,    -1,    -1,   107,    -1,    -1,    -1,   111,
   28836             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   28837             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   28838             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   28839             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   28840             :       -1,   153,   154,   155,   156,    -1,   158,   159,   160,   161,
   28841             :       -1,    -1,   164,    -1,   166,   167,   168,   169,   170,   171,
   28842             :      172,    -1,   174,   175,   176,    -1,   178,   179,   180,   181,
   28843             :      182,    -1,   184,    -1,    -1,    -1,   188,   189,    -1,   191,
   28844             :      192,   193,   194,   195,   196,   197,   198,   199,   200,    -1,
   28845             :      202,   203,   204,   205,   206,   207,   208,   209,    -1,   211,
   28846             :      212,    -1,   214,   215,   216,   217,   218,   219,    -1,   221,
   28847             :       -1,   223,   224,   225,   226,   227,   228,    -1,    -1,    -1,
   28848             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   239,   240,   241,
   28849             :      242,   243,   244,   245,    -1,    -1,   248,    -1,   250,   251,
   28850             :      252,    -1,   254,   255,   256,    -1,    -1,   259,   260,   261,
   28851             :      262,   263,   264,   265,   266,   267,   268,    -1,   270,   271,
   28852             :      272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
   28853             :      282,   283,   284,   285,   286,   287,   288,    -1,    -1,   291,
   28854             :       -1,   293,   294,   295,   296,    -1,    -1,   299,   300,   301,
   28855             :      302,   303,    -1,   305,   306,   307,    -1,    -1,   310,   311,
   28856             :      312,    -1,    -1,   315,   316,    -1,   318,   319,   320,    -1,
   28857             :      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   28858             :      332,   333,   334,    -1,   336,   337,   338,    -1,   340,    -1,
   28859             :      342,   343,   344,    -1,   346,   347,   348,   349,   350,   351,
   28860             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   28861             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   28862             :      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
   28863             :      382,   383,   384,    -1,   386,   387,   388,   389,   390,   391,
   28864             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   28865             :       -1,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   28866             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   28867             :      422,   423,   424,   425,   426,   427,   428,   429,    -1,   431,
   28868             :       -1,   433,   434,    -1,    -1,   437,   438,   439,   440,   441,
   28869             :      442,   443,   444,    -1,   446,   447,   448,    -1,    -1,   451,
   28870             :      452,    -1,   454,    -1,    -1,   457,   458,   459,   460,   461,
   28871             :      462,   463,   464,   465,    -1,    -1,   468,   469,   470,   471,
   28872             :      472,    -1,    -1,   475,   476,   477,   478,   479,    -1,   481,
   28873             :       -1,   483,   484,   485,   486,   487,   488,    -1,    -1,   491,
   28874             :       -1,    -1,   494,   495,   496,   497,   498,   499,     3,    -1,
   28875             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   511,
   28876             :      512,   513,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   28877             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   28878             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   28879             :       45,    46,    47,    48,    49,    50,    51,    -1,    53,    54,
   28880             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   28881             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   28882             :       75,    76,    -1,    -1,    79,    -1,    81,    82,    83,    84,
   28883             :       85,    86,    87,    88,    89,    90,    91,    -1,    93,    94,
   28884             :       95,    96,    97,    98,    -1,   100,   101,   102,   103,    -1,
   28885             :       -1,    -1,   107,    -1,    -1,    -1,   111,   112,   113,   114,
   28886             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   28887             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   28888             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   28889             :      145,   146,    -1,   148,   149,   150,   151,    -1,   153,   154,
   28890             :      155,   156,    -1,   158,   159,   160,   161,    -1,    -1,   164,
   28891             :       -1,   166,   167,   168,   169,   170,    -1,   172,    -1,   174,
   28892             :      175,   176,    -1,   178,   179,   180,   181,   182,    -1,   184,
   28893             :       -1,    -1,    -1,   188,   189,    -1,   191,   192,   193,   194,
   28894             :      195,   196,   197,   198,   199,   200,    -1,   202,   203,   204,
   28895             :      205,   206,   207,   208,   209,    -1,   211,   212,    -1,   214,
   28896             :      215,   216,   217,   218,   219,    -1,   221,    -1,   223,   224,
   28897             :      225,   226,   227,   228,    -1,    -1,    -1,    -1,    -1,    -1,
   28898             :       -1,    -1,    -1,    -1,   239,   240,   241,   242,   243,   244,
   28899             :      245,    -1,    -1,   248,    -1,   250,   251,   252,    -1,   254,
   28900             :      255,   256,    -1,    -1,   259,   260,   261,   262,   263,   264,
   28901             :      265,   266,   267,   268,    -1,   270,   271,   272,   273,   274,
   28902             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
   28903             :      285,   286,   287,   288,    -1,    -1,   291,    -1,   293,   294,
   28904             :      295,   296,    -1,    -1,   299,   300,   301,   302,   303,    -1,
   28905             :      305,   306,   307,    -1,    -1,   310,   311,   312,    -1,    -1,
   28906             :      315,   316,    -1,   318,   319,   320,    -1,   322,   323,   324,
   28907             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   28908             :       -1,   336,   337,   338,    -1,   340,    -1,   342,   343,   344,
   28909             :       -1,   346,   347,   348,   349,   350,   351,   352,   353,   354,
   28910             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   28911             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   28912             :      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
   28913             :       -1,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   28914             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   28915             :      405,   406,   407,   408,   409,   410,   411,   412,    -1,   414,
   28916             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   28917             :      425,   426,   427,   428,   429,    -1,   431,    -1,   433,   434,
   28918             :       -1,    -1,   437,   438,   439,   440,   441,   442,   443,   444,
   28919             :       -1,   446,   447,   448,    -1,    -1,   451,   452,    -1,   454,
   28920             :       -1,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
   28921             :      465,    -1,    -1,   468,   469,   470,   471,   472,    -1,    -1,
   28922             :      475,   476,   477,   478,   479,    -1,   481,    -1,   483,   484,
   28923             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   28924             :      495,   496,   497,   498,   499,     3,    -1,    -1,    -1,    -1,
   28925             :       -1,    -1,    -1,    -1,    -1,    -1,   511,   512,   513,    -1,
   28926             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   28927             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   28928             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   28929             :       48,    49,    50,    51,    -1,    53,    54,    55,    56,    -1,
   28930             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   28931             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    -1,
   28932             :       -1,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
   28933             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   28934             :       98,    -1,   100,   101,   102,   103,    -1,    -1,    -1,   107,
   28935             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   28936             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   28937             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   28938             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   28939             :      148,   149,   150,   151,    -1,   153,   154,   155,   156,    -1,
   28940             :      158,   159,   160,   161,    -1,    -1,   164,    -1,   166,   167,
   28941             :      168,   169,   170,    -1,   172,    -1,   174,   175,   176,    -1,
   28942             :      178,   179,   180,   181,   182,    -1,   184,    -1,    -1,    -1,
   28943             :      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
   28944             :      198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
   28945             :      208,   209,    -1,   211,   212,    -1,   214,   215,   216,   217,
   28946             :      218,   219,    -1,   221,    -1,   223,   224,   225,   226,   227,
   28947             :      228,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28948             :       -1,   239,   240,   241,   242,   243,   244,   245,    -1,    -1,
   28949             :      248,    -1,   250,   251,   252,    -1,   254,   255,   256,    -1,
   28950             :       -1,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   28951             :      268,    -1,   270,   271,   272,   273,   274,   275,   276,   277,
   28952             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   28953             :      288,    -1,    -1,   291,    -1,   293,   294,   295,   296,    -1,
   28954             :       -1,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
   28955             :       -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,    -1,
   28956             :      318,   319,   320,    -1,   322,   323,   324,   325,   326,   327,
   28957             :      328,   329,   330,   331,   332,   333,   334,    -1,   336,   337,
   28958             :      338,    -1,   340,    -1,   342,   343,   344,    -1,   346,   347,
   28959             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   28960             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   28961             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   28962             :      378,   379,   380,   381,   382,   383,   384,    -1,   386,   387,
   28963             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   28964             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   28965             :      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   28966             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   28967             :      428,   429,    -1,   431,    -1,   433,   434,    -1,    -1,   437,
   28968             :      438,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
   28969             :      448,    -1,    -1,   451,   452,    -1,   454,    -1,    -1,   457,
   28970             :      458,   459,   460,   461,   462,   463,   464,   465,    -1,    -1,
   28971             :      468,   469,   470,   471,   472,    -1,    -1,   475,   476,   477,
   28972             :      478,   479,    -1,   481,    -1,   483,   484,   485,   486,   487,
   28973             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   28974             :      498,   499,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28975             :       -1,    -1,    -1,   511,   512,   513,    -1,    -1,    -1,    20,
   28976             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   28977             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   28978             :       41,    42,    -1,    44,    45,    46,    47,    48,    49,    50,
   28979             :       51,    -1,    53,    54,    55,    56,    -1,    58,    59,    60,
   28980             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   28981             :       71,    -1,    73,    74,    75,    76,    -1,    -1,    79,    -1,
   28982             :       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
   28983             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,   100,
   28984             :      101,   102,   103,    -1,    -1,    -1,   107,    -1,    -1,    -1,
   28985             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   28986             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   28987             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   28988             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   28989             :      151,    -1,   153,   154,   155,   156,    -1,   158,   159,   160,
   28990             :      161,    -1,    -1,   164,    -1,   166,   167,   168,   169,   170,
   28991             :       -1,   172,    -1,   174,   175,   176,    -1,   178,   179,   180,
   28992             :      181,   182,    -1,   184,    -1,    -1,    -1,   188,   189,    -1,
   28993             :      191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
   28994             :       -1,   202,   203,   204,   205,   206,   207,   208,   209,    -1,
   28995             :      211,   212,    -1,   214,   215,   216,   217,   218,   219,    -1,
   28996             :      221,    -1,   223,   224,   225,   226,   227,   228,    -1,    -1,
   28997             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   239,   240,
   28998             :      241,   242,   243,   244,   245,    -1,    -1,   248,    -1,   250,
   28999             :      251,   252,    -1,   254,   255,   256,    -1,    -1,   259,   260,
   29000             :      261,   262,   263,   264,   265,   266,   267,   268,    -1,   270,
   29001             :      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
   29002             :      281,   282,   283,   284,   285,   286,   287,   288,    -1,    -1,
   29003             :      291,    -1,   293,   294,   295,   296,    -1,    -1,   299,   300,
   29004             :      301,   302,   303,    -1,   305,   306,   307,    -1,    -1,   310,
   29005             :      311,   312,    -1,    -1,   315,   316,    -1,   318,   319,   320,
   29006             :       -1,   322,   323,   324,   325,   326,   327,   328,   329,   330,
   29007             :      331,   332,   333,   334,    -1,   336,   337,   338,    -1,   340,
   29008             :       -1,   342,   343,   344,    -1,   346,   347,   348,   349,   350,
   29009             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   29010             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   29011             :      371,   372,   373,   374,   375,    -1,   377,   378,   379,   380,
   29012             :      381,   382,   383,   384,    -1,   386,   387,   388,   389,   390,
   29013             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   29014             :      401,    -1,   403,   404,   405,   406,   407,   408,   409,   410,
   29015             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   29016             :      421,   422,   423,   424,   425,   426,   427,   428,   429,    -1,
   29017             :      431,    -1,   433,   434,    -1,    -1,   437,   438,   439,   440,
   29018             :      441,   442,   443,   444,    -1,   446,   447,   448,    -1,    -1,
   29019             :      451,   452,    -1,   454,    -1,    -1,   457,   458,   459,   460,
   29020             :      461,   462,   463,   464,   465,    -1,    -1,   468,   469,   470,
   29021             :      471,   472,    -1,    -1,   475,   476,   477,   478,   479,    -1,
   29022             :      481,    -1,   483,   484,   485,   486,   487,   488,    -1,    -1,
   29023             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,     3,
   29024             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   29025             :      511,   512,   513,    -1,    -1,    -1,    20,    21,    22,    23,
   29026             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   29027             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   29028             :       44,    45,    46,    47,    48,    49,    50,    51,    -1,    53,
   29029             :       54,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   29030             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   29031             :       74,    75,    76,    -1,    -1,    79,    -1,    81,    82,    83,
   29032             :       84,    85,    86,    87,    88,    89,    90,    91,    -1,    93,
   29033             :       94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
   29034             :       -1,    -1,    -1,   107,    -1,    -1,    -1,   111,   112,   113,
   29035             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   29036             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   29037             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   29038             :      144,   145,   146,    -1,   148,   149,   150,   151,    -1,   153,
   29039             :      154,   155,   156,    -1,   158,   159,   160,   161,    -1,    -1,
   29040             :      164,    -1,   166,   167,   168,   169,   170,    -1,   172,    -1,
   29041             :      174,   175,   176,    -1,   178,   179,   180,   181,   182,    -1,
   29042             :      184,    -1,    -1,    -1,   188,   189,    -1,   191,   192,   193,
   29043             :      194,   195,   196,   197,   198,   199,   200,    -1,   202,   203,
   29044             :      204,   205,   206,   207,   208,   209,    -1,   211,   212,    -1,
   29045             :      214,   215,   216,   217,   218,   219,    -1,   221,    -1,   223,
   29046             :      224,   225,   226,   227,   228,    -1,    -1,    -1,    -1,    -1,
   29047             :       -1,    -1,    -1,    -1,    -1,   239,   240,   241,   242,   243,
   29048             :      244,   245,    -1,    -1,   248,    -1,   250,   251,   252,    -1,
   29049             :      254,   255,   256,    -1,    -1,   259,   260,   261,   262,   263,
   29050             :      264,   265,   266,   267,   268,    -1,   270,   271,   272,   273,
   29051             :      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
   29052             :      284,   285,   286,   287,   288,    -1,    -1,   291,    -1,   293,
   29053             :      294,   295,   296,    -1,    -1,   299,   300,   301,   302,   303,
   29054             :       -1,   305,   306,   307,    -1,    -1,   310,   311,   312,    -1,
   29055             :       -1,   315,   316,    -1,   318,   319,   320,    -1,   322,   323,
   29056             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   29057             :      334,    -1,   336,   337,   338,    -1,   340,    -1,   342,   343,
   29058             :      344,    -1,   346,   347,   348,   349,   350,   351,   352,   353,
   29059             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   29060             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   29061             :      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
   29062             :      384,    -1,   386,   387,   388,   389,   390,   391,   392,   393,
   29063             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   29064             :      404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
   29065             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   29066             :      424,   425,   426,   427,   428,   429,    -1,   431,    -1,   433,
   29067             :      434,    -1,    -1,   437,   438,   439,   440,   441,   442,   443,
   29068             :      444,    -1,   446,   447,   448,    -1,    -1,   451,   452,    -1,
   29069             :      454,    -1,    -1,   457,   458,   459,   460,   461,   462,   463,
   29070             :      464,   465,    -1,    -1,   468,   469,   470,   471,   472,    -1,
   29071             :       -1,   475,   476,   477,   478,   479,    -1,   481,    -1,   483,
   29072             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   29073             :      494,   495,   496,   497,   498,   499,     3,    -1,    -1,    -1,
   29074             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   511,   512,   513,
   29075             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   29076             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   29077             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   29078             :       47,    48,    49,    50,    51,    -1,    53,    54,    55,    56,
   29079             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   29080             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   29081             :       -1,    -1,    79,    -1,    81,    82,    83,    84,    85,    86,
   29082             :       87,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   29083             :       97,    98,    -1,   100,   101,   102,   103,    -1,    -1,    -1,
   29084             :      107,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   29085             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   29086             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   29087             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   29088             :       -1,   148,   149,   150,   151,    -1,   153,   154,   155,   156,
   29089             :       -1,   158,   159,   160,   161,    -1,    -1,   164,    -1,   166,
   29090             :      167,   168,   169,   170,    -1,   172,    -1,   174,   175,   176,
   29091             :       -1,   178,   179,   180,   181,   182,    -1,   184,    -1,    -1,
   29092             :       -1,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
   29093             :      197,   198,   199,   200,    -1,   202,   203,   204,   205,   206,
   29094             :      207,   208,   209,    -1,   211,   212,    -1,   214,   215,   216,
   29095             :      217,   218,   219,    -1,   221,    -1,   223,   224,   225,   226,
   29096             :      227,   228,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   29097             :       -1,    -1,   239,   240,   241,   242,   243,   244,   245,    -1,
   29098             :       -1,   248,    -1,   250,   251,   252,    -1,   254,   255,   256,
   29099             :       -1,    -1,   259,   260,   261,   262,   263,   264,   265,   266,
   29100             :      267,   268,    -1,   270,   271,   272,   273,   274,   275,   276,
   29101             :      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
   29102             :      287,   288,    -1,    -1,   291,    -1,   293,   294,   295,   296,
   29103             :       -1,    -1,   299,   300,   301,   302,   303,    -1,   305,   306,
   29104             :      307,    -1,    -1,   310,   311,   312,    -1,    -1,   315,   316,
   29105             :       -1,   318,   319,   320,    -1,   322,   323,   324,   325,   326,
   29106             :      327,   328,   329,   330,   331,   332,   333,   334,    -1,   336,
   29107             :      337,   338,    -1,   340,    -1,   342,   343,   344,    -1,   346,
   29108             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   29109             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   29110             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   29111             :      377,   378,   379,   380,   381,   382,   383,   384,    -1,   386,
   29112             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   29113             :      397,   398,   399,   400,   401,    -1,   403,   404,    -1,   406,
   29114             :      407,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
   29115             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   29116             :      427,   428,   429,    -1,   431,    -1,   433,   434,    -1,    -1,
   29117             :      437,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
   29118             :      447,   448,    -1,    -1,   451,   452,    -1,   454,    -1,    -1,
   29119             :      457,   458,   459,   460,   461,   462,   463,   464,   465,    -1,
   29120             :       -1,   468,   469,   470,   471,   472,    -1,    -1,   475,   476,
   29121             :      477,   478,   479,    -1,   481,    -1,   483,   484,   485,   486,
   29122             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   29123             :      497,   498,   499,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   29124             :       -1,    -1,    -1,    -1,   511,   512,   513,    -1,    -1,    -1,
   29125             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   29126             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   29127             :       40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
   29128             :       50,    51,    -1,    -1,    54,    -1,    -1,    -1,    58,    59,
   29129             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    -1,
   29130             :       -1,    71,    -1,    73,    74,    75,    76,    -1,    -1,    79,
   29131             :       -1,    81,    82,    83,    84,    85,    86,    87,    88,    89,
   29132             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   29133             :      100,   101,   102,   103,    -1,    -1,    -1,   107,    -1,    -1,
   29134             :       -1,   111,   112,   113,   114,   115,   116,    -1,    -1,   119,
   29135             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   29136             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   29137             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   29138             :      150,   151,    -1,   153,   154,   155,   156,    -1,   158,   159,
   29139             :      160,   161,    -1,    -1,   164,    -1,   166,   167,   168,    -1,
   29140             :      170,    -1,   172,    -1,   174,   175,   176,    -1,   178,   179,
   29141             :      180,   181,   182,    -1,   184,    -1,    -1,    -1,   188,   189,
   29142             :       -1,   191,   192,   193,   194,   195,   196,   197,   198,   199,
   29143             :      200,    -1,   202,   203,   204,   205,   206,   207,   208,   209,
   29144             :       -1,   211,   212,    -1,   214,   215,   216,   217,    -1,    -1,
   29145             :       -1,    -1,    -1,   223,   224,   225,   226,   227,    -1,    -1,
   29146             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   239,
   29147             :      240,   241,   242,   243,   244,   245,    -1,    -1,   248,    -1,
   29148             :      250,   251,   252,    -1,   254,   255,   256,    -1,    -1,   259,
   29149             :      260,   261,   262,   263,   264,   265,   266,   267,   268,    -1,
   29150             :      270,   271,   272,   273,   274,   275,   276,   277,    -1,   279,
   29151             :       -1,   281,   282,   283,   284,   285,   286,   287,   288,    -1,
   29152             :       -1,   291,    -1,   293,   294,   295,   296,    -1,    -1,   299,
   29153             :       -1,   301,   302,   303,    -1,   305,   306,   307,    -1,    -1,
   29154             :      310,   311,   312,    -1,    -1,   315,   316,    -1,   318,   319,
   29155             :      320,    -1,   322,   323,   324,   325,   326,   327,   328,   329,
   29156             :      330,   331,   332,   333,   334,    -1,   336,   337,   338,    -1,
   29157             :      340,    -1,   342,   343,   344,    -1,   346,   347,   348,   349,
   29158             :      350,   351,   352,   353,   354,   355,   356,    -1,   358,   359,
   29159             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   29160             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
   29161             :      380,   381,   382,   383,   384,    -1,   386,   387,   388,   389,
   29162             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   29163             :      400,   401,    -1,   403,   404,    -1,   406,   407,   408,   409,
   29164             :      410,    -1,   412,    -1,   414,   415,   416,   417,   418,   419,
   29165             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   29166             :       -1,   431,    -1,   433,   434,    -1,    -1,   437,   438,   439,
   29167             :      440,   441,   442,   443,   444,    -1,   446,    -1,    -1,    -1,
   29168             :       -1,   451,   452,    -1,   454,    -1,    -1,   457,   458,   459,
   29169             :      460,   461,   462,   463,   464,   465,    -1,    -1,   468,   469,
   29170             :      470,   471,   472,    -1,    -1,   475,   476,   477,   478,   479,
   29171             :       -1,    -1,    -1,   483,   484,   485,   486,   487,   488,    -1,
   29172             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   29173             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   29174             :       -1,   511,   512,   513
   29175             : };
   29176             : 
   29177             :   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
   29178             :      symbol of state STATE-NUM.  */
   29179             : static const yytype_int16 yystos[] =
   29180             : {
   29181             :        0,    20,    31,    33,    34,    51,    61,    73,    75,    76,
   29182             :       82,    84,    97,    99,   116,   119,   134,   136,   140,   147,
   29183             :      156,   158,   165,   183,   200,   254,   255,   260,   275,   294,
   29184             :      343,   358,   364,   365,   367,   372,   378,   381,   388,   395,
   29185             :      396,   403,   407,   419,   436,   457,   469,   475,   480,   493,
   29186             :      517,   519,   520,   521,   522,   523,   536,   543,   544,   545,
   29187             :      546,   551,   552,   558,   559,   561,   562,   563,   564,   566,
   29188             :      569,   581,   586,   587,   590,   591,   592,   614,   617,   618,
   29189             :      633,   687,   690,   691,   694,   697,   698,   699,   707,   714,
   29190             :      716,   717,   720,   723,   724,   728,   737,   741,   742,   743,
   29191             :      746,   748,   749,   750,   751,   759,   761,   781,   785,   787,
   29192             :      788,   798,   800,   807,   808,   811,   812,   813,   814,   815,
   29193             :      824,   826,   828,   831,   835,   836,   846,   847,   852,   857,
   29194             :      868,   900,   903,   904,   905,   910,   913,   915,   917,   919,
   29195             :      920,   924,   925,   928,   930,   931,   935,   936,   937,   940,
   29196             :      941,   942,   943,   944,   951,   953,   954,   955,   956,   962,
   29197             :      964,   965,   971,   972,   973,   976,   977,   978,   979,   981,
   29198             :      982,   984,   985,   987,   988,   990,  1002,  1004,  1007,  1009,
   29199             :     1010,  1019,  1021,  1026,  1031,  1041,  1045,  1046,  1047,  1048,
   29200             :     1049,  1050,  1056,  1092,   451,   496,   957,    28,    79,    96,
   29201             :      114,   120,   138,   151,   160,   173,   179,   186,   206,   244,
   29202             :      266,   310,   338,   348,   349,   352,   380,   383,   387,   390,
   29203             :      397,   400,   421,   429,   434,   436,   439,   444,   454,   459,
   29204             :      473,   486,   713,   957,     3,    20,    21,    22,    23,    24,
   29205             :       25,    26,    27,    28,    30,    31,    32,    40,    41,    42,
   29206             :       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
   29207             :       54,    55,    56,    58,    59,    60,    61,    62,    63,    64,
   29208             :       67,    68,    69,    70,    71,    73,    74,    75,    76,    77,
   29209             :       79,    81,    82,    83,    84,    85,    86,    87,    88,    89,
   29210             :       90,    91,    93,    94,    95,    96,    97,    98,   100,   101,
   29211             :      102,   103,   107,   111,   112,   113,   114,   115,   116,   117,
   29212             :      118,   119,   121,   123,   124,   125,   126,   127,   128,   129,
   29213             :      131,   132,   133,   134,   137,   138,   139,   140,   141,   143,
   29214             :      144,   145,   146,   148,   149,   150,   151,   153,   154,   155,
   29215             :      156,   157,   158,   159,   160,   161,   162,   164,   166,   167,
   29216             :      168,   169,   170,   172,   174,   175,   176,   178,   179,   180,
   29217             :      181,   182,   184,   185,   187,   188,   189,   191,   192,   193,
   29218             :      194,   195,   196,   197,   198,   199,   200,   202,   203,   204,
   29219             :      205,   206,   207,   208,   209,   211,   212,   213,   214,   215,
   29220             :      216,   217,   218,   219,   221,   223,   224,   225,   226,   227,
   29221             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   29222             :      238,   239,   240,   241,   242,   243,   244,   245,   248,   249,
   29223             :      250,   251,   252,   254,   255,   256,   259,   260,   261,   262,
   29224             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   29225             :      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
   29226             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   293,
   29227             :      294,   295,   296,   298,   299,   300,   301,   302,   303,   305,
   29228             :      306,   307,   310,   311,   312,   315,   316,   317,   318,   319,
   29229             :      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
   29230             :      330,   331,   332,   333,   334,   336,   337,   338,   339,   340,
   29231             :      341,   342,   343,   344,   346,   347,   348,   349,   350,   351,
   29232             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   29233             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   29234             :      373,   374,   375,   377,   378,   379,   380,   381,   382,   383,
   29235             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   29236             :      394,   395,   397,   398,   399,   400,   401,   403,   404,   405,
   29237             :      406,   407,   408,   409,   410,   411,   412,   414,   415,   416,
   29238             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   29239             :      427,   428,   429,   430,   431,   433,   434,   437,   438,   439,
   29240             :      440,   441,   442,   443,   444,   446,   447,   448,   451,   452,
   29241             :      453,   454,   455,   457,   458,   459,   460,   461,   462,   463,
   29242             :      464,   465,   468,   469,   470,   471,   472,   475,   476,   477,
   29243             :      478,   479,   480,   481,   483,   484,   485,   486,   487,   488,
   29244             :      491,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   29245             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   29246             :      513,  1160,  1253,  1265,  1266,  1270,  1271,  1272,     3,    29,
   29247             :     1042,  1250,  1265,  1270,   484,   536,   995,   308,   344,   957,
   29248             :       54,   536,   625,    23,    41,    66,    79,   114,   120,   138,
   29249             :      151,   160,   173,   182,   186,   256,   310,   313,   338,   352,
   29250             :      380,   390,   400,   421,   429,   439,   441,   443,   444,   459,
   29251             :      467,   470,   473,   634,   696,   803,   858,   869,    29,   343,
   29252             :     1250,  1042,    29,   337,   398,   441,   443,     6,   243,   911,
   29253             :      912,  1256,    23,    28,    66,    79,    96,   114,   138,   151,
   29254             :      160,   173,   179,   186,   206,   266,   310,   323,   338,   349,
   29255             :      352,   380,   383,   387,   390,   397,   400,   421,   429,   436,
   29256             :      439,   444,   452,   454,   459,   473,   486,   713,   816,   818,
   29257             :      819,   957,  1250,    99,   484,   536,   691,   694,   697,   990,
   29258             :     1003,  1007,  1010,  1019,  1026,  1031,  1041,  1045,    11,    22,
   29259             :       29,    49,   168,   175,   177,   201,   245,   283,   346,   366,
   29260             :      527,   528,   832,   833,  1042,  1255,  1257,    29,    31,    99,
   29261             :      362,   396,   837,   838,   839,  1265,   173,  1265,  1252,  1256,
   29262             :      436,  1059,   832,  1265,   451,  1250,   323,   266,   536,   923,
   29263             :      388,  1265,    29,   401,   447,   451,   573,   582,   583,  1265,
   29264             :      183,   837,   838,  1265,   344,   957,  1265,   242,    29,   135,
   29265             :     1061,  1062,    67,    93,   256,   277,   380,   390,   401,   447,
   29266             :      451,   499,   570,   571,   572,   573,    29,   401,   447,   451,
   29267             :      573,   451,   309,  1104,  1105,  1248,  1265,  1059,   529,  1265,
   29268             :      178,   536,   996,   536,   360,  1051,  1052,  1250,  1051,     3,
   29269             :       53,    55,    56,    69,    70,   117,   118,   139,   169,   218,
   29270             :      219,   221,   228,   278,   280,   300,   357,   405,   411,   447,
   29271             :      448,   481,  1133,  1135,  1137,  1139,  1141,  1143,  1144,  1145,
   29272             :     1147,  1148,  1149,  1151,  1152,  1156,  1266,  1270,  1061,  1062,
   29273             :     1063,  1261,    12,  1262,  1263,  1265,  1262,  1262,  1046,  1047,
   29274             :     1050,     0,   539,   536,   995,   152,   220,   314,   466,  1064,
   29275             :     1065,  1046,  1048,  1049,   125,   216,   268,   472,   540,    35,
   29276             :      961,   885,  1253,   821,  1265,   821,  1250,   347,   821,   454,
   29277             :     1250,   113,   436,   873,  1253,  1265,  1272,     3,   106,   110,
   29278             :      402,  1258,  1259,  1267,  1270,  1271,  1272,    29,   195,  1248,
   29279             :      301,   486,    10,    17,    18,    19,    74,   164,   524,   525,
   29280             :      526,   527,   528,   529,   530,   531,   532,   907,   909,  1191,
   29281             :     1192,  1265,   195,  1250,   873,  1250,    29,  1258,  1259,   873,
   29282             :     1250,  1250,   195,  1248,  1250,   195,   821,  1250,   372,   403,
   29283             :       29,   195,  1104,  1250,   393,  1250,   821,    29,   263,  1258,
   29284             :     1259,   195,  1248,   243,   122,   226,   292,   356,   958,   959,
   29285             :      960,   536,   534,   538,  1217,  1219,   514,   989,   990,   991,
   29286             :      992,  1267,  1248,  1250,  1265,    28,    66,    80,    92,   114,
   29287             :      138,   179,   206,   244,   310,   349,   380,   383,   429,   439,
   29288             :      452,   459,   816,   817,   818,   819,  1256,   961,  1006,  1010,
   29289             :     1019,  1026,  1031,  1045,  1248,   270,   821,   536,   195,   821,
   29290             :     1250,   821,   454,   195,  1250,   113,   436,   441,   443,  1258,
   29291             :     1259,   441,   443,    74,   164,   907,   370,  1250,  1250,  1258,
   29292             :      195,   547,  1265,   195,  1250,   195,   548,   821,  1250,  1250,
   29293             :      393,   821,   263,  1258,   360,   397,   436,   486,   266,    96,
   29294             :      206,    28,    92,   179,   349,   387,   452,   454,   458,   708,
   29295             :       29,  1250,  1043,   580,  1256,  1267,   912,   270,   195,   885,
   29296             :      886,   195,   916,   195,  1250,   195,   823,  1133,   454,   113,
   29297             :      436,   195,   872,   873,   195,  1259,  1260,    87,   486,    74,
   29298             :      164,   195,   908,   909,    59,   195,   872,   195,  1260,   195,
   29299             :      872,   195,  1250,   195,  1250,   393,   916,   195,   823,   195,
   29300             :      263,  1260,   243,   195,   820,   821,   195,  1249,  1250,   195,
   29301             :     1250,   961,   536,  1008,   634,  1003,   480,   989,   995,  1257,
   29302             :      833,   834,    29,   834,  1257,   834,    29,   834,  1257,   834,
   29303             :      834,   834,  1257,  1255,  1255,  1042,   834,   347,   536,   434,
   29304             :      536,   662,   662,   662,   308,   449,   540,   662,   390,  1104,
   29305             :     1106,   540,   952,  1256,   536,  1005,    59,   486,   989,   114,
   29306             :      206,   390,   434,   436,   921,   922,  1265,    48,   513,   226,
   29307             :      538,   311,   308,   177,   311,  1256,   449,   961,   171,   829,
   29308             :      308,     5,     8,     9,    10,    12,    37,    53,    55,    56,
   29309             :       65,    66,    69,    70,    77,    79,   104,   105,   106,   107,
   29310             :      108,   109,   110,   117,   118,   120,   157,   162,   163,   169,
   29311             :      185,   187,   218,   219,   221,   228,   229,   230,   231,   232,
   29312             :      233,   234,   235,   236,   238,   249,   257,   258,   269,   278,
   29313             :      280,   290,   292,   297,   298,   300,   310,   321,   339,   357,
   29314             :      385,   402,   411,   430,   435,   447,   448,   453,   455,   456,
   29315             :      467,   473,   481,   501,   502,   503,   504,   506,   507,   508,
   29316             :      509,   515,   527,   528,   529,   536,  1046,  1136,  1139,  1142,
   29317             :     1143,  1144,  1146,  1147,  1148,  1151,  1152,  1156,  1157,  1159,
   29318             :     1160,  1161,  1163,  1187,  1188,  1189,  1193,  1211,  1216,  1242,
   29319             :     1245,  1246,  1253,  1254,  1255,  1256,  1265,  1244,  1245,  1256,
   29320             :       29,   588,  1247,  1248,   401,   570,   120,   579,  1256,   580,
   29321             :     1256,    48,    71,   570,   513,   412,   959,   311,   177,   449,
   29322             :      526,    48,   513,   226,   960,   536,  1248,   529,  1219,  1106,
   29323             :      989,   176,   997,  1157,  1196,  1051,   540,   536,   998,   483,
   29324             :     1150,  1150,  1150,   536,  1138,  1138,   341,   536,  1140,    69,
   29325             :       70,  1150,  1138,  1135,   517,   518,   536,  1153,   536,  1153,
   29326             :       37,  1134,   536,   115,   193,   271,   274,   394,   511,   536,
   29327             :     1154,  1155,   538,   822,  1138,  1244,  1220,   537,   537,   545,
   29328             :      989,   999,  1000,  1001,  1248,    29,   135,  1060,  1060,    59,
   29329             :     1060,   165,   171,   253,   304,  1068,  1070,  1071,  1086,  1088,
   29330             :     1089,  1090,  1064,  1065,   177,   222,   222,  1104,  1107,   536,
   29331             :       68,   288,   324,   368,   403,   536,   883,   324,   364,   368,
   29332             :      403,   822,   324,   368,   403,     3,    91,   145,   259,   324,
   29333             :      364,   368,   403,   439,   442,   493,   581,   584,   966,   967,
   29334             :      968,   969,   853,    25,   140,   324,   368,   403,   477,   599,
   29335             :     1250,    25,   140,   403,   472,   565,   497,   195,  1104,    62,
   29336             :       98,   161,   198,   248,   288,   292,   324,   325,   368,   377,
   29337             :      386,   395,   403,   417,   426,   431,   488,   581,   585,   889,
   29338             :      901,   929,   536,   870,  1219,   368,   565,   201,   157,    25,
   29339             :       31,    46,    76,   133,   140,   144,   172,   208,   288,   292,
   29340             :      302,   312,   324,   368,   371,   372,   403,   477,   593,   597,
   29341             :      598,   731,   929,     5,   527,   528,   705,  1257,    29,   195,
   29342             :     1248,   821,   821,   536,   906,   324,   403,   538,   157,   308,
   29343             :      324,   368,   403,   901,   929,    25,   140,   324,   368,   403,
   29344             :      201,   560,   368,   493,   517,   553,   560,   324,   368,   403,
   29345             :      901,   929,   308,   324,   368,   157,    38,    60,   112,   204,
   29346             :      267,   272,   288,   323,   368,   373,   397,   403,   419,   593,
   29347             :      702,   703,   324,   368,   485,   731,   739,   157,   324,   368,
   29348             :      403,    25,    91,   133,   140,   144,   324,   364,   368,   403,
   29349             :      410,   583,   571,   573,   201,   157,    46,   131,   268,   288,
   29350             :      368,   403,   414,   593,   596,   324,   368,   372,   403,    89,
   29351             :      132,   327,   442,   308,    25,    31,   140,   324,   368,   403,
   29352             :      615,   616,   560,   171,   368,   553,   560,   157,   368,   403,
   29353             :      593,  1250,   251,   122,   309,   498,   540,   958,    29,   135,
   29354             :      482,   529,   537,   878,  1157,  1197,  1198,  1266,  1157,  1218,
   29355             :        3,    29,    33,    34,    35,    36,    37,    38,    39,    43,
   29356             :       57,    65,    66,    72,    78,    80,    92,    99,   104,   105,
   29357             :      106,   108,   109,   110,   120,   122,   130,   135,   136,   142,
   29358             :      147,   152,   163,   165,   171,   173,   177,   183,   186,   190,
   29359             :      201,   210,   220,   222,   246,   247,   253,   257,   258,   292,
   29360             :      297,   304,   308,   309,   313,   314,   335,   345,   362,   376,
   29361             :      396,   402,   413,   432,   435,   436,   445,   449,   450,   456,
   29362             :      466,   467,   473,   474,   482,   489,   490,   492,   493,   529,
   29363             :     1251,  1268,  1270,  1271,  1272,  1273,  1217,   537,   540,   163,
   29364             :      308,   456,   577,   580,   705,   993,   474,   986,   308,   885,
   29365             :      536,   821,  1250,  1133,   873,   301,    74,   164,   909,   873,
   29366             :      873,   171,  1133,   821,  1250,  1250,   537,   662,  1250,    72,
   29367             :     1133,   292,   177,   536,   789,   553,    38,   980,  1250,   292,
   29368             :      553,   497,   195,  1248,   553,   821,   821,   789,   470,   634,
   29369             :      308,   171,   493,   897,   553,   292,    48,   567,   292,   459,
   29370             :      738,   292,   998,    91,   324,   715,    89,   132,   327,   442,
   29371             :       38,   789,   171,   195,   553,   486,   195,  1248,   195,   692,
   29372             :     1248,  1248,   486,   821,    87,   549,  1253,   454,  1253,  1253,
   29373             :     1250,   171,  1250,   713,    40,    54,   111,   215,   288,   392,
   29374             :      157,    63,   374,   540,   550,   157,   536,   157,   553,   157,
   29375             :      540,   550,   497,   157,   540,   550,   157,   540,   195,   820,
   29376             :      195,   821,   195,   821,   157,   540,   550,  1260,   157,   550,
   29377             :      157,   157,   550,   157,   550,   157,    89,   132,   327,   442,
   29378             :      171,   157,   550,   157,   171,   195,   157,   540,   550,   157,
   29379             :      540,   550,   157,   308,  1196,   436,   537,  1003,   834,  1042,
   29380             :      834,  1042,   834,  1042,   834,  1042,   834,  1042,  1042,  1042,
   29381             :      834,  1042,   536,   663,   666,  1265,   663,    29,   114,   138,
   29382             :      173,   179,   243,   244,   326,   349,   383,   390,   397,   436,
   29383             :      439,   459,   842,  1247,  1260,   839,  1250,   201,   540,  1022,
   29384             :     1256,  1133,  1200,    38,  1260,   549,   537,   549,   549,   549,
   29385             :      251,  1265,   171,   842,  1260,   171,   388,  1265,   580,   308,
   29386             :      536,  1220,   534,  1046,  1201,  1157,  1215,   536,   536,   171,
   29387             :      536,   536,  1046,   536,   536,   536,   536,   536,   536,   536,
   29388             :      536,   536,   536,   536,   536,   536,   536,   536,   536,   536,
   29389             :      536,  1157,   536,   536,   536,   536,   536,   536,   536,   536,
   29390             :      299,   650,   536,   536,   536,   536,   536,   536,   536,   536,
   29391             :     1157,  1157,  1157,  1046,  1157,  1196,  1219,  1256,   536,  1256,
   29392             :        3,    10,    13,    17,    18,    19,    20,    21,    22,    23,
   29393             :       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
   29394             :       34,    35,    36,    38,    39,    40,    41,    42,    43,    44,
   29395             :       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
   29396             :       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
   29397             :       65,    66,    67,    68,    71,    72,    73,    74,    75,    76,
   29398             :       77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
   29399             :       87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
   29400             :       97,    98,   100,   101,   102,   103,   104,   105,   106,   107,
   29401             :      108,   109,   110,   111,   112,   113,   114,   116,   117,   118,
   29402             :      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
   29403             :      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
   29404             :      139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
   29405             :      149,   150,   151,   153,   154,   155,   156,   157,   158,   159,
   29406             :      160,   161,   162,   163,   164,   167,   168,   169,   170,   172,
   29407             :      173,   174,   175,   176,   178,   179,   180,   181,   182,   184,
   29408             :      185,   187,   188,   189,   191,   192,   194,   195,   196,   197,
   29409             :      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
   29410             :      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
   29411             :      218,   219,   221,   223,   224,   225,   226,   227,   228,   229,
   29412             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   29413             :      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
   29414             :      250,   251,   252,   254,   255,   256,   257,   258,   259,   260,
   29415             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   29416             :      272,   273,   275,   276,   277,   278,   279,   280,   281,   282,
   29417             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   29418             :      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
   29419             :      303,   305,   306,   307,   309,   310,   311,   312,   313,   315,
   29420             :      316,   317,   318,   321,   322,   323,   324,   325,   326,   327,
   29421             :      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
   29422             :      338,   339,   340,   342,   343,   344,   345,   346,   347,   348,
   29423             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   29424             :      359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
   29425             :      369,   370,   371,   372,   373,   374,   375,   377,   378,   379,
   29426             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   29427             :      390,   391,   392,   393,   395,   396,   397,   398,   399,   400,
   29428             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   29429             :      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
   29430             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   29431             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   29432             :      441,   442,   443,   444,   445,   446,   447,   448,   450,   451,
   29433             :      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
   29434             :      462,   463,   464,   465,   467,   468,   469,   470,   471,   472,
   29435             :      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
   29436             :      484,   485,   486,   487,   488,   489,   491,   496,   497,   498,
   29437             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   29438             :      509,   510,   512,   513,   515,   524,   525,   526,   527,   528,
   29439             :      529,   530,   531,   532,  1191,  1193,  1195,  1269,  1274,   494,
   29440             :     1174,   320,  1157,   166,  1175,   222,   540,  1057,   536,  1256,
   29441             :     1219,  1057,   123,   197,   589,   540,    71,   120,   580,    38,
   29442             :        3,   120,   256,   578,   705,  1152,  1256,  1256,    94,   137,
   29443             :     1169,   103,   120,   574,   575,   577,   705,   120,   574,   251,
   29444             :     1248,    95,   373,   825,   537,   995,    35,    45,    52,    78,
   29445             :      196,   201,   224,   252,   310,   313,   408,   537,   540,  1052,
   29446             :     1249,    38,   536,  1196,  1255,  1150,  1150,    37,  1134,   447,
   29447             :      447,  1255,  1255,   534,   534,  1255,   449,   449,   449,   536,
   29448             :      449,  1255,  1251,   538,  1138,   177,  1093,    15,   526,  1217,
   29449             :     1264,   537,   540,   998,  1048,  1048,  1066,  1067,  1157,  1048,
   29450             :      168,   283,  1077,   240,   288,   356,   406,   472,    29,  1072,
   29451             :     1157,   527,   528,  1073,  1074,  1157,  1159,  1086,  1087,  1071,
   29452             :     1070,  1068,  1069,   171,  1089,   302,  1091,  1068,  1086,  1107,
   29453             :     1011,  1248,  1107,    38,  1265,   403,  1196,    68,   449,   449,
   29454             :      390,   201,   213,   314,   317,   405,   482,   529,   876,   877,
   29455             :      878,   880,   882,   884,  1133,  1266,   449,   485,   449,   390,
   29456             :      449,   449,   390,   253,   449,    79,   449,   439,   570,   324,
   29457             :      966,   968,   526,   970,   171,   183,   201,   378,   854,   855,
   29458             :       72,    92,   292,   658,   659,    92,   120,   292,   449,    92,
   29459             :      449,   120,   292,   390,    92,   133,   144,   324,   368,   786,
   29460             :      390,   721,    28,    66,   138,   179,   310,   349,   383,   452,
   29461             :      459,   816,   817,  1250,   157,   368,   403,   593,   308,   705,
   29462             :      395,   248,   449,  1265,   449,   297,   705,   124,   223,   390,
   29463             :      401,   451,   572,   821,   374,   403,   889,   902,   128,   537,
   29464             :      871,   876,   449,   473,   439,  1248,    72,    80,    92,   153,
   29465             :      173,   195,   292,   345,   467,   641,   656,   657,  1265,    80,
   29466             :       92,   926,   329,   308,   385,   387,   454,    92,   926,    32,
   29467             :      371,   385,   387,   454,   385,  1248,   172,   208,   302,   821,
   29468             :      536,   449,   449,   194,   536,   603,    23,   262,   439,   470,
   29469             :      495,   603,    92,   540,   128,     5,     5,   324,   201,   157,
   29470             :      368,   403,   593,   929,   474,   474,   289,  1133,   449,   390,
   29471             :      536,   907,  1250,  1248,   449,   449,   390,   902,   128,   107,
   29472             :      436,   437,   938,   939,  1105,  1248,  1265,   939,   449,   449,
   29473             :      789,   939,   114,   403,   584,   449,   555,   584,   449,   449,
   29474             :      390,   902,   128,  1248,   449,   449,  1248,  1135,   705,    59,
   29475             :      704,   705,   705,   112,   267,   272,    59,   449,   553,   276,
   29476             :      390,   553,   288,   703,   449,   449,   297,  1256,   731,   821,
   29477             :      449,   449,   390,   421,   352,  1256,   352,   449,   352,   449,
   29478             :      352,   789,   789,   439,  1104,   329,   329,   330,    92,   449,
   29479             :      926,   390,   329,   449,   449,   603,   603,   821,   821,   821,
   29480             :      821,  1248,    47,   479,    47,    47,   479,   449,    47,   449,
   29481             :      479,   390,   536,   540,   584,   473,   747,  1259,   449,   555,
   29482             :      584,  1248,   449,   926,   390,   324,   368,   356,   369,   399,
   29483             :      576,   958,  1197,  1197,  1198,   537,    15,    16,   540,  1064,
   29484             :     1065,   535,   541,  1248,   991,  1250,  1248,   224,  1133,   224,
   29485             :      308,   224,   224,   705,   821,   821,   224,   224,   224,  1133,
   29486             :      224,   224,   224,   308,   449,   177,   449,   619,   459,   536,
   29487             :       38,   157,   821,   790,   791,  1268,   966,  1133,   308,   157,
   29488             :      718,  1250,   292,   329,   536,   554,   803,   474,   360,   486,
   29489             :     1248,    29,   939,   789,   554,   157,  1259,    99,   183,   568,
   29490             :      633,   698,   761,   835,   857,   962,   157,  1256,   739,   740,
   29491             :      157,   308,  1256,  1259,   259,   821,   821,   821,   821,   148,
   29492             :      355,   536,   747,   292,   554,  1248,   292,   700,   702,   292,
   29493             :       38,   302,   329,   536,   662,   662,   195,   695,  1248,   171,
   29494             :      195,   547,  1265,   536,   793,   883,  1250,   536,   874,   874,
   29495             :       38,  1133,    27,    50,   217,   762,   243,   493,   495,  1044,
   29496             :      392,   886,   885,  1133,  1250,   536,   823,  1133,   872,   873,
   29497             :     1260,  1259,   157,   550,   157,   474,   157,   474,   908,   909,
   29498             :      550,   872,  1260,   872,  1250,  1250,  1133,   823,  1260,   747,
   29499             :      157,   820,   821,  1249,  1250,  1250,   821,   537,   195,  1248,
   29500             :     1003,  1042,  1042,  1042,  1042,  1042,  1042,   663,   537,   540,
   29501             :      537,   180,   350,   384,   398,   437,  1249,   820,   113,   400,
   29502             :      872,  1249,   301,   840,   841,  1265,   872,   872,  1249,  1247,
   29503             :     1247,  1249,   820,   449,   184,   493,   851,   152,   253,   744,
   29504             :      745,    23,   155,   385,   406,  1023,  1104,   296,  1024,   537,
   29505             :      540,  1006,   449,  1248,  1250,  1248,   547,   837,   838,   177,
   29506             :      851,   838,  1265,    28,    80,   138,   179,   244,   349,   383,
   29507             :      459,   816,   817,  1196,   535,  1196,  1201,  1202,   489,  1212,
   29508             :     1213,  1157,  1196,   536,  1255,  1255,     3,   115,   193,   271,
   29509             :      274,   394,   511,  1203,  1204,  1256,  1196,  1196,  1157,  1230,
   29510             :      376,  1046,  1047,  1230,  1234,  1241,  1230,  1230,  1157,  1159,
   29511             :     1197,  1234,  1237,  1238,  1157,  1238,  1230,  1157,  1230,  1230,
   29512             :     1196,  1255,  1255,   537,  1157,  1157,   907,  1157,  1197,  1199,
   29513             :     1206,   385,   527,   528,   536,  1158,  1159,  1193,  1207,   537,
   29514             :     1196,  1157,  1199,  1208,  1157,    57,   177,   247,   450,  1157,
   29515             :     1196,  1209,   135,   292,  1046,  1196,   276,  1159,  1157,  1167,
   29516             :     1168,  1169,   276,  1157,  1169,   537,   540,  1255,  1154,  1133,
   29517             :     1157,  1157,  1157,  1157,  1268,   256,   447,    43,   432,  1221,
   29518             :      821,  1157,   536,  1046,  1210,   135,   137,   163,   228,   284,
   29519             :      285,   286,   287,   291,   292,   297,   456,   468,  1205,  1235,
   29520             :     1157,   536,  1157,   449,    52,   196,   201,   252,   408,  1157,
   29521             :     1157,  1157,  1157,  1157,  1157,  1157,  1157,  1157,  1157,    29,
   29522             :       36,   413,  1190,   186,  1175,   385,   536,  1187,   536,   319,
   29523             :     1179,   182,   256,   436,   441,   443,   470,  1058,  1248,  1246,
   29524             :     1093,  1197,  1093,  1248,   451,   536,  1256,   540,   537,   194,
   29525             :      194,   550,  1001,   990,   994,  1157,   537,   266,   292,  1053,
   29526             :     1196,   537,   537,   534,   513,   513,   537,   537,  1255,   535,
   29527             :     1255,   537,   193,   271,  1155,   271,  1155,  1155,  1255,   274,
   29528             :      537,  1251,   228,   237,   246,   386,   510,   536,  1046,  1094,
   29529             :     1095,  1096,  1104,  1110,  1120,  1127,  1160,  1162,  1163,  1242,
   29530             :     1265,   490,  1115,  1261,  1001,   999,   540,    39,   130,   474,
   29531             :      866,   385,   386,   527,   528,  1074,  1076,  1159,   406,   240,
   29532             :      309,   540,     5,  1075,  1255,  1075,   385,   386,  1076,  1247,
   29533             :      296,   410,  1025,  1087,  1069,   474,  1020,   120,   322,   536,
   29534             :     1012,  1045,    38,   474,  1265,   536,  1027,  1028,  1029,  1265,
   29535             :      537,  1259,  1250,  1250,   317,    59,  1266,   537,   878,   880,
   29536             :      877,   880,  1266,   314,   537,   540,   822,  1259,  1250,  1250,
   29537             :     1259,  1250,  1250,  1259,   485,  1250,  1250,   120,   577,   705,
   29538             :      380,   473,   837,   390,   183,   837,   536,  1250,   297,   195,
   29539             :     1250,   297,  1259,  1250,  1250,  1157,   297,  1250,  1250,    32,
   29540             :      371,   449,   449,  1250,   449,   722,   885,   536,  1133,   873,
   29541             :       74,   164,   909,   873,   873,   171,  1133,   821,  1250,   189,
   29542             :      288,   324,   368,   478,   725,   726,   727,  1104,   449,   926,
   29543             :      390,   297,   124,   223,  1259,  1250,   308,  1250,   308,   537,
   29544             :      540,  1258,  1260,  1250,   368,   593,   536,   195,   641,  1250,
   29545             :      474,   859,   240,   292,   297,   240,   474,   650,   686,  1133,
   29546             :     1250,  1255,  1265,  1248,  1250,   251,  1250,    29,   473,  1250,
   29547             :      195,  1250,   195,  1265,   387,   454,   387,   454,   251,  1250,
   29548             :       29,   473,  1250,   251,   385,  1248,    25,   140,   403,   732,
   29549             :      733,   734,   735,  1268,  1259,  1250,   120,   178,   293,   474,
   29550             :      602,   605,   606,  1268,   270,  1250,    76,   305,  1250,   598,
   29551             :      308,   449,   439,  1248,   449,   926,   390,   128,  1250,  1250,
   29552             :      540,   537,   540,  1259,  1250,   932,   933,  1268,   308,   368,
   29553             :      449,   755,  1259,  1250,  1250,   308,  1104,   201,   540,   662,
   29554             :      662,  1219,  1259,  1250,  1250,  1258,     3,    91,   146,   208,
   29555             :      332,   465,   473,   476,   556,  1259,  1250,  1250,   308,   368,
   29556             :     1259,  1250,   368,   403,   593,   702,   705,   821,  1250,   705,
   29557             :      821,  1250,   705,  1259,  1250,   403,  1259,  1250,  1250,   120,
   29558             :      609,  1257,  1249,  1249,  1259,   897,  1250,  1249,  1250,   368,
   29559             :      403,   593,   596,  1248,  1248,   536,  1250,  1250,  1250,  1250,
   29560             :     1248,  1259,  1250,    25,    31,   140,   324,   368,   403,   324,
   29561             :      368,   403,   789,   368,   403,   368,   403,   368,   929,  1119,
   29562             :     1265,   195,   799,  1265,   195,  1265,  1256,  1259,  1250,  1250,
   29563             :     1256,  1250,   932,    25,   140,   616,   400,  1258,   368,   403,
   29564             :      593,  1250,  1250,  1250,   449,   449,    85,   464,   356,   540,
   29565             :     1064,  1064,  1064,  1157,  1157,   482,  1198,   537,  1157,  1218,
   29566             :      986,   297,   827,  1256,    38,   827,   138,   821,   827,   827,
   29567             :      224,   474,   474,   827,   827,   827,   243,   827,   827,   827,
   29568             :      821,   351,   620,   620,   206,   436,   760,  1157,  1133,   821,
   29569             :      537,   540,   526,   647,  1268,  1250,    63,   177,   390,   485,
   29570             :      719,   726,   727,   157,   302,   252,   635,   637,   639,   641,
   29571             :      653,   656,    26,   201,   380,   433,   556,   557,   171,  1250,
   29572             :      486,  1248,    38,   756,   437,   897,   547,  1265,   567,   634,
   29573             :      869,  1250,   173,   821,   536,   688,   689,  1162,  1265,   352,
   29574             :     1256,   789,   789,   789,   789,   536,   789,  1117,  1118,  1119,
   29575             :      400,   157,   536,   157,   157,   156,  1045,   821,   302,   635,
   29576             :     1265,   474,   681,   493,   604,   292,    38,   662,  1256,   292,
   29577             :      308,     3,   794,   795,   789,    27,   537,   875,   876,   881,
   29578             :       38,   243,   377,   452,   492,   887,   888,   889,   890,   887,
   29579             :      308,   243,   302,   125,   216,   457,   472,   763,   764,  1250,
   29580             :      192,   192,   171,   550,    38,   553,   172,   974,   975,   550,
   29581             :      550,   820,   821,  1250,   821,  1250,   550,   550,   550,   550,
   29582             :      243,   550,   400,   171,   550,   550,   308,   550,   292,   537,
   29583             :      666,   201,   201,   201,   201,   201,   497,  1249,   705,   706,
   29584             :      540,   538,   186,   843,   844,  1259,    59,   848,   849,  1268,
   29585             :      449,   536,   177,   155,   406,   155,   406,   385,   472,   273,
   29586             :     1133,  1259,   493,   693,   308,   843,   550,   177,   885,   821,
   29587             :     1133,   873,   301,   873,   873,  1133,   821,  1250,   537,   535,
   29588             :      535,   540,  1157,   142,  1213,  1214,    38,   537,  1157,   537,
   29589             :      537,   537,   177,   537,   537,   514,  1231,  1232,   493,   495,
   29590             :     1236,  1133,  1232,   537,    21,   297,   540,  1240,   314,  1243,
   29591             :      540,   541,   479,   537,   537,    21,   297,   540,  1239,  1239,
   29592             :      540,   537,  1234,   540,   537,   537,   537,   537,   540,   540,
   29593             :      537,   335,   537,   537,   536,  1158,  1158,  1196,    13,    17,
   29594             :       18,    19,   201,   224,   310,   524,   525,   526,   527,   528,
   29595             :      529,   530,   531,   532,  1193,  1158,   537,   537,   171,   177,
   29596             :      408,   537,   537,    38,  1209,  1196,  1209,  1209,   177,   537,
   29597             :      135,   537,  1268,   331,  1172,    38,   537,   540,  1157,  1268,
   29598             :      540,  1157,  1220,  1157,   537,   513,  1158,  1158,   150,  1196,
   29599             :      177,    37,   301,   389,   479,   135,   137,   163,   291,   297,
   29600             :      456,   468,  1205,  1235,   291,  1236,   150,   907,  1157,   432,
   29601             :     1221,  1157,  1210,  1157,   449,   536,  1046,   536,  1179,   536,
   29602             :     1196,   490,   536,  1180,  1265,   441,   443,   441,   443,  1248,
   29603             :     1059,  1059,  1059,  1115,  1064,  1115,   959,  1255,  1154,   575,
   29604             :     1001,   266,   536,   537,  1255,  1153,  1153,   535,   535,   537,
   29605             :      536,  1046,  1110,  1120,  1127,   177,   536,  1046,  1095,  1096,
   29606             :       38,  1097,  1098,  1265,   540,   100,   178,   212,   227,   250,
   29607             :      279,   379,  1101,  1098,    38,  1097,  1100,  1265,  1098,  1098,
   29608             :      517,  1114,  1219,  1157,   186,  1078,  1067,   310,  1191,  1194,
   29609             :      516,   867,     5,  1255,  1076,   309,   493,   472,  1073,   261,
   29610             :     1094,   490,  1116,   480,   434,   473,  1013,  1014,  1015,  1265,
   29611             :      308,  1016,  1265,  1095,  1029,  1030,   540,  1093,   526,  1220,
   29612             :      884,   822,   880,   880,    59,   882,   531,  1260,  1260,   308,
   29613             :     1249,   311,   308,  1157,   659,   779,   157,   550,   449,  1259,
   29614             :     1250,   580,  1133,   821,   821,  1133,   709,  1250,   189,   478,
   29615             :      449,   449,   709,   725,   731,   368,   403,   593,  1250,  1250,
   29616             :     1250,   214,   297,   160,   876,   323,   403,   449,  1157,   292,
   29617             :      153,   657,  1250,   536,   536,   157,  1265,   536,   686,   206,
   29618             :      536,   779,   424,   645,   646,   779,   403,    25,   140,   372,
   29619             :      373,   403,   599,   607,   608,   731,   927,   395,   157,   550,
   29620             :      157,   550,  1250,  1250,  1250,  1250,   395,   395,   251,   734,
   29621             :      735,   734,   537,   540,   736,  1256,   206,   537,   540,   526,
   29622             :      538,   120,   610,  1265,   160,  1259,  1250,   368,   403,   593,
   29623             :     1250,  1250,  1250,   308,   324,   368,   403,    25,   140,   324,
   29624             :      368,   403,  1133,   289,  1133,   537,   540,   526,  1248,   449,
   29625             :     1260,   474,   752,   160,   662,   390,   938,   490,   671,   671,
   29626             :      662,   253,   332,   297,  1256,   332,  1260,   471,   160,   449,
   29627             :      449,   390,   421,   897,   897,   897,   323,   403,    92,   449,
   29628             :      926,   390,   120,   171,   611,   167,   549,  1247,   449,   449,
   29629             :      222,   263,   263,   263,   449,   449,   390,   449,   449,   390,
   29630             :      449,   390,   449,   390,   449,   128,   550,  1133,   292,  1256,
   29631             :      403,   927,   157,   550,   449,   449,   537,  1250,   449,   926,
   29632             :      390,   449,  1259,  1250,   537,   537,   537,  1198,   535,  1133,
   29633             :      821,   224,   827,  1250,  1250,  1250,   224,   422,   423,   621,
   29634             :     1256,   621,   189,   537,   537,   177,   789,   791,   289,   310,
   29635             :      527,   528,   705,   792,   880,  1194,  1256,  1273,    72,    78,
   29636             :       92,   120,   122,   181,   210,   292,   297,   345,   362,   467,
   29637             :      648,   649,   652,   156,   489,   553,   580,  1250,   580,   312,
   29638             :      729,  1248,  1248,  1248,   537,   540,  1260,   186,   380,  1260,
   29639             :     1255,   459,  1248,   662,     3,   171,   757,   897,    48,   567,
   29640             :      436,   738,   113,   998,  1157,   177,   540,  1249,   604,   796,
   29641             :      797,  1256,   537,   540,  1250,   171,   663,  1248,   692,  1248,
   29642             :     1250,   693,   536,   636,  1248,   537,  1250,   493,   495,   682,
   29643             :      603,    38,   157,  1045,   681,   449,   157,  1104,   526,   537,
   29644             :      540,   763,   537,   540,   120,   526,   891,  1256,   580,   436,
   29645             :      879,   880,   171,   896,    51,   375,   892,   893,   890,   893,
   29646             :      125,   216,   396,   472,   949,  1250,   302,   308,   313,   189,
   29647             :     1045,  1133,   536,   537,   540,   550,   474,   550,   474,   550,
   29648             :     1250,  1250,   747,   821,   157,   390,   390,   390,   390,   390,
   29649             :     1249,   540,   841,  1265,  1259,   493,   540,   845,  1259,   540,
   29650             :      851,   163,   311,   456,   850,  1106,   400,   155,   155,   113,
   29651             :      288,   842,   851,  1260,   224,   224,   224,   224,   705,   224,
   29652             :      224,   224,   224,   224,  1201,   445,  1157,   147,  1133,   537,
   29653             :     1157,   228,   467,   467,   537,  1232,  1234,   308,   308,  1230,
   29654             :     1234,    59,  1240,  1157,  1230,  1230,   308,   308,  1238,  1236,
   29655             :     1236,  1157,   537,  1157,  1205,  1157,  1157,   537,  1196,   540,
   29656             :     1133,  1158,  1158,  1158,  1158,   135,   137,   292,  1158,  1158,
   29657             :     1158,  1158,  1158,  1158,  1158,  1158,  1158,  1158,  1157,  1157,
   29658             :     1157,  1133,   537,   537,   537,  1196,   537,   540,    59,  1159,
   29659             :     1173,   537,  1268,  1168,   342,   428,  1171,   537,   540,   485,
   29660             :     1164,    38,   537,  1256,  1157,    35,    35,  1157,   537,  1157,
   29661             :      177,   291,  1236,  1157,   537,   150,  1158,  1158,   150,   150,
   29662             :     1157,  1157,  1065,   537,  1196,   540,  1157,  1181,  1265,  1059,
   29663             :     1059,  1059,  1059,  1248,  1248,  1248,  1078,   537,  1078,   537,
   29664             :     1006,   535,  1230,  1098,  1100,  1098,  1098,   536,   505,  1159,
   29665             :      537,  1265,   536,  1095,   227,   318,  1102,  1095,  1102,   227,
   29666             :     1101,  1102,   227,   438,  1108,   536,  1265,   536,   315,    59,
   29667             :      190,  1085,   536,   867,   168,   245,   309,   493,   446,   103,
   29668             :     1157,   376,  1018,   479,   537,   540,  1220,    90,  1018,   308,
   29669             :      537,   540,  1028,  1116,  1157,   537,   531,   884,   459,   180,
   29670             :      384,   391,   398,   437,   460,   856,   171,   856,   537,   122,
   29671             :      210,   288,   292,   780,  1250,  1250,    38,   474,   474,   243,
   29672             :      822,  1259,  1250,   449,   926,   390,   449,   214,  1250,    59,
   29673             :      439,  1250,   537,   157,   536,   669,   670,   862,  1162,  1265,
   29674             :      663,   641,   779,   663,   779,  1250,   663,   120,  1265,    86,
   29675             :      643,   644,   421,   181,   159,   194,   292,   603,   553,   113,
   29676             :      159,   181,   292,   421,   603,   643,   645,   703,   403,   608,
   29677             :      459,  1250,  1265,   395,   733,  1250,   606,   792,  1268,  1250,
   29678             :      323,   403,   449,   926,   390,   449,   160,   449,   449,   390,
   29679             :      179,   310,   424,   801,   802,   179,   310,   809,   810,   449,
   29680             :      449,   390,   537,   537,   537,   933,   289,   705,   880,   934,
   29681             :     1194,  1256,  1273,   368,  1250,   536,   493,   753,  1250,   671,
   29682             :      107,  1265,   536,   671,  1257,  1256,  1256,  1256,  1250,  1250,
   29683             :     1250,  1250,   609,    59,   439,  1250,  1250,  1250,  1250,   480,
   29684             :      537,  1250,  1250,   536,   171,   171,   370,   171,   195,  1259,
   29685             :     1250,  1250,  1259,  1250,  1250,  1250,  1250,  1250,  1250,  1250,
   29686             :      308,    78,   600,   157,    27,    50,   459,  1265,  1250,  1256,
   29687             :      731,  1250,  1250,  1250,  1250,  1064,   537,   224,   827,   224,
   29688             :      224,   224,   827,   553,   474,   626,   627,   709,   779,   493,
   29689             :      495,   821,   536,   821,  1250,  1158,    32,    59,   651,   123,
   29690             :      197,   122,   297,   240,  1248,   650,   179,   349,   775,   782,
   29691             :      783,  1265,   718,   536,   329,   536,   636,   654,   209,   676,
   29692             :      639,  1260,  1260,  1133,   536,   604,    29,   125,   216,   396,
   29693             :      472,   758,   449,   754,  1259,   195,  1248,   740,   497,   308,
   29694             :      537,  1094,   689,   897,   537,   540,  1119,   729,   747,   537,
   29695             :      700,    38,   302,   329,   536,  1008,   638,   640,   642,   656,
   29696             :     1265,   329,   677,   678,   636,   676,   603,   305,   308,   683,
   29697             :     1045,   695,   693,   604,  1256,  1250,   859,   792,     3,   795,
   29698             :      308,   881,  1157,  1157,   540,   536,   887,   459,   540,    44,
   29699             :     1157,   449,   536,   663,  1248,   764,   709,   537,   974,   975,
   29700             :     1250,  1250,   550,   400,   550,  1249,  1249,  1249,  1249,  1249,
   29701             :      705,   183,   844,   851,   849,   537,  1250,   113,   177,   550,
   29702             :      851,   297,   830,  1256,   830,   830,   830,   224,   830,   830,
   29703             :      830,   830,   830,  1157,   537,   145,   241,   241,   537,   297,
   29704             :      297,   537,  1066,  1234,   331,  1222,   297,   297,  1234,  1234,
   29705             :     1222,  1222,   537,   537,   177,   537,  1157,   177,   135,   137,
   29706             :      177,   171,   150,   537,   500,  1166,  1196,   361,   479,    59,
   29707             :     1173,  1159,   491,   491,   537,  1157,   288,  1157,   540,  1165,
   29708             :     1135,  1157,  1157,  1157,  1157,    35,    35,  1157,  1157,   150,
   29709             :      537,   537,   537,  1157,   537,   329,  1182,  1248,  1248,  1248,
   29710             :     1248,  1085,  1256,  1085,  1256,   537,   540,  1111,  1112,  1162,
   29711             :      536,  1172,  1097,   536,  1249,  1095,   308,   474,  1103,  1095,
   29712             :      227,  1095,  1253,  1118,   536,  1118,  1265,  1060,  1157,   492,
   29713             :     1176,   907,   446,   302,  1245,  1045,   322,  1045,  1015,   308,
   29714             :      536,  1017,  1157,   526,  1029,  1018,   459,   537,   449,   837,
   29715             :      177,   779,   123,   197,   208,   122,   476,   550,  1133,  1250,
   29716             :     1250,  1250,  1250,  1250,  1250,  1250,  1260,  1250,   779,   641,
   29717             :     1157,   537,   540,   493,    78,   861,   865,   861,   540,   664,
   29718             :      495,   661,   661,   120,  1265,   729,   609,   651,   195,   195,
   29719             :      297,   705,    38,   651,   297,   609,  1133,   550,   550,   526,
   29720             :       59,   439,  1250,  1250,  1250,  1250,  1250,  1259,  1250,  1250,
   29721             :     1255,  1255,  1133,   540,  1255,  1255,   540,  1259,  1250,  1250,
   29722             :      449,  1157,    72,  1157,  1260,  1250,   449,   449,   177,   201,
   29723             :      493,   222,   329,   594,   595,  1249,  1249,   821,  1249,   157,
   29724             :      160,   821,  1256,  1256,  1133,   550,   550,   449,   537,   224,
   29725             :      827,   827,   827,   827,   536,   622,   623,   553,   127,   179,
   29726             :      213,   179,  1157,   292,   649,   120,    38,   288,   660,   897,
   29727             :      662,   897,  1253,    35,   156,   201,   730,   734,   302,   635,
   29728             :      611,   154,   203,   536,   400,   474,   663,    38,  1260,   752,
   29729             :      567,   292,   536,   173,  1250,   688,  1256,   400,   604,   156,
   29730             :     1045,   821,   302,   635,   693,   537,   540,   493,   647,    59,
   29731             :      681,   611,   677,    84,   439,   684,   493,   963,    38,   684,
   29732             :      177,   308,   536,  1248,  1256,   878,   898,   899,  1266,   893,
   29733             :     1133,   171,   894,  1248,   177,   449,   918,   363,   765,   211,
   29734             :      710,   550,   537,   550,   550,  1250,   311,   222,   843,   550,
   29735             :      830,  1250,   537,  1223,  1224,  1230,   120,   143,   149,   163,
   29736             :      297,   456,   468,  1226,  1227,  1229,   537,   537,  1234,  1234,
   29737             :     1157,   537,  1158,   177,  1157,  1157,  1157,   536,   537,   540,
   29738             :      537,  1173,   537,   479,   418,   537,   205,   288,  1170,  1157,
   29739             :     1157,  1157,   537,    59,  1064,  1176,  1176,   393,  1054,  1157,
   29740             :      537,   540,    38,  1113,   120,  1125,  1126,  1158,    81,  1249,
   29741             :      537,  1157,   536,  1095,  1103,   536,   537,  1118,   537,   102,
   29742             :      187,   382,   536,  1079,  1080,  1081,  1082,  1083,  1084,  1157,
   29743             :     1177,  1178,  1265,  1064,   537,  1042,  1013,    92,   860,   862,
   29744             :      136,   489,  1032,  1033,  1034,  1035,  1157,   843,   308,   843,
   29745             :      537,   449,   403,  1024,   537,   202,   667,   670,   310,   907,
   29746             :      821,   548,   821,   334,   537,   320,   537,   537,   647,    38,
   29747             :      157,   157,   536,   600,   792,  1260,  1250,   449,   536,   873,
   29748             :      907,   909,   802,   536,   536,   810,  1250,   537,   536,   537,
   29749             :      403,  1024,  1250,  1250,   536,   536,   536,  1248,  1248,   537,
   29750             :      540,   493,   517,   983,   370,   983,   983,   171,  1250,   600,
   29751             :     1250,   827,   628,   629,  1268,    54,   101,   126,   145,   150,
   29752             :      172,   176,   191,   297,   353,   624,   622,  1256,   873,    38,
   29753             :      914,   914,   537,   194,   536,   208,   474,   685,   264,   668,
   29754             :      685,   536,   783,   775,   536,   537,   540,  1248,   537,   400,
   29755             :       29,    83,    86,    93,   121,   181,   194,   207,   421,   424,
   29756             :      655,   655,  1247,  1250,  1250,   537,  1045,   753,   157,   113,
   29757             :      729,   177,  1250,    38,  1250,   693,   636,  1248,   537,   640,
   29758             :      312,  1265,   682,   677,   681,   125,   140,   342,  1250,    64,
   29759             :       72,   256,  1045,   821,  1104,   860,   177,   778,   880,   537,
   29760             :      540,   459,   147,   546,   892,   895,  1115,   416,   416,   537,
   29761             :      282,   306,   766,   767,   768,   171,   771,   709,   288,   478,
   29762             :      711,   712,  1250,   851,   540,    38,  1157,    37,   301,   308,
   29763             :      537,   493,   495,  1225,  1226,  1228,   171,  1158,  1167,  1196,
   29764             :      288,   512,   205,   537,  1196,   188,   355,   386,  1183,    58,
   29765             :      129,   112,  1055,    38,  1128,  1114,  1111,   536,  1158,   537,
   29766             :      540,    38,  1121,  1122,  1265,   537,  1249,  1196,   537,   536,
   29767             :      404,   536,   537,   540,   540,    38,  1069,   479,  1250,   537,
   29768             :      540,   293,   472,   265,   292,  1018,  1033,    35,  1036,  1036,
   29769             :      845,   856,   550,  1250,   439,   861,   536,   897,   536,   866,
   29770             :      603,   666,   362,   667,   667,   194,  1157,   474,   601,   403,
   29771             :     1024,  1250,  1200,   171,   805,   805,  1200,  1200,  1157,   439,
   29772             :     1196,  1196,   612,   613,  1267,   611,   595,   820,   821,   820,
   29773             :      821,  1249,   550,   537,   540,   120,   529,   536,   577,   630,
   29774             :      705,   980,  1256,   980,   292,   297,   353,   980,   980,  1115,
   29775             :      914,    42,   199,   660,   536,   701,  1157,   206,   178,   328,
   29776             :      409,   308,   672,   673,   674,   537,  1253,     6,   784,   734,
   29777             :      636,   676,  1250,   537,   729,   164,   804,   604,   963,  1248,
   29778             :      497,  1094,   729,  1045,  1008,   677,   636,   676,   647,   536,
   29779             :      683,   681,   682,   386,   386,    72,   311,    72,   693,   859,
   29780             :      537,  1248,   779,   887,   898,  1133,   539,   136,   493,   493,
   29781             :      767,   385,   436,   769,   141,   772,   489,   774,   478,   709,
   29782             :      729,   550,  1224,  1268,   149,    37,    88,   463,   497,    37,
   29783             :      497,   239,   307,  1233,   308,   537,  1157,   537,   537,   479,
   29784             :       52,   103,   462,  1157,  1184,  1185,  1184,  1184,   537,   168,
   29785             :      168,   663,  1250,  1222,  1118,   540,  1126,  1268,   537,   540,
   29786             :      171,  1133,   537,   537,  1196,   536,  1196,  1080,  1178,  1180,
   29787             :     1087,  1045,  1115,   862,   403,   265,  1157,   445,   445,   177,
   29788             :     1250,   663,   685,   907,   867,   866,  1248,   897,   897,   701,
   29789             :      537,  1157,   439,   537,   314,   393,   359,   806,   806,   537,
   29790             :      537,   537,  1250,   537,   537,   537,   540,  1255,   983,   629,
   29791             :      577,   631,   632,  1256,  1256,   297,   529,   663,   529,   663,
   29792             :     1256,  1256,   702,   537,   439,   125,   472,   308,   674,   308,
   29793             :      673,   536,   537,   540,   611,   400,   729,   821,    38,    38,
   29794             :      536,  1250,   963,   693,   681,   611,   677,   536,   679,   680,
   29795             :     1162,  1265,   684,   682,   683,   311,   311,   536,   202,   863,
   29796             :      171,   893,    30,   217,   950,   179,   179,   980,   385,   420,
   29797             :      773,   536,   156,   497,    37,   497,    37,   497,   497,   354,
   29798             :      354,  1228,   143,   149,  1185,   385,   170,   340,   170,   340,
   29799             :      153,  1186,  1186,  1186,    59,    59,   403,    81,   537,  1159,
   29800             :     1122,   315,     3,   120,   292,   297,   333,  1123,  1124,    38,
   29801             :     1099,   369,  1109,   537,  1079,   537,  1027,    59,   125,   136,
   29802             :      472,  1037,  1038,   136,   216,  1039,   843,  1024,   537,   671,
   29803             :      537,   867,   536,   665,   685,   685,  1250,   873,    59,  1024,
   29804             :      449,   612,   821,   537,   540,   529,   663,   537,   425,  1250,
   29805             :       63,   288,   374,   403,   675,   675,   537,     6,   400,  1250,
   29806             :      801,  1045,   729,   682,   677,   681,  1157,   537,   540,   865,
   29807             :      865,   683,   684,   860,   536,   650,   141,   293,   536,   945,
   29808             :      947,   951,  1010,  1019,  1026,  1045,  1056,   873,   873,   770,
   29809             :     1265,  1157,   775,   497,   497,   308,   308,   537,  1226,    35,
   29810             :      103,   186,   288,   446,   663,   663,  1265,   536,  1172,  1158,
   29811             :     1158,   297,  1158,  1124,  1265,   536,   537,  1115,   415,   440,
   29812             :      293,   403,   293,   120,   322,   480,   536,  1040,   550,   779,
   29813             :      663,   668,   779,   779,  1024,   821,   536,   632,    24,   120,
   29814             :      297,  1250,   729,   963,   683,   681,   682,   537,   680,   548,
   29815             :      548,   684,   537,   862,   864,   604,   385,   946,   947,   948,
   29816             :     1046,  1047,   540,   540,   537,  1253,   389,   389,   308,  1185,
   29817             :      385,   316,   403,   403,   449,   474,   281,  1129,  1130,  1265,
   29818             :       81,  1157,  1027,   480,  1013,   536,  1014,   664,   672,  1196,
   29819             :      662,   662,   729,   684,   682,   683,   865,   863,   537,   540,
   29820             :      684,   774,   537,   539,   449,   177,   536,   427,   427,   149,
   29821             :     1265,  1265,   228,  1253,  1254,  1265,   333,  1131,   537,   540,
   29822             :      171,  1133,  1121,   537,   479,  1196,   537,   537,   779,   537,
   29823             :      683,   684,   548,   650,   862,  1115,   156,   948,   416,   416,
   29824             :        5,   776,   777,  1255,  1256,  1268,   536,   120,  1256,  1229,
   29825             :     1130,   315,   157,   333,  1132,  1231,   537,  1040,   537,   322,
   29826             :     1040,   684,   604,   775,   493,   493,   537,   540,  1197,  1254,
   29827             :       38,    81,   537,  1132,  1256,  1225,  1132,  1013,   684,  1253,
   29828             :      179,   179,   777,  1064,   474,  1250,   536,  1228,  1233,  1225,
   29829             :      479,  1115,   536,   873,   873,   537,  1265,    81,  1129,  1228,
   29830             :     1233,  1040,   776,   536,   537,  1228,   537,  1129,   537
   29831             : };
   29832             : 
   29833             :   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
   29834             : static const yytype_int16 yyr1[] =
   29835             : {
   29836             :        0,   542,   543,   543,   543,   543,   543,   543,   544,   544,
   29837             :      545,   545,   546,   546,   546,   546,   546,   546,   546,   546,
   29838             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29839             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29840             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29841             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29842             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29843             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29844             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29845             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29846             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29847             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29848             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29849             :      546,   546,   546,   546,   546,   546,   546,   547,   547,   548,
   29850             :      548,   549,   549,   550,   550,   550,   551,   552,   553,   553,
   29851             :      553,   554,   554,   555,   555,   556,   556,   556,   556,   556,
   29852             :      556,   556,   556,   556,   557,   557,   557,   557,   557,   557,
   29853             :      558,   559,   559,   560,   560,   561,   561,   561,   561,   562,
   29854             :      562,   562,   562,   562,   562,   563,   564,   565,   565,   566,
   29855             :      566,   566,   566,   567,   567,   568,   568,   568,   568,   568,
   29856             :      568,   569,   569,   569,   570,   570,   570,   571,   571,   571,
   29857             :      571,   572,   572,   572,   572,   572,   572,   572,   572,   572,
   29858             :      572,   572,   573,   573,   574,   574,   575,   575,   576,   576,
   29859             :      576,   576,   577,   577,   577,   577,   578,   578,   578,   578,
   29860             :      578,   578,   578,   579,   579,   579,   580,   580,   581,   582,
   29861             :      582,   582,   582,   583,   583,   584,   584,   585,   585,   586,
   29862             :      586,   586,   586,   586,   587,   588,   588,   589,   589,   590,
   29863             :      591,   591,   591,   591,   591,   592,   592,   592,   592,   592,
   29864             :      592,   592,   592,   592,   592,   592,   592,   592,   592,   592,
   29865             :      592,   592,   592,   592,   592,   592,   593,   593,   594,   594,
   29866             :      595,   596,   596,   596,   596,   596,   597,   598,   598,   598,
   29867             :      598,   598,   598,   598,   598,   598,   598,   598,   598,   598,
   29868             :      598,   598,   598,   598,   598,   598,   598,   598,   598,   598,
   29869             :      598,   598,   598,   598,   598,   598,   598,   598,   598,   598,
   29870             :      598,   598,   598,   598,   598,   598,   598,   598,   598,   598,
   29871             :      598,   598,   598,   598,   598,   598,   598,   598,   598,   598,
   29872             :      598,   598,   598,   598,   598,   598,   598,   598,   599,   599,
   29873             :      600,   600,   601,   601,   602,   602,   602,   602,   603,   604,
   29874             :      604,   605,   605,   606,   606,   606,   606,   607,   607,   608,
   29875             :      608,   608,   608,   609,   609,   610,   610,   611,   611,   611,
   29876             :      611,   612,   613,   613,   614,   615,   615,   616,   616,   616,
   29877             :      616,   617,   617,   618,   618,   619,   619,   620,   620,   621,
   29878             :      621,   621,   622,   622,   623,   623,   624,   624,   624,   624,
   29879             :      624,   624,   624,   624,   624,   624,   624,   624,   624,   624,
   29880             :      624,   625,   625,   626,   626,   627,   627,   628,   628,   629,
   29881             :      630,   630,   630,   630,   630,   630,   631,   631,   632,   633,
   29882             :      633,   633,   633,   633,   633,   634,   634,   634,   634,   634,
   29883             :      634,   634,   634,   635,   635,   636,   636,   637,   637,   638,
   29884             :      638,   639,   639,   639,   640,   640,   641,   642,   642,   643,
   29885             :      643,   644,   644,   645,   645,   646,   646,   647,   647,   648,
   29886             :      648,   648,   648,   649,   649,   649,   649,   649,   649,   649,
   29887             :      649,   649,   650,   650,   650,   651,   651,   652,   652,   652,
   29888             :      652,   653,   654,   654,   654,   655,   655,   655,   655,   655,
   29889             :      655,   655,   655,   655,   655,   656,   656,   657,   657,   657,
   29890             :      657,   657,   657,   657,   657,   658,   658,   659,   659,   660,
   29891             :      660,   661,   661,   662,   662,   663,   663,   664,   664,   665,
   29892             :      665,   666,   667,   667,   668,   668,   668,   668,   669,   669,
   29893             :      670,   670,   671,   671,   672,   672,   672,   672,   672,   673,
   29894             :      674,   675,   675,   675,   675,   675,   676,   676,   677,   677,
   29895             :      678,   679,   679,   680,   680,   680,   681,   681,   682,   682,
   29896             :      682,   683,   683,   683,   683,   684,   684,   685,   685,   686,
   29897             :      687,   687,   688,   688,   689,   689,   689,   690,   690,   691,
   29898             :      691,   692,   693,   693,   693,   694,   694,   695,   696,   696,
   29899             :      697,   698,   698,   699,   699,   700,   700,   701,   701,   702,
   29900             :      702,   703,   703,   703,   703,   703,   703,   703,   703,   703,
   29901             :      703,   703,   703,   703,   703,   704,   704,   705,   705,   705,
   29902             :      705,   706,   706,   707,   707,   708,   708,   709,   709,   710,
   29903             :      710,   711,   711,   712,   712,   713,   713,   714,   715,   715,
   29904             :      716,   716,   717,   717,   718,   718,   719,   719,   719,   719,
   29905             :      720,   721,   721,   722,   723,   723,   723,   723,   723,   723,
   29906             :      723,   723,   723,   723,   723,   723,   723,   724,   725,   725,
   29907             :      725,   725,   726,   726,   727,   727,   728,   728,   729,   729,
   29908             :      730,   730,   731,   732,   732,   733,   733,   733,   733,   734,
   29909             :      735,   736,   737,   737,   738,   738,   739,   739,   740,   740,
   29910             :      741,   741,   741,   742,   742,   742,   742,   743,   744,   744,
   29911             :      745,   745,   746,   746,   747,   747,   748,   748,   749,   750,
   29912             :      751,   752,   752,   753,   753,   754,   754,   755,   755,   756,
   29913             :      756,   757,   757,   758,   758,   758,   758,   758,   759,   760,
   29914             :      760,   761,   761,   762,   762,   762,   763,   763,   764,   764,
   29915             :      764,   764,   764,   765,   765,   766,   766,   767,   768,   768,
   29916             :      769,   769,   770,   771,   771,   772,   772,   773,   773,   774,
   29917             :      774,   775,   775,   776,   776,   776,   777,   777,   777,   777,
   29918             :      778,   778,   779,   779,   780,   780,   780,   780,   780,   780,
   29919             :      781,   781,   782,   782,   783,   784,   784,   785,   786,   786,
   29920             :      786,   786,   787,   788,   788,   788,   788,   788,   788,   788,
   29921             :      788,   788,   788,   788,   788,   788,   788,   788,   788,   789,
   29922             :      790,   790,   791,   791,   792,   792,   792,   792,   792,   792,
   29923             :      793,   794,   794,   795,   796,   796,   797,   797,   798,   798,
   29924             :      798,   798,   798,   799,   799,   800,   801,   801,   802,   802,
   29925             :      802,   802,   802,   803,   803,   804,   804,   805,   805,   805,
   29926             :      806,   806,   807,   808,   808,   809,   809,   810,   810,   811,
   29927             :      811,   812,   812,   813,   814,   815,   815,   815,   815,   815,
   29928             :      815,   815,   815,   815,   815,   815,   815,   816,   816,   816,
   29929             :      816,   816,   816,   816,   816,   816,   816,   816,   816,   816,
   29930             :      817,   817,   817,   817,   817,   818,   818,   818,   818,   818,
   29931             :      818,   818,   818,   819,   819,   819,   820,   820,   821,   821,
   29932             :      822,   822,   823,   823,   824,   825,   825,   825,   826,   826,
   29933             :      826,   826,   826,   826,   826,   826,   826,   826,   826,   826,
   29934             :      826,   826,   826,   826,   826,   826,   827,   827,   828,   828,
   29935             :      828,   828,   828,   828,   828,   828,   828,   828,   829,   829,
   29936             :      830,   830,   831,   831,   832,   832,   832,   832,   832,   832,
   29937             :      832,   832,   832,   832,   832,   832,   832,   832,   832,   832,
   29938             :      833,   833,   834,   834,   835,   836,   836,   837,   837,   837,
   29939             :      837,   837,   838,   838,   839,   839,   839,   839,   839,   840,
   29940             :      840,   841,   841,   842,   842,   842,   842,   842,   842,   842,
   29941             :      842,   842,   842,   842,   842,   842,   842,   842,   842,   842,
   29942             :      842,   842,   842,   842,   843,   843,   844,   844,   845,   845,
   29943             :      846,   846,   847,   847,   848,   848,   849,   850,   850,   850,
   29944             :      851,   851,   852,   853,   853,   854,   854,   854,   855,   855,
   29945             :      855,   856,   856,   856,   856,   856,   856,   857,   857,   858,
   29946             :      858,   859,   859,   860,   860,   861,   861,   862,   862,   862,
   29947             :      863,   863,   864,   864,   865,   865,   866,   866,   866,   867,
   29948             :      867,   867,   868,   868,   868,   868,   869,   869,   870,   870,
   29949             :      871,   871,   872,   872,   873,   873,   873,   873,   874,   874,
   29950             :      875,   875,   876,   876,   876,   876,   876,   877,   877,   877,
   29951             :      877,   877,   878,   879,   880,   880,   880,   881,   881,   881,
   29952             :      882,   883,   883,   883,   883,   884,   884,   885,   886,   886,
   29953             :      887,   887,   888,   888,   889,   889,   889,   889,   889,   889,
   29954             :      889,   889,   889,   889,   889,   889,   889,   889,   889,   889,
   29955             :      889,   890,   890,   890,   890,   890,   891,   891,   892,   893,
   29956             :      893,   893,   894,   894,   895,   895,   896,   896,   897,   897,
   29957             :      898,   899,   899,   900,   900,   900,   901,   901,   902,   902,
   29958             :      903,   903,   903,   903,   903,   903,   904,   904,   905,   905,
   29959             :      906,   906,   906,   906,   907,   907,   908,   908,   909,   910,
   29960             :      911,   911,   912,   912,   913,   913,   913,   914,   914,   914,
   29961             :      915,   916,   916,   917,   918,   918,   918,   918,   919,   920,
   29962             :      920,   920,   921,   921,   922,   922,   923,   923,   924,   924,
   29963             :      925,   925,   925,   925,   925,   925,   925,   925,   925,   925,
   29964             :      925,   925,   925,   925,   925,   925,   925,   925,   925,   925,
   29965             :      925,   925,   925,   925,   925,   925,   925,   925,   925,   925,
   29966             :      925,   925,   925,   925,   925,   925,   925,   925,   925,   925,
   29967             :      925,   925,   925,   925,   925,   925,   925,   925,   925,   925,
   29968             :      925,   925,   925,   925,   925,   926,   926,   927,   927,   928,
   29969             :      928,   928,   928,   928,   928,   929,   929,   930,   930,   930,
   29970             :      930,   930,   930,   930,   930,   930,   930,   930,   930,   930,
   29971             :      930,   930,   930,   930,   930,   930,   930,   930,   930,   930,
   29972             :      930,   930,   930,   930,   931,   932,   932,   933,   933,   933,
   29973             :      934,   934,   934,   934,   934,   935,   936,   936,   936,   936,
   29974             :      936,   936,   936,   936,   936,   936,   936,   936,   936,   936,
   29975             :      936,   936,   936,   936,   936,   936,   936,   936,   936,   936,
   29976             :      937,   937,   937,   938,   938,   938,   938,   938,   938,   938,
   29977             :      939,   939,   940,   940,   940,   940,   941,   942,   942,   942,
   29978             :      942,   942,   942,   942,   942,   942,   943,   943,   944,   945,
   29979             :      945,   945,   946,   946,   947,   947,   947,   947,   947,   948,
   29980             :      948,   949,   949,   949,   949,   950,   950,   950,   951,   952,
   29981             :      952,   953,   954,   954,   955,   955,   955,   955,   955,   955,
   29982             :      955,   955,   955,   955,   955,   955,   956,   956,   957,   957,
   29983             :      957,   958,   958,   958,   958,   958,   959,   959,   959,   960,
   29984             :      960,   961,   961,   961,   962,   962,   962,   962,   963,   963,
   29985             :      963,   963,   964,   965,   966,   966,   967,   967,   968,   968,
   29986             :      968,   969,   969,   969,   969,   969,   969,   969,   970,   970,
   29987             :      971,   971,   971,   971,   972,   973,   973,   973,   973,   974,
   29988             :      974,   975,   976,   977,   977,   978,   979,   979,   979,   979,
   29989             :      979,   979,   979,   980,   980,   981,   982,   982,   982,   982,
   29990             :      982,   982,   983,   983,   984,   985,   985,   985,   985,   985,
   29991             :      986,   986,   987,   987,   988,   988,   989,   989,   990,   990,
   29992             :      991,   992,   992,   992,   993,   993,   993,   994,   994,   995,
   29993             :      995,   996,   996,   997,   997,   998,   998,   999,  1000,  1000,
   29994             :     1001,  1001,  1002,  1002,  1002,  1002,  1003,  1003,  1003,  1003,
   29995             :     1003,  1003,  1003,  1003,  1003,  1003,  1004,  1005,  1005,  1006,
   29996             :     1006,  1006,  1006,  1006,  1007,  1007,  1007,  1008,  1008,  1009,
   29997             :     1009,  1009,  1009,  1010,  1011,  1011,  1012,  1012,  1012,  1012,
   29998             :     1012,  1013,  1013,  1014,  1014,  1015,  1016,  1016,  1016,  1017,
   29999             :     1017,  1017,  1018,  1018,  1019,  1020,  1020,  1021,  1022,  1022,
   30000             :     1023,  1023,  1023,  1023,  1023,  1023,  1023,  1023,  1024,  1024,
   30001             :     1025,  1025,  1025,  1026,  1027,  1027,  1028,  1028,  1029,  1030,
   30002             :     1030,  1031,  1032,  1032,  1033,  1033,  1033,  1033,  1033,  1034,
   30003             :     1034,  1035,  1035,  1036,  1036,  1037,  1038,  1039,  1039,  1039,
   30004             :     1039,  1039,  1040,  1041,  1042,  1043,  1043,  1043,  1043,  1043,
   30005             :     1043,  1044,  1044,  1044,  1045,  1045,  1046,  1046,  1047,  1047,
   30006             :     1047,  1047,  1047,  1047,  1047,  1047,  1048,  1048,  1049,  1049,
   30007             :     1049,  1049,  1049,  1049,  1049,  1050,  1050,  1050,  1051,  1051,
   30008             :     1052,  1053,  1053,  1053,  1054,  1054,  1054,  1055,  1055,  1055,
   30009             :     1056,  1056,  1057,  1057,  1058,  1058,  1058,  1058,  1058,  1058,
   30010             :     1058,  1058,  1058,  1059,  1059,  1060,  1060,  1060,  1061,  1061,
   30011             :     1062,  1062,  1063,  1063,  1064,  1064,  1065,  1066,  1066,  1067,
   30012             :     1067,  1068,  1068,  1068,  1068,  1069,  1069,  1070,  1070,  1070,
   30013             :     1070,  1070,  1070,  1071,  1071,  1072,  1072,  1073,  1074,  1074,
   30014             :     1074,  1075,  1075,  1076,  1076,  1077,  1077,  1078,  1078,  1079,
   30015             :     1079,  1080,  1080,  1080,  1080,  1080,  1081,  1082,  1083,  1084,
   30016             :     1085,  1085,  1086,  1086,  1087,  1087,  1088,  1088,  1089,  1090,
   30017             :     1090,  1090,  1090,  1091,  1091,  1092,  1092,  1093,  1093,  1094,
   30018             :     1094,  1095,  1095,  1095,  1095,  1095,  1095,  1095,  1095,  1095,
   30019             :     1095,  1095,  1095,  1096,  1096,  1096,  1096,  1096,  1096,  1097,
   30020             :     1097,  1097,  1097,  1098,  1098,  1099,  1099,  1100,  1100,  1100,
   30021             :     1100,  1100,  1101,  1101,  1101,  1101,  1102,  1102,  1103,  1103,
   30022             :     1104,  1104,  1105,  1105,  1105,  1106,  1106,  1107,  1107,  1107,
   30023             :     1108,  1109,  1109,  1110,  1110,  1111,  1112,  1112,  1113,  1113,
   30024             :     1114,  1114,  1115,  1115,  1116,  1116,  1116,  1117,  1117,  1118,
   30025             :     1118,  1119,  1120,  1120,  1121,  1121,  1122,  1122,  1122,  1123,
   30026             :     1123,  1124,  1124,  1124,  1124,  1124,  1125,  1125,  1126,  1126,
   30027             :     1127,  1128,  1128,  1129,  1129,  1130,  1130,  1130,  1130,  1130,
   30028             :     1130,  1131,  1131,  1132,  1132,  1133,  1133,  1133,  1133,  1133,
   30029             :     1133,  1134,  1134,  1134,  1135,  1135,  1135,  1135,  1135,  1135,
   30030             :     1135,  1135,  1136,  1136,  1136,  1136,  1136,  1137,  1137,  1138,
   30031             :     1138,  1139,  1139,  1139,  1139,  1139,  1139,  1139,  1139,  1139,
   30032             :     1139,  1139,  1140,  1140,  1141,  1141,  1142,  1142,  1143,  1144,
   30033             :     1145,  1145,  1146,  1146,  1147,  1148,  1149,  1149,  1149,  1149,
   30034             :     1149,  1149,  1150,  1150,  1151,  1151,  1151,  1151,  1152,  1153,
   30035             :     1153,  1153,  1154,  1154,  1154,  1154,  1154,  1154,  1154,  1154,
   30036             :     1154,  1154,  1154,  1154,  1154,  1154,  1155,  1155,  1156,  1157,
   30037             :     1157,  1157,  1157,  1157,  1157,  1157,  1157,  1157,  1157,  1157,
   30038             :     1157,  1157,  1157,  1157,  1157,  1157,  1157,  1157,  1157,  1157,
   30039             :     1157,  1157,  1157,  1157,  1157,  1157,  1157,  1157,  1157,  1157,
   30040             :     1157,  1157,  1157,  1157,  1157,  1157,  1157,  1157,  1157,  1157,
   30041             :     1157,  1157,  1157,  1157,  1157,  1157,  1157,  1157,  1157,  1157,
   30042             :     1157,  1157,  1157,  1157,  1157,  1157,  1157,  1157,  1157,  1157,
   30043             :     1157,  1157,  1157,  1157,  1157,  1157,  1157,  1158,  1158,  1158,
   30044             :     1158,  1158,  1158,  1158,  1158,  1158,  1158,  1158,  1158,  1158,
   30045             :     1158,  1158,  1158,  1158,  1158,  1158,  1158,  1158,  1158,  1159,
   30046             :     1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,
   30047             :     1159,  1159,  1159,  1160,  1160,  1160,  1160,  1160,  1160,  1160,
   30048             :     1161,  1161,  1161,  1162,  1162,  1162,  1163,  1163,  1163,  1163,
   30049             :     1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,
   30050             :     1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,
   30051             :     1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,
   30052             :     1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,
   30053             :     1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,
   30054             :     1163,  1163,  1163,  1163,  1163,  1163,  1164,  1164,  1165,  1165,
   30055             :     1165,  1165,  1166,  1167,  1167,  1168,  1168,  1169,  1169,  1170,
   30056             :     1170,  1170,  1171,  1171,  1171,  1172,  1172,  1172,  1172,  1173,
   30057             :     1173,  1174,  1174,  1175,  1175,  1176,  1176,  1177,  1177,  1178,
   30058             :     1179,  1179,  1179,  1180,  1181,  1181,  1182,  1182,  1183,  1183,
   30059             :     1183,  1183,  1184,  1184,  1185,  1185,  1185,  1185,  1185,  1186,
   30060             :     1186,  1186,  1186,  1186,  1187,  1187,  1187,  1188,  1188,  1189,
   30061             :     1190,  1190,  1190,  1191,  1191,  1192,  1192,  1192,  1192,  1192,
   30062             :     1192,  1192,  1192,  1192,  1192,  1192,  1192,  1193,  1193,  1194,
   30063             :     1194,  1195,  1195,  1195,  1195,  1195,  1195,  1196,  1196,  1197,
   30064             :     1197,  1198,  1198,  1198,  1199,  1199,  1200,  1200,  1201,  1201,
   30065             :     1201,  1202,  1202,  1203,  1204,  1204,  1204,  1204,  1204,  1204,
   30066             :     1204,  1204,  1205,  1205,  1205,  1205,  1206,  1206,  1207,  1208,
   30067             :     1208,  1208,  1208,  1208,  1209,  1209,  1209,  1210,  1210,  1211,
   30068             :     1212,  1212,  1213,  1214,  1214,  1215,  1215,  1216,  1216,  1217,
   30069             :     1217,  1217,  1217,  1218,  1218,  1219,  1219,  1220,  1220,  1221,
   30070             :     1221,  1222,  1222,  1223,  1223,  1224,  1225,  1225,  1225,  1225,
   30071             :     1225,  1225,  1225,  1225,  1225,  1226,  1226,  1227,  1227,  1227,
   30072             :     1227,  1227,  1227,  1227,  1227,  1228,  1228,  1228,  1228,  1229,
   30073             :     1229,  1230,  1231,  1231,  1232,  1232,  1233,  1233,  1233,  1233,
   30074             :     1233,  1234,  1234,  1235,  1235,  1235,  1235,  1235,  1236,  1236,
   30075             :     1236,  1236,  1236,  1237,  1237,  1238,  1238,  1239,  1239,  1239,
   30076             :     1240,  1240,  1240,  1241,  1241,  1242,  1242,  1243,  1243,  1244,
   30077             :     1244,  1245,  1245,  1246,  1246,  1246,  1246,  1247,  1247,  1248,
   30078             :     1248,  1249,  1249,  1250,  1251,  1252,  1253,  1253,  1254,  1254,
   30079             :     1254,  1254,  1254,  1254,  1254,  1254,  1254,  1254,  1254,  1254,
   30080             :     1254,  1255,  1256,  1257,  1257,  1257,  1258,  1259,  1259,  1259,
   30081             :     1259,  1260,  1260,  1261,  1262,  1263,  1263,  1264,  1264,  1265,
   30082             :     1265,  1265,  1266,  1266,  1266,  1267,  1267,  1267,  1267,  1268,
   30083             :     1268,  1268,  1268,  1268,  1269,  1269,  1270,  1270,  1270,  1270,
   30084             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30085             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30086             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30087             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30088             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30089             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30090             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30091             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30092             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30093             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30094             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30095             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30096             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30097             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30098             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30099             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30100             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30101             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30102             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30103             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30104             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30105             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30106             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30107             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30108             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30109             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30110             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30111             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30112             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30113             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30114             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30115             :     1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,  1270,
   30116             :     1270,  1270,  1270,  1270,  1270,  1270,  1271,  1271,  1271,  1271,
   30117             :     1271,  1271,  1271,  1271,  1271,  1271,  1271,  1271,  1271,  1271,
   30118             :     1271,  1271,  1271,  1271,  1271,  1271,  1271,  1271,  1271,  1271,
   30119             :     1271,  1271,  1271,  1271,  1271,  1271,  1271,  1271,  1271,  1271,
   30120             :     1271,  1271,  1271,  1271,  1271,  1271,  1271,  1271,  1271,  1271,
   30121             :     1271,  1271,  1271,  1271,  1271,  1271,  1271,  1271,  1271,  1271,
   30122             :     1271,  1271,  1271,  1271,  1271,  1271,  1271,  1271,  1271,  1272,
   30123             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   30124             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   30125             :     1272,  1272,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,
   30126             :     1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,
   30127             :     1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,
   30128             :     1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,
   30129             :     1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,
   30130             :     1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,
   30131             :     1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,
   30132             :     1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,
   30133             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30134             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30135             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30136             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30137             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30138             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30139             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30140             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30141             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30142             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30143             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30144             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30145             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30146             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30147             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30148             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30149             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30150             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30151             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30152             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30153             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30154             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30155             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30156             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30157             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30158             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30159             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30160             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30161             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30162             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30163             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30164             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30165             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30166             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30167             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30168             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30169             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30170             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30171             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30172             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30173             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30174             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30175             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30176             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30177             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   30178             :     1274,  1274,  1274,  1274,  1274
   30179             : };
   30180             : 
   30181             :   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
   30182             : static const yytype_int8 yyr2[] =
   30183             : {
   30184             :        0,     2,     1,     2,     2,     2,     2,     2,     3,     1,
   30185             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30186             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30187             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30188             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30189             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30190             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30191             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30192             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30193             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30194             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30195             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30196             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30197             :        1,     1,     1,     1,     1,     1,     0,     1,     0,     1,
   30198             :        0,     1,     0,     1,     1,     0,     2,     5,     1,     1,
   30199             :        0,     2,     0,     2,     0,     2,     2,     3,     3,     1,
   30200             :        3,     3,     2,     1,     1,     2,     2,     2,     3,     3,
   30201             :        5,     5,     5,     0,     3,     5,     5,     5,     5,     3,
   30202             :        5,     3,     5,     3,     5,     5,     6,     1,     1,     6,
   30203             :        4,     9,     7,     2,     0,     1,     1,     1,     1,     1,
   30204             :        1,     2,     3,     3,     2,     5,     1,     3,     3,     3,
   30205             :        3,     1,     3,     3,     2,     2,     2,     2,     3,     3,
   30206             :        3,     3,     1,     3,     1,     3,     1,     1,     2,     2,
   30207             :        2,     1,     1,     1,     1,     1,     1,     1,     3,     5,
   30208             :        1,     1,     1,     1,     1,     0,     1,     1,     2,     1,
   30209             :        2,     3,     2,     1,     1,     2,     1,     2,     1,     2,
   30210             :        3,     4,     3,     2,     4,     1,     1,     1,     1,     1,
   30211             :        2,     2,     2,     2,     2,     4,     6,     4,     6,    10,
   30212             :       13,     4,     6,     4,    10,    13,     4,     6,     4,     6,
   30213             :        5,     7,    11,    14,     5,     7,     1,     3,     1,     3,
   30214             :        3,     4,     4,     4,     7,     7,     3,     2,     5,     3,
   30215             :        6,     4,     6,     6,     9,     5,     7,     6,     6,     5,
   30216             :        5,     5,     5,     9,     4,     5,     7,     6,     4,     8,
   30217             :        4,     2,     4,     3,     6,     4,     3,     3,     3,     2,
   30218             :        2,     3,     4,     4,     3,     3,     3,     3,     3,     3,
   30219             :        4,     4,     3,     2,     3,     2,     2,     3,     4,     3,
   30220             :        2,     2,     3,     4,     4,     4,     5,     1,     3,     2,
   30221             :        2,     0,     2,     0,     1,     1,     1,     3,     3,     2,
   30222             :        0,     1,     3,     3,     1,     5,     3,     1,     2,     1,
   30223             :        3,     2,     3,     1,     1,     1,     1,     6,     6,    10,
   30224             :        1,     2,     1,     3,     4,     1,     3,     4,     6,     4,
   30225             :        8,     2,     2,    11,     9,     1,     1,     1,     0,     1,
   30226             :        1,     1,     1,     3,     2,     0,     1,     1,     3,     3,
   30227             :        1,     1,     3,     3,     3,     3,     4,     4,     3,     3,
   30228             :        2,     1,     0,     3,     0,     1,     0,     1,     3,     2,
   30229             :        1,     1,     1,     1,     3,     0,     1,     3,     1,    13,
   30230             :       16,    12,    15,    14,    17,     1,     1,     2,     2,     2,
   30231             :        2,     1,     0,     1,     0,     3,     0,     1,     3,     1,
   30232             :        3,     1,     1,     1,     1,     1,     6,     2,     4,     2,
   30233             :        2,     1,     0,     2,     2,     1,     0,     2,     0,     3,
   30234             :        1,     1,     2,     3,     1,     4,     4,     5,     2,     5,
   30235             :        7,     5,     2,     3,     0,     1,     2,     1,     2,     2,
   30236             :        2,     3,     3,     3,     0,     1,     1,     1,     1,     1,
   30237             :        1,     1,     1,     1,     1,     3,     1,     5,     4,    10,
   30238             :        3,    10,     4,    10,    12,     3,     1,     5,     3,     2,
   30239             :        0,     2,     0,     3,     0,     1,     3,     3,     0,     4,
   30240             :        0,     1,     4,     0,     2,     2,     2,     0,     1,     3,
   30241             :        3,     6,     4,     0,     1,     1,     2,     2,     0,     3,
   30242             :        3,     2,     1,     1,     3,     3,     4,     0,     1,     0,
   30243             :        6,     1,     3,     3,     3,     5,     2,     0,     2,     2,
   30244             :        0,     3,     4,     4,     0,     2,     0,     4,     0,     3,
   30245             :        8,    11,     1,     3,     1,     1,     3,     6,     8,     7,
   30246             :       10,     6,     2,     3,     0,     8,    11,     5,     1,     0,
   30247             :        6,     5,     8,     4,     6,     1,     0,     3,     0,     1,
   30248             :        2,     2,     2,     1,     2,     3,     2,     2,     2,     2,
   30249             :        3,     3,     3,     1,     3,     1,     0,     1,     2,     2,
   30250             :        1,     1,     3,     6,    10,     1,     0,     1,     2,     2,
   30251             :        0,     2,     2,     1,     0,     1,     0,     7,     2,     0,
   30252             :        3,     5,     5,     8,     2,     0,     2,     2,     2,     1,
   30253             :        5,     2,     0,     2,     6,     6,     6,    10,     6,     6,
   30254             :        6,     9,     9,     6,     6,     9,     6,     7,     2,     2,
   30255             :        2,     2,     1,     2,     1,     0,     7,     6,     4,     0,
   30256             :        1,     3,     4,     1,     3,     1,     2,     2,     2,     2,
   30257             :        1,     1,    10,    13,     2,     0,     2,     2,     1,     0,
   30258             :        5,     4,     4,    11,    14,    12,    15,    11,     2,     1,
   30259             :        4,     0,     8,    11,     1,     1,     7,     9,     8,    10,
   30260             :        8,     4,     0,     5,     0,     2,     0,     2,     0,     2,
   30261             :        0,     2,     0,     1,     1,     1,     1,     1,     8,     1,
   30262             :        1,    17,    21,     1,     1,     2,     1,     3,     1,     1,
   30263             :        1,     3,     1,     2,     0,     1,     2,     4,     1,     1,
   30264             :        1,     1,     1,     3,     0,     1,     0,     1,     1,     4,
   30265             :        0,     1,     1,     1,     3,     0,     1,     1,     1,     1,
   30266             :        2,     0,     0,     2,     2,     1,     2,     2,     2,     2,
   30267             :       11,    13,     1,     3,     5,     1,     3,     5,     1,     2,
   30268             :        2,     1,     8,     6,     5,     4,     4,     3,     7,     8,
   30269             :        6,     6,     6,     6,     6,     4,     7,     5,     8,     3,
   30270             :        1,     3,     3,     1,     1,     1,     1,     1,     1,     1,
   30271             :        3,     1,     3,     3,     1,     0,     1,     3,     7,     9,
   30272             :        9,     8,     6,     3,     0,    13,     1,     3,     5,     5,
   30273             :        3,     6,     2,     1,     0,     2,     0,     2,     4,     0,
   30274             :        1,     0,     6,     8,     8,     1,     3,     5,     5,     7,
   30275             :        9,     7,     9,     5,     6,     6,     4,     6,     4,     6,
   30276             :        8,     4,     6,     4,     6,     5,     7,     1,     1,     1,
   30277             :        2,     1,     2,     1,     1,     1,     3,     3,     3,     3,
   30278             :        1,     1,     1,     1,     1,     2,     2,     1,     3,     2,
   30279             :        1,     1,     1,     1,     1,     1,     1,     3,     1,     2,
   30280             :        2,     3,     1,     3,     5,     2,     2,     0,     6,     6,
   30281             :        6,     6,     6,     6,     6,     6,     8,     9,     8,     6,
   30282             :        6,     9,     9,     9,     7,    10,     1,     1,     8,     8,
   30283             :        8,     8,     8,     8,     8,     9,     8,     8,     2,     0,
   30284             :        1,     1,     2,     2,     1,     2,     3,     3,     3,     3,
   30285             :        4,     4,     3,     3,     3,     4,     4,     3,     4,     4,
   30286             :        1,     1,     1,     0,     8,     8,    11,     1,     1,     2,
   30287             :        4,     5,     1,     3,     2,     2,     2,     2,     2,     1,
   30288             :        3,     1,     3,     1,     2,     2,     4,     3,     2,     2,
   30289             :        2,     2,     2,     2,     3,     2,     2,     2,     2,     5,
   30290             :        5,     5,     5,     5,     1,     3,     1,     2,     3,     0,
   30291             :        5,     7,     6,     9,     3,     1,     2,     1,     1,     1,
   30292             :        3,     0,     5,     2,     0,     3,     3,     3,     7,     7,
   30293             :       10,     1,     1,     1,     1,     1,     1,    16,    19,     1,
   30294             :        0,     2,     0,     1,     3,     4,     5,     2,     2,     4,
   30295             :        4,     0,     1,     3,     2,     0,     1,     1,     0,     2,
   30296             :        2,     0,     9,    12,     7,     7,     2,     0,     3,     2,
   30297             :        1,     3,     1,     3,     2,     1,     1,     2,     3,     2,
   30298             :        1,     3,     3,     3,     2,     2,     1,     1,     1,     1,
   30299             :        2,     1,     1,     1,     1,     4,     5,     1,     3,     3,
   30300             :        1,     3,     3,     5,     6,     1,     3,     2,     1,     3,
   30301             :        1,     0,     1,     2,     4,     5,     1,     1,     1,     1,
   30302             :        3,     3,     2,     2,     1,     2,     2,     2,     2,     1,
   30303             :        2,     2,     2,     2,     1,     1,     1,     3,     2,     1,
   30304             :        4,     0,     3,     0,     1,     1,     3,     5,     2,     0,
   30305             :        2,     1,     3,     5,     5,     5,     1,     2,     1,     0,
   30306             :        4,     6,     4,     6,     4,     6,     4,     6,     4,     6,
   30307             :        3,     5,     5,     5,     1,     3,     1,     3,     2,     2,
   30308             :        1,     2,     1,     2,    11,    10,    10,     2,     2,     0,
   30309             :        9,     2,     0,    10,    11,    11,     5,     5,     8,     5,
   30310             :        5,     5,     1,     1,     1,     1,     3,     0,     5,     5,
   30311             :        6,     6,     6,     6,     6,     8,     8,     6,     6,     7,
   30312             :        9,     9,     8,    10,     6,     6,     6,     6,     6,     6,
   30313             :        6,     8,     6,     8,     6,     8,     7,     9,     6,     8,
   30314             :        7,     9,     8,    10,     8,    10,     9,    11,     8,    10,
   30315             :        9,    11,     8,     8,     7,     6,     6,     6,     6,     8,
   30316             :        8,     8,     8,     6,     9,     1,     0,     2,     0,     8,
   30317             :        8,     8,    10,     9,     8,     1,     0,     6,     6,     6,
   30318             :        6,     6,     6,     6,     9,     9,     6,     6,     6,     8,
   30319             :        6,     8,     8,     8,     8,     6,     8,     6,     8,     7,
   30320             :        9,     7,     9,     6,     7,     1,     3,     3,     3,     1,
   30321             :        1,     1,     1,     1,     1,     7,     6,     6,     6,     6,
   30322             :        6,     6,     7,     7,     6,     9,     9,     6,     6,     6,
   30323             :        6,     6,     6,     8,     8,     8,     6,     7,     6,     6,
   30324             :        4,     7,     6,     4,     4,     4,     3,     4,     3,     1,
   30325             :        1,     3,     5,     5,     5,     5,     8,     5,     5,     6,
   30326             :        7,     7,     7,     4,     4,     5,     4,     6,    13,     1,
   30327             :        1,     3,     3,     1,     1,     1,     1,     1,     1,     1,
   30328             :        0,     1,     1,     1,     1,     1,     1,     0,     3,     2,
   30329             :        0,     2,     2,     2,     3,     3,     3,     3,     2,     3,
   30330             :        2,     5,     4,     3,     3,     3,     3,     3,     1,     1,
   30331             :        0,     3,     2,     2,     1,     2,     1,     3,     2,     1,
   30332             :        0,     2,     3,     0,     9,    11,    12,    14,     3,     4,
   30333             :        4,     0,     2,     5,     1,     0,     1,     2,     3,     3,
   30334             :        3,     1,     2,     1,     1,     1,     1,     1,     1,     0,
   30335             :        5,     4,     6,     6,     4,     3,     5,     7,     9,     1,
   30336             :        3,     1,     5,     4,     4,     6,     4,     6,     6,     5,
   30337             :        7,     9,     6,     1,     0,     6,    11,    11,    11,    13,
   30338             :        9,    11,     1,     1,    10,     6,     4,     4,     2,     5,
   30339             :        2,     0,     6,     5,     3,     5,     1,     3,     1,     1,
   30340             :        2,     1,     1,     1,     1,     1,     0,     1,     0,     1,
   30341             :        0,     1,     0,     1,     0,     3,     0,     2,     1,     3,
   30342             :        1,     0,     2,     4,     3,     5,     1,     1,     1,     1,
   30343             :        1,     1,     1,     1,     1,     1,     5,     3,     0,     1,
   30344             :        1,     1,     1,     1,     3,     9,    12,     3,     0,     2,
   30345             :        3,     2,     3,     7,     1,     3,     1,     4,     4,     7,
   30346             :        2,     1,     1,     1,     3,     2,     8,     5,     0,     4,
   30347             :        3,     0,     2,     0,     7,     2,     0,     5,     3,     0,
   30348             :        2,     2,     2,     3,     1,     3,     1,     2,     1,     0,
   30349             :        1,     2,     0,     8,     1,     3,     3,     5,     2,     1,
   30350             :        3,    10,     1,     2,     4,     4,     4,     5,     5,     2,
   30351             :        5,     3,     5,     2,     0,     3,     1,     2,     5,     5,
   30352             :        8,     3,     4,     7,     1,     0,     3,     2,     2,     2,
   30353             :        2,     0,     2,     2,     1,     1,     3,     3,     1,     2,
   30354             :        4,     4,     2,     3,     5,     5,     1,     1,     9,     9,
   30355             :        1,     2,     4,     4,     4,     2,     2,     3,     1,     3,
   30356             :        9,     1,     2,     0,     7,     7,     0,    10,     6,     0,
   30357             :        1,     0,     2,     0,     3,     3,     4,     4,     4,     4,
   30358             :        3,     2,     1,     1,     0,     1,     1,     0,     1,     5,
   30359             :        1,     0,     1,     1,     1,     0,     3,     1,     3,     4,
   30360             :        3,     2,     2,     1,     1,     1,     0,     2,     4,     5,
   30361             :        6,     4,     5,     2,     3,     1,     1,     1,     1,     2,
   30362             :        2,     1,     1,     1,     1,     1,     1,     4,     0,     1,
   30363             :        3,     1,     1,     1,     1,     1,     2,     4,     4,     5,
   30364             :        2,     0,     1,     3,     1,     0,     1,     2,     3,     2,
   30365             :        4,     2,     3,     2,     0,     4,     5,     2,     0,     1,
   30366             :        3,     2,     3,     2,     3,     2,     3,     2,     3,     1,
   30367             :        4,     2,     3,     3,     4,     5,     4,     5,     4,     5,
   30368             :        2,     4,     1,     1,     0,     2,     0,     1,     4,     5,
   30369             :        4,     0,     2,     2,     2,     1,     1,     0,     5,     2,
   30370             :        1,     1,     2,     2,     4,     1,     3,     1,     2,     3,
   30371             :        6,     4,     0,     2,     6,     2,     1,     3,     4,     0,
   30372             :        2,     0,     2,     0,     2,     4,     0,     1,     0,     1,
   30373             :        3,     3,     7,    12,     1,     3,     2,     3,     3,     1,
   30374             :        2,     2,     2,     2,     1,     2,     1,     3,     3,     2,
   30375             :       13,     2,     0,     1,     3,     3,     6,     7,     5,     7,
   30376             :        9,     1,     0,     2,     0,     2,     3,     5,     6,     2,
   30377             :        3,     3,     4,     0,     1,     1,     1,     1,     1,     2,
   30378             :        4,     1,     1,     1,     1,     1,     1,     2,     3,     3,
   30379             :        0,     1,     1,     1,     1,     1,     2,     2,     2,     2,
   30380             :        2,     1,     3,     0,     1,     1,     1,     1,     5,     2,
   30381             :        1,     1,     1,     1,     4,     1,     2,     2,     1,     3,
   30382             :        3,     2,     1,     0,     5,     2,     5,     2,     1,     3,
   30383             :        3,     0,     1,     1,     1,     1,     1,     1,     3,     3,
   30384             :        3,     3,     3,     3,     3,     0,     1,     4,     1,     1,
   30385             :        3,     3,     5,     3,     2,     2,     3,     3,     3,     3,
   30386             :        3,     3,     3,     3,     3,     3,     3,     3,     3,     2,
   30387             :        3,     3,     2,     2,     3,     5,     4,     6,     3,     5,
   30388             :        4,     6,     4,     6,     5,     7,     3,     2,     4,     2,
   30389             :        3,     3,     4,     3,     4,     3,     4,     5,     6,     6,
   30390             :        7,     6,     7,     3,     4,     4,     6,     3,     3,     4,
   30391             :        3,     4,     4,     5,     4,     5,     1,     1,     3,     2,
   30392             :        2,     3,     3,     3,     3,     3,     3,     3,     3,     3,
   30393             :        3,     3,     3,     3,     2,     5,     6,     3,     4,     1,
   30394             :        1,     2,     4,     1,     1,     1,     2,     2,     2,     2,
   30395             :        1,     1,     4,     3,     5,     6,     8,     6,     6,     4,
   30396             :        4,     3,     1,     1,     1,     1,     5,     1,     1,     4,
   30397             :        1,     4,     1,     4,     1,     4,     1,     1,     1,     1,
   30398             :        1,     1,     1,     6,     4,     4,     6,     4,     4,     4,
   30399             :        4,     4,     6,     5,     5,     5,     4,     6,     4,     4,
   30400             :        4,     4,     5,     7,     7,     9,     5,     4,     6,     5,
   30401             :        7,     7,     8,     4,     7,     4,     6,     6,     4,     5,
   30402             :        4,     5,     3,    11,     8,     9,     2,     3,     3,     3,
   30403             :        4,     0,     4,     1,     3,     3,     1,     1,     1,     1,
   30404             :        2,     0,     2,     2,     0,     2,     3,     3,     4,     2,
   30405             :        2,     5,     0,     5,     0,     2,     0,     1,     3,     3,
   30406             :        2,     2,     0,     6,     1,     0,     3,     0,     3,     3,
   30407             :        3,     0,     1,     4,     2,     2,     2,     2,     2,     3,
   30408             :        2,     2,     3,     0,     4,     3,     5,     4,     3,     5,
   30409             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30410             :        1,     1,     1,     1,     1,     1,     1,     1,     4,     1,
   30411             :        4,     1,     4,     1,     2,     1,     2,     1,     3,     1,
   30412             :        3,     1,     3,     3,     1,     0,     1,     3,     3,     3,
   30413             :        2,     1,     3,     3,     1,     1,     1,     1,     1,     1,
   30414             :        1,     1,     1,     1,     1,     1,     7,     5,     3,     5,
   30415             :        5,     3,     3,     5,     3,     2,     1,     1,     3,     5,
   30416             :        1,     2,     4,     2,     0,     1,     0,     1,     2,     2,
   30417             :        2,     3,     5,     1,     0,     1,     2,     0,     2,     1,
   30418             :        0,     2,     0,     1,     3,     3,     2,     3,     2,     3,
   30419             :        4,     4,     3,     3,     0,     2,     1,     1,     1,     1,
   30420             :        1,     1,     2,     2,     1,     3,     3,     6,     0,     3,
   30421             :        0,     2,     4,     2,     1,     0,     5,     2,     5,     2,
   30422             :        0,     3,     0,     1,     2,     2,     2,     2,     3,     2,
   30423             :        3,     2,     0,     1,     3,     3,     3,     3,     3,     0,
   30424             :        3,     3,     0,     1,     3,     7,     7,     3,     0,     1,
   30425             :        0,     1,     3,     3,     2,     1,     1,     1,     3,     1,
   30426             :        2,     1,     3,     1,     1,     1,     1,     2,     1,     1,
   30427             :        1,     1,     1,     2,     6,     2,     3,     5,     1,     1,
   30428             :        1,     1,     1,     1,     2,     2,     1,     1,     1,     1,
   30429             :        1,     1,     3,    10,     4,     1,     1,     1,     1,     1,
   30430             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30431             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30432             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30433             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30434             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30435             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30436             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30437             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30438             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30439             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30440             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30441             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30442             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30443             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30444             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30445             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30446             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30447             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30448             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30449             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30450             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30451             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30452             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30453             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30454             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30455             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30456             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30457             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30458             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30459             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30460             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30461             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30462             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30463             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30464             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30465             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30466             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30467             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30468             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30469             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30470             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30471             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30472             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30473             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30474             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30475             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30476             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30477             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30478             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30479             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30480             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30481             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30482             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30483             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30484             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30485             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30486             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30487             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30488             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30489             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30490             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30491             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30492             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30493             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30494             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30495             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30496             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30497             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30498             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30499             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30500             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30501             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30502             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30503             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30504             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30505             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30506             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30507             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30508             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30509             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30510             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30511             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30512             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30513             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30514             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30515             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30516             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30517             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30518             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30519             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30520             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30521             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30522             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30523             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30524             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30525             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30526             :        1,     1,     1,     1,     1
   30527             : };
   30528             : 
   30529             : 
   30530             : enum { YYENOMEM = -2 };
   30531             : 
   30532             : #define yyerrok         (yyerrstatus = 0)
   30533             : #define yyclearin       (yychar = YYEMPTY)
   30534             : 
   30535             : #define YYACCEPT        goto yyacceptlab
   30536             : #define YYABORT         goto yyabortlab
   30537             : #define YYERROR         goto yyerrorlab
   30538             : 
   30539             : 
   30540             : #define YYRECOVERING()  (!!yyerrstatus)
   30541             : 
   30542             : #define YYBACKUP(Token, Value)                                    \
   30543             :   do                                                              \
   30544             :     if (yychar == YYEMPTY)                                        \
   30545             :       {                                                           \
   30546             :         yychar = (Token);                                         \
   30547             :         yylval = (Value);                                         \
   30548             :         YYPOPSTACK (yylen);                                       \
   30549             :         yystate = *yyssp;                                         \
   30550             :         goto yybackup;                                            \
   30551             :       }                                                           \
   30552             :     else                                                          \
   30553             :       {                                                           \
   30554             :         yyerror (&yylloc, yyscanner, YY_("syntax error: cannot back up")); \
   30555             :         YYERROR;                                                  \
   30556             :       }                                                           \
   30557             :   while (0)
   30558             : 
   30559             : /* Backward compatibility with an undocumented macro.
   30560             :    Use YYerror or YYUNDEF. */
   30561             : #define YYERRCODE YYUNDEF
   30562             : 
   30563             : /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
   30564             :    If N is 0, then set CURRENT to the empty location which ends
   30565             :    the previous symbol: RHS[0] (always defined).  */
   30566             : 
   30567             : #ifndef YYLLOC_DEFAULT
   30568             : # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
   30569             :     do                                                                  \
   30570             :       if (N)                                                            \
   30571             :         {                                                               \
   30572             :           (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
   30573             :           (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
   30574             :           (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
   30575             :           (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
   30576             :         }                                                               \
   30577             :       else                                                              \
   30578             :         {                                                               \
   30579             :           (Current).first_line   = (Current).last_line   =              \
   30580             :             YYRHSLOC (Rhs, 0).last_line;                                \
   30581             :           (Current).first_column = (Current).last_column =              \
   30582             :             YYRHSLOC (Rhs, 0).last_column;                              \
   30583             :         }                                                               \
   30584             :     while (0)
   30585             : #endif
   30586             : 
   30587             : #define YYRHSLOC(Rhs, K) ((Rhs)[K])
   30588             : 
   30589             : 
   30590             : /* Enable debugging if requested.  */
   30591             : #if YYDEBUG
   30592             : 
   30593             : # ifndef YYFPRINTF
   30594             : #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
   30595             : #  define YYFPRINTF fprintf
   30596             : # endif
   30597             : 
   30598             : # define YYDPRINTF(Args)                        \
   30599             : do {                                            \
   30600             :   if (yydebug)                                  \
   30601             :     YYFPRINTF Args;                             \
   30602             : } while (0)
   30603             : 
   30604             : 
   30605             : /* YY_LOCATION_PRINT -- Print the location on the stream.
   30606             :    This macro was not mandated originally: define only if we know
   30607             :    we won't break user code: when these are the locations we know.  */
   30608             : 
   30609             : # ifndef YY_LOCATION_PRINT
   30610             : #  if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
   30611             : 
   30612             : /* Print *YYLOCP on YYO.  Private, do not rely on its existence. */
   30613             : 
   30614             : YY_ATTRIBUTE_UNUSED
   30615             : static int
   30616             : yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
   30617             : {
   30618             :   int res = 0;
   30619             :   int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
   30620             :   if (0 <= yylocp->first_line)
   30621             :     {
   30622             :       res += YYFPRINTF (yyo, "%d", yylocp->first_line);
   30623             :       if (0 <= yylocp->first_column)
   30624             :         res += YYFPRINTF (yyo, ".%d", yylocp->first_column);
   30625             :     }
   30626             :   if (0 <= yylocp->last_line)
   30627             :     {
   30628             :       if (yylocp->first_line < yylocp->last_line)
   30629             :         {
   30630             :           res += YYFPRINTF (yyo, "-%d", yylocp->last_line);
   30631             :           if (0 <= end_col)
   30632             :             res += YYFPRINTF (yyo, ".%d", end_col);
   30633             :         }
   30634             :       else if (0 <= end_col && yylocp->first_column < end_col)
   30635             :         res += YYFPRINTF (yyo, "-%d", end_col);
   30636             :     }
   30637             :   return res;
   30638             :  }
   30639             : 
   30640             : #   define YY_LOCATION_PRINT(File, Loc)          \
   30641             :   yy_location_print_ (File, &(Loc))
   30642             : 
   30643             : #  else
   30644             : #   define YY_LOCATION_PRINT(File, Loc) ((void) 0)
   30645             : #  endif
   30646             : # endif /* !defined YY_LOCATION_PRINT */
   30647             : 
   30648             : 
   30649             : # define YY_SYMBOL_PRINT(Title, Kind, Value, Location)                    \
   30650             : do {                                                                      \
   30651             :   if (yydebug)                                                            \
   30652             :     {                                                                     \
   30653             :       YYFPRINTF (stderr, "%s ", Title);                                   \
   30654             :       yy_symbol_print (stderr,                                            \
   30655             :                   Kind, Value, Location, yyscanner); \
   30656             :       YYFPRINTF (stderr, "\n");                                           \
   30657             :     }                                                                     \
   30658             : } while (0)
   30659             : 
   30660             : 
   30661             : /*-----------------------------------.
   30662             : | Print this symbol's value on YYO.  |
   30663             : `-----------------------------------*/
   30664             : 
   30665             : static void
   30666             : yy_symbol_value_print (FILE *yyo,
   30667             :                        yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
   30668             : {
   30669             :   FILE *yyoutput = yyo;
   30670             :   YY_USE (yyoutput);
   30671             :   YY_USE (yylocationp);
   30672             :   YY_USE (yyscanner);
   30673             :   if (!yyvaluep)
   30674             :     return;
   30675             : # ifdef YYPRINT
   30676             :   if (yykind < YYNTOKENS)
   30677             :     YYPRINT (yyo, yytoknum[yykind], *yyvaluep);
   30678             : # endif
   30679             :   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
   30680             :   YY_USE (yykind);
   30681             :   YY_IGNORE_MAYBE_UNINITIALIZED_END
   30682             : }
   30683             : 
   30684             : 
   30685             : /*---------------------------.
   30686             : | Print this symbol on YYO.  |
   30687             : `---------------------------*/
   30688             : 
   30689             : static void
   30690             : yy_symbol_print (FILE *yyo,
   30691             :                  yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
   30692             : {
   30693             :   YYFPRINTF (yyo, "%s %s (",
   30694             :              yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind));
   30695             : 
   30696             :   YY_LOCATION_PRINT (yyo, *yylocationp);
   30697             :   YYFPRINTF (yyo, ": ");
   30698             :   yy_symbol_value_print (yyo, yykind, yyvaluep, yylocationp, yyscanner);
   30699             :   YYFPRINTF (yyo, ")");
   30700             : }
   30701             : 
   30702             : /*------------------------------------------------------------------.
   30703             : | yy_stack_print -- Print the state stack from its BOTTOM up to its |
   30704             : | TOP (included).                                                   |
   30705             : `------------------------------------------------------------------*/
   30706             : 
   30707             : static void
   30708             : yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
   30709             : {
   30710             :   YYFPRINTF (stderr, "Stack now");
   30711             :   for (; yybottom <= yytop; yybottom++)
   30712             :     {
   30713             :       int yybot = *yybottom;
   30714             :       YYFPRINTF (stderr, " %d", yybot);
   30715             :     }
   30716             :   YYFPRINTF (stderr, "\n");
   30717             : }
   30718             : 
   30719             : # define YY_STACK_PRINT(Bottom, Top)                            \
   30720             : do {                                                            \
   30721             :   if (yydebug)                                                  \
   30722             :     yy_stack_print ((Bottom), (Top));                           \
   30723             : } while (0)
   30724             : 
   30725             : 
   30726             : /*------------------------------------------------.
   30727             : | Report that the YYRULE is going to be reduced.  |
   30728             : `------------------------------------------------*/
   30729             : 
   30730             : static void
   30731             : yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp,
   30732             :                  int yyrule, core_yyscan_t yyscanner)
   30733             : {
   30734             :   int yylno = yyrline[yyrule];
   30735             :   int yynrhs = yyr2[yyrule];
   30736             :   int yyi;
   30737             :   YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
   30738             :              yyrule - 1, yylno);
   30739             :   /* The symbols being reduced.  */
   30740             :   for (yyi = 0; yyi < yynrhs; yyi++)
   30741             :     {
   30742             :       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
   30743             :       yy_symbol_print (stderr,
   30744             :                        YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]),
   30745             :                        &yyvsp[(yyi + 1) - (yynrhs)],
   30746             :                        &(yylsp[(yyi + 1) - (yynrhs)]), yyscanner);
   30747             :       YYFPRINTF (stderr, "\n");
   30748             :     }
   30749             : }
   30750             : 
   30751             : # define YY_REDUCE_PRINT(Rule)          \
   30752             : do {                                    \
   30753             :   if (yydebug)                          \
   30754             :     yy_reduce_print (yyssp, yyvsp, yylsp, Rule, yyscanner); \
   30755             : } while (0)
   30756             : 
   30757             : /* Nonzero means print parse trace.  It is left uninitialized so that
   30758             :    multiple parsers can coexist.  */
   30759             : int yydebug;
   30760             : #else /* !YYDEBUG */
   30761             : # define YYDPRINTF(Args) ((void) 0)
   30762             : # define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
   30763             : # define YY_STACK_PRINT(Bottom, Top)
   30764             : # define YY_REDUCE_PRINT(Rule)
   30765             : #endif /* !YYDEBUG */
   30766             : 
   30767             : 
   30768             : /* YYINITDEPTH -- initial size of the parser's stacks.  */
   30769             : #ifndef YYINITDEPTH
   30770             : # define YYINITDEPTH 200
   30771             : #endif
   30772             : 
   30773             : /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
   30774             :    if the built-in stack extension method is used).
   30775             : 
   30776             :    Do not make this value too large; the results are undefined if
   30777             :    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
   30778             :    evaluated with infinite-precision integer arithmetic.  */
   30779             : 
   30780             : #ifndef YYMAXDEPTH
   30781             : # define YYMAXDEPTH 10000
   30782             : #endif
   30783             : 
   30784             : 
   30785             : 
   30786             : 
   30787             : 
   30788             : 
   30789             : /*-----------------------------------------------.
   30790             : | Release the memory associated to this symbol.  |
   30791             : `-----------------------------------------------*/
   30792             : 
   30793             : static void
   30794     1443980 : yydestruct (const char *yymsg,
   30795             :             yysymbol_kind_t yykind, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, core_yyscan_t yyscanner)
   30796             : {
   30797             :   YY_USE (yyvaluep);
   30798             :   YY_USE (yylocationp);
   30799             :   YY_USE (yyscanner);
   30800     1443980 :   if (!yymsg)
   30801           0 :     yymsg = "Deleting";
   30802             :   YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
   30803             : 
   30804             :   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
   30805             :   YY_USE (yykind);
   30806             :   YY_IGNORE_MAYBE_UNINITIALIZED_END
   30807     1443980 : }
   30808             : 
   30809             : 
   30810             : 
   30811             : 
   30812             : 
   30813             : 
   30814             : /*----------.
   30815             : | yyparse.  |
   30816             : `----------*/
   30817             : 
   30818             : int
   30819      723138 : yyparse (core_yyscan_t yyscanner)
   30820             : {
   30821             : /* Lookahead token kind.  */
   30822             : int yychar;
   30823             : 
   30824             : 
   30825             : /* The semantic value of the lookahead symbol.  */
   30826             : /* Default value used for initialization, for pacifying older GCCs
   30827             :    or non-GCC compilers.  */
   30828             : YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
   30829             : YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
   30830             : 
   30831             : /* Location data for the lookahead symbol.  */
   30832             : static YYLTYPE yyloc_default
   30833             : # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
   30834             :   = { 1, 1, 1, 1 }
   30835             : # endif
   30836             : ;
   30837      723138 : YYLTYPE yylloc = yyloc_default;
   30838             : 
   30839             :     /* Number of syntax errors so far.  */
   30840      723138 :     int yynerrs = 0;
   30841             : 
   30842      723138 :     yy_state_fast_t yystate = 0;
   30843             :     /* Number of tokens to shift before error messages enabled.  */
   30844      723138 :     int yyerrstatus = 0;
   30845             : 
   30846             :     /* Refer to the stacks through separate pointers, to allow yyoverflow
   30847             :        to reallocate them elsewhere.  */
   30848             : 
   30849             :     /* Their size.  */
   30850      723138 :     YYPTRDIFF_T yystacksize = YYINITDEPTH;
   30851             : 
   30852             :     /* The state stack: array, bottom, top.  */
   30853             :     yy_state_t yyssa[YYINITDEPTH];
   30854      723138 :     yy_state_t *yyss = yyssa;
   30855      723138 :     yy_state_t *yyssp = yyss;
   30856             : 
   30857             :     /* The semantic value stack: array, bottom, top.  */
   30858             :     YYSTYPE yyvsa[YYINITDEPTH];
   30859      723138 :     YYSTYPE *yyvs = yyvsa;
   30860      723138 :     YYSTYPE *yyvsp = yyvs;
   30861             : 
   30862             :     /* The location stack: array, bottom, top.  */
   30863             :     YYLTYPE yylsa[YYINITDEPTH];
   30864      723138 :     YYLTYPE *yyls = yylsa;
   30865      723138 :     YYLTYPE *yylsp = yyls;
   30866             : 
   30867             :   int yyn;
   30868             :   /* The return value of yyparse.  */
   30869             :   int yyresult;
   30870             :   /* Lookahead symbol kind.  */
   30871      723138 :   yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY;
   30872             :   /* The variables used to return semantic value and location from the
   30873             :      action routines.  */
   30874             :   YYSTYPE yyval;
   30875             :   YYLTYPE yyloc;
   30876             : 
   30877             :   /* The locations where the error started and ended.  */
   30878             :   YYLTYPE yyerror_range[3];
   30879             : 
   30880             : 
   30881             : 
   30882             : #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
   30883             : 
   30884             :   /* The number of symbols on the RHS of the reduced rule.
   30885             :      Keep to zero when no symbol should be popped.  */
   30886      723138 :   int yylen = 0;
   30887             : 
   30888             :   YYDPRINTF ((stderr, "Starting parse\n"));
   30889             : 
   30890      723138 :   yychar = YYEMPTY; /* Cause a token to be read.  */
   30891      723138 :   yylsp[0] = yylloc;
   30892      723138 :   goto yysetstate;
   30893             : 
   30894             : 
   30895             : /*------------------------------------------------------------.
   30896             : | yynewstate -- push a new state, which is found in yystate.  |
   30897             : `------------------------------------------------------------*/
   30898    64087816 : yynewstate:
   30899             :   /* In all cases, when you get here, the value and location stacks
   30900             :      have just been pushed.  So pushing a state here evens the stacks.  */
   30901    64087816 :   yyssp++;
   30902             : 
   30903             : 
   30904             : /*--------------------------------------------------------------------.
   30905             : | yysetstate -- set current state (the top of the stack) to yystate.  |
   30906             : `--------------------------------------------------------------------*/
   30907    64810954 : yysetstate:
   30908             :   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
   30909             :   YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
   30910             :   YY_IGNORE_USELESS_CAST_BEGIN
   30911    64810954 :   *yyssp = YY_CAST (yy_state_t, yystate);
   30912             :   YY_IGNORE_USELESS_CAST_END
   30913             :   YY_STACK_PRINT (yyss, yyssp);
   30914             : 
   30915    64810954 :   if (yyss + yystacksize - 1 <= yyssp)
   30916             : #if !defined yyoverflow && !defined YYSTACK_RELOCATE
   30917             :     goto yyexhaustedlab;
   30918             : #else
   30919             :     {
   30920             :       /* Get the current used size of the three stacks, in elements.  */
   30921           0 :       YYPTRDIFF_T yysize = yyssp - yyss + 1;
   30922             : 
   30923             : # if defined yyoverflow
   30924             :       {
   30925             :         /* Give user a chance to reallocate the stack.  Use copies of
   30926             :            these so that the &'s don't force the real ones into
   30927             :            memory.  */
   30928             :         yy_state_t *yyss1 = yyss;
   30929             :         YYSTYPE *yyvs1 = yyvs;
   30930             :         YYLTYPE *yyls1 = yyls;
   30931             : 
   30932             :         /* Each stack pointer address is followed by the size of the
   30933             :            data in use in that stack, in bytes.  This used to be a
   30934             :            conditional around just the two extra args, but that might
   30935             :            be undefined if yyoverflow is a macro.  */
   30936             :         yyoverflow (YY_("memory exhausted"),
   30937             :                     &yyss1, yysize * YYSIZEOF (*yyssp),
   30938             :                     &yyvs1, yysize * YYSIZEOF (*yyvsp),
   30939             :                     &yyls1, yysize * YYSIZEOF (*yylsp),
   30940             :                     &yystacksize);
   30941             :         yyss = yyss1;
   30942             :         yyvs = yyvs1;
   30943             :         yyls = yyls1;
   30944             :       }
   30945             : # else /* defined YYSTACK_RELOCATE */
   30946             :       /* Extend the stack our own way.  */
   30947           0 :       if (YYMAXDEPTH <= yystacksize)
   30948           0 :         goto yyexhaustedlab;
   30949           0 :       yystacksize *= 2;
   30950           0 :       if (YYMAXDEPTH < yystacksize)
   30951           0 :         yystacksize = YYMAXDEPTH;
   30952             : 
   30953             :       {
   30954           0 :         yy_state_t *yyss1 = yyss;
   30955             :         union yyalloc *yyptr =
   30956           0 :           YY_CAST (union yyalloc *,
   30957             :                    YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
   30958           0 :         if (! yyptr)
   30959           0 :           goto yyexhaustedlab;
   30960           0 :         YYSTACK_RELOCATE (yyss_alloc, yyss);
   30961           0 :         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
   30962           0 :         YYSTACK_RELOCATE (yyls_alloc, yyls);
   30963             : #  undef YYSTACK_RELOCATE
   30964           0 :         if (yyss1 != yyssa)
   30965           0 :           YYSTACK_FREE (yyss1);
   30966             :       }
   30967             : # endif
   30968             : 
   30969           0 :       yyssp = yyss + yysize - 1;
   30970           0 :       yyvsp = yyvs + yysize - 1;
   30971           0 :       yylsp = yyls + yysize - 1;
   30972             : 
   30973             :       YY_IGNORE_USELESS_CAST_BEGIN
   30974             :       YYDPRINTF ((stderr, "Stack size increased to %ld\n",
   30975             :                   YY_CAST (long, yystacksize)));
   30976             :       YY_IGNORE_USELESS_CAST_END
   30977             : 
   30978           0 :       if (yyss + yystacksize - 1 <= yyssp)
   30979           0 :         YYABORT;
   30980             :     }
   30981             : #endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
   30982             : 
   30983    64810954 :   if (yystate == YYFINAL)
   30984      721990 :     YYACCEPT;
   30985             : 
   30986    64088964 :   goto yybackup;
   30987             : 
   30988             : 
   30989             : /*-----------.
   30990             : | yybackup.  |
   30991             : `-----------*/
   30992    64088964 : yybackup:
   30993             :   /* Do appropriate processing given the current state.  Read a
   30994             :      lookahead token if we need one and don't already have one.  */
   30995             : 
   30996             :   /* First try to decide what to do without reference to lookahead token.  */
   30997    64088964 :   yyn = yypact[yystate];
   30998    64088964 :   if (yypact_value_is_default (yyn))
   30999    27564840 :     goto yydefault;
   31000             : 
   31001             :   /* Not known => get a lookahead token if don't already have one.  */
   31002             : 
   31003             :   /* YYCHAR is either empty, or end-of-input, or a valid lookahead.  */
   31004    36524124 :   if (yychar == YYEMPTY)
   31005             :     {
   31006             :       YYDPRINTF ((stderr, "Reading a token\n"));
   31007    17238042 :       yychar = yylex (&yylval, &yylloc, yyscanner);
   31008             :     }
   31009             : 
   31010    36523830 :   if (yychar <= YYEOF)
   31011             :     {
   31012     3498952 :       yychar = YYEOF;
   31013     3498952 :       yytoken = YYSYMBOL_YYEOF;
   31014             :       YYDPRINTF ((stderr, "Now at end of input.\n"));
   31015             :     }
   31016    33024878 :   else if (yychar == YYerror)
   31017             :     {
   31018             :       /* The scanner already issued an error message, process directly
   31019             :          to error recovery.  But do not keep the error token as
   31020             :          lookahead, it is too special and may lead us to an endless
   31021             :          loop in error recovery. */
   31022           0 :       yychar = YYUNDEF;
   31023           0 :       yytoken = YYSYMBOL_YYerror;
   31024           0 :       yyerror_range[1] = yylloc;
   31025           0 :       goto yyerrlab1;
   31026             :     }
   31027             :   else
   31028             :     {
   31029    33024878 :       yytoken = YYTRANSLATE (yychar);
   31030             :       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
   31031             :     }
   31032             : 
   31033             :   /* If the proper action on seeing token YYTOKEN is to reduce or to
   31034             :      detect an error, take that action.  */
   31035    36523830 :   yyn += yytoken;
   31036    36523830 :   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
   31037    18168414 :     goto yydefault;
   31038    18355416 :   yyn = yytable[yyn];
   31039    18355416 :   if (yyn <= 0)
   31040             :     {
   31041     1118420 :       if (yytable_value_is_error (yyn))
   31042           0 :         goto yyerrlab;
   31043     1118420 :       yyn = -yyn;
   31044     1118420 :       goto yyreduce;
   31045             :     }
   31046             : 
   31047             :   /* Count tokens shifted since error; after three, turn off error
   31048             :      status.  */
   31049    17236996 :   if (yyerrstatus)
   31050           0 :     yyerrstatus--;
   31051             : 
   31052             :   /* Shift the lookahead token.  */
   31053             :   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
   31054    17236996 :   yystate = yyn;
   31055             :   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
   31056    17236996 :   *++yyvsp = yylval;
   31057             :   YY_IGNORE_MAYBE_UNINITIALIZED_END
   31058    17236996 :   *++yylsp = yylloc;
   31059             : 
   31060             :   /* Discard the shifted token.  */
   31061    17236996 :   yychar = YYEMPTY;
   31062    17236996 :   goto yynewstate;
   31063             : 
   31064             : 
   31065             : /*-----------------------------------------------------------.
   31066             : | yydefault -- do the default action for the current state.  |
   31067             : `-----------------------------------------------------------*/
   31068    45733254 : yydefault:
   31069    45733254 :   yyn = yydefact[yystate];
   31070    45733254 :   if (yyn == 0)
   31071         680 :     goto yyerrlab;
   31072    45732574 :   goto yyreduce;
   31073             : 
   31074             : 
   31075             : /*-----------------------------.
   31076             : | yyreduce -- do a reduction.  |
   31077             : `-----------------------------*/
   31078    46850994 : yyreduce:
   31079             :   /* yyn is the number of a rule to reduce with.  */
   31080    46850994 :   yylen = yyr2[yyn];
   31081             : 
   31082             :   /* If YYLEN is nonzero, implement the default value of the action:
   31083             :      '$$ = $1'.
   31084             : 
   31085             :      Otherwise, the following line sets YYVAL to garbage.
   31086             :      This behavior is undocumented and Bison
   31087             :      users should not rely upon it.  Assigning to YYVAL
   31088             :      unconditionally makes the parser a bit smaller, and it avoids a
   31089             :      GCC warning that YYVAL may be used uninitialized.  */
   31090    46850994 :   yyval = yyvsp[1-yylen];
   31091             : 
   31092             :   /* Default location. */
   31093    46850994 :   YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
   31094    46850994 :   yyerror_range[1] = yyloc;
   31095             :   YY_REDUCE_PRINT (yyn);
   31096    46850994 :   switch (yyn)
   31097             :     {
   31098      675964 :   case 2: /* parse_toplevel: stmtmulti  */
   31099             : #line 926 "gram.y"
   31100             :                         {
   31101             :                 pg_yyget_extra(yyscanner)->parsetree = (yyvsp[0].list);
   31102             :                 (void) yynerrs;     /* suppress compiler warning */
   31103             :             }
   31104             : #line 31105 "gram.c"
   31105      675964 :     break;
   31106             : 
   31107        9334 :   case 3: /* parse_toplevel: MODE_TYPE_NAME Typename  */
   31108             : #line 931 "gram.y"
   31109             :                         {
   31110             :                 pg_yyget_extra(yyscanner)->parsetree = list_make1((yyvsp[0].typnam));
   31111             :             }
   31112             : #line 31113 "gram.c"
   31113        9334 :     break;
   31114             : 
   31115       30156 :   case 4: /* parse_toplevel: MODE_PLPGSQL_EXPR PLpgSQL_Expr  */
   31116             : #line 935 "gram.y"
   31117             :                         {
   31118             :                 pg_yyget_extra(yyscanner)->parsetree =
   31119             :                     list_make1(makeRawStmt((yyvsp[0].node), 0));
   31120             :             }
   31121             : #line 31122 "gram.c"
   31122       30156 :     break;
   31123             : 
   31124        5966 :   case 5: /* parse_toplevel: MODE_PLPGSQL_ASSIGN1 PLAssignStmt  */
   31125             : #line 940 "gram.y"
   31126             :                         {
   31127             :                 PLAssignStmt *n = (PLAssignStmt *) (yyvsp[0].node);
   31128             : 
   31129             :                 n->nnames = 1;
   31130             :                 pg_yyget_extra(yyscanner)->parsetree =
   31131             :                     list_make1(makeRawStmt((Node *) n, 0));
   31132             :             }
   31133             : #line 31134 "gram.c"
   31134        5966 :     break;
   31135             : 
   31136         620 :   case 6: /* parse_toplevel: MODE_PLPGSQL_ASSIGN2 PLAssignStmt  */
   31137             : #line 948 "gram.y"
   31138             :                         {
   31139             :                 PLAssignStmt *n = (PLAssignStmt *) (yyvsp[0].node);
   31140             : 
   31141             :                 n->nnames = 2;
   31142             :                 pg_yyget_extra(yyscanner)->parsetree =
   31143             :                     list_make1(makeRawStmt((Node *) n, 0));
   31144             :             }
   31145             : #line 31146 "gram.c"
   31146         620 :     break;
   31147             : 
   31148          28 :   case 7: /* parse_toplevel: MODE_PLPGSQL_ASSIGN3 PLAssignStmt  */
   31149             : #line 956 "gram.y"
   31150             :                         {
   31151             :                 PLAssignStmt *n = (PLAssignStmt *) (yyvsp[0].node);
   31152             : 
   31153             :                 n->nnames = 3;
   31154             :                 pg_yyget_extra(yyscanner)->parsetree =
   31155             :                     list_make1(makeRawStmt((Node *) n, 0));
   31156             :             }
   31157             : #line 31158 "gram.c"
   31158          28 :     break;
   31159             : 
   31160      548988 :   case 8: /* stmtmulti: stmtmulti ';' toplevel_stmt  */
   31161             : #line 976 "gram.y"
   31162             :                                 {
   31163             :                     if ((yyvsp[-2].list) != NIL)
   31164             :                     {
   31165             :                         /* update length of previous stmt */
   31166             :                         updateRawStmtEnd(llast_node(RawStmt, (yyvsp[-2].list)), (yylsp[-1]));
   31167             :                     }
   31168             :                     if ((yyvsp[0].node) != NULL)
   31169             :                         (yyval.list) = lappend((yyvsp[-2].list), makeRawStmt((yyvsp[0].node), (yylsp[-1]) + 1));
   31170             :                     else
   31171             :                         (yyval.list) = (yyvsp[-2].list);
   31172             :                 }
   31173             : #line 31174 "gram.c"
   31174      548988 :     break;
   31175             : 
   31176      675970 :   case 9: /* stmtmulti: toplevel_stmt  */
   31177             : #line 988 "gram.y"
   31178             :                                 {
   31179             :                     if ((yyvsp[0].node) != NULL)
   31180             :                         (yyval.list) = list_make1(makeRawStmt((yyvsp[0].node), 0));
   31181             :                     else
   31182             :                         (yyval.list) = NIL;
   31183             :                 }
   31184             : #line 31185 "gram.c"
   31185      675970 :     break;
   31186             : 
   31187      500800 :   case 136: /* stmt: %empty  */
   31188             : #line 1131 "gram.y"
   31189             :                                 { (yyval.node) = NULL; }
   31190             : #line 31191 "gram.c"
   31191      500800 :     break;
   31192             : 
   31193        5106 :   case 137: /* opt_single_name: ColId  */
   31194             : #line 1138 "gram.y"
   31195             :                                                                                 { (yyval.str) = (yyvsp[0].str); }
   31196             : #line 31197 "gram.c"
   31197        5106 :     break;
   31198             : 
   31199        1460 :   case 138: /* opt_single_name: %empty  */
   31200             : #line 1139 "gram.y"
   31201             :                                                                         { (yyval.str) = NULL; }
   31202             : #line 31203 "gram.c"
   31203        1460 :     break;
   31204             : 
   31205        1684 :   case 139: /* opt_qualified_name: any_name  */
   31206             : #line 1143 "gram.y"
   31207             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   31208             : #line 31209 "gram.c"
   31209        1684 :     break;
   31210             : 
   31211       14372 :   case 140: /* opt_qualified_name: %empty  */
   31212             : #line 1144 "gram.y"
   31213             :                                                                                 { (yyval.list) = NIL; }
   31214             : #line 31215 "gram.c"
   31215       14372 :     break;
   31216             : 
   31217         958 :   case 141: /* opt_concurrently: CONCURRENTLY  */
   31218             : #line 1148 "gram.y"
   31219             :                                                                         { (yyval.boolean) = true; }
   31220             : #line 31221 "gram.c"
   31221         958 :     break;
   31222             : 
   31223        7230 :   case 142: /* opt_concurrently: %empty  */
   31224             : #line 1149 "gram.y"
   31225             :                                                                                 { (yyval.boolean) = false; }
   31226             : #line 31227 "gram.c"
   31227        7230 :     break;
   31228             : 
   31229        1924 :   case 143: /* opt_drop_behavior: CASCADE  */
   31230             : #line 1153 "gram.y"
   31231             :                                                                                 { (yyval.dbehavior) = DROP_CASCADE; }
   31232             : #line 31233 "gram.c"
   31233        1924 :     break;
   31234             : 
   31235         168 :   case 144: /* opt_drop_behavior: RESTRICT  */
   31236             : #line 1154 "gram.y"
   31237             :                                                                                 { (yyval.dbehavior) = DROP_RESTRICT; }
   31238             : #line 31239 "gram.c"
   31239         168 :     break;
   31240             : 
   31241       33974 :   case 145: /* opt_drop_behavior: %empty  */
   31242             : #line 1155 "gram.y"
   31243             :                                                                         { (yyval.dbehavior) = DROP_RESTRICT; /* default */ }
   31244             : #line 31245 "gram.c"
   31245       33974 :     break;
   31246             : 
   31247         528 :   case 146: /* CallStmt: CALL func_application  */
   31248             : #line 1165 "gram.y"
   31249             :                                 {
   31250             :                     CallStmt   *n = makeNode(CallStmt);
   31251             : 
   31252             :                     n->funccall = castNode(FuncCall, (yyvsp[0].node));
   31253             :                     (yyval.node) = (Node *) n;
   31254             :                 }
   31255             : #line 31256 "gram.c"
   31256         528 :     break;
   31257             : 
   31258        1238 :   case 147: /* CreateRoleStmt: CREATE ROLE RoleId opt_with OptRoleList  */
   31259             : #line 1181 "gram.y"
   31260             :                                 {
   31261             :                     CreateRoleStmt *n = makeNode(CreateRoleStmt);
   31262             : 
   31263             :                     n->stmt_type = ROLESTMT_ROLE;
   31264             :                     n->role = (yyvsp[-2].str);
   31265             :                     n->options = (yyvsp[0].list);
   31266             :                     (yyval.node) = (Node *) n;
   31267             :                 }
   31268             : #line 31269 "gram.c"
   31269        1238 :     break;
   31270             : 
   31271        1146 :   case 151: /* OptRoleList: OptRoleList CreateOptRoleElem  */
   31272             : #line 1203 "gram.y"
   31273             :                                                                         { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   31274             : #line 31275 "gram.c"
   31275        1146 :     break;
   31276             : 
   31277        1686 :   case 152: /* OptRoleList: %empty  */
   31278             : #line 1204 "gram.y"
   31279             :                                                                                         { (yyval.list) = NIL; }
   31280             : #line 31281 "gram.c"
   31281        1686 :     break;
   31282             : 
   31283         572 :   case 153: /* AlterOptRoleList: AlterOptRoleList AlterOptRoleElem  */
   31284             : #line 1208 "gram.y"
   31285             :                                                                         { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   31286             : #line 31287 "gram.c"
   31287         572 :     break;
   31288             : 
   31289         392 :   case 154: /* AlterOptRoleList: %empty  */
   31290             : #line 1209 "gram.y"
   31291             :                                                                                         { (yyval.list) = NIL; }
   31292             : #line 31293 "gram.c"
   31293         392 :     break;
   31294             : 
   31295         162 :   case 155: /* AlterOptRoleElem: PASSWORD Sconst  */
   31296             : #line 1214 "gram.y"
   31297             :                                 {
   31298             :                     (yyval.defelt) = makeDefElem("password",
   31299             :                                      (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
   31300             :                 }
   31301             : #line 31302 "gram.c"
   31302         162 :     break;
   31303             : 
   31304          12 :   case 156: /* AlterOptRoleElem: PASSWORD NULL_P  */
   31305             : #line 1219 "gram.y"
   31306             :                                 {
   31307             :                     (yyval.defelt) = makeDefElem("password", NULL, (yylsp[-1]));
   31308             :                 }
   31309             : #line 31310 "gram.c"
   31310          12 :     break;
   31311             : 
   31312          16 :   case 157: /* AlterOptRoleElem: ENCRYPTED PASSWORD Sconst  */
   31313             : #line 1223 "gram.y"
   31314             :                                 {
   31315             :                     /*
   31316             :                      * These days, passwords are always stored in encrypted
   31317             :                      * form, so there is no difference between PASSWORD and
   31318             :                      * ENCRYPTED PASSWORD.
   31319             :                      */
   31320             :                     (yyval.defelt) = makeDefElem("password",
   31321             :                                      (Node *) makeString((yyvsp[0].str)), (yylsp[-2]));
   31322             :                 }
   31323             : #line 31324 "gram.c"
   31324          16 :     break;
   31325             : 
   31326           0 :   case 158: /* AlterOptRoleElem: UNENCRYPTED PASSWORD Sconst  */
   31327             : #line 1233 "gram.y"
   31328             :                                 {
   31329             :                     ereport(ERROR,
   31330             :                             (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   31331             :                              errmsg("UNENCRYPTED PASSWORD is no longer supported"),
   31332             :                              errhint("Remove UNENCRYPTED to store the password in encrypted form instead."),
   31333             :                              parser_errposition((yylsp[-2]))));
   31334             :                 }
   31335             : #line 31336 "gram.c"
   31336             :     break;
   31337             : 
   31338          86 :   case 159: /* AlterOptRoleElem: INHERIT  */
   31339             : #line 1241 "gram.y"
   31340             :                                 {
   31341             :                     (yyval.defelt) = makeDefElem("inherit", (Node *) makeBoolean(true), (yylsp[0]));
   31342             :                 }
   31343             : #line 31344 "gram.c"
   31344          86 :     break;
   31345             : 
   31346          24 :   case 160: /* AlterOptRoleElem: CONNECTION LIMIT SignedIconst  */
   31347             : #line 1245 "gram.y"
   31348             :                                 {
   31349             :                     (yyval.defelt) = makeDefElem("connectionlimit", (Node *) makeInteger((yyvsp[0].ival)), (yylsp[-2]));
   31350             :                 }
   31351             : #line 31352 "gram.c"
   31352          24 :     break;
   31353             : 
   31354           2 :   case 161: /* AlterOptRoleElem: VALID UNTIL Sconst  */
   31355             : #line 1249 "gram.y"
   31356             :                                 {
   31357             :                     (yyval.defelt) = makeDefElem("validUntil", (Node *) makeString((yyvsp[0].str)), (yylsp[-2]));
   31358             :                 }
   31359             : #line 31360 "gram.c"
   31360           2 :     break;
   31361             : 
   31362           6 :   case 162: /* AlterOptRoleElem: USER role_list  */
   31363             : #line 1254 "gram.y"
   31364             :                                 {
   31365             :                     (yyval.defelt) = makeDefElem("rolemembers", (Node *) (yyvsp[0].list), (yylsp[-1]));
   31366             :                 }
   31367             : #line 31368 "gram.c"
   31368           6 :     break;
   31369             : 
   31370        1266 :   case 163: /* AlterOptRoleElem: IDENT  */
   31371             : #line 1258 "gram.y"
   31372             :                                 {
   31373             :                     /*
   31374             :                      * We handle identifiers that aren't parser keywords with
   31375             :                      * the following special-case codes, to avoid bloating the
   31376             :                      * size of the main parser.
   31377             :                      */
   31378             :                     if (strcmp((yyvsp[0].str), "superuser") == 0)
   31379             :                         (yyval.defelt) = makeDefElem("superuser", (Node *) makeBoolean(true), (yylsp[0]));
   31380             :                     else if (strcmp((yyvsp[0].str), "nosuperuser") == 0)
   31381             :                         (yyval.defelt) = makeDefElem("superuser", (Node *) makeBoolean(false), (yylsp[0]));
   31382             :                     else if (strcmp((yyvsp[0].str), "createrole") == 0)
   31383             :                         (yyval.defelt) = makeDefElem("createrole", (Node *) makeBoolean(true), (yylsp[0]));
   31384             :                     else if (strcmp((yyvsp[0].str), "nocreaterole") == 0)
   31385             :                         (yyval.defelt) = makeDefElem("createrole", (Node *) makeBoolean(false), (yylsp[0]));
   31386             :                     else if (strcmp((yyvsp[0].str), "replication") == 0)
   31387             :                         (yyval.defelt) = makeDefElem("isreplication", (Node *) makeBoolean(true), (yylsp[0]));
   31388             :                     else if (strcmp((yyvsp[0].str), "noreplication") == 0)
   31389             :                         (yyval.defelt) = makeDefElem("isreplication", (Node *) makeBoolean(false), (yylsp[0]));
   31390             :                     else if (strcmp((yyvsp[0].str), "createdb") == 0)
   31391             :                         (yyval.defelt) = makeDefElem("createdb", (Node *) makeBoolean(true), (yylsp[0]));
   31392             :                     else if (strcmp((yyvsp[0].str), "nocreatedb") == 0)
   31393             :                         (yyval.defelt) = makeDefElem("createdb", (Node *) makeBoolean(false), (yylsp[0]));
   31394             :                     else if (strcmp((yyvsp[0].str), "login") == 0)
   31395             :                         (yyval.defelt) = makeDefElem("canlogin", (Node *) makeBoolean(true), (yylsp[0]));
   31396             :                     else if (strcmp((yyvsp[0].str), "nologin") == 0)
   31397             :                         (yyval.defelt) = makeDefElem("canlogin", (Node *) makeBoolean(false), (yylsp[0]));
   31398             :                     else if (strcmp((yyvsp[0].str), "bypassrls") == 0)
   31399             :                         (yyval.defelt) = makeDefElem("bypassrls", (Node *) makeBoolean(true), (yylsp[0]));
   31400             :                     else if (strcmp((yyvsp[0].str), "nobypassrls") == 0)
   31401             :                         (yyval.defelt) = makeDefElem("bypassrls", (Node *) makeBoolean(false), (yylsp[0]));
   31402             :                     else if (strcmp((yyvsp[0].str), "noinherit") == 0)
   31403             :                     {
   31404             :                         /*
   31405             :                          * Note that INHERIT is a keyword, so it's handled by main parser, but
   31406             :                          * NOINHERIT is handled here.
   31407             :                          */
   31408             :                         (yyval.defelt) = makeDefElem("inherit", (Node *) makeBoolean(false), (yylsp[0]));
   31409             :                     }
   31410             :                     else
   31411             :                         ereport(ERROR,
   31412             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   31413             :                                  errmsg("unrecognized role option \"%s\"", (yyvsp[0].str)),
   31414             :                                      parser_errposition((yylsp[0]))));
   31415             :                 }
   31416             : #line 31417 "gram.c"
   31417        1266 :     break;
   31418             : 
   31419        1002 :   case 164: /* CreateOptRoleElem: AlterOptRoleElem  */
   31420             : #line 1305 "gram.y"
   31421             :                                                                 { (yyval.defelt) = (yyvsp[0].defelt); }
   31422             : #line 31423 "gram.c"
   31423        1002 :     break;
   31424             : 
   31425           6 :   case 165: /* CreateOptRoleElem: SYSID Iconst  */
   31426             : #line 1308 "gram.y"
   31427             :                                 {
   31428             :                     (yyval.defelt) = makeDefElem("sysid", (Node *) makeInteger((yyvsp[0].ival)), (yylsp[-1]));
   31429             :                 }
   31430             : #line 31431 "gram.c"
   31431           6 :     break;
   31432             : 
   31433          22 :   case 166: /* CreateOptRoleElem: ADMIN role_list  */
   31434             : #line 1312 "gram.y"
   31435             :                                 {
   31436             :                     (yyval.defelt) = makeDefElem("adminmembers", (Node *) (yyvsp[0].list), (yylsp[-1]));
   31437             :                 }
   31438             : #line 31439 "gram.c"
   31439          22 :     break;
   31440             : 
   31441          16 :   case 167: /* CreateOptRoleElem: ROLE role_list  */
   31442             : #line 1316 "gram.y"
   31443             :                                 {
   31444             :                     (yyval.defelt) = makeDefElem("rolemembers", (Node *) (yyvsp[0].list), (yylsp[-1]));
   31445             :                 }
   31446             : #line 31447 "gram.c"
   31447          16 :     break;
   31448             : 
   31449         100 :   case 168: /* CreateOptRoleElem: IN_P ROLE role_list  */
   31450             : #line 1320 "gram.y"
   31451             :                                 {
   31452             :                     (yyval.defelt) = makeDefElem("addroleto", (Node *) (yyvsp[0].list), (yylsp[-2]));
   31453             :                 }
   31454             : #line 31455 "gram.c"
   31455         100 :     break;
   31456             : 
   31457           0 :   case 169: /* CreateOptRoleElem: IN_P GROUP_P role_list  */
   31458             : #line 1324 "gram.y"
   31459             :                                 {
   31460             :                     (yyval.defelt) = makeDefElem("addroleto", (Node *) (yyvsp[0].list), (yylsp[-2]));
   31461             :                 }
   31462             : #line 31463 "gram.c"
   31463           0 :     break;
   31464             : 
   31465         424 :   case 170: /* CreateUserStmt: CREATE USER RoleId opt_with OptRoleList  */
   31466             : #line 1338 "gram.y"
   31467             :                                 {
   31468             :                     CreateRoleStmt *n = makeNode(CreateRoleStmt);
   31469             : 
   31470             :                     n->stmt_type = ROLESTMT_USER;
   31471             :                     n->role = (yyvsp[-2].str);
   31472             :                     n->options = (yyvsp[0].list);
   31473             :                     (yyval.node) = (Node *) n;
   31474             :                 }
   31475             : #line 31476 "gram.c"
   31476         424 :     break;
   31477             : 
   31478         306 :   case 171: /* AlterRoleStmt: ALTER ROLE RoleSpec opt_with AlterOptRoleList  */
   31479             : #line 1357 "gram.y"
   31480             :                                  {
   31481             :                     AlterRoleStmt *n = makeNode(AlterRoleStmt);
   31482             : 
   31483             :                     n->role = (yyvsp[-2].rolespec);
   31484             :                     n->action = +1;  /* add, if there are members */
   31485             :                     n->options = (yyvsp[0].list);
   31486             :                     (yyval.node) = (Node *) n;
   31487             :                  }
   31488             : #line 31489 "gram.c"
   31489         306 :     break;
   31490             : 
   31491          86 :   case 172: /* AlterRoleStmt: ALTER USER RoleSpec opt_with AlterOptRoleList  */
   31492             : #line 1366 "gram.y"
   31493             :                                  {
   31494             :                     AlterRoleStmt *n = makeNode(AlterRoleStmt);
   31495             : 
   31496             :                     n->role = (yyvsp[-2].rolespec);
   31497             :                     n->action = +1;  /* add, if there are members */
   31498             :                     n->options = (yyvsp[0].list);
   31499             :                     (yyval.node) = (Node *) n;
   31500             :                  }
   31501             : #line 31502 "gram.c"
   31502          86 :     break;
   31503             : 
   31504          82 :   case 173: /* opt_in_database: %empty  */
   31505             : #line 1377 "gram.y"
   31506             :                                                                         { (yyval.str) = NULL; }
   31507             : #line 31508 "gram.c"
   31508          82 :     break;
   31509             : 
   31510           0 :   case 174: /* opt_in_database: IN_P DATABASE name  */
   31511             : #line 1378 "gram.y"
   31512             :                                                 { (yyval.str) = (yyvsp[0].str); }
   31513             : #line 31514 "gram.c"
   31514           0 :     break;
   31515             : 
   31516          44 :   case 175: /* AlterRoleSetStmt: ALTER ROLE RoleSpec opt_in_database SetResetClause  */
   31517             : #line 1383 "gram.y"
   31518             :                                 {
   31519             :                     AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
   31520             : 
   31521             :                     n->role = (yyvsp[-2].rolespec);
   31522             :                     n->database = (yyvsp[-1].str);
   31523             :                     n->setstmt = (yyvsp[0].vsetstmt);
   31524             :                     (yyval.node) = (Node *) n;
   31525             :                 }
   31526             : #line 31527 "gram.c"
   31527          44 :     break;
   31528             : 
   31529           4 :   case 176: /* AlterRoleSetStmt: ALTER ROLE ALL opt_in_database SetResetClause  */
   31530             : #line 1392 "gram.y"
   31531             :                                 {
   31532             :                     AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
   31533             : 
   31534             :                     n->role = NULL;
   31535             :                     n->database = (yyvsp[-1].str);
   31536             :                     n->setstmt = (yyvsp[0].vsetstmt);
   31537             :                     (yyval.node) = (Node *) n;
   31538             :                 }
   31539             : #line 31540 "gram.c"
   31540           4 :     break;
   31541             : 
   31542          26 :   case 177: /* AlterRoleSetStmt: ALTER USER RoleSpec opt_in_database SetResetClause  */
   31543             : #line 1401 "gram.y"
   31544             :                                 {
   31545             :                     AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
   31546             : 
   31547             :                     n->role = (yyvsp[-2].rolespec);
   31548             :                     n->database = (yyvsp[-1].str);
   31549             :                     n->setstmt = (yyvsp[0].vsetstmt);
   31550             :                     (yyval.node) = (Node *) n;
   31551             :                 }
   31552             : #line 31553 "gram.c"
   31553          26 :     break;
   31554             : 
   31555           4 :   case 178: /* AlterRoleSetStmt: ALTER USER ALL opt_in_database SetResetClause  */
   31556             : #line 1410 "gram.y"
   31557             :                                 {
   31558             :                     AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
   31559             : 
   31560             :                     n->role = NULL;
   31561             :                     n->database = (yyvsp[-1].str);
   31562             :                     n->setstmt = (yyvsp[0].vsetstmt);
   31563             :                     (yyval.node) = (Node *) n;
   31564             :                 }
   31565             : #line 31566 "gram.c"
   31566           4 :     break;
   31567             : 
   31568        1038 :   case 179: /* DropRoleStmt: DROP ROLE role_list  */
   31569             : #line 1432 "gram.y"
   31570             :                                 {
   31571             :                     DropRoleStmt *n = makeNode(DropRoleStmt);
   31572             : 
   31573             :                     n->missing_ok = false;
   31574             :                     n->roles = (yyvsp[0].list);
   31575             :                     (yyval.node) = (Node *) n;
   31576             :                 }
   31577             : #line 31578 "gram.c"
   31578        1038 :     break;
   31579             : 
   31580         134 :   case 180: /* DropRoleStmt: DROP ROLE IF_P EXISTS role_list  */
   31581             : #line 1440 "gram.y"
   31582             :                                 {
   31583             :                     DropRoleStmt *n = makeNode(DropRoleStmt);
   31584             : 
   31585             :                     n->missing_ok = true;
   31586             :                     n->roles = (yyvsp[0].list);
   31587             :                     (yyval.node) = (Node *) n;
   31588             :                 }
   31589             : #line 31590 "gram.c"
   31590         134 :     break;
   31591             : 
   31592         394 :   case 181: /* DropRoleStmt: DROP USER role_list  */
   31593             : #line 1448 "gram.y"
   31594             :                                 {
   31595             :                     DropRoleStmt *n = makeNode(DropRoleStmt);
   31596             : 
   31597             :                     n->missing_ok = false;
   31598             :                     n->roles = (yyvsp[0].list);
   31599             :                     (yyval.node) = (Node *) n;
   31600             :                 }
   31601             : #line 31602 "gram.c"
   31602         394 :     break;
   31603             : 
   31604          36 :   case 182: /* DropRoleStmt: DROP USER IF_P EXISTS role_list  */
   31605             : #line 1456 "gram.y"
   31606             :                                 {
   31607             :                     DropRoleStmt *n = makeNode(DropRoleStmt);
   31608             : 
   31609             :                     n->roles = (yyvsp[0].list);
   31610             :                     n->missing_ok = true;
   31611             :                     (yyval.node) = (Node *) n;
   31612             :                 }
   31613             : #line 31614 "gram.c"
   31614          36 :     break;
   31615             : 
   31616          36 :   case 183: /* DropRoleStmt: DROP GROUP_P role_list  */
   31617             : #line 1464 "gram.y"
   31618             :                                 {
   31619             :                     DropRoleStmt *n = makeNode(DropRoleStmt);
   31620             : 
   31621             :                     n->missing_ok = false;
   31622             :                     n->roles = (yyvsp[0].list);
   31623             :                     (yyval.node) = (Node *) n;
   31624             :                 }
   31625             : #line 31626 "gram.c"
   31626          36 :     break;
   31627             : 
   31628           6 :   case 184: /* DropRoleStmt: DROP GROUP_P IF_P EXISTS role_list  */
   31629             : #line 1472 "gram.y"
   31630             :                                 {
   31631             :                     DropRoleStmt *n = makeNode(DropRoleStmt);
   31632             : 
   31633             :                     n->missing_ok = true;
   31634             :                     n->roles = (yyvsp[0].list);
   31635             :                     (yyval.node) = (Node *) n;
   31636             :                 }
   31637             : #line 31638 "gram.c"
   31638           6 :     break;
   31639             : 
   31640          24 :   case 185: /* CreateGroupStmt: CREATE GROUP_P RoleId opt_with OptRoleList  */
   31641             : #line 1490 "gram.y"
   31642             :                                 {
   31643             :                     CreateRoleStmt *n = makeNode(CreateRoleStmt);
   31644             : 
   31645             :                     n->stmt_type = ROLESTMT_GROUP;
   31646             :                     n->role = (yyvsp[-2].str);
   31647             :                     n->options = (yyvsp[0].list);
   31648             :                     (yyval.node) = (Node *) n;
   31649             :                 }
   31650             : #line 31651 "gram.c"
   31651          24 :     break;
   31652             : 
   31653          30 :   case 186: /* AlterGroupStmt: ALTER GROUP_P RoleSpec add_drop USER role_list  */
   31654             : #line 1509 "gram.y"
   31655             :                                 {
   31656             :                     AlterRoleStmt *n = makeNode(AlterRoleStmt);
   31657             : 
   31658             :                     n->role = (yyvsp[-3].rolespec);
   31659             :                     n->action = (yyvsp[-2].ival);
   31660             :                     n->options = list_make1(makeDefElem("rolemembers",
   31661             :                                                         (Node *) (yyvsp[0].list), (yylsp[0])));
   31662             :                     (yyval.node) = (Node *) n;
   31663             :                 }
   31664             : #line 31665 "gram.c"
   31665          30 :     break;
   31666             : 
   31667          80 :   case 187: /* add_drop: ADD_P  */
   31668             : #line 1520 "gram.y"
   31669             :                                                                                         { (yyval.ival) = +1; }
   31670             : #line 31671 "gram.c"
   31671          80 :     break;
   31672             : 
   31673         150 :   case 188: /* add_drop: DROP  */
   31674             : #line 1521 "gram.y"
   31675             :                                                                                                 { (yyval.ival) = -1; }
   31676             : #line 31677 "gram.c"
   31677         150 :     break;
   31678             : 
   31679         158 :   case 189: /* CreateSchemaStmt: CREATE SCHEMA opt_single_name AUTHORIZATION RoleSpec OptSchemaEltList  */
   31680             : #line 1533 "gram.y"
   31681             :                                 {
   31682             :                     CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
   31683             : 
   31684             :                     /* One can omit the schema name or the authorization id. */
   31685             :                     n->schemaname = (yyvsp[-3].str);
   31686             :                     n->authrole = (yyvsp[-1].rolespec);
   31687             :                     n->schemaElts = (yyvsp[0].list);
   31688             :                     n->if_not_exists = false;
   31689             :                     (yyval.node) = (Node *) n;
   31690             :                 }
   31691             : #line 31692 "gram.c"
   31692         158 :     break;
   31693             : 
   31694         770 :   case 190: /* CreateSchemaStmt: CREATE SCHEMA ColId OptSchemaEltList  */
   31695             : #line 1544 "gram.y"
   31696             :                                 {
   31697             :                     CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
   31698             : 
   31699             :                     /* ...but not both */
   31700             :                     n->schemaname = (yyvsp[-1].str);
   31701             :                     n->authrole = NULL;
   31702             :                     n->schemaElts = (yyvsp[0].list);
   31703             :                     n->if_not_exists = false;
   31704             :                     (yyval.node) = (Node *) n;
   31705             :                 }
   31706             : #line 31707 "gram.c"
   31707         770 :     break;
   31708             : 
   31709          18 :   case 191: /* CreateSchemaStmt: CREATE SCHEMA IF_P NOT EXISTS opt_single_name AUTHORIZATION RoleSpec OptSchemaEltList  */
   31710             : #line 1555 "gram.y"
   31711             :                                 {
   31712             :                     CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
   31713             : 
   31714             :                     /* schema name can be omitted here, too */
   31715             :                     n->schemaname = (yyvsp[-3].str);
   31716             :                     n->authrole = (yyvsp[-1].rolespec);
   31717             :                     if ((yyvsp[0].list) != NIL)
   31718             :                         ereport(ERROR,
   31719             :                                 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   31720             :                                  errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
   31721             :                                  parser_errposition((yylsp[0]))));
   31722             :                     n->schemaElts = (yyvsp[0].list);
   31723             :                     n->if_not_exists = true;
   31724             :                     (yyval.node) = (Node *) n;
   31725             :                 }
   31726             : #line 31727 "gram.c"
   31727          18 :     break;
   31728             : 
   31729          34 :   case 192: /* CreateSchemaStmt: CREATE SCHEMA IF_P NOT EXISTS ColId OptSchemaEltList  */
   31730             : #line 1571 "gram.y"
   31731             :                                 {
   31732             :                     CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
   31733             : 
   31734             :                     /* ...but not here */
   31735             :                     n->schemaname = (yyvsp[-1].str);
   31736             :                     n->authrole = NULL;
   31737             :                     if ((yyvsp[0].list) != NIL)
   31738             :                         ereport(ERROR,
   31739             :                                 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   31740             :                                  errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
   31741             :                                  parser_errposition((yylsp[0]))));
   31742             :                     n->schemaElts = (yyvsp[0].list);
   31743             :                     n->if_not_exists = true;
   31744             :                     (yyval.node) = (Node *) n;
   31745             :                 }
   31746             : #line 31747 "gram.c"
   31747          28 :     break;
   31748             : 
   31749         480 :   case 193: /* OptSchemaEltList: OptSchemaEltList schema_stmt  */
   31750             : #line 1590 "gram.y"
   31751             :                                 {
   31752             :                     if ((yyloc) < 0)         /* see comments for YYLLOC_DEFAULT */
   31753             :                         (yyloc) = (yylsp[0]);
   31754             :                     (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node));
   31755             :                 }
   31756             : #line 31757 "gram.c"
   31757         480 :     break;
   31758             : 
   31759         980 :   case 194: /* OptSchemaEltList: %empty  */
   31760             : #line 1596 "gram.y"
   31761             :                                 { (yyval.list) = NIL; }
   31762             : #line 31763 "gram.c"
   31763         980 :     break;
   31764             : 
   31765       18472 :   case 201: /* VariableSetStmt: SET set_rest  */
   31766             : #line 1624 "gram.y"
   31767             :                                 {
   31768             :                     VariableSetStmt *n = (yyvsp[0].vsetstmt);
   31769             : 
   31770             :                     n->is_local = false;
   31771             :                     (yyval.node) = (Node *) n;
   31772             :                 }
   31773             : #line 31774 "gram.c"
   31774       18472 :     break;
   31775             : 
   31776        1108 :   case 202: /* VariableSetStmt: SET LOCAL set_rest  */
   31777             : #line 1631 "gram.y"
   31778             :                                 {
   31779             :                     VariableSetStmt *n = (yyvsp[0].vsetstmt);
   31780             : 
   31781             :                     n->is_local = true;
   31782             :                     (yyval.node) = (Node *) n;
   31783             :                 }
   31784             : #line 31785 "gram.c"
   31785        1108 :     break;
   31786             : 
   31787          80 :   case 203: /* VariableSetStmt: SET SESSION set_rest  */
   31788             : #line 1638 "gram.y"
   31789             :                                 {
   31790             :                     VariableSetStmt *n = (yyvsp[0].vsetstmt);
   31791             : 
   31792             :                     n->is_local = false;
   31793             :                     (yyval.node) = (Node *) n;
   31794             :                 }
   31795             : #line 31796 "gram.c"
   31796          80 :     break;
   31797             : 
   31798         516 :   case 204: /* set_rest: TRANSACTION transaction_mode_list  */
   31799             : #line 1648 "gram.y"
   31800             :                                 {
   31801             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31802             : 
   31803             :                     n->kind = VAR_SET_MULTI;
   31804             :                     n->name = "TRANSACTION";
   31805             :                     n->args = (yyvsp[0].list);
   31806             :                     (yyval.vsetstmt) = n;
   31807             :                 }
   31808             : #line 31809 "gram.c"
   31809         516 :     break;
   31810             : 
   31811          12 :   case 205: /* set_rest: SESSION CHARACTERISTICS AS TRANSACTION transaction_mode_list  */
   31812             : #line 1657 "gram.y"
   31813             :                                 {
   31814             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31815             : 
   31816             :                     n->kind = VAR_SET_MULTI;
   31817             :                     n->name = "SESSION CHARACTERISTICS";
   31818             :                     n->args = (yyvsp[0].list);
   31819             :                     (yyval.vsetstmt) = n;
   31820             :                 }
   31821             : #line 31822 "gram.c"
   31822          12 :     break;
   31823             : 
   31824        4370 :   case 207: /* generic_set: var_name TO var_list  */
   31825             : #line 1670 "gram.y"
   31826             :                                 {
   31827             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31828             : 
   31829             :                     n->kind = VAR_SET_VALUE;
   31830             :                     n->name = (yyvsp[-2].str);
   31831             :                     n->args = (yyvsp[0].list);
   31832             :                     (yyval.vsetstmt) = n;
   31833             :                 }
   31834             : #line 31835 "gram.c"
   31835        4370 :     break;
   31836             : 
   31837       12474 :   case 208: /* generic_set: var_name '=' var_list  */
   31838             : #line 1679 "gram.y"
   31839             :                                 {
   31840             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31841             : 
   31842             :                     n->kind = VAR_SET_VALUE;
   31843             :                     n->name = (yyvsp[-2].str);
   31844             :                     n->args = (yyvsp[0].list);
   31845             :                     (yyval.vsetstmt) = n;
   31846             :                 }
   31847             : #line 31848 "gram.c"
   31848       12474 :     break;
   31849             : 
   31850         126 :   case 209: /* generic_set: var_name TO DEFAULT  */
   31851             : #line 1688 "gram.y"
   31852             :                                 {
   31853             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31854             : 
   31855             :                     n->kind = VAR_SET_DEFAULT;
   31856             :                     n->name = (yyvsp[-2].str);
   31857             :                     (yyval.vsetstmt) = n;
   31858             :                 }
   31859             : #line 31860 "gram.c"
   31860         126 :     break;
   31861             : 
   31862           6 :   case 210: /* generic_set: var_name '=' DEFAULT  */
   31863             : #line 1696 "gram.y"
   31864             :                                 {
   31865             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31866             : 
   31867             :                     n->kind = VAR_SET_DEFAULT;
   31868             :                     n->name = (yyvsp[-2].str);
   31869             :                     (yyval.vsetstmt) = n;
   31870             :                 }
   31871             : #line 31872 "gram.c"
   31872           6 :     break;
   31873             : 
   31874       16870 :   case 211: /* set_rest_more: generic_set  */
   31875             : #line 1706 "gram.y"
   31876             :                                                                                         {(yyval.vsetstmt) = (yyvsp[0].vsetstmt);}
   31877             : #line 31878 "gram.c"
   31878       16870 :     break;
   31879             : 
   31880           0 :   case 212: /* set_rest_more: var_name FROM CURRENT_P  */
   31881             : #line 1708 "gram.y"
   31882             :                                 {
   31883             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31884             : 
   31885             :                     n->kind = VAR_SET_CURRENT;
   31886             :                     n->name = (yyvsp[-2].str);
   31887             :                     (yyval.vsetstmt) = n;
   31888             :                 }
   31889             : #line 31890 "gram.c"
   31890           0 :     break;
   31891             : 
   31892          94 :   case 213: /* set_rest_more: TIME ZONE zone_value  */
   31893             : #line 1717 "gram.y"
   31894             :                                 {
   31895             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31896             : 
   31897             :                     n->kind = VAR_SET_VALUE;
   31898             :                     n->name = "timezone";
   31899             :                     if ((yyvsp[0].node) != NULL)
   31900             :                         n->args = list_make1((yyvsp[0].node));
   31901             :                     else
   31902             :                         n->kind = VAR_SET_DEFAULT;
   31903             :                     (yyval.vsetstmt) = n;
   31904             :                 }
   31905             : #line 31906 "gram.c"
   31906          94 :     break;
   31907             : 
   31908           0 :   case 214: /* set_rest_more: CATALOG_P Sconst  */
   31909             : #line 1729 "gram.y"
   31910             :                                 {
   31911             :                     ereport(ERROR,
   31912             :                             (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   31913             :                              errmsg("current database cannot be changed"),
   31914             :                              parser_errposition((yylsp[0]))));
   31915             :                     (yyval.vsetstmt) = NULL; /*not reached*/
   31916             :                 }
   31917             : #line 31918 "gram.c"
   31918             :     break;
   31919             : 
   31920           0 :   case 215: /* set_rest_more: SCHEMA Sconst  */
   31921             : #line 1737 "gram.y"
   31922             :                                 {
   31923             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31924             : 
   31925             :                     n->kind = VAR_SET_VALUE;
   31926             :                     n->name = "search_path";
   31927             :                     n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
   31928             :                     (yyval.vsetstmt) = n;
   31929             :                 }
   31930             : #line 31931 "gram.c"
   31931           0 :     break;
   31932             : 
   31933           0 :   case 216: /* set_rest_more: NAMES opt_encoding  */
   31934             : #line 1746 "gram.y"
   31935             :                                 {
   31936             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31937             : 
   31938             :                     n->kind = VAR_SET_VALUE;
   31939             :                     n->name = "client_encoding";
   31940             :                     if ((yyvsp[0].str) != NULL)
   31941             :                         n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
   31942             :                     else
   31943             :                         n->kind = VAR_SET_DEFAULT;
   31944             :                     (yyval.vsetstmt) = n;
   31945             :                 }
   31946             : #line 31947 "gram.c"
   31947           0 :     break;
   31948             : 
   31949         822 :   case 217: /* set_rest_more: ROLE NonReservedWord_or_Sconst  */
   31950             : #line 1758 "gram.y"
   31951             :                                 {
   31952             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31953             : 
   31954             :                     n->kind = VAR_SET_VALUE;
   31955             :                     n->name = "role";
   31956             :                     n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
   31957             :                     (yyval.vsetstmt) = n;
   31958             :                 }
   31959             : #line 31960 "gram.c"
   31960         822 :     break;
   31961             : 
   31962        2494 :   case 218: /* set_rest_more: SESSION AUTHORIZATION NonReservedWord_or_Sconst  */
   31963             : #line 1767 "gram.y"
   31964             :                                 {
   31965             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31966             : 
   31967             :                     n->kind = VAR_SET_VALUE;
   31968             :                     n->name = "session_authorization";
   31969             :                     n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
   31970             :                     (yyval.vsetstmt) = n;
   31971             :                 }
   31972             : #line 31973 "gram.c"
   31973        2494 :     break;
   31974             : 
   31975           4 :   case 219: /* set_rest_more: SESSION AUTHORIZATION DEFAULT  */
   31976             : #line 1776 "gram.y"
   31977             :                                 {
   31978             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31979             : 
   31980             :                     n->kind = VAR_SET_DEFAULT;
   31981             :                     n->name = "session_authorization";
   31982             :                     (yyval.vsetstmt) = n;
   31983             :                 }
   31984             : #line 31985 "gram.c"
   31985           4 :     break;
   31986             : 
   31987          12 :   case 220: /* set_rest_more: XML_P OPTION document_or_content  */
   31988             : #line 1784 "gram.y"
   31989             :                                 {
   31990             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31991             : 
   31992             :                     n->kind = VAR_SET_VALUE;
   31993             :                     n->name = "xmloption";
   31994             :                     n->args = list_make1(makeStringConst((yyvsp[0].ival) == XMLOPTION_DOCUMENT ? "DOCUMENT" : "CONTENT", (yylsp[0])));
   31995             :                     (yyval.vsetstmt) = n;
   31996             :                 }
   31997             : #line 31998 "gram.c"
   31998          12 :     break;
   31999             : 
   32000          44 :   case 221: /* set_rest_more: TRANSACTION SNAPSHOT Sconst  */
   32001             : #line 1794 "gram.y"
   32002             :                                 {
   32003             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   32004             : 
   32005             :                     n->kind = VAR_SET_MULTI;
   32006             :                     n->name = "TRANSACTION SNAPSHOT";
   32007             :                     n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
   32008             :                     (yyval.vsetstmt) = n;
   32009             :                 }
   32010             : #line 32011 "gram.c"
   32011          44 :     break;
   32012             : 
   32013       21046 :   case 222: /* var_name: ColId  */
   32014             : #line 1804 "gram.y"
   32015             :                                                                                 { (yyval.str) = (yyvsp[0].str); }
   32016             : #line 32017 "gram.c"
   32017       21046 :     break;
   32018             : 
   32019         386 :   case 223: /* var_name: var_name '.' ColId  */
   32020             : #line 1806 "gram.y"
   32021             :                                 { (yyval.str) = psprintf("%s.%s", (yyvsp[-2].str), (yyvsp[0].str)); }
   32022             : #line 32023 "gram.c"
   32023         386 :     break;
   32024             : 
   32025       16844 :   case 224: /* var_list: var_value  */
   32026             : #line 1809 "gram.y"
   32027             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   32028             : #line 32029 "gram.c"
   32029       16844 :     break;
   32030             : 
   32031         178 :   case 225: /* var_list: var_list ',' var_value  */
   32032             : #line 1810 "gram.y"
   32033             :                                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   32034             : #line 32035 "gram.c"
   32035         178 :     break;
   32036             : 
   32037       12786 :   case 226: /* var_value: opt_boolean_or_string  */
   32038             : #line 1814 "gram.y"
   32039             :                                 { (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); }
   32040             : #line 32041 "gram.c"
   32041       12786 :     break;
   32042             : 
   32043        4236 :   case 227: /* var_value: NumericOnly  */
   32044             : #line 1816 "gram.y"
   32045             :                                 { (yyval.node) = makeAConst((yyvsp[0].node), (yylsp[0])); }
   32046             : #line 32047 "gram.c"
   32047        4236 :     break;
   32048             : 
   32049           0 :   case 228: /* iso_level: READ UNCOMMITTED  */
   32050             : #line 1819 "gram.y"
   32051             :                                                                                 { (yyval.str) = "read uncommitted"; }
   32052             : #line 32053 "gram.c"
   32053           0 :     break;
   32054             : 
   32055         886 :   case 229: /* iso_level: READ COMMITTED  */
   32056             : #line 1820 "gram.y"
   32057             :                                                                                         { (yyval.str) = "read committed"; }
   32058             : #line 32059 "gram.c"
   32059         886 :     break;
   32060             : 
   32061        2456 :   case 230: /* iso_level: REPEATABLE READ  */
   32062             : #line 1821 "gram.y"
   32063             :                                                                                         { (yyval.str) = "repeatable read"; }
   32064             : #line 32065 "gram.c"
   32065        2456 :     break;
   32066             : 
   32067        3220 :   case 231: /* iso_level: SERIALIZABLE  */
   32068             : #line 1822 "gram.y"
   32069             :                                                                                         { (yyval.str) = "serializable"; }
   32070             : #line 32071 "gram.c"
   32071        3220 :     break;
   32072             : 
   32073         550 :   case 232: /* opt_boolean_or_string: TRUE_P  */
   32074             : #line 1826 "gram.y"
   32075             :                                                                                                 { (yyval.str) = "true"; }
   32076             : #line 32077 "gram.c"
   32077         550 :     break;
   32078             : 
   32079        1258 :   case 233: /* opt_boolean_or_string: FALSE_P  */
   32080             : #line 1827 "gram.y"
   32081             :                                                                                                 { (yyval.str) = "false"; }
   32082             : #line 32083 "gram.c"
   32083        1258 :     break;
   32084             : 
   32085        1930 :   case 234: /* opt_boolean_or_string: ON  */
   32086             : #line 1828 "gram.y"
   32087             :                                                                                                 { (yyval.str) = "on"; }
   32088             : #line 32089 "gram.c"
   32089        1930 :     break;
   32090             : 
   32091       25382 :   case 235: /* opt_boolean_or_string: NonReservedWord_or_Sconst  */
   32092             : #line 1834 "gram.y"
   32093             :                                                                                 { (yyval.str) = (yyvsp[0].str); }
   32094             : #line 32095 "gram.c"
   32095       25382 :     break;
   32096             : 
   32097          54 :   case 236: /* zone_value: Sconst  */
   32098             : #line 1847 "gram.y"
   32099             :                                 {
   32100             :                     (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
   32101             :                 }
   32102             : #line 32103 "gram.c"
   32103          54 :     break;
   32104             : 
   32105           4 :   case 237: /* zone_value: IDENT  */
   32106             : #line 1851 "gram.y"
   32107             :                                 {
   32108             :                     (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
   32109             :                 }
   32110             : #line 32111 "gram.c"
   32111           4 :     break;
   32112             : 
   32113           0 :   case 238: /* zone_value: ConstInterval Sconst opt_interval  */
   32114             : #line 1855 "gram.y"
   32115             :                                 {
   32116             :                     TypeName   *t = (yyvsp[-2].typnam);
   32117             : 
   32118             :                     if ((yyvsp[0].list) != NIL)
   32119             :                     {
   32120             :                         A_Const    *n = (A_Const *) linitial((yyvsp[0].list));
   32121             : 
   32122             :                         if ((n->val.ival.ival & ~(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE))) != 0)
   32123             :                             ereport(ERROR,
   32124             :                                     (errcode(ERRCODE_SYNTAX_ERROR),
   32125             :                                      errmsg("time zone interval must be HOUR or HOUR TO MINUTE"),
   32126             :                                      parser_errposition((yylsp[0]))));
   32127             :                     }
   32128             :                     t->typmods = (yyvsp[0].list);
   32129             :                     (yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
   32130             :                 }
   32131             : #line 32132 "gram.c"
   32132           0 :     break;
   32133             : 
   32134           0 :   case 239: /* zone_value: ConstInterval '(' Iconst ')' Sconst  */
   32135             : #line 1872 "gram.y"
   32136             :                                 {
   32137             :                     TypeName   *t = (yyvsp[-4].typnam);
   32138             : 
   32139             :                     t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
   32140             :                                             makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
   32141             :                     (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
   32142             :                 }
   32143             : #line 32144 "gram.c"
   32144           0 :     break;
   32145             : 
   32146          24 :   case 240: /* zone_value: NumericOnly  */
   32147             : #line 1879 "gram.y"
   32148             :                                                                                         { (yyval.node) = makeAConst((yyvsp[0].node), (yylsp[0])); }
   32149             : #line 32150 "gram.c"
   32150          24 :     break;
   32151             : 
   32152          12 :   case 241: /* zone_value: DEFAULT  */
   32153             : #line 1880 "gram.y"
   32154             :                                                                                                 { (yyval.node) = NULL; }
   32155             : #line 32156 "gram.c"
   32156          12 :     break;
   32157             : 
   32158           0 :   case 242: /* zone_value: LOCAL  */
   32159             : #line 1881 "gram.y"
   32160             :                                                                                                 { (yyval.node) = NULL; }
   32161             : #line 32162 "gram.c"
   32162           0 :     break;
   32163             : 
   32164           0 :   case 243: /* opt_encoding: Sconst  */
   32165             : #line 1885 "gram.y"
   32166             :                                                                                                 { (yyval.str) = (yyvsp[0].str); }
   32167             : #line 32168 "gram.c"
   32168           0 :     break;
   32169             : 
   32170           0 :   case 244: /* opt_encoding: DEFAULT  */
   32171             : #line 1886 "gram.y"
   32172             :                                                                                                 { (yyval.str) = NULL; }
   32173             : #line 32174 "gram.c"
   32174           0 :     break;
   32175             : 
   32176           0 :   case 245: /* opt_encoding: %empty  */
   32177             : #line 1887 "gram.y"
   32178             :                                                                                                 { (yyval.str) = NULL; }
   32179             : #line 32180 "gram.c"
   32180           0 :     break;
   32181             : 
   32182       44628 :   case 246: /* NonReservedWord_or_Sconst: NonReservedWord  */
   32183             : #line 1891 "gram.y"
   32184             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   32185             : #line 32186 "gram.c"
   32186       44628 :     break;
   32187             : 
   32188        4748 :   case 247: /* NonReservedWord_or_Sconst: Sconst  */
   32189             : #line 1892 "gram.y"
   32190             :                                                                                                 { (yyval.str) = (yyvsp[0].str); }
   32191             : #line 32192 "gram.c"
   32192        4748 :     break;
   32193             : 
   32194        3992 :   case 248: /* VariableResetStmt: RESET reset_rest  */
   32195             : #line 1896 "gram.y"
   32196             :                                                                                         { (yyval.node) = (Node *) (yyvsp[0].vsetstmt); }
   32197             : #line 32198 "gram.c"
   32198        3992 :     break;
   32199             : 
   32200        3236 :   case 249: /* reset_rest: generic_reset  */
   32201             : #line 1900 "gram.y"
   32202             :                                                                                         { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
   32203             : #line 32204 "gram.c"
   32204        3236 :     break;
   32205             : 
   32206          12 :   case 250: /* reset_rest: TIME ZONE  */
   32207             : #line 1902 "gram.y"
   32208             :                                 {
   32209             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   32210             : 
   32211             :                     n->kind = VAR_RESET;
   32212             :                     n->name = "timezone";
   32213             :                     (yyval.vsetstmt) = n;
   32214             :                 }
   32215             : #line 32216 "gram.c"
   32216          12 :     break;
   32217             : 
   32218           0 :   case 251: /* reset_rest: TRANSACTION ISOLATION LEVEL  */
   32219             : #line 1910 "gram.y"
   32220             :                                 {
   32221             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   32222             : 
   32223             :                     n->kind = VAR_RESET;
   32224             :                     n->name = "transaction_isolation";
   32225             :                     (yyval.vsetstmt) = n;
   32226             :                 }
   32227             : #line 32228 "gram.c"
   32228           0 :     break;
   32229             : 
   32230         744 :   case 252: /* reset_rest: SESSION AUTHORIZATION  */
   32231             : #line 1918 "gram.y"
   32232             :                                 {
   32233             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   32234             : 
   32235             :                     n->kind = VAR_RESET;
   32236             :                     n->name = "session_authorization";
   32237             :                     (yyval.vsetstmt) = n;
   32238             :                 }
   32239             : #line 32240 "gram.c"
   32240         744 :     break;
   32241             : 
   32242        3268 :   case 253: /* generic_reset: var_name  */
   32243             : #line 1929 "gram.y"
   32244             :                                 {
   32245             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   32246             : 
   32247             :                     n->kind = VAR_RESET;
   32248             :                     n->name = (yyvsp[0].str);
   32249             :                     (yyval.vsetstmt) = n;
   32250             :                 }
   32251             : #line 32252 "gram.c"
   32252        3268 :     break;
   32253             : 
   32254          16 :   case 254: /* generic_reset: ALL  */
   32255             : #line 1937 "gram.y"
   32256             :                                 {
   32257             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   32258             : 
   32259             :                     n->kind = VAR_RESET_ALL;
   32260             :                     (yyval.vsetstmt) = n;
   32261             :                 }
   32262             : #line 32263 "gram.c"
   32263          16 :     break;
   32264             : 
   32265        1108 :   case 255: /* SetResetClause: SET set_rest  */
   32266             : #line 1947 "gram.y"
   32267             :                                                                         { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
   32268             : #line 32269 "gram.c"
   32269        1108 :     break;
   32270             : 
   32271          28 :   case 256: /* SetResetClause: VariableResetStmt  */
   32272             : #line 1948 "gram.y"
   32273             :                                                                         { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
   32274             : #line 32275 "gram.c"
   32275          28 :     break;
   32276             : 
   32277         100 :   case 257: /* FunctionSetResetClause: SET set_rest_more  */
   32278             : #line 1953 "gram.y"
   32279             :                                                                         { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
   32280             : #line 32281 "gram.c"
   32281         100 :     break;
   32282             : 
   32283          12 :   case 258: /* FunctionSetResetClause: VariableResetStmt  */
   32284             : #line 1954 "gram.y"
   32285             :                                                                         { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
   32286             : #line 32287 "gram.c"
   32287          12 :     break;
   32288             : 
   32289         802 :   case 259: /* VariableShowStmt: SHOW var_name  */
   32290             : #line 1960 "gram.y"
   32291             :                                 {
   32292             :                     VariableShowStmt *n = makeNode(VariableShowStmt);
   32293             : 
   32294             :                     n->name = (yyvsp[0].str);
   32295             :                     (yyval.node) = (Node *) n;
   32296             :                 }
   32297             : #line 32298 "gram.c"
   32298         802 :     break;
   32299             : 
   32300          10 :   case 260: /* VariableShowStmt: SHOW TIME ZONE  */
   32301             : #line 1967 "gram.y"
   32302             :                                 {
   32303             :                     VariableShowStmt *n = makeNode(VariableShowStmt);
   32304             : 
   32305             :                     n->name = "timezone";
   32306             :                     (yyval.node) = (Node *) n;
   32307             :                 }
   32308             : #line 32309 "gram.c"
   32309          10 :     break;
   32310             : 
   32311           4 :   case 261: /* VariableShowStmt: SHOW TRANSACTION ISOLATION LEVEL  */
   32312             : #line 1974 "gram.y"
   32313             :                                 {
   32314             :                     VariableShowStmt *n = makeNode(VariableShowStmt);
   32315             : 
   32316             :                     n->name = "transaction_isolation";
   32317             :                     (yyval.node) = (Node *) n;
   32318             :                 }
   32319             : #line 32320 "gram.c"
   32320           4 :     break;
   32321             : 
   32322           0 :   case 262: /* VariableShowStmt: SHOW SESSION AUTHORIZATION  */
   32323             : #line 1981 "gram.y"
   32324             :                                 {
   32325             :                     VariableShowStmt *n = makeNode(VariableShowStmt);
   32326             : 
   32327             :                     n->name = "session_authorization";
   32328             :                     (yyval.node) = (Node *) n;
   32329             :                 }
   32330             : #line 32331 "gram.c"
   32331           0 :     break;
   32332             : 
   32333           0 :   case 263: /* VariableShowStmt: SHOW ALL  */
   32334             : #line 1988 "gram.y"
   32335             :                                 {
   32336             :                     VariableShowStmt *n = makeNode(VariableShowStmt);
   32337             : 
   32338             :                     n->name = "all";
   32339             :                     (yyval.node) = (Node *) n;
   32340             :                 }
   32341             : #line 32342 "gram.c"
   32342           0 :     break;
   32343             : 
   32344         104 :   case 264: /* ConstraintsSetStmt: SET CONSTRAINTS constraints_set_list constraints_set_mode  */
   32345             : #line 1999 "gram.y"
   32346             :                                 {
   32347             :                     ConstraintsSetStmt *n = makeNode(ConstraintsSetStmt);
   32348             : 
   32349             :                     n->constraints = (yyvsp[-1].list);
   32350             :                     n->deferred = (yyvsp[0].boolean);
   32351             :                     (yyval.node) = (Node *) n;
   32352             :                 }
   32353             : #line 32354 "gram.c"
   32354         104 :     break;
   32355             : 
   32356          56 :   case 265: /* constraints_set_list: ALL  */
   32357             : #line 2009 "gram.y"
   32358             :                                                                                                         { (yyval.list) = NIL; }
   32359             : #line 32360 "gram.c"
   32360          56 :     break;
   32361             : 
   32362          48 :   case 266: /* constraints_set_list: qualified_name_list  */
   32363             : #line 2010 "gram.y"
   32364             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   32365             : #line 32366 "gram.c"
   32366          48 :     break;
   32367             : 
   32368          68 :   case 267: /* constraints_set_mode: DEFERRED  */
   32369             : #line 2014 "gram.y"
   32370             :                                                                                                 { (yyval.boolean) = true; }
   32371             : #line 32372 "gram.c"
   32372          68 :     break;
   32373             : 
   32374          36 :   case 268: /* constraints_set_mode: IMMEDIATE  */
   32375             : #line 2015 "gram.y"
   32376             :                                                                                                 { (yyval.boolean) = false; }
   32377             : #line 32378 "gram.c"
   32378          36 :     break;
   32379             : 
   32380         184 :   case 269: /* CheckPointStmt: CHECKPOINT  */
   32381             : #line 2024 "gram.y"
   32382             :                                 {
   32383             :                     CheckPointStmt *n = makeNode(CheckPointStmt);
   32384             : 
   32385             :                     (yyval.node) = (Node *) n;
   32386             :                 }
   32387             : #line 32388 "gram.c"
   32388         184 :     break;
   32389             : 
   32390           6 :   case 270: /* DiscardStmt: DISCARD ALL  */
   32391             : #line 2040 "gram.y"
   32392             :                                 {
   32393             :                     DiscardStmt *n = makeNode(DiscardStmt);
   32394             : 
   32395             :                     n->target = DISCARD_ALL;
   32396             :                     (yyval.node) = (Node *) n;
   32397             :                 }
   32398             : #line 32399 "gram.c"
   32399           6 :     break;
   32400             : 
   32401           8 :   case 271: /* DiscardStmt: DISCARD TEMP  */
   32402             : #line 2047 "gram.y"
   32403             :                                 {
   32404             :                     DiscardStmt *n = makeNode(DiscardStmt);
   32405             : 
   32406             :                     n->target = DISCARD_TEMP;
   32407             :                     (yyval.node) = (Node *) n;
   32408             :                 }
   32409             : #line 32410 "gram.c"
   32410           8 :     break;
   32411             : 
   32412           0 :   case 272: /* DiscardStmt: DISCARD TEMPORARY  */
   32413             : #line 2054 "gram.y"
   32414             :                                 {
   32415             :                     DiscardStmt *n = makeNode(DiscardStmt);
   32416             : 
   32417             :                     n->target = DISCARD_TEMP;
   32418             :                     (yyval.node) = (Node *) n;
   32419             :                 }
   32420             : #line 32421 "gram.c"
   32421           0 :     break;
   32422             : 
   32423           4 :   case 273: /* DiscardStmt: DISCARD PLANS  */
   32424             : #line 2061 "gram.y"
   32425             :                                 {
   32426             :                     DiscardStmt *n = makeNode(DiscardStmt);
   32427             : 
   32428             :                     n->target = DISCARD_PLANS;
   32429             :                     (yyval.node) = (Node *) n;
   32430             :                 }
   32431             : #line 32432 "gram.c"
   32432           4 :     break;
   32433             : 
   32434          12 :   case 274: /* DiscardStmt: DISCARD SEQUENCES  */
   32435             : #line 2068 "gram.y"
   32436             :                                 {
   32437             :                     DiscardStmt *n = makeNode(DiscardStmt);
   32438             : 
   32439             :                     n->target = DISCARD_SEQUENCES;
   32440             :                     (yyval.node) = (Node *) n;
   32441             :                 }
   32442             : #line 32443 "gram.c"
   32443          12 :     break;
   32444             : 
   32445       22194 :   case 275: /* AlterTableStmt: ALTER TABLE relation_expr alter_table_cmds  */
   32446             : #line 2088 "gram.y"
   32447             :                                 {
   32448             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32449             : 
   32450             :                     n->relation = (yyvsp[-1].range);
   32451             :                     n->cmds = (yyvsp[0].list);
   32452             :                     n->objtype = OBJECT_TABLE;
   32453             :                     n->missing_ok = false;
   32454             :                     (yyval.node) = (Node *) n;
   32455             :                 }
   32456             : #line 32457 "gram.c"
   32457       22194 :     break;
   32458             : 
   32459          54 :   case 276: /* AlterTableStmt: ALTER TABLE IF_P EXISTS relation_expr alter_table_cmds  */
   32460             : #line 2098 "gram.y"
   32461             :                                 {
   32462             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32463             : 
   32464             :                     n->relation = (yyvsp[-1].range);
   32465             :                     n->cmds = (yyvsp[0].list);
   32466             :                     n->objtype = OBJECT_TABLE;
   32467             :                     n->missing_ok = true;
   32468             :                     (yyval.node) = (Node *) n;
   32469             :                 }
   32470             : #line 32471 "gram.c"
   32471          54 :     break;
   32472             : 
   32473        3138 :   case 277: /* AlterTableStmt: ALTER TABLE relation_expr partition_cmd  */
   32474             : #line 2108 "gram.y"
   32475             :                                 {
   32476             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32477             : 
   32478             :                     n->relation = (yyvsp[-1].range);
   32479             :                     n->cmds = list_make1((yyvsp[0].node));
   32480             :                     n->objtype = OBJECT_TABLE;
   32481             :                     n->missing_ok = false;
   32482             :                     (yyval.node) = (Node *) n;
   32483             :                 }
   32484             : #line 32485 "gram.c"
   32485        3138 :     break;
   32486             : 
   32487           0 :   case 278: /* AlterTableStmt: ALTER TABLE IF_P EXISTS relation_expr partition_cmd  */
   32488             : #line 2118 "gram.y"
   32489             :                                 {
   32490             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32491             : 
   32492             :                     n->relation = (yyvsp[-1].range);
   32493             :                     n->cmds = list_make1((yyvsp[0].node));
   32494             :                     n->objtype = OBJECT_TABLE;
   32495             :                     n->missing_ok = true;
   32496             :                     (yyval.node) = (Node *) n;
   32497             :                 }
   32498             : #line 32499 "gram.c"
   32499           0 :     break;
   32500             : 
   32501          12 :   case 279: /* AlterTableStmt: ALTER TABLE ALL IN_P TABLESPACE name SET TABLESPACE name opt_nowait  */
   32502             : #line 2128 "gram.y"
   32503             :                                 {
   32504             :                     AlterTableMoveAllStmt *n =
   32505             :                         makeNode(AlterTableMoveAllStmt);
   32506             : 
   32507             :                     n->orig_tablespacename = (yyvsp[-4].str);
   32508             :                     n->objtype = OBJECT_TABLE;
   32509             :                     n->roles = NIL;
   32510             :                     n->new_tablespacename = (yyvsp[-1].str);
   32511             :                     n->nowait = (yyvsp[0].boolean);
   32512             :                     (yyval.node) = (Node *) n;
   32513             :                 }
   32514             : #line 32515 "gram.c"
   32515          12 :     break;
   32516             : 
   32517           0 :   case 280: /* AlterTableStmt: ALTER TABLE ALL IN_P TABLESPACE name OWNED BY role_list SET TABLESPACE name opt_nowait  */
   32518             : #line 2140 "gram.y"
   32519             :                                 {
   32520             :                     AlterTableMoveAllStmt *n =
   32521             :                         makeNode(AlterTableMoveAllStmt);
   32522             : 
   32523             :                     n->orig_tablespacename = (yyvsp[-7].str);
   32524             :                     n->objtype = OBJECT_TABLE;
   32525             :                     n->roles = (yyvsp[-4].list);
   32526             :                     n->new_tablespacename = (yyvsp[-1].str);
   32527             :                     n->nowait = (yyvsp[0].boolean);
   32528             :                     (yyval.node) = (Node *) n;
   32529             :                 }
   32530             : #line 32531 "gram.c"
   32531           0 :     break;
   32532             : 
   32533         226 :   case 281: /* AlterTableStmt: ALTER INDEX qualified_name alter_table_cmds  */
   32534             : #line 2152 "gram.y"
   32535             :                                 {
   32536             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32537             : 
   32538             :                     n->relation = (yyvsp[-1].range);
   32539             :                     n->cmds = (yyvsp[0].list);
   32540             :                     n->objtype = OBJECT_INDEX;
   32541             :                     n->missing_ok = false;
   32542             :                     (yyval.node) = (Node *) n;
   32543             :                 }
   32544             : #line 32545 "gram.c"
   32545         226 :     break;
   32546             : 
   32547           0 :   case 282: /* AlterTableStmt: ALTER INDEX IF_P EXISTS qualified_name alter_table_cmds  */
   32548             : #line 2162 "gram.y"
   32549             :                                 {
   32550             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32551             : 
   32552             :                     n->relation = (yyvsp[-1].range);
   32553             :                     n->cmds = (yyvsp[0].list);
   32554             :                     n->objtype = OBJECT_INDEX;
   32555             :                     n->missing_ok = true;
   32556             :                     (yyval.node) = (Node *) n;
   32557             :                 }
   32558             : #line 32559 "gram.c"
   32559           0 :     break;
   32560             : 
   32561         390 :   case 283: /* AlterTableStmt: ALTER INDEX qualified_name index_partition_cmd  */
   32562             : #line 2172 "gram.y"
   32563             :                                 {
   32564             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32565             : 
   32566             :                     n->relation = (yyvsp[-1].range);
   32567             :                     n->cmds = list_make1((yyvsp[0].node));
   32568             :                     n->objtype = OBJECT_INDEX;
   32569             :                     n->missing_ok = false;
   32570             :                     (yyval.node) = (Node *) n;
   32571             :                 }
   32572             : #line 32573 "gram.c"
   32573         390 :     break;
   32574             : 
   32575           6 :   case 284: /* AlterTableStmt: ALTER INDEX ALL IN_P TABLESPACE name SET TABLESPACE name opt_nowait  */
   32576             : #line 2182 "gram.y"
   32577             :                                 {
   32578             :                     AlterTableMoveAllStmt *n =
   32579             :                         makeNode(AlterTableMoveAllStmt);
   32580             : 
   32581             :                     n->orig_tablespacename = (yyvsp[-4].str);
   32582             :                     n->objtype = OBJECT_INDEX;
   32583             :                     n->roles = NIL;
   32584             :                     n->new_tablespacename = (yyvsp[-1].str);
   32585             :                     n->nowait = (yyvsp[0].boolean);
   32586             :                     (yyval.node) = (Node *) n;
   32587             :                 }
   32588             : #line 32589 "gram.c"
   32589           6 :     break;
   32590             : 
   32591           0 :   case 285: /* AlterTableStmt: ALTER INDEX ALL IN_P TABLESPACE name OWNED BY role_list SET TABLESPACE name opt_nowait  */
   32592             : #line 2194 "gram.y"
   32593             :                                 {
   32594             :                     AlterTableMoveAllStmt *n =
   32595             :                         makeNode(AlterTableMoveAllStmt);
   32596             : 
   32597             :                     n->orig_tablespacename = (yyvsp[-7].str);
   32598             :                     n->objtype = OBJECT_INDEX;
   32599             :                     n->roles = (yyvsp[-4].list);
   32600             :                     n->new_tablespacename = (yyvsp[-1].str);
   32601             :                     n->nowait = (yyvsp[0].boolean);
   32602             :                     (yyval.node) = (Node *) n;
   32603             :                 }
   32604             : #line 32605 "gram.c"
   32605           0 :     break;
   32606             : 
   32607          74 :   case 286: /* AlterTableStmt: ALTER SEQUENCE qualified_name alter_table_cmds  */
   32608             : #line 2206 "gram.y"
   32609             :                                 {
   32610             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32611             : 
   32612             :                     n->relation = (yyvsp[-1].range);
   32613             :                     n->cmds = (yyvsp[0].list);
   32614             :                     n->objtype = OBJECT_SEQUENCE;
   32615             :                     n->missing_ok = false;
   32616             :                     (yyval.node) = (Node *) n;
   32617             :                 }
   32618             : #line 32619 "gram.c"
   32619          74 :     break;
   32620             : 
   32621           0 :   case 287: /* AlterTableStmt: ALTER SEQUENCE IF_P EXISTS qualified_name alter_table_cmds  */
   32622             : #line 2216 "gram.y"
   32623             :                                 {
   32624             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32625             : 
   32626             :                     n->relation = (yyvsp[-1].range);
   32627             :                     n->cmds = (yyvsp[0].list);
   32628             :                     n->objtype = OBJECT_SEQUENCE;
   32629             :                     n->missing_ok = true;
   32630             :                     (yyval.node) = (Node *) n;
   32631             :                 }
   32632             : #line 32633 "gram.c"
   32633           0 :     break;
   32634             : 
   32635         240 :   case 288: /* AlterTableStmt: ALTER VIEW qualified_name alter_table_cmds  */
   32636             : #line 2226 "gram.y"
   32637             :                                 {
   32638             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32639             : 
   32640             :                     n->relation = (yyvsp[-1].range);
   32641             :                     n->cmds = (yyvsp[0].list);
   32642             :                     n->objtype = OBJECT_VIEW;
   32643             :                     n->missing_ok = false;
   32644             :                     (yyval.node) = (Node *) n;
   32645             :                 }
   32646             : #line 32647 "gram.c"
   32647         240 :     break;
   32648             : 
   32649           0 :   case 289: /* AlterTableStmt: ALTER VIEW IF_P EXISTS qualified_name alter_table_cmds  */
   32650             : #line 2236 "gram.y"
   32651             :                                 {
   32652             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32653             : 
   32654             :                     n->relation = (yyvsp[-1].range);
   32655             :                     n->cmds = (yyvsp[0].list);
   32656             :                     n->objtype = OBJECT_VIEW;
   32657             :                     n->missing_ok = true;
   32658             :                     (yyval.node) = (Node *) n;
   32659             :                 }
   32660             : #line 32661 "gram.c"
   32661           0 :     break;
   32662             : 
   32663          48 :   case 290: /* AlterTableStmt: ALTER MATERIALIZED VIEW qualified_name alter_table_cmds  */
   32664             : #line 2246 "gram.y"
   32665             :                                 {
   32666             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32667             : 
   32668             :                     n->relation = (yyvsp[-1].range);
   32669             :                     n->cmds = (yyvsp[0].list);
   32670             :                     n->objtype = OBJECT_MATVIEW;
   32671             :                     n->missing_ok = false;
   32672             :                     (yyval.node) = (Node *) n;
   32673             :                 }
   32674             : #line 32675 "gram.c"
   32675          48 :     break;
   32676             : 
   32677           0 :   case 291: /* AlterTableStmt: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name alter_table_cmds  */
   32678             : #line 2256 "gram.y"
   32679             :                                 {
   32680             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32681             : 
   32682             :                     n->relation = (yyvsp[-1].range);
   32683             :                     n->cmds = (yyvsp[0].list);
   32684             :                     n->objtype = OBJECT_MATVIEW;
   32685             :                     n->missing_ok = true;
   32686             :                     (yyval.node) = (Node *) n;
   32687             :                 }
   32688             : #line 32689 "gram.c"
   32689           0 :     break;
   32690             : 
   32691          12 :   case 292: /* AlterTableStmt: ALTER MATERIALIZED VIEW ALL IN_P TABLESPACE name SET TABLESPACE name opt_nowait  */
   32692             : #line 2266 "gram.y"
   32693             :                                 {
   32694             :                     AlterTableMoveAllStmt *n =
   32695             :                         makeNode(AlterTableMoveAllStmt);
   32696             : 
   32697             :                     n->orig_tablespacename = (yyvsp[-4].str);
   32698             :                     n->objtype = OBJECT_MATVIEW;
   32699             :                     n->roles = NIL;
   32700             :                     n->new_tablespacename = (yyvsp[-1].str);
   32701             :                     n->nowait = (yyvsp[0].boolean);
   32702             :                     (yyval.node) = (Node *) n;
   32703             :                 }
   32704             : #line 32705 "gram.c"
   32705          12 :     break;
   32706             : 
   32707           0 :   case 293: /* AlterTableStmt: ALTER MATERIALIZED VIEW ALL IN_P TABLESPACE name OWNED BY role_list SET TABLESPACE name opt_nowait  */
   32708             : #line 2278 "gram.y"
   32709             :                                 {
   32710             :                     AlterTableMoveAllStmt *n =
   32711             :                         makeNode(AlterTableMoveAllStmt);
   32712             : 
   32713             :                     n->orig_tablespacename = (yyvsp[-7].str);
   32714             :                     n->objtype = OBJECT_MATVIEW;
   32715             :                     n->roles = (yyvsp[-4].list);
   32716             :                     n->new_tablespacename = (yyvsp[-1].str);
   32717             :                     n->nowait = (yyvsp[0].boolean);
   32718             :                     (yyval.node) = (Node *) n;
   32719             :                 }
   32720             : #line 32721 "gram.c"
   32721           0 :     break;
   32722             : 
   32723         366 :   case 294: /* AlterTableStmt: ALTER FOREIGN TABLE relation_expr alter_table_cmds  */
   32724             : #line 2290 "gram.y"
   32725             :                                 {
   32726             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32727             : 
   32728             :                     n->relation = (yyvsp[-1].range);
   32729             :                     n->cmds = (yyvsp[0].list);
   32730             :                     n->objtype = OBJECT_FOREIGN_TABLE;
   32731             :                     n->missing_ok = false;
   32732             :                     (yyval.node) = (Node *) n;
   32733             :                 }
   32734             : #line 32735 "gram.c"
   32735         366 :     break;
   32736             : 
   32737         108 :   case 295: /* AlterTableStmt: ALTER FOREIGN TABLE IF_P EXISTS relation_expr alter_table_cmds  */
   32738             : #line 2300 "gram.y"
   32739             :                                 {
   32740             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32741             : 
   32742             :                     n->relation = (yyvsp[-1].range);
   32743             :                     n->cmds = (yyvsp[0].list);
   32744             :                     n->objtype = OBJECT_FOREIGN_TABLE;
   32745             :                     n->missing_ok = true;
   32746             :                     (yyval.node) = (Node *) n;
   32747             :                 }
   32748             : #line 32749 "gram.c"
   32749         108 :     break;
   32750             : 
   32751       23310 :   case 296: /* alter_table_cmds: alter_table_cmd  */
   32752             : #line 2312 "gram.y"
   32753             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   32754             : #line 32755 "gram.c"
   32755       23310 :     break;
   32756             : 
   32757         930 :   case 297: /* alter_table_cmds: alter_table_cmds ',' alter_table_cmd  */
   32758             : #line 2313 "gram.y"
   32759             :                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   32760             : #line 32761 "gram.c"
   32761         930 :     break;
   32762             : 
   32763         252 :   case 298: /* partitions_list: SinglePartitionSpec  */
   32764             : #line 2317 "gram.y"
   32765             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].singlepartspec)); }
   32766             : #line 32767 "gram.c"
   32767         252 :     break;
   32768             : 
   32769         522 :   case 299: /* partitions_list: partitions_list ',' SinglePartitionSpec  */
   32770             : #line 2318 "gram.y"
   32771             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].singlepartspec)); }
   32772             : #line 32773 "gram.c"
   32773         522 :     break;
   32774             : 
   32775         774 :   case 300: /* SinglePartitionSpec: PARTITION qualified_name PartitionBoundSpec  */
   32776             : #line 2323 "gram.y"
   32777             :                                 {
   32778             :                     SinglePartitionSpec *n = makeNode(SinglePartitionSpec);
   32779             : 
   32780             :                     n->name = (yyvsp[-1].range);
   32781             :                     n->bound = (yyvsp[0].partboundspec);
   32782             : 
   32783             :                     (yyval.singlepartspec) = n;
   32784             :                 }
   32785             : #line 32786 "gram.c"
   32786         774 :     break;
   32787             : 
   32788        2218 :   case 301: /* partition_cmd: ATTACH PARTITION qualified_name PartitionBoundSpec  */
   32789             : #line 2336 "gram.y"
   32790             :                                 {
   32791             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32792             :                     PartitionCmd *cmd = makeNode(PartitionCmd);
   32793             : 
   32794             :                     n->subtype = AT_AttachPartition;
   32795             :                     cmd->name = (yyvsp[-1].range);
   32796             :                     cmd->bound = (yyvsp[0].partboundspec);
   32797             :                     cmd->partlist = NULL;
   32798             :                     cmd->concurrent = false;
   32799             :                     n->def = (Node *) cmd;
   32800             : 
   32801             :                     (yyval.node) = (Node *) n;
   32802             :                 }
   32803             : #line 32804 "gram.c"
   32804        2218 :     break;
   32805             : 
   32806         534 :   case 302: /* partition_cmd: DETACH PARTITION qualified_name opt_concurrently  */
   32807             : #line 2351 "gram.y"
   32808             :                                 {
   32809             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32810             :                     PartitionCmd *cmd = makeNode(PartitionCmd);
   32811             : 
   32812             :                     n->subtype = AT_DetachPartition;
   32813             :                     cmd->name = (yyvsp[-1].range);
   32814             :                     cmd->bound = NULL;
   32815             :                     cmd->partlist = NULL;
   32816             :                     cmd->concurrent = (yyvsp[0].boolean);
   32817             :                     n->def = (Node *) cmd;
   32818             : 
   32819             :                     (yyval.node) = (Node *) n;
   32820             :                 }
   32821             : #line 32822 "gram.c"
   32822         534 :     break;
   32823             : 
   32824          14 :   case 303: /* partition_cmd: DETACH PARTITION qualified_name FINALIZE  */
   32825             : #line 2365 "gram.y"
   32826             :                                 {
   32827             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32828             :                     PartitionCmd *cmd = makeNode(PartitionCmd);
   32829             : 
   32830             :                     n->subtype = AT_DetachPartitionFinalize;
   32831             :                     cmd->name = (yyvsp[-1].range);
   32832             :                     cmd->bound = NULL;
   32833             :                     cmd->partlist = NULL;
   32834             :                     cmd->concurrent = false;
   32835             :                     n->def = (Node *) cmd;
   32836             :                     (yyval.node) = (Node *) n;
   32837             :                 }
   32838             : #line 32839 "gram.c"
   32839          14 :     break;
   32840             : 
   32841         252 :   case 304: /* partition_cmd: SPLIT PARTITION qualified_name INTO '(' partitions_list ')'  */
   32842             : #line 2379 "gram.y"
   32843             :                                 {
   32844             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32845             :                     PartitionCmd *cmd = makeNode(PartitionCmd);
   32846             : 
   32847             :                     n->subtype = AT_SplitPartition;
   32848             :                     cmd->name = (yyvsp[-4].range);
   32849             :                     cmd->bound = NULL;
   32850             :                     cmd->partlist = (yyvsp[-1].list);
   32851             :                     cmd->concurrent = false;
   32852             :                     n->def = (Node *) cmd;
   32853             :                     (yyval.node) = (Node *) n;
   32854             :                 }
   32855             : #line 32856 "gram.c"
   32856         252 :     break;
   32857             : 
   32858         120 :   case 305: /* partition_cmd: MERGE PARTITIONS '(' qualified_name_list ')' INTO qualified_name  */
   32859             : #line 2393 "gram.y"
   32860             :                                 {
   32861             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32862             :                     PartitionCmd *cmd = makeNode(PartitionCmd);
   32863             : 
   32864             :                     n->subtype = AT_MergePartitions;
   32865             :                     cmd->name = (yyvsp[0].range);
   32866             :                     cmd->bound = NULL;
   32867             :                     cmd->partlist = (yyvsp[-3].list);
   32868             :                     cmd->concurrent = false;
   32869             :                     n->def = (Node *) cmd;
   32870             :                     (yyval.node) = (Node *) n;
   32871             :                 }
   32872             : #line 32873 "gram.c"
   32873         120 :     break;
   32874             : 
   32875         390 :   case 306: /* index_partition_cmd: ATTACH PARTITION qualified_name  */
   32876             : #line 2410 "gram.y"
   32877             :                                 {
   32878             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32879             :                     PartitionCmd *cmd = makeNode(PartitionCmd);
   32880             : 
   32881             :                     n->subtype = AT_AttachPartition;
   32882             :                     cmd->name = (yyvsp[0].range);
   32883             :                     cmd->bound = NULL;
   32884             :                     cmd->partlist = NULL;
   32885             :                     cmd->concurrent = false;
   32886             :                     n->def = (Node *) cmd;
   32887             : 
   32888             :                     (yyval.node) = (Node *) n;
   32889             :                 }
   32890             : #line 32891 "gram.c"
   32891         390 :     break;
   32892             : 
   32893         164 :   case 307: /* alter_table_cmd: ADD_P columnDef  */
   32894             : #line 2428 "gram.y"
   32895             :                                 {
   32896             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32897             : 
   32898             :                     n->subtype = AT_AddColumn;
   32899             :                     n->def = (yyvsp[0].node);
   32900             :                     n->missing_ok = false;
   32901             :                     (yyval.node) = (Node *) n;
   32902             :                 }
   32903             : #line 32904 "gram.c"
   32904         164 :     break;
   32905             : 
   32906           0 :   case 308: /* alter_table_cmd: ADD_P IF_P NOT EXISTS columnDef  */
   32907             : #line 2438 "gram.y"
   32908             :                                 {
   32909             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32910             : 
   32911             :                     n->subtype = AT_AddColumn;
   32912             :                     n->def = (yyvsp[0].node);
   32913             :                     n->missing_ok = true;
   32914             :                     (yyval.node) = (Node *) n;
   32915             :                 }
   32916             : #line 32917 "gram.c"
   32917           0 :     break;
   32918             : 
   32919        1722 :   case 309: /* alter_table_cmd: ADD_P COLUMN columnDef  */
   32920             : #line 2448 "gram.y"
   32921             :                                 {
   32922             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32923             : 
   32924             :                     n->subtype = AT_AddColumn;
   32925             :                     n->def = (yyvsp[0].node);
   32926             :                     n->missing_ok = false;
   32927             :                     (yyval.node) = (Node *) n;
   32928             :                 }
   32929             : #line 32930 "gram.c"
   32930        1722 :     break;
   32931             : 
   32932          60 :   case 310: /* alter_table_cmd: ADD_P COLUMN IF_P NOT EXISTS columnDef  */
   32933             : #line 2458 "gram.y"
   32934             :                                 {
   32935             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32936             : 
   32937             :                     n->subtype = AT_AddColumn;
   32938             :                     n->def = (yyvsp[0].node);
   32939             :                     n->missing_ok = true;
   32940             :                     (yyval.node) = (Node *) n;
   32941             :                 }
   32942             : #line 32943 "gram.c"
   32943          60 :     break;
   32944             : 
   32945         532 :   case 311: /* alter_table_cmd: ALTER opt_column ColId alter_column_default  */
   32946             : #line 2468 "gram.y"
   32947             :                                 {
   32948             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32949             : 
   32950             :                     n->subtype = AT_ColumnDefault;
   32951             :                     n->name = (yyvsp[-1].str);
   32952             :                     n->def = (yyvsp[0].node);
   32953             :                     (yyval.node) = (Node *) n;
   32954             :                 }
   32955             : #line 32956 "gram.c"
   32956         532 :     break;
   32957             : 
   32958         282 :   case 312: /* alter_table_cmd: ALTER opt_column ColId DROP NOT NULL_P  */
   32959             : #line 2478 "gram.y"
   32960             :                                 {
   32961             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32962             : 
   32963             :                     n->subtype = AT_DropNotNull;
   32964             :                     n->name = (yyvsp[-3].str);
   32965             :                     (yyval.node) = (Node *) n;
   32966             :                 }
   32967             : #line 32968 "gram.c"
   32968         282 :     break;
   32969             : 
   32970         392 :   case 313: /* alter_table_cmd: ALTER opt_column ColId SET NOT NULL_P  */
   32971             : #line 2487 "gram.y"
   32972             :                                 {
   32973             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32974             : 
   32975             :                     n->subtype = AT_SetNotNull;
   32976             :                     n->name = (yyvsp[-3].str);
   32977             :                     (yyval.node) = (Node *) n;
   32978             :                 }
   32979             : #line 32980 "gram.c"
   32980         392 :     break;
   32981             : 
   32982          66 :   case 314: /* alter_table_cmd: ALTER opt_column ColId SET EXPRESSION AS '(' a_expr ')'  */
   32983             : #line 2496 "gram.y"
   32984             :                                 {
   32985             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32986             : 
   32987             :                     n->subtype = AT_SetExpression;
   32988             :                     n->name = (yyvsp[-6].str);
   32989             :                     n->def = (yyvsp[-1].node);
   32990             :                     (yyval.node) = (Node *) n;
   32991             :                 }
   32992             : #line 32993 "gram.c"
   32993          66 :     break;
   32994             : 
   32995          32 :   case 315: /* alter_table_cmd: ALTER opt_column ColId DROP EXPRESSION  */
   32996             : #line 2506 "gram.y"
   32997             :                                 {
   32998             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32999             : 
   33000             :                     n->subtype = AT_DropExpression;
   33001             :                     n->name = (yyvsp[-2].str);
   33002             :                     (yyval.node) = (Node *) n;
   33003             :                 }
   33004             : #line 33005 "gram.c"
   33005          32 :     break;
   33006             : 
   33007           6 :   case 316: /* alter_table_cmd: ALTER opt_column ColId DROP EXPRESSION IF_P EXISTS  */
   33008             : #line 2515 "gram.y"
   33009             :                                 {
   33010             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33011             : 
   33012             :                     n->subtype = AT_DropExpression;
   33013             :                     n->name = (yyvsp[-4].str);
   33014             :                     n->missing_ok = true;
   33015             :                     (yyval.node) = (Node *) n;
   33016             :                 }
   33017             : #line 33018 "gram.c"
   33018           6 :     break;
   33019             : 
   33020          62 :   case 317: /* alter_table_cmd: ALTER opt_column ColId SET STATISTICS set_statistics_value  */
   33021             : #line 2525 "gram.y"
   33022             :                                 {
   33023             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33024             : 
   33025             :                     n->subtype = AT_SetStatistics;
   33026             :                     n->name = (yyvsp[-3].str);
   33027             :                     n->def = (yyvsp[0].node);
   33028             :                     (yyval.node) = (Node *) n;
   33029             :                 }
   33030             : #line 33031 "gram.c"
   33031          62 :     break;
   33032             : 
   33033          70 :   case 318: /* alter_table_cmd: ALTER opt_column Iconst SET STATISTICS set_statistics_value  */
   33034             : #line 2535 "gram.y"
   33035             :                                 {
   33036             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33037             : 
   33038             :                     if ((yyvsp[-3].ival) <= 0 || (yyvsp[-3].ival) > PG_INT16_MAX)
   33039             :                         ereport(ERROR,
   33040             :                                 (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
   33041             :                                  errmsg("column number must be in range from 1 to %d", PG_INT16_MAX),
   33042             :                                  parser_errposition((yylsp[-3]))));
   33043             : 
   33044             :                     n->subtype = AT_SetStatistics;
   33045             :                     n->num = (int16) (yyvsp[-3].ival);
   33046             :                     n->def = (yyvsp[0].node);
   33047             :                     (yyval.node) = (Node *) n;
   33048             :                 }
   33049             : #line 33050 "gram.c"
   33050          64 :     break;
   33051             : 
   33052          38 :   case 319: /* alter_table_cmd: ALTER opt_column ColId SET reloptions  */
   33053             : #line 2551 "gram.y"
   33054             :                                 {
   33055             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33056             : 
   33057             :                     n->subtype = AT_SetOptions;
   33058             :                     n->name = (yyvsp[-2].str);
   33059             :                     n->def = (Node *) (yyvsp[0].list);
   33060             :                     (yyval.node) = (Node *) n;
   33061             :                 }
   33062             : #line 33063 "gram.c"
   33063          38 :     break;
   33064             : 
   33065           6 :   case 320: /* alter_table_cmd: ALTER opt_column ColId RESET reloptions  */
   33066             : #line 2561 "gram.y"
   33067             :                                 {
   33068             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33069             : 
   33070             :                     n->subtype = AT_ResetOptions;
   33071             :                     n->name = (yyvsp[-2].str);
   33072             :                     n->def = (Node *) (yyvsp[0].list);
   33073             :                     (yyval.node) = (Node *) n;
   33074             :                 }
   33075             : #line 33076 "gram.c"
   33076           6 :     break;
   33077             : 
   33078         212 :   case 321: /* alter_table_cmd: ALTER opt_column ColId SET column_storage  */
   33079             : #line 2571 "gram.y"
   33080             :                                 {
   33081             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33082             : 
   33083             :                     n->subtype = AT_SetStorage;
   33084             :                     n->name = (yyvsp[-2].str);
   33085             :                     n->def = (Node *) makeString((yyvsp[0].str));
   33086             :                     (yyval.node) = (Node *) n;
   33087             :                 }
   33088             : #line 33089 "gram.c"
   33089         212 :     break;
   33090             : 
   33091          66 :   case 322: /* alter_table_cmd: ALTER opt_column ColId SET column_compression  */
   33092             : #line 2581 "gram.y"
   33093             :                                 {
   33094             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33095             : 
   33096             :                     n->subtype = AT_SetCompression;
   33097             :                     n->name = (yyvsp[-2].str);
   33098             :                     n->def = (Node *) makeString((yyvsp[0].str));
   33099             :                     (yyval.node) = (Node *) n;
   33100             :                 }
   33101             : #line 33102 "gram.c"
   33102          66 :     break;
   33103             : 
   33104         156 :   case 323: /* alter_table_cmd: ALTER opt_column ColId ADD_P GENERATED generated_when AS IDENTITY_P OptParenthesizedSeqOptList  */
   33105             : #line 2591 "gram.y"
   33106             :                                 {
   33107             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33108             :                     Constraint *c = makeNode(Constraint);
   33109             : 
   33110             :                     c->contype = CONSTR_IDENTITY;
   33111             :                     c->generated_when = (yyvsp[-3].ival);
   33112             :                     c->options = (yyvsp[0].list);
   33113             :                     c->location = (yylsp[-4]);
   33114             : 
   33115             :                     n->subtype = AT_AddIdentity;
   33116             :                     n->name = (yyvsp[-6].str);
   33117             :                     n->def = (Node *) c;
   33118             : 
   33119             :                     (yyval.node) = (Node *) n;
   33120             :                 }
   33121             : #line 33122 "gram.c"
   33122         156 :     break;
   33123             : 
   33124          62 :   case 324: /* alter_table_cmd: ALTER opt_column ColId alter_identity_column_option_list  */
   33125             : #line 2608 "gram.y"
   33126             :                                 {
   33127             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33128             : 
   33129             :                     n->subtype = AT_SetIdentity;
   33130             :                     n->name = (yyvsp[-1].str);
   33131             :                     n->def = (Node *) (yyvsp[0].list);
   33132             :                     (yyval.node) = (Node *) n;
   33133             :                 }
   33134             : #line 33135 "gram.c"
   33135          62 :     break;
   33136             : 
   33137          56 :   case 325: /* alter_table_cmd: ALTER opt_column ColId DROP IDENTITY_P  */
   33138             : #line 2618 "gram.y"
   33139             :                                 {
   33140             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33141             : 
   33142             :                     n->subtype = AT_DropIdentity;
   33143             :                     n->name = (yyvsp[-2].str);
   33144             :                     n->missing_ok = false;
   33145             :                     (yyval.node) = (Node *) n;
   33146             :                 }
   33147             : #line 33148 "gram.c"
   33148          56 :     break;
   33149             : 
   33150           6 :   case 326: /* alter_table_cmd: ALTER opt_column ColId DROP IDENTITY_P IF_P EXISTS  */
   33151             : #line 2628 "gram.y"
   33152             :                                 {
   33153             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33154             : 
   33155             :                     n->subtype = AT_DropIdentity;
   33156             :                     n->name = (yyvsp[-4].str);
   33157             :                     n->missing_ok = true;
   33158             :                     (yyval.node) = (Node *) n;
   33159             :                 }
   33160             : #line 33161 "gram.c"
   33161           6 :     break;
   33162             : 
   33163          18 :   case 327: /* alter_table_cmd: DROP opt_column IF_P EXISTS ColId opt_drop_behavior  */
   33164             : #line 2638 "gram.y"
   33165             :                                 {
   33166             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33167             : 
   33168             :                     n->subtype = AT_DropColumn;
   33169             :                     n->name = (yyvsp[-1].str);
   33170             :                     n->behavior = (yyvsp[0].dbehavior);
   33171             :                     n->missing_ok = true;
   33172             :                     (yyval.node) = (Node *) n;
   33173             :                 }
   33174             : #line 33175 "gram.c"
   33175          18 :     break;
   33176             : 
   33177        1542 :   case 328: /* alter_table_cmd: DROP opt_column ColId opt_drop_behavior  */
   33178             : #line 2649 "gram.y"
   33179             :                                 {
   33180             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33181             : 
   33182             :                     n->subtype = AT_DropColumn;
   33183             :                     n->name = (yyvsp[-1].str);
   33184             :                     n->behavior = (yyvsp[0].dbehavior);
   33185             :                     n->missing_ok = false;
   33186             :                     (yyval.node) = (Node *) n;
   33187             :                 }
   33188             : #line 33189 "gram.c"
   33189        1542 :     break;
   33190             : 
   33191         846 :   case 329: /* alter_table_cmd: ALTER opt_column ColId opt_set_data TYPE_P Typename opt_collate_clause alter_using  */
   33192             : #line 2663 "gram.y"
   33193             :                                 {
   33194             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33195             :                     ColumnDef *def = makeNode(ColumnDef);
   33196             : 
   33197             :                     n->subtype = AT_AlterColumnType;
   33198             :                     n->name = (yyvsp[-5].str);
   33199             :                     n->def = (Node *) def;
   33200             :                     /* We only use these fields of the ColumnDef node */
   33201             :                     def->typeName = (yyvsp[-2].typnam);
   33202             :                     def->collClause = (CollateClause *) (yyvsp[-1].node);
   33203             :                     def->raw_default = (yyvsp[0].node);
   33204             :                     def->location = (yylsp[-5]);
   33205             :                     (yyval.node) = (Node *) n;
   33206             :                 }
   33207             : #line 33208 "gram.c"
   33208         846 :     break;
   33209             : 
   33210          50 :   case 330: /* alter_table_cmd: ALTER opt_column ColId alter_generic_options  */
   33211             : #line 2679 "gram.y"
   33212             :                                 {
   33213             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33214             : 
   33215             :                     n->subtype = AT_AlterColumnGenericOptions;
   33216             :                     n->name = (yyvsp[-1].str);
   33217             :                     n->def = (Node *) (yyvsp[0].list);
   33218             :                     (yyval.node) = (Node *) n;
   33219             :                 }
   33220             : #line 33221 "gram.c"
   33221          50 :     break;
   33222             : 
   33223       11596 :   case 331: /* alter_table_cmd: ADD_P TableConstraint  */
   33224             : #line 2689 "gram.y"
   33225             :                                 {
   33226             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33227             : 
   33228             :                     n->subtype = AT_AddConstraint;
   33229             :                     n->def = (yyvsp[0].node);
   33230             :                     (yyval.node) = (Node *) n;
   33231             :                 }
   33232             : #line 33233 "gram.c"
   33233       11596 :     break;
   33234             : 
   33235         132 :   case 332: /* alter_table_cmd: ALTER CONSTRAINT name ConstraintAttributeSpec  */
   33236             : #line 2698 "gram.y"
   33237             :                                 {
   33238             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33239             :                     Constraint *c = makeNode(Constraint);
   33240             : 
   33241             :                     n->subtype = AT_AlterConstraint;
   33242             :                     n->def = (Node *) c;
   33243             :                     c->contype = CONSTR_FOREIGN; /* others not supported, yet */
   33244             :                     c->conname = (yyvsp[-1].str);
   33245             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "ALTER CONSTRAINT statement",
   33246             :                                     &c->deferrable,
   33247             :                                     &c->initdeferred,
   33248             :                                     NULL, NULL, yyscanner);
   33249             :                     (yyval.node) = (Node *) n;
   33250             :                 }
   33251             : #line 33252 "gram.c"
   33252         132 :     break;
   33253             : 
   33254         388 :   case 333: /* alter_table_cmd: VALIDATE CONSTRAINT name  */
   33255             : #line 2714 "gram.y"
   33256             :                                 {
   33257             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33258             : 
   33259             :                     n->subtype = AT_ValidateConstraint;
   33260             :                     n->name = (yyvsp[0].str);
   33261             :                     (yyval.node) = (Node *) n;
   33262             :                 }
   33263             : #line 33264 "gram.c"
   33264         388 :     break;
   33265             : 
   33266          18 :   case 334: /* alter_table_cmd: DROP CONSTRAINT IF_P EXISTS name opt_drop_behavior  */
   33267             : #line 2723 "gram.y"
   33268             :                                 {
   33269             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33270             : 
   33271             :                     n->subtype = AT_DropConstraint;
   33272             :                     n->name = (yyvsp[-1].str);
   33273             :                     n->behavior = (yyvsp[0].dbehavior);
   33274             :                     n->missing_ok = true;
   33275             :                     (yyval.node) = (Node *) n;
   33276             :                 }
   33277             : #line 33278 "gram.c"
   33278          18 :     break;
   33279             : 
   33280         968 :   case 335: /* alter_table_cmd: DROP CONSTRAINT name opt_drop_behavior  */
   33281             : #line 2734 "gram.y"
   33282             :                                 {
   33283             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33284             : 
   33285             :                     n->subtype = AT_DropConstraint;
   33286             :                     n->name = (yyvsp[-1].str);
   33287             :                     n->behavior = (yyvsp[0].dbehavior);
   33288             :                     n->missing_ok = false;
   33289             :                     (yyval.node) = (Node *) n;
   33290             :                 }
   33291             : #line 33292 "gram.c"
   33292         968 :     break;
   33293             : 
   33294           6 :   case 336: /* alter_table_cmd: SET WITHOUT OIDS  */
   33295             : #line 2745 "gram.y"
   33296             :                                 {
   33297             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33298             : 
   33299             :                     n->subtype = AT_DropOids;
   33300             :                     (yyval.node) = (Node *) n;
   33301             :                 }
   33302             : #line 33303 "gram.c"
   33303           6 :     break;
   33304             : 
   33305          46 :   case 337: /* alter_table_cmd: CLUSTER ON name  */
   33306             : #line 2753 "gram.y"
   33307             :                                 {
   33308             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33309             : 
   33310             :                     n->subtype = AT_ClusterOn;
   33311             :                     n->name = (yyvsp[0].str);
   33312             :                     (yyval.node) = (Node *) n;
   33313             :                 }
   33314             : #line 33315 "gram.c"
   33315          46 :     break;
   33316             : 
   33317          18 :   case 338: /* alter_table_cmd: SET WITHOUT CLUSTER  */
   33318             : #line 2762 "gram.y"
   33319             :                                 {
   33320             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33321             : 
   33322             :                     n->subtype = AT_DropCluster;
   33323             :                     n->name = NULL;
   33324             :                     (yyval.node) = (Node *) n;
   33325             :                 }
   33326             : #line 33327 "gram.c"
   33327          18 :     break;
   33328             : 
   33329          38 :   case 339: /* alter_table_cmd: SET LOGGED  */
   33330             : #line 2771 "gram.y"
   33331             :                                 {
   33332             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33333             : 
   33334             :                     n->subtype = AT_SetLogged;
   33335             :                     (yyval.node) = (Node *) n;
   33336             :                 }
   33337             : #line 33338 "gram.c"
   33338          38 :     break;
   33339             : 
   33340          50 :   case 340: /* alter_table_cmd: SET UNLOGGED  */
   33341             : #line 2779 "gram.y"
   33342             :                                 {
   33343             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33344             : 
   33345             :                     n->subtype = AT_SetUnLogged;
   33346             :                     (yyval.node) = (Node *) n;
   33347             :                 }
   33348             : #line 33349 "gram.c"
   33349          50 :     break;
   33350             : 
   33351         122 :   case 341: /* alter_table_cmd: ENABLE_P TRIGGER name  */
   33352             : #line 2787 "gram.y"
   33353             :                                 {
   33354             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33355             : 
   33356             :                     n->subtype = AT_EnableTrig;
   33357             :                     n->name = (yyvsp[0].str);
   33358             :                     (yyval.node) = (Node *) n;
   33359             :                 }
   33360             : #line 33361 "gram.c"
   33361         122 :     break;
   33362             : 
   33363          40 :   case 342: /* alter_table_cmd: ENABLE_P ALWAYS TRIGGER name  */
   33364             : #line 2796 "gram.y"
   33365             :                                 {
   33366             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33367             : 
   33368             :                     n->subtype = AT_EnableAlwaysTrig;
   33369             :                     n->name = (yyvsp[0].str);
   33370             :                     (yyval.node) = (Node *) n;
   33371             :                 }
   33372             : #line 33373 "gram.c"
   33373          40 :     break;
   33374             : 
   33375          16 :   case 343: /* alter_table_cmd: ENABLE_P REPLICA TRIGGER name  */
   33376             : #line 2805 "gram.y"
   33377             :                                 {
   33378             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33379             : 
   33380             :                     n->subtype = AT_EnableReplicaTrig;
   33381             :                     n->name = (yyvsp[0].str);
   33382             :                     (yyval.node) = (Node *) n;
   33383             :                 }
   33384             : #line 33385 "gram.c"
   33385          16 :     break;
   33386             : 
   33387           0 :   case 344: /* alter_table_cmd: ENABLE_P TRIGGER ALL  */
   33388             : #line 2814 "gram.y"
   33389             :                                 {
   33390             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33391             : 
   33392             :                     n->subtype = AT_EnableTrigAll;
   33393             :                     (yyval.node) = (Node *) n;
   33394             :                 }
   33395             : #line 33396 "gram.c"
   33396           0 :     break;
   33397             : 
   33398           0 :   case 345: /* alter_table_cmd: ENABLE_P TRIGGER USER  */
   33399             : #line 2822 "gram.y"
   33400             :                                 {
   33401             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33402             : 
   33403             :                     n->subtype = AT_EnableTrigUser;
   33404             :                     (yyval.node) = (Node *) n;
   33405             :                 }
   33406             : #line 33407 "gram.c"
   33407           0 :     break;
   33408             : 
   33409         138 :   case 346: /* alter_table_cmd: DISABLE_P TRIGGER name  */
   33410             : #line 2830 "gram.y"
   33411             :                                 {
   33412             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33413             : 
   33414             :                     n->subtype = AT_DisableTrig;
   33415             :                     n->name = (yyvsp[0].str);
   33416             :                     (yyval.node) = (Node *) n;
   33417             :                 }
   33418             : #line 33419 "gram.c"
   33419         138 :     break;
   33420             : 
   33421          12 :   case 347: /* alter_table_cmd: DISABLE_P TRIGGER ALL  */
   33422             : #line 2839 "gram.y"
   33423             :                                 {
   33424             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33425             : 
   33426             :                     n->subtype = AT_DisableTrigAll;
   33427             :                     (yyval.node) = (Node *) n;
   33428             :                 }
   33429             : #line 33430 "gram.c"
   33430          12 :     break;
   33431             : 
   33432          12 :   case 348: /* alter_table_cmd: DISABLE_P TRIGGER USER  */
   33433             : #line 2847 "gram.y"
   33434             :                                 {
   33435             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33436             : 
   33437             :                     n->subtype = AT_DisableTrigUser;
   33438             :                     (yyval.node) = (Node *) n;
   33439             :                 }
   33440             : #line 33441 "gram.c"
   33441          12 :     break;
   33442             : 
   33443           8 :   case 349: /* alter_table_cmd: ENABLE_P RULE name  */
   33444             : #line 2855 "gram.y"
   33445             :                                 {
   33446             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33447             : 
   33448             :                     n->subtype = AT_EnableRule;
   33449             :                     n->name = (yyvsp[0].str);
   33450             :                     (yyval.node) = (Node *) n;
   33451             :                 }
   33452             : #line 33453 "gram.c"
   33453           8 :     break;
   33454             : 
   33455           0 :   case 350: /* alter_table_cmd: ENABLE_P ALWAYS RULE name  */
   33456             : #line 2864 "gram.y"
   33457             :                                 {
   33458             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33459             : 
   33460             :                     n->subtype = AT_EnableAlwaysRule;
   33461             :                     n->name = (yyvsp[0].str);
   33462             :                     (yyval.node) = (Node *) n;
   33463             :                 }
   33464             : #line 33465 "gram.c"
   33465           0 :     break;
   33466             : 
   33467           6 :   case 351: /* alter_table_cmd: ENABLE_P REPLICA RULE name  */
   33468             : #line 2873 "gram.y"
   33469             :                                 {
   33470             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33471             : 
   33472             :                     n->subtype = AT_EnableReplicaRule;
   33473             :                     n->name = (yyvsp[0].str);
   33474             :                     (yyval.node) = (Node *) n;
   33475             :                 }
   33476             : #line 33477 "gram.c"
   33477           6 :     break;
   33478             : 
   33479          32 :   case 352: /* alter_table_cmd: DISABLE_P RULE name  */
   33480             : #line 2882 "gram.y"
   33481             :                                 {
   33482             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33483             : 
   33484             :                     n->subtype = AT_DisableRule;
   33485             :                     n->name = (yyvsp[0].str);
   33486             :                     (yyval.node) = (Node *) n;
   33487             :                 }
   33488             : #line 33489 "gram.c"
   33489          32 :     break;
   33490             : 
   33491         338 :   case 353: /* alter_table_cmd: INHERIT qualified_name  */
   33492             : #line 2891 "gram.y"
   33493             :                                 {
   33494             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33495             : 
   33496             :                     n->subtype = AT_AddInherit;
   33497             :                     n->def = (Node *) (yyvsp[0].range);
   33498             :                     (yyval.node) = (Node *) n;
   33499             :                 }
   33500             : #line 33501 "gram.c"
   33501         338 :     break;
   33502             : 
   33503          44 :   case 354: /* alter_table_cmd: NO INHERIT qualified_name  */
   33504             : #line 2900 "gram.y"
   33505             :                                 {
   33506             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33507             : 
   33508             :                     n->subtype = AT_DropInherit;
   33509             :                     n->def = (Node *) (yyvsp[0].range);
   33510             :                     (yyval.node) = (Node *) n;
   33511             :                 }
   33512             : #line 33513 "gram.c"
   33513          44 :     break;
   33514             : 
   33515          66 :   case 355: /* alter_table_cmd: OF any_name  */
   33516             : #line 2909 "gram.y"
   33517             :                                 {
   33518             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33519             :                     TypeName   *def = makeTypeNameFromNameList((yyvsp[0].list));
   33520             : 
   33521             :                     def->location = (yylsp[0]);
   33522             :                     n->subtype = AT_AddOf;
   33523             :                     n->def = (Node *) def;
   33524             :                     (yyval.node) = (Node *) n;
   33525             :                 }
   33526             : #line 33527 "gram.c"
   33527          66 :     break;
   33528             : 
   33529           6 :   case 356: /* alter_table_cmd: NOT OF  */
   33530             : #line 2920 "gram.y"
   33531             :                                 {
   33532             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33533             : 
   33534             :                     n->subtype = AT_DropOf;
   33535             :                     (yyval.node) = (Node *) n;
   33536             :                 }
   33537             : #line 33538 "gram.c"
   33538           6 :     break;
   33539             : 
   33540        1820 :   case 357: /* alter_table_cmd: OWNER TO RoleSpec  */
   33541             : #line 2928 "gram.y"
   33542             :                                 {
   33543             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33544             : 
   33545             :                     n->subtype = AT_ChangeOwner;
   33546             :                     n->newowner = (yyvsp[0].rolespec);
   33547             :                     (yyval.node) = (Node *) n;
   33548             :                 }
   33549             : #line 33550 "gram.c"
   33550        1820 :     break;
   33551             : 
   33552         128 :   case 358: /* alter_table_cmd: SET ACCESS METHOD set_access_method_name  */
   33553             : #line 2937 "gram.y"
   33554             :                                 {
   33555             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33556             : 
   33557             :                     n->subtype = AT_SetAccessMethod;
   33558             :                     n->name = (yyvsp[0].str);
   33559             :                     (yyval.node) = (Node *) n;
   33560             :                 }
   33561             : #line 33562 "gram.c"
   33562         128 :     break;
   33563             : 
   33564         104 :   case 359: /* alter_table_cmd: SET TABLESPACE name  */
   33565             : #line 2946 "gram.y"
   33566             :                                 {
   33567             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33568             : 
   33569             :                     n->subtype = AT_SetTableSpace;
   33570             :                     n->name = (yyvsp[0].str);
   33571             :                     (yyval.node) = (Node *) n;
   33572             :                 }
   33573             : #line 33574 "gram.c"
   33574         104 :     break;
   33575             : 
   33576         582 :   case 360: /* alter_table_cmd: SET reloptions  */
   33577             : #line 2955 "gram.y"
   33578             :                                 {
   33579             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33580             : 
   33581             :                     n->subtype = AT_SetRelOptions;
   33582             :                     n->def = (Node *) (yyvsp[0].list);
   33583             :                     (yyval.node) = (Node *) n;
   33584             :                 }
   33585             : #line 33586 "gram.c"
   33586         582 :     break;
   33587             : 
   33588         158 :   case 361: /* alter_table_cmd: RESET reloptions  */
   33589             : #line 2964 "gram.y"
   33590             :                                 {
   33591             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33592             : 
   33593             :                     n->subtype = AT_ResetRelOptions;
   33594             :                     n->def = (Node *) (yyvsp[0].list);
   33595             :                     (yyval.node) = (Node *) n;
   33596             :                 }
   33597             : #line 33598 "gram.c"
   33598         158 :     break;
   33599             : 
   33600         450 :   case 362: /* alter_table_cmd: REPLICA IDENTITY_P replica_identity  */
   33601             : #line 2973 "gram.y"
   33602             :                                 {
   33603             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33604             : 
   33605             :                     n->subtype = AT_ReplicaIdentity;
   33606             :                     n->def = (yyvsp[0].node);
   33607             :                     (yyval.node) = (Node *) n;
   33608             :                 }
   33609             : #line 33610 "gram.c"
   33610         450 :     break;
   33611             : 
   33612         278 :   case 363: /* alter_table_cmd: ENABLE_P ROW LEVEL SECURITY  */
   33613             : #line 2982 "gram.y"
   33614             :                                 {
   33615             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33616             : 
   33617             :                     n->subtype = AT_EnableRowSecurity;
   33618             :                     (yyval.node) = (Node *) n;
   33619             :                 }
   33620             : #line 33621 "gram.c"
   33621         278 :     break;
   33622             : 
   33623          10 :   case 364: /* alter_table_cmd: DISABLE_P ROW LEVEL SECURITY  */
   33624             : #line 2990 "gram.y"
   33625             :                                 {
   33626             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33627             : 
   33628             :                     n->subtype = AT_DisableRowSecurity;
   33629             :                     (yyval.node) = (Node *) n;
   33630             :                 }
   33631             : #line 33632 "gram.c"
   33632          10 :     break;
   33633             : 
   33634          82 :   case 365: /* alter_table_cmd: FORCE ROW LEVEL SECURITY  */
   33635             : #line 2998 "gram.y"
   33636             :                                 {
   33637             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33638             : 
   33639             :                     n->subtype = AT_ForceRowSecurity;
   33640             :                     (yyval.node) = (Node *) n;
   33641             :                 }
   33642             : #line 33643 "gram.c"
   33643          82 :     break;
   33644             : 
   33645          32 :   case 366: /* alter_table_cmd: NO FORCE ROW LEVEL SECURITY  */
   33646             : #line 3006 "gram.y"
   33647             :                                 {
   33648             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33649             : 
   33650             :                     n->subtype = AT_NoForceRowSecurity;
   33651             :                     (yyval.node) = (Node *) n;
   33652             :                 }
   33653             : #line 33654 "gram.c"
   33654          32 :     break;
   33655             : 
   33656          56 :   case 367: /* alter_table_cmd: alter_generic_options  */
   33657             : #line 3013 "gram.y"
   33658             :                                 {
   33659             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33660             : 
   33661             :                     n->subtype = AT_GenericOptions;
   33662             :                     n->def = (Node *) (yyvsp[0].list);
   33663             :                     (yyval.node) = (Node *) n;
   33664             :                 }
   33665             : #line 33666 "gram.c"
   33666          56 :     break;
   33667             : 
   33668         366 :   case 368: /* alter_column_default: SET DEFAULT a_expr  */
   33669             : #line 3023 "gram.y"
   33670             :                                                                 { (yyval.node) = (yyvsp[0].node); }
   33671             : #line 33672 "gram.c"
   33672         366 :     break;
   33673             : 
   33674         180 :   case 369: /* alter_column_default: DROP DEFAULT  */
   33675             : #line 3024 "gram.y"
   33676             :                                                                 { (yyval.node) = NULL; }
   33677             : #line 33678 "gram.c"
   33678         180 :     break;
   33679             : 
   33680          12 :   case 370: /* opt_collate_clause: COLLATE any_name  */
   33681             : #line 3029 "gram.y"
   33682             :                                 {
   33683             :                     CollateClause *n = makeNode(CollateClause);
   33684             : 
   33685             :                     n->arg = NULL;
   33686             :                     n->collname = (yyvsp[0].list);
   33687             :                     n->location = (yylsp[-1]);
   33688             :                     (yyval.node) = (Node *) n;
   33689             :                 }
   33690             : #line 33691 "gram.c"
   33691          12 :     break;
   33692             : 
   33693        4434 :   case 371: /* opt_collate_clause: %empty  */
   33694             : #line 3037 "gram.y"
   33695             :                                                                 { (yyval.node) = NULL; }
   33696             : #line 33697 "gram.c"
   33697        4434 :     break;
   33698             : 
   33699         168 :   case 372: /* alter_using: USING a_expr  */
   33700             : #line 3041 "gram.y"
   33701             :                                                                 { (yyval.node) = (yyvsp[0].node); }
   33702             : #line 33703 "gram.c"
   33703         168 :     break;
   33704             : 
   33705         678 :   case 373: /* alter_using: %empty  */
   33706             : #line 3042 "gram.y"
   33707             :                                                                 { (yyval.node) = NULL; }
   33708             : #line 33709 "gram.c"
   33709         678 :     break;
   33710             : 
   33711          36 :   case 374: /* replica_identity: NOTHING  */
   33712             : #line 3047 "gram.y"
   33713             :                                 {
   33714             :                     ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
   33715             : 
   33716             :                     n->identity_type = REPLICA_IDENTITY_NOTHING;
   33717             :                     n->name = NULL;
   33718             :                     (yyval.node) = (Node *) n;
   33719             :                 }
   33720             : #line 33721 "gram.c"
   33721          36 :     break;
   33722             : 
   33723         144 :   case 375: /* replica_identity: FULL  */
   33724             : #line 3055 "gram.y"
   33725             :                                 {
   33726             :                     ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
   33727             : 
   33728             :                     n->identity_type = REPLICA_IDENTITY_FULL;
   33729             :                     n->name = NULL;
   33730             :                     (yyval.node) = (Node *) n;
   33731             :                 }
   33732             : #line 33733 "gram.c"
   33733         144 :     break;
   33734             : 
   33735           6 :   case 376: /* replica_identity: DEFAULT  */
   33736             : #line 3063 "gram.y"
   33737             :                                 {
   33738             :                     ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
   33739             : 
   33740             :                     n->identity_type = REPLICA_IDENTITY_DEFAULT;
   33741             :                     n->name = NULL;
   33742             :                     (yyval.node) = (Node *) n;
   33743             :                 }
   33744             : #line 33745 "gram.c"
   33745           6 :     break;
   33746             : 
   33747         264 :   case 377: /* replica_identity: USING INDEX name  */
   33748             : #line 3071 "gram.y"
   33749             :                                 {
   33750             :                     ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
   33751             : 
   33752             :                     n->identity_type = REPLICA_IDENTITY_INDEX;
   33753             :                     n->name = (yyvsp[0].str);
   33754             :                     (yyval.node) = (Node *) n;
   33755             :                 }
   33756             : #line 33757 "gram.c"
   33757         264 :     break;
   33758             : 
   33759        2460 :   case 378: /* reloptions: '(' reloption_list ')'  */
   33760             : #line 3081 "gram.y"
   33761             :                                                                                 { (yyval.list) = (yyvsp[-1].list); }
   33762             : #line 33763 "gram.c"
   33763        2460 :     break;
   33764             : 
   33765         896 :   case 379: /* opt_reloptions: WITH reloptions  */
   33766             : #line 3084 "gram.y"
   33767             :                                                                         { (yyval.list) = (yyvsp[0].list); }
   33768             : #line 33769 "gram.c"
   33769         896 :     break;
   33770             : 
   33771       19758 :   case 380: /* opt_reloptions: %empty  */
   33772             : #line 3085 "gram.y"
   33773             :                                                                                                 { (yyval.list) = NIL; }
   33774             : #line 33775 "gram.c"
   33775       19758 :     break;
   33776             : 
   33777        2460 :   case 381: /* reloption_list: reloption_elem  */
   33778             : #line 3089 "gram.y"
   33779             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   33780             : #line 33781 "gram.c"
   33781        2460 :     break;
   33782             : 
   33783         220 :   case 382: /* reloption_list: reloption_list ',' reloption_elem  */
   33784             : #line 3090 "gram.y"
   33785             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
   33786             : #line 33787 "gram.c"
   33787         220 :     break;
   33788             : 
   33789        2106 :   case 383: /* reloption_elem: ColLabel '=' def_arg  */
   33790             : #line 3096 "gram.y"
   33791             :                                 {
   33792             :                     (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
   33793             :                 }
   33794             : #line 33795 "gram.c"
   33795        2106 :     break;
   33796             : 
   33797         506 :   case 384: /* reloption_elem: ColLabel  */
   33798             : #line 3100 "gram.y"
   33799             :                                 {
   33800             :                     (yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0]));
   33801             :                 }
   33802             : #line 33803 "gram.c"
   33803         506 :     break;
   33804             : 
   33805          62 :   case 385: /* reloption_elem: ColLabel '.' ColLabel '=' def_arg  */
   33806             : #line 3104 "gram.y"
   33807             :                                 {
   33808             :                     (yyval.defelt) = makeDefElemExtended((yyvsp[-4].str), (yyvsp[-2].str), (Node *) (yyvsp[0].node),
   33809             :                                              DEFELEM_UNSPEC, (yylsp[-4]));
   33810             :                 }
   33811             : #line 33812 "gram.c"
   33812          62 :     break;
   33813             : 
   33814           6 :   case 386: /* reloption_elem: ColLabel '.' ColLabel  */
   33815             : #line 3109 "gram.y"
   33816             :                                 {
   33817             :                     (yyval.defelt) = makeDefElemExtended((yyvsp[-2].str), (yyvsp[0].str), NULL, DEFELEM_UNSPEC, (yylsp[-2]));
   33818             :                 }
   33819             : #line 33820 "gram.c"
   33820           6 :     break;
   33821             : 
   33822          62 :   case 387: /* alter_identity_column_option_list: alter_identity_column_option  */
   33823             : #line 3116 "gram.y"
   33824             :                                 { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   33825             : #line 33826 "gram.c"
   33826          62 :     break;
   33827             : 
   33828          60 :   case 388: /* alter_identity_column_option_list: alter_identity_column_option_list alter_identity_column_option  */
   33829             : #line 3118 "gram.y"
   33830             :                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   33831             : #line 33832 "gram.c"
   33832          60 :     break;
   33833             : 
   33834          24 :   case 389: /* alter_identity_column_option: RESTART  */
   33835             : #line 3123 "gram.y"
   33836             :                                 {
   33837             :                     (yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0]));
   33838             :                 }
   33839             : #line 33840 "gram.c"
   33840          24 :     break;
   33841             : 
   33842           0 :   case 390: /* alter_identity_column_option: RESTART opt_with NumericOnly  */
   33843             : #line 3127 "gram.y"
   33844             :                                 {
   33845             :                     (yyval.defelt) = makeDefElem("restart", (Node *) (yyvsp[0].node), (yylsp[-2]));
   33846             :                 }
   33847             : #line 33848 "gram.c"
   33848           0 :     break;
   33849             : 
   33850          54 :   case 391: /* alter_identity_column_option: SET SeqOptElem  */
   33851             : #line 3131 "gram.y"
   33852             :                                 {
   33853             :                     if (strcmp((yyvsp[0].defelt)->defname, "as") == 0 ||
   33854             :                         strcmp((yyvsp[0].defelt)->defname, "restart") == 0 ||
   33855             :                         strcmp((yyvsp[0].defelt)->defname, "owned_by") == 0)
   33856             :                         ereport(ERROR,
   33857             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   33858             :                                  errmsg("sequence option \"%s\" not supported here", (yyvsp[0].defelt)->defname),
   33859             :                                  parser_errposition((yylsp[0]))));
   33860             :                     (yyval.defelt) = (yyvsp[0].defelt);
   33861             :                 }
   33862             : #line 33863 "gram.c"
   33863          54 :     break;
   33864             : 
   33865          44 :   case 392: /* alter_identity_column_option: SET GENERATED generated_when  */
   33866             : #line 3142 "gram.y"
   33867             :                                 {
   33868             :                     (yyval.defelt) = makeDefElem("generated", (Node *) makeInteger((yyvsp[0].ival)), (yylsp[-2]));
   33869             :                 }
   33870             : #line 33871 "gram.c"
   33871          44 :     break;
   33872             : 
   33873         158 :   case 393: /* set_statistics_value: SignedIconst  */
   33874             : #line 3148 "gram.y"
   33875             :                                                                         { (yyval.node) = (Node *) makeInteger((yyvsp[0].ival)); }
   33876             : #line 33877 "gram.c"
   33877         158 :     break;
   33878             : 
   33879           0 :   case 394: /* set_statistics_value: DEFAULT  */
   33880             : #line 3149 "gram.y"
   33881             :                                                                                 { (yyval.node) = NULL; }
   33882             : #line 33883 "gram.c"
   33883           0 :     break;
   33884             : 
   33885          92 :   case 395: /* set_access_method_name: ColId  */
   33886             : #line 3153 "gram.y"
   33887             :                                                                                 { (yyval.str) = (yyvsp[0].str); }
   33888             : #line 33889 "gram.c"
   33889          92 :     break;
   33890             : 
   33891          36 :   case 396: /* set_access_method_name: DEFAULT  */
   33892             : #line 3154 "gram.y"
   33893             :                                                                                 { (yyval.str) = NULL; }
   33894             : #line 33895 "gram.c"
   33895          36 :     break;
   33896             : 
   33897         698 :   case 397: /* PartitionBoundSpec: FOR VALUES WITH '(' hash_partbound ')'  */
   33898             : #line 3160 "gram.y"
   33899             :                                 {
   33900             :                     ListCell   *lc;
   33901             :                     PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
   33902             : 
   33903             :                     n->strategy = PARTITION_STRATEGY_HASH;
   33904             :                     n->modulus = n->remainder = -1;
   33905             : 
   33906             :                     foreach (lc, (yyvsp[-1].list))
   33907             :                     {
   33908             :                         DefElem    *opt = lfirst_node(DefElem, lc);
   33909             : 
   33910             :                         if (strcmp(opt->defname, "modulus") == 0)
   33911             :                         {
   33912             :                             if (n->modulus != -1)
   33913             :                                 ereport(ERROR,
   33914             :                                         (errcode(ERRCODE_DUPLICATE_OBJECT),
   33915             :                                          errmsg("modulus for hash partition provided more than once"),
   33916             :                                          parser_errposition(opt->location)));
   33917             :                             n->modulus = defGetInt32(opt);
   33918             :                         }
   33919             :                         else if (strcmp(opt->defname, "remainder") == 0)
   33920             :                         {
   33921             :                             if (n->remainder != -1)
   33922             :                                 ereport(ERROR,
   33923             :                                         (errcode(ERRCODE_DUPLICATE_OBJECT),
   33924             :                                          errmsg("remainder for hash partition provided more than once"),
   33925             :                                          parser_errposition(opt->location)));
   33926             :                             n->remainder = defGetInt32(opt);
   33927             :                         }
   33928             :                         else
   33929             :                             ereport(ERROR,
   33930             :                                     (errcode(ERRCODE_SYNTAX_ERROR),
   33931             :                                      errmsg("unrecognized hash partition bound specification \"%s\"",
   33932             :                                             opt->defname),
   33933             :                                      parser_errposition(opt->location)));
   33934             :                     }
   33935             : 
   33936             :                     if (n->modulus == -1)
   33937             :                         ereport(ERROR,
   33938             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   33939             :                                  errmsg("modulus for hash partition must be specified")));
   33940             :                     if (n->remainder == -1)
   33941             :                         ereport(ERROR,
   33942             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   33943             :                                  errmsg("remainder for hash partition must be specified")));
   33944             : 
   33945             :                     n->location = (yylsp[-3]);
   33946             : 
   33947             :                     (yyval.partboundspec) = n;
   33948             :                 }
   33949             : #line 33950 "gram.c"
   33950         698 :     break;
   33951             : 
   33952        4772 :   case 398: /* PartitionBoundSpec: FOR VALUES IN_P '(' expr_list ')'  */
   33953             : #line 3213 "gram.y"
   33954             :                                 {
   33955             :                     PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
   33956             : 
   33957             :                     n->strategy = PARTITION_STRATEGY_LIST;
   33958             :                     n->is_default = false;
   33959             :                     n->listdatums = (yyvsp[-1].list);
   33960             :                     n->location = (yylsp[-3]);
   33961             : 
   33962             :                     (yyval.partboundspec) = n;
   33963             :                 }
   33964             : #line 33965 "gram.c"
   33965        4772 :     break;
   33966             : 
   33967        5026 :   case 399: /* PartitionBoundSpec: FOR VALUES FROM '(' expr_list ')' TO '(' expr_list ')'  */
   33968             : #line 3226 "gram.y"
   33969             :                                 {
   33970             :                     PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
   33971             : 
   33972             :                     n->strategy = PARTITION_STRATEGY_RANGE;
   33973             :                     n->is_default = false;
   33974             :                     n->lowerdatums = (yyvsp[-5].list);
   33975             :                     n->upperdatums = (yyvsp[-1].list);
   33976             :                     n->location = (yylsp[-7]);
   33977             : 
   33978             :                     (yyval.partboundspec) = n;
   33979             :                 }
   33980             : #line 33981 "gram.c"
   33981        5026 :     break;
   33982             : 
   33983         794 :   case 400: /* PartitionBoundSpec: DEFAULT  */
   33984             : #line 3240 "gram.y"
   33985             :                                 {
   33986             :                     PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
   33987             : 
   33988             :                     n->is_default = true;
   33989             :                     n->location = (yylsp[0]);
   33990             : 
   33991             :                     (yyval.partboundspec) = n;
   33992             :                 }
   33993             : #line 33994 "gram.c"
   33994         794 :     break;
   33995             : 
   33996        1396 :   case 401: /* hash_partbound_elem: NonReservedWord Iconst  */
   33997             : #line 3252 "gram.y"
   33998             :                         {
   33999             :                 (yyval.defelt) = makeDefElem((yyvsp[-1].str), (Node *) makeInteger((yyvsp[0].ival)), (yylsp[-1]));
   34000             :             }
   34001             : #line 34002 "gram.c"
   34002        1396 :     break;
   34003             : 
   34004         698 :   case 402: /* hash_partbound: hash_partbound_elem  */
   34005             : #line 3259 "gram.y"
   34006             :                         {
   34007             :                 (yyval.list) = list_make1((yyvsp[0].defelt));
   34008             :             }
   34009             : #line 34010 "gram.c"
   34010         698 :     break;
   34011             : 
   34012         698 :   case 403: /* hash_partbound: hash_partbound ',' hash_partbound_elem  */
   34013             : #line 3263 "gram.y"
   34014             :                         {
   34015             :                 (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
   34016             :             }
   34017             : #line 34018 "gram.c"
   34018         698 :     break;
   34019             : 
   34020         208 :   case 404: /* AlterCompositeTypeStmt: ALTER TYPE_P any_name alter_type_cmds  */
   34021             : #line 3277 "gram.y"
   34022             :                                 {
   34023             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   34024             : 
   34025             :                     /* can't use qualified_name, sigh */
   34026             :                     n->relation = makeRangeVarFromAnyName((yyvsp[-1].list), (yylsp[-1]), yyscanner);
   34027             :                     n->cmds = (yyvsp[0].list);
   34028             :                     n->objtype = OBJECT_TYPE;
   34029             :                     (yyval.node) = (Node *) n;
   34030             :                 }
   34031             : #line 34032 "gram.c"
   34032         208 :     break;
   34033             : 
   34034         208 :   case 405: /* alter_type_cmds: alter_type_cmd  */
   34035             : #line 3289 "gram.y"
   34036             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   34037             : #line 34038 "gram.c"
   34038         208 :     break;
   34039             : 
   34040          12 :   case 406: /* alter_type_cmds: alter_type_cmds ',' alter_type_cmd  */
   34041             : #line 3290 "gram.y"
   34042             :                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   34043             : #line 34044 "gram.c"
   34044          12 :     break;
   34045             : 
   34046          64 :   case 407: /* alter_type_cmd: ADD_P ATTRIBUTE TableFuncElement opt_drop_behavior  */
   34047             : #line 3296 "gram.y"
   34048             :                                 {
   34049             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   34050             : 
   34051             :                     n->subtype = AT_AddColumn;
   34052             :                     n->def = (yyvsp[-1].node);
   34053             :                     n->behavior = (yyvsp[0].dbehavior);
   34054             :                     (yyval.node) = (Node *) n;
   34055             :                 }
   34056             : #line 34057 "gram.c"
   34057          64 :     break;
   34058             : 
   34059           6 :   case 408: /* alter_type_cmd: DROP ATTRIBUTE IF_P EXISTS ColId opt_drop_behavior  */
   34060             : #line 3306 "gram.y"
   34061             :                                 {
   34062             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   34063             : 
   34064             :                     n->subtype = AT_DropColumn;
   34065             :                     n->name = (yyvsp[-1].str);
   34066             :                     n->behavior = (yyvsp[0].dbehavior);
   34067             :                     n->missing_ok = true;
   34068             :                     (yyval.node) = (Node *) n;
   34069             :                 }
   34070             : #line 34071 "gram.c"
   34071           6 :     break;
   34072             : 
   34073          76 :   case 409: /* alter_type_cmd: DROP ATTRIBUTE ColId opt_drop_behavior  */
   34074             : #line 3317 "gram.y"
   34075             :                                 {
   34076             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   34077             : 
   34078             :                     n->subtype = AT_DropColumn;
   34079             :                     n->name = (yyvsp[-1].str);
   34080             :                     n->behavior = (yyvsp[0].dbehavior);
   34081             :                     n->missing_ok = false;
   34082             :                     (yyval.node) = (Node *) n;
   34083             :                 }
   34084             : #line 34085 "gram.c"
   34085          76 :     break;
   34086             : 
   34087          74 :   case 410: /* alter_type_cmd: ALTER ATTRIBUTE ColId opt_set_data TYPE_P Typename opt_collate_clause opt_drop_behavior  */
   34088             : #line 3328 "gram.y"
   34089             :                                 {
   34090             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   34091             :                     ColumnDef *def = makeNode(ColumnDef);
   34092             : 
   34093             :                     n->subtype = AT_AlterColumnType;
   34094             :                     n->name = (yyvsp[-5].str);
   34095             :                     n->def = (Node *) def;
   34096             :                     n->behavior = (yyvsp[0].dbehavior);
   34097             :                     /* We only use these fields of the ColumnDef node */
   34098             :                     def->typeName = (yyvsp[-2].typnam);
   34099             :                     def->collClause = (CollateClause *) (yyvsp[-1].node);
   34100             :                     def->raw_default = NULL;
   34101             :                     def->location = (yylsp[-5]);
   34102             :                     (yyval.node) = (Node *) n;
   34103             :                 }
   34104             : #line 34105 "gram.c"
   34105          74 :     break;
   34106             : 
   34107        2118 :   case 411: /* ClosePortalStmt: CLOSE cursor_name  */
   34108             : #line 3355 "gram.y"
   34109             :                                 {
   34110             :                     ClosePortalStmt *n = makeNode(ClosePortalStmt);
   34111             : 
   34112             :                     n->portalname = (yyvsp[0].str);
   34113             :                     (yyval.node) = (Node *) n;
   34114             :                 }
   34115             : #line 34116 "gram.c"
   34116        2118 :     break;
   34117             : 
   34118          12 :   case 412: /* ClosePortalStmt: CLOSE ALL  */
   34119             : #line 3362 "gram.y"
   34120             :                                 {
   34121             :                     ClosePortalStmt *n = makeNode(ClosePortalStmt);
   34122             : 
   34123             :                     n->portalname = NULL;
   34124             :                     (yyval.node) = (Node *) n;
   34125             :                 }
   34126             : #line 34127 "gram.c"
   34127          12 :     break;
   34128             : 
   34129        9086 :   case 413: /* CopyStmt: COPY opt_binary qualified_name opt_column_list copy_from opt_program copy_file_name copy_delimiter opt_with copy_options where_clause  */
   34130             : #line 3398 "gram.y"
   34131             :                                 {
   34132             :                     CopyStmt *n = makeNode(CopyStmt);
   34133             : 
   34134             :                     n->relation = (yyvsp[-8].range);
   34135             :                     n->query = NULL;
   34136             :                     n->attlist = (yyvsp[-7].list);
   34137             :                     n->is_from = (yyvsp[-6].boolean);
   34138             :                     n->is_program = (yyvsp[-5].boolean);
   34139             :                     n->filename = (yyvsp[-4].str);
   34140             :                     n->whereClause = (yyvsp[0].node);
   34141             : 
   34142             :                     if (n->is_program && n->filename == NULL)
   34143             :                         ereport(ERROR,
   34144             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   34145             :                                  errmsg("STDIN/STDOUT not allowed with PROGRAM"),
   34146             :                                  parser_errposition((yylsp[-3]))));
   34147             : 
   34148             :                     if (!n->is_from && n->whereClause != NULL)
   34149             :                         ereport(ERROR,
   34150             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   34151             :                                  errmsg("WHERE clause not allowed with COPY TO"),
   34152             :                                  parser_errposition((yylsp[0]))));
   34153             : 
   34154             :                     n->options = NIL;
   34155             :                     /* Concatenate user-supplied flags */
   34156             :                     if ((yyvsp[-9].defelt))
   34157             :                         n->options = lappend(n->options, (yyvsp[-9].defelt));
   34158             :                     if ((yyvsp[-3].defelt))
   34159             :                         n->options = lappend(n->options, (yyvsp[-3].defelt));
   34160             :                     if ((yyvsp[-1].list))
   34161             :                         n->options = list_concat(n->options, (yyvsp[-1].list));
   34162             :                     (yyval.node) = (Node *) n;
   34163             :                 }
   34164             : #line 34165 "gram.c"
   34165        9080 :     break;
   34166             : 
   34167         400 :   case 414: /* CopyStmt: COPY '(' PreparableStmt ')' TO opt_program copy_file_name opt_with copy_options  */
   34168             : #line 3432 "gram.y"
   34169             :                                 {
   34170             :                     CopyStmt *n = makeNode(CopyStmt);
   34171             : 
   34172             :                     n->relation = NULL;
   34173             :                     n->query = (yyvsp[-6].node);
   34174             :                     n->attlist = NIL;
   34175             :                     n->is_from = false;
   34176             :                     n->is_program = (yyvsp[-3].boolean);
   34177             :                     n->filename = (yyvsp[-2].str);
   34178             :                     n->options = (yyvsp[0].list);
   34179             : 
   34180             :                     if (n->is_program && n->filename == NULL)
   34181             :                         ereport(ERROR,
   34182             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   34183             :                                  errmsg("STDIN/STDOUT not allowed with PROGRAM"),
   34184             :                                  parser_errposition((yylsp[-4]))));
   34185             : 
   34186             :                     (yyval.node) = (Node *) n;
   34187             :                 }
   34188             : #line 34189 "gram.c"
   34189         400 :     break;
   34190             : 
   34191        1518 :   case 415: /* copy_from: FROM  */
   34192             : #line 3454 "gram.y"
   34193             :                                                                                                 { (yyval.boolean) = true; }
   34194             : #line 34195 "gram.c"
   34195        1518 :     break;
   34196             : 
   34197        7568 :   case 416: /* copy_from: TO  */
   34198             : #line 3455 "gram.y"
   34199             :                                                                                                 { (yyval.boolean) = false; }
   34200             : #line 34201 "gram.c"
   34201        7568 :     break;
   34202             : 
   34203           0 :   case 417: /* opt_program: PROGRAM  */
   34204             : #line 3459 "gram.y"
   34205             :                                                                                                 { (yyval.boolean) = true; }
   34206             : #line 34207 "gram.c"
   34207           0 :     break;
   34208             : 
   34209        9486 :   case 418: /* opt_program: %empty  */
   34210             : #line 3460 "gram.y"
   34211             :                                                                                         { (yyval.boolean) = false; }
   34212             : #line 34213 "gram.c"
   34213        9486 :     break;
   34214             : 
   34215         378 :   case 419: /* copy_file_name: Sconst  */
   34216             : #line 3469 "gram.y"
   34217             :                                                                                                 { (yyval.str) = (yyvsp[0].str); }
   34218             : #line 34219 "gram.c"
   34219         378 :     break;
   34220             : 
   34221        1216 :   case 420: /* copy_file_name: STDIN  */
   34222             : #line 3470 "gram.y"
   34223             :                                                                                                 { (yyval.str) = NULL; }
   34224             : #line 34225 "gram.c"
   34225        1216 :     break;
   34226             : 
   34227        7892 :   case 421: /* copy_file_name: STDOUT  */
   34228             : #line 3471 "gram.y"
   34229             :                                                                                                 { (yyval.str) = NULL; }
   34230             : #line 34231 "gram.c"
   34231        7892 :     break;
   34232             : 
   34233        8968 :   case 422: /* copy_options: copy_opt_list  */
   34234             : #line 3474 "gram.y"
   34235             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   34236             : #line 34237 "gram.c"
   34237        8968 :     break;
   34238             : 
   34239         518 :   case 423: /* copy_options: '(' copy_generic_opt_list ')'  */
   34240             : #line 3475 "gram.y"
   34241             :                                                                         { (yyval.list) = (yyvsp[-1].list); }
   34242             : #line 34243 "gram.c"
   34243         518 :     break;
   34244             : 
   34245         498 :   case 424: /* copy_opt_list: copy_opt_list copy_opt_item  */
   34246             : #line 3480 "gram.y"
   34247             :                                                                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   34248             : #line 34249 "gram.c"
   34249         498 :     break;
   34250             : 
   34251        8968 :   case 425: /* copy_opt_list: %empty  */
   34252             : #line 3481 "gram.y"
   34253             :                                                                                         { (yyval.list) = NIL; }
   34254             : #line 34255 "gram.c"
   34255        8968 :     break;
   34256             : 
   34257           0 :   case 426: /* copy_opt_item: BINARY  */
   34258             : #line 3486 "gram.y"
   34259             :                                 {
   34260             :                     (yyval.defelt) = makeDefElem("format", (Node *) makeString("binary"), (yylsp[0]));
   34261             :                 }
   34262             : #line 34263 "gram.c"
   34263           0 :     break;
   34264             : 
   34265          50 :   case 427: /* copy_opt_item: FREEZE  */
   34266             : #line 3490 "gram.y"
   34267             :                                 {
   34268             :                     (yyval.defelt) = makeDefElem("freeze", (Node *) makeBoolean(true), (yylsp[0]));
   34269             :                 }
   34270             : #line 34271 "gram.c"
   34271          50 :     break;
   34272             : 
   34273         172 :   case 428: /* copy_opt_item: DELIMITER opt_as Sconst  */
   34274             : #line 3494 "gram.y"
   34275             :                                 {
   34276             :                     (yyval.defelt) = makeDefElem("delimiter", (Node *) makeString((yyvsp[0].str)), (yylsp[-2]));
   34277             :                 }
   34278             : #line 34279 "gram.c"
   34279         172 :     break;
   34280             : 
   34281          48 :   case 429: /* copy_opt_item: NULL_P opt_as Sconst  */
   34282             : #line 3498 "gram.y"
   34283             :                                 {
   34284             :                     (yyval.defelt) = makeDefElem("null", (Node *) makeString((yyvsp[0].str)), (yylsp[-2]));
   34285             :                 }
   34286             : #line 34287 "gram.c"
   34287          48 :     break;
   34288             : 
   34289         144 :   case 430: /* copy_opt_item: CSV  */
   34290             : #line 3502 "gram.y"
   34291             :                                 {
   34292             :                     (yyval.defelt) = makeDefElem("format", (Node *) makeString("csv"), (yylsp[0]));
   34293             :                 }
   34294             : #line 34295 "gram.c"
   34295         144 :     break;
   34296             : 
   34297          18 :   case 431: /* copy_opt_item: HEADER_P  */
   34298             : #line 3506 "gram.y"
   34299             :                                 {
   34300             :                     (yyval.defelt) = makeDefElem("header", (Node *) makeBoolean(true), (yylsp[0]));
   34301             :                 }
   34302             : #line 34303 "gram.c"
   34303          18 :     break;
   34304             : 
   34305          18 :   case 432: /* copy_opt_item: QUOTE opt_as Sconst  */
   34306             : #line 3510 "gram.y"
   34307             :                                 {
   34308             :                     (yyval.defelt) = makeDefElem("quote", (Node *) makeString((yyvsp[0].str)), (yylsp[-2]));
   34309             :                 }
   34310             : #line 34311 "gram.c"
   34311          18 :     break;
   34312             : 
   34313          18 :   case 433: /* copy_opt_item: ESCAPE opt_as Sconst  */
   34314             : #line 3514 "gram.y"
   34315             :                                 {
   34316             :                     (yyval.defelt) = makeDefElem("escape", (Node *) makeString((yyvsp[0].str)), (yylsp[-2]));
   34317             :                 }
   34318             : #line 34319 "gram.c"
   34319          18 :     break;
   34320             : 
   34321          12 :   case 434: /* copy_opt_item: FORCE QUOTE columnList  */
   34322             : #line 3518 "gram.y"
   34323             :                                 {
   34324             :                     (yyval.defelt) = makeDefElem("force_quote", (Node *) (yyvsp[0].list), (yylsp[-2]));
   34325             :                 }
   34326             : #line 34327 "gram.c"
   34327          12 :     break;
   34328             : 
   34329           6 :   case 435: /* copy_opt_item: FORCE QUOTE '*'  */
   34330             : #line 3522 "gram.y"
   34331             :                                 {
   34332             :                     (yyval.defelt) = makeDefElem("force_quote", (Node *) makeNode(A_Star), (yylsp[-2]));
   34333             :                 }
   34334             : #line 34335 "gram.c"
   34335           6 :     break;
   34336             : 
   34337           0 :   case 436: /* copy_opt_item: FORCE NOT NULL_P columnList  */
   34338             : #line 3526 "gram.y"
   34339             :                                 {
   34340             :                     (yyval.defelt) = makeDefElem("force_not_null", (Node *) (yyvsp[0].list), (yylsp[-3]));
   34341             :                 }
   34342             : #line 34343 "gram.c"
   34343           0 :     break;
   34344             : 
   34345           0 :   case 437: /* copy_opt_item: FORCE NOT NULL_P '*'  */
   34346             : #line 3530 "gram.y"
   34347             :                                 {
   34348             :                     (yyval.defelt) = makeDefElem("force_not_null", (Node *) makeNode(A_Star), (yylsp[-3]));
   34349             :                 }
   34350             : #line 34351 "gram.c"
   34351           0 :     break;
   34352             : 
   34353           0 :   case 438: /* copy_opt_item: FORCE NULL_P columnList  */
   34354             : #line 3534 "gram.y"
   34355             :                                 {
   34356             :                     (yyval.defelt) = makeDefElem("force_null", (Node *) (yyvsp[0].list), (yylsp[-2]));
   34357             :                 }
   34358             : #line 34359 "gram.c"
   34359           0 :     break;
   34360             : 
   34361           0 :   case 439: /* copy_opt_item: FORCE NULL_P '*'  */
   34362             : #line 3538 "gram.y"
   34363             :                                 {
   34364             :                     (yyval.defelt) = makeDefElem("force_null", (Node *) makeNode(A_Star), (yylsp[-2]));
   34365             :                 }
   34366             : #line 34367 "gram.c"
   34367           0 :     break;
   34368             : 
   34369          12 :   case 440: /* copy_opt_item: ENCODING Sconst  */
   34370             : #line 3542 "gram.y"
   34371             :                                 {
   34372             :                     (yyval.defelt) = makeDefElem("encoding", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
   34373             :                 }
   34374             : #line 34375 "gram.c"
   34375          12 :     break;
   34376             : 
   34377          12 :   case 441: /* opt_binary: BINARY  */
   34378             : #line 3551 "gram.y"
   34379             :                                 {
   34380             :                     (yyval.defelt) = makeDefElem("format", (Node *) makeString("binary"), (yylsp[0]));
   34381             :                 }
   34382             : #line 34383 "gram.c"
   34383          12 :     break;
   34384             : 
   34385        9074 :   case 442: /* opt_binary: %empty  */
   34386             : #line 3554 "gram.y"
   34387             :                                                                                                 { (yyval.defelt) = NULL; }
   34388             : #line 34389 "gram.c"
   34389        9074 :     break;
   34390             : 
   34391           0 :   case 443: /* copy_delimiter: opt_using DELIMITERS Sconst  */
   34392             : #line 3559 "gram.y"
   34393             :                                 {
   34394             :                     (yyval.defelt) = makeDefElem("delimiter", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
   34395             :                 }
   34396             : #line 34397 "gram.c"
   34397           0 :     break;
   34398             : 
   34399        9086 :   case 444: /* copy_delimiter: %empty  */
   34400             : #line 3562 "gram.y"
   34401             :                                                                                                 { (yyval.defelt) = NULL; }
   34402             : #line 34403 "gram.c"
   34403        9086 :     break;
   34404             : 
   34405         518 :   case 447: /* copy_generic_opt_list: copy_generic_opt_elem  */
   34406             : #line 3573 "gram.y"
   34407             :                                 {
   34408             :                     (yyval.list) = list_make1((yyvsp[0].defelt));
   34409             :                 }
   34410             : #line 34411 "gram.c"
   34411         518 :     break;
   34412             : 
   34413         366 :   case 448: /* copy_generic_opt_list: copy_generic_opt_list ',' copy_generic_opt_elem  */
   34414             : #line 3577 "gram.y"
   34415             :                                 {
   34416             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
   34417             :                 }
   34418             : #line 34419 "gram.c"
   34419         366 :     break;
   34420             : 
   34421         884 :   case 449: /* copy_generic_opt_elem: ColLabel copy_generic_opt_arg  */
   34422             : #line 3584 "gram.y"
   34423             :                                 {
   34424             :                     (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
   34425             :                 }
   34426             : #line 34427 "gram.c"
   34427         884 :     break;
   34428             : 
   34429         656 :   case 450: /* copy_generic_opt_arg: opt_boolean_or_string  */
   34430             : #line 3590 "gram.y"
   34431             :                                                                 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
   34432             : #line 34433 "gram.c"
   34433         656 :     break;
   34434             : 
   34435           0 :   case 451: /* copy_generic_opt_arg: NumericOnly  */
   34436             : #line 3591 "gram.y"
   34437             :                                                                         { (yyval.node) = (Node *) (yyvsp[0].node); }
   34438             : #line 34439 "gram.c"
   34439           0 :     break;
   34440             : 
   34441          54 :   case 452: /* copy_generic_opt_arg: '*'  */
   34442             : #line 3592 "gram.y"
   34443             :                                                                                 { (yyval.node) = (Node *) makeNode(A_Star); }
   34444             : #line 34445 "gram.c"
   34445          54 :     break;
   34446             : 
   34447           6 :   case 453: /* copy_generic_opt_arg: DEFAULT  */
   34448             : #line 3593 "gram.y"
   34449             :                                                         { (yyval.node) = (Node *) makeString("default"); }
   34450             : #line 34451 "gram.c"
   34451           6 :     break;
   34452             : 
   34453         150 :   case 454: /* copy_generic_opt_arg: '(' copy_generic_opt_arg_list ')'  */
   34454             : #line 3594 "gram.y"
   34455             :                                                                         { (yyval.node) = (Node *) (yyvsp[-1].list); }
   34456             : #line 34457 "gram.c"
   34457         150 :     break;
   34458             : 
   34459          18 :   case 455: /* copy_generic_opt_arg: %empty  */
   34460             : #line 3595 "gram.y"
   34461             :                                                                         { (yyval.node) = NULL; }
   34462             : #line 34463 "gram.c"
   34463          18 :     break;
   34464             : 
   34465         150 :   case 456: /* copy_generic_opt_arg_list: copy_generic_opt_arg_list_item  */
   34466             : #line 3600 "gram.y"
   34467             :                                 {
   34468             :                     (yyval.list) = list_make1((yyvsp[0].node));
   34469             :                 }
   34470             : #line 34471 "gram.c"
   34471         150 :     break;
   34472             : 
   34473          12 :   case 457: /* copy_generic_opt_arg_list: copy_generic_opt_arg_list ',' copy_generic_opt_arg_list_item  */
   34474             : #line 3604 "gram.y"
   34475             :                                 {
   34476             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
   34477             :                 }
   34478             : #line 34479 "gram.c"
   34479          12 :     break;
   34480             : 
   34481         162 :   case 458: /* copy_generic_opt_arg_list_item: opt_boolean_or_string  */
   34482             : #line 3611 "gram.y"
   34483             :                                                 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
   34484             : #line 34485 "gram.c"
   34485         162 :     break;
   34486             : 
   34487       26918 :   case 459: /* CreateStmt: CREATE OptTemp TABLE qualified_name '(' OptTableElementList ')' OptInherit OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace  */
   34488             : #line 3625 "gram.y"
   34489             :                                 {
   34490             :                     CreateStmt *n = makeNode(CreateStmt);
   34491             : 
   34492             :                     (yyvsp[-9].range)->relpersistence = (yyvsp[-11].ival);
   34493             :                     n->relation = (yyvsp[-9].range);
   34494             :                     n->tableElts = (yyvsp[-7].list);
   34495             :                     n->inhRelations = (yyvsp[-5].list);
   34496             :                     n->partspec = (yyvsp[-4].partspec);
   34497             :                     n->ofTypename = NULL;
   34498             :                     n->constraints = NIL;
   34499             :                     n->accessMethod = (yyvsp[-3].str);
   34500             :                     n->options = (yyvsp[-2].list);
   34501             :                     n->oncommit = (yyvsp[-1].oncommit);
   34502             :                     n->tablespacename = (yyvsp[0].str);
   34503             :                     n->if_not_exists = false;
   34504             :                     (yyval.node) = (Node *) n;
   34505             :                 }
   34506             : #line 34507 "gram.c"
   34507       26918 :     break;
   34508             : 
   34509          30 :   case 460: /* CreateStmt: CREATE OptTemp TABLE IF_P NOT EXISTS qualified_name '(' OptTableElementList ')' OptInherit OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace  */
   34510             : #line 3645 "gram.y"
   34511             :                                 {
   34512             :                     CreateStmt *n = makeNode(CreateStmt);
   34513             : 
   34514             :                     (yyvsp[-9].range)->relpersistence = (yyvsp[-14].ival);
   34515             :                     n->relation = (yyvsp[-9].range);
   34516             :                     n->tableElts = (yyvsp[-7].list);
   34517             :                     n->inhRelations = (yyvsp[-5].list);
   34518             :                     n->partspec = (yyvsp[-4].partspec);
   34519             :                     n->ofTypename = NULL;
   34520             :                     n->constraints = NIL;
   34521             :                     n->accessMethod = (yyvsp[-3].str);
   34522             :                     n->options = (yyvsp[-2].list);
   34523             :                     n->oncommit = (yyvsp[-1].oncommit);
   34524             :                     n->tablespacename = (yyvsp[0].str);
   34525             :                     n->if_not_exists = true;
   34526             :                     (yyval.node) = (Node *) n;
   34527             :                 }
   34528             : #line 34529 "gram.c"
   34529          30 :     break;
   34530             : 
   34531         110 :   case 461: /* CreateStmt: CREATE OptTemp TABLE qualified_name OF any_name OptTypedTableElementList OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace  */
   34532             : #line 3665 "gram.y"
   34533             :                                 {
   34534             :                     CreateStmt *n = makeNode(CreateStmt);
   34535             : 
   34536             :                     (yyvsp[-8].range)->relpersistence = (yyvsp[-10].ival);
   34537             :                     n->relation = (yyvsp[-8].range);
   34538             :                     n->tableElts = (yyvsp[-5].list);
   34539             :                     n->inhRelations = NIL;
   34540             :                     n->partspec = (yyvsp[-4].partspec);
   34541             :                     n->ofTypename = makeTypeNameFromNameList((yyvsp[-6].list));
   34542             :                     n->ofTypename->location = (yylsp[-6]);
   34543             :                     n->constraints = NIL;
   34544             :                     n->accessMethod = (yyvsp[-3].str);
   34545             :                     n->options = (yyvsp[-2].list);
   34546             :                     n->oncommit = (yyvsp[-1].oncommit);
   34547             :                     n->tablespacename = (yyvsp[0].str);
   34548             :                     n->if_not_exists = false;
   34549             :                     (yyval.node) = (Node *) n;
   34550             :                 }
   34551             : #line 34552 "gram.c"
   34552         110 :     break;
   34553             : 
   34554           6 :   case 462: /* CreateStmt: CREATE OptTemp TABLE IF_P NOT EXISTS qualified_name OF any_name OptTypedTableElementList OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace  */
   34555             : #line 3686 "gram.y"
   34556             :                                 {
   34557             :                     CreateStmt *n = makeNode(CreateStmt);
   34558             : 
   34559             :                     (yyvsp[-8].range)->relpersistence = (yyvsp[-13].ival);
   34560             :                     n->relation = (yyvsp[-8].range);
   34561             :                     n->tableElts = (yyvsp[-5].list);
   34562             :                     n->inhRelations = NIL;
   34563             :                     n->partspec = (yyvsp[-4].partspec);
   34564             :                     n->ofTypename = makeTypeNameFromNameList((yyvsp[-6].list));
   34565             :                     n->ofTypename->location = (yylsp[-6]);
   34566             :                     n->constraints = NIL;
   34567             :                     n->accessMethod = (yyvsp[-3].str);
   34568             :                     n->options = (yyvsp[-2].list);
   34569             :                     n->oncommit = (yyvsp[-1].oncommit);
   34570             :                     n->tablespacename = (yyvsp[0].str);
   34571             :                     n->if_not_exists = true;
   34572             :                     (yyval.node) = (Node *) n;
   34573             :                 }
   34574             : #line 34575 "gram.c"
   34575           6 :     break;
   34576             : 
   34577        8208 :   case 463: /* CreateStmt: CREATE OptTemp TABLE qualified_name PARTITION OF qualified_name OptTypedTableElementList PartitionBoundSpec OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace  */
   34578             : #line 3707 "gram.y"
   34579             :                                 {
   34580             :                     CreateStmt *n = makeNode(CreateStmt);
   34581             : 
   34582             :                     (yyvsp[-10].range)->relpersistence = (yyvsp[-12].ival);
   34583             :                     n->relation = (yyvsp[-10].range);
   34584             :                     n->tableElts = (yyvsp[-6].list);
   34585             :                     n->inhRelations = list_make1((yyvsp[-7].range));
   34586             :                     n->partbound = (yyvsp[-5].partboundspec);
   34587             :                     n->partspec = (yyvsp[-4].partspec);
   34588             :                     n->ofTypename = NULL;
   34589             :                     n->constraints = NIL;
   34590             :                     n->accessMethod = (yyvsp[-3].str);
   34591             :                     n->options = (yyvsp[-2].list);
   34592             :                     n->oncommit = (yyvsp[-1].oncommit);
   34593             :                     n->tablespacename = (yyvsp[0].str);
   34594             :                     n->if_not_exists = false;
   34595             :                     (yyval.node) = (Node *) n;
   34596             :                 }
   34597             : #line 34598 "gram.c"
   34598        8208 :     break;
   34599             : 
   34600           0 :   case 464: /* CreateStmt: CREATE OptTemp TABLE IF_P NOT EXISTS qualified_name PARTITION OF qualified_name OptTypedTableElementList PartitionBoundSpec OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace  */
   34601             : #line 3728 "gram.y"
   34602             :                                 {
   34603             :                     CreateStmt *n = makeNode(CreateStmt);
   34604             : 
   34605             :                     (yyvsp[-10].range)->relpersistence = (yyvsp[-15].ival);
   34606             :                     n->relation = (yyvsp[-10].range);
   34607             :                     n->tableElts = (yyvsp[-6].list);
   34608             :                     n->inhRelations = list_make1((yyvsp[-7].range));
   34609             :                     n->partbound = (yyvsp[-5].partboundspec);
   34610             :                     n->partspec = (yyvsp[-4].partspec);
   34611             :                     n->ofTypename = NULL;
   34612             :                     n->constraints = NIL;
   34613             :                     n->accessMethod = (yyvsp[-3].str);
   34614             :                     n->options = (yyvsp[-2].list);
   34615             :                     n->oncommit = (yyvsp[-1].oncommit);
   34616             :                     n->tablespacename = (yyvsp[0].str);
   34617             :                     n->if_not_exists = true;
   34618             :                     (yyval.node) = (Node *) n;
   34619             :                 }
   34620             : #line 34621 "gram.c"
   34621           0 :     break;
   34622             : 
   34623         294 :   case 465: /* OptTemp: TEMPORARY  */
   34624             : #line 3759 "gram.y"
   34625             :                                                                 { (yyval.ival) = RELPERSISTENCE_TEMP; }
   34626             : #line 34627 "gram.c"
   34627         294 :     break;
   34628             : 
   34629        2586 :   case 466: /* OptTemp: TEMP  */
   34630             : #line 3760 "gram.y"
   34631             :                                                                         { (yyval.ival) = RELPERSISTENCE_TEMP; }
   34632             : #line 34633 "gram.c"
   34633        2586 :     break;
   34634             : 
   34635           0 :   case 467: /* OptTemp: LOCAL TEMPORARY  */
   34636             : #line 3761 "gram.y"
   34637             :                                                                 { (yyval.ival) = RELPERSISTENCE_TEMP; }
   34638             : #line 34639 "gram.c"
   34639           0 :     break;
   34640             : 
   34641           0 :   case 468: /* OptTemp: LOCAL TEMP  */
   34642             : #line 3762 "gram.y"
   34643             :                                                                 { (yyval.ival) = RELPERSISTENCE_TEMP; }
   34644             : #line 34645 "gram.c"
   34645           0 :     break;
   34646             : 
   34647           0 :   case 469: /* OptTemp: GLOBAL TEMPORARY  */
   34648             : #line 3764 "gram.y"
   34649             :                                 {
   34650             :                     ereport(WARNING,
   34651             :                             (errmsg("GLOBAL is deprecated in temporary table creation"),
   34652             :                              parser_errposition((yylsp[-1]))));
   34653             :                     (yyval.ival) = RELPERSISTENCE_TEMP;
   34654             :                 }
   34655             : #line 34656 "gram.c"
   34656           0 :     break;
   34657             : 
   34658           0 :   case 470: /* OptTemp: GLOBAL TEMP  */
   34659             : #line 3771 "gram.y"
   34660             :                                 {
   34661             :                     ereport(WARNING,
   34662             :                             (errmsg("GLOBAL is deprecated in temporary table creation"),
   34663             :                              parser_errposition((yylsp[-1]))));
   34664             :                     (yyval.ival) = RELPERSISTENCE_TEMP;
   34665             :                 }
   34666             : #line 34667 "gram.c"
   34667           0 :     break;
   34668             : 
   34669         152 :   case 471: /* OptTemp: UNLOGGED  */
   34670             : #line 3777 "gram.y"
   34671             :                                                                         { (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
   34672             : #line 34673 "gram.c"
   34673         152 :     break;
   34674             : 
   34675       47920 :   case 472: /* OptTemp: %empty  */
   34676             : #line 3778 "gram.y"
   34677             :                                                                         { (yyval.ival) = RELPERSISTENCE_PERMANENT; }
   34678             : #line 34679 "gram.c"
   34679       47920 :     break;
   34680             : 
   34681       25962 :   case 473: /* OptTableElementList: TableElementList  */
   34682             : #line 3782 "gram.y"
   34683             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   34684             : #line 34685 "gram.c"
   34685       25962 :     break;
   34686             : 
   34687        1384 :   case 474: /* OptTableElementList: %empty  */
   34688             : #line 3783 "gram.y"
   34689             :                                                                                         { (yyval.list) = NIL; }
   34690             : #line 34691 "gram.c"
   34691        1384 :     break;
   34692             : 
   34693         302 :   case 475: /* OptTypedTableElementList: '(' TypedTableElementList ')'  */
   34694             : #line 3787 "gram.y"
   34695             :                                                                 { (yyval.list) = (yyvsp[-1].list); }
   34696             : #line 34697 "gram.c"
   34697         302 :     break;
   34698             : 
   34699        8118 :   case 476: /* OptTypedTableElementList: %empty  */
   34700             : #line 3788 "gram.y"
   34701             :                                                                                         { (yyval.list) = NIL; }
   34702             : #line 34703 "gram.c"
   34703        8118 :     break;
   34704             : 
   34705       26010 :   case 477: /* TableElementList: TableElement  */
   34706             : #line 3793 "gram.y"
   34707             :                                 {
   34708             :                     (yyval.list) = list_make1((yyvsp[0].node));
   34709             :                 }
   34710             : #line 34711 "gram.c"
   34711       26010 :     break;
   34712             : 
   34713       38038 :   case 478: /* TableElementList: TableElementList ',' TableElement  */
   34714             : #line 3797 "gram.y"
   34715             :                                 {
   34716             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
   34717             :                 }
   34718             : #line 34719 "gram.c"
   34719       38038 :     break;
   34720             : 
   34721         302 :   case 479: /* TypedTableElementList: TypedTableElement  */
   34722             : #line 3804 "gram.y"
   34723             :                                 {
   34724             :                     (yyval.list) = list_make1((yyvsp[0].node));
   34725             :                 }
   34726             : #line 34727 "gram.c"
   34727         302 :     break;
   34728             : 
   34729          68 :   case 480: /* TypedTableElementList: TypedTableElementList ',' TypedTableElement  */
   34730             : #line 3808 "gram.y"
   34731             :                                 {
   34732             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
   34733             :                 }
   34734             : #line 34735 "gram.c"
   34735          68 :     break;
   34736             : 
   34737       60928 :   case 481: /* TableElement: columnDef  */
   34738             : #line 3814 "gram.y"
   34739             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   34740             : #line 34741 "gram.c"
   34741       60928 :     break;
   34742             : 
   34743         726 :   case 482: /* TableElement: TableLikeClause  */
   34744             : #line 3815 "gram.y"
   34745             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   34746             : #line 34747 "gram.c"
   34747         726 :     break;
   34748             : 
   34749        2394 :   case 483: /* TableElement: TableConstraint  */
   34750             : #line 3816 "gram.y"
   34751             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   34752             : #line 34753 "gram.c"
   34753        2394 :     break;
   34754             : 
   34755         300 :   case 484: /* TypedTableElement: columnOptions  */
   34756             : #line 3820 "gram.y"
   34757             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   34758             : #line 34759 "gram.c"
   34759         300 :     break;
   34760             : 
   34761          70 :   case 485: /* TypedTableElement: TableConstraint  */
   34762             : #line 3821 "gram.y"
   34763             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   34764             : #line 34765 "gram.c"
   34765          70 :     break;
   34766             : 
   34767       62874 :   case 486: /* columnDef: ColId Typename opt_column_storage opt_column_compression create_generic_options ColQualList  */
   34768             : #line 3825 "gram.y"
   34769             :                                 {
   34770             :                     ColumnDef *n = makeNode(ColumnDef);
   34771             : 
   34772             :                     n->colname = (yyvsp[-5].str);
   34773             :                     n->typeName = (yyvsp[-4].typnam);
   34774             :                     n->storage_name = (yyvsp[-3].str);
   34775             :                     n->compression = (yyvsp[-2].str);
   34776             :                     n->inhcount = 0;
   34777             :                     n->is_local = true;
   34778             :                     n->is_not_null = false;
   34779             :                     n->is_from_type = false;
   34780             :                     n->storage = 0;
   34781             :                     n->raw_default = NULL;
   34782             :                     n->cooked_default = NULL;
   34783             :                     n->collOid = InvalidOid;
   34784             :                     n->fdwoptions = (yyvsp[-1].list);
   34785             :                     SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
   34786             :                                      yyscanner);
   34787             :                     n->location = (yylsp[-5]);
   34788             :                     (yyval.node) = (Node *) n;
   34789             :                 }
   34790             : #line 34791 "gram.c"
   34791       62874 :     break;
   34792             : 
   34793         120 :   case 487: /* columnOptions: ColId ColQualList  */
   34794             : #line 3849 "gram.y"
   34795             :                                 {
   34796             :                     ColumnDef *n = makeNode(ColumnDef);
   34797             : 
   34798             :                     n->colname = (yyvsp[-1].str);
   34799             :                     n->typeName = NULL;
   34800             :                     n->inhcount = 0;
   34801             :                     n->is_local = true;
   34802             :                     n->is_not_null = false;
   34803             :                     n->is_from_type = false;
   34804             :                     n->storage = 0;
   34805             :                     n->raw_default = NULL;
   34806             :                     n->cooked_default = NULL;
   34807             :                     n->collOid = InvalidOid;
   34808             :                     SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
   34809             :                                      yyscanner);
   34810             :                     n->location = (yylsp[-1]);
   34811             :                     (yyval.node) = (Node *) n;
   34812             :                 }
   34813             : #line 34814 "gram.c"
   34814         120 :     break;
   34815             : 
   34816         180 :   case 488: /* columnOptions: ColId WITH OPTIONS ColQualList  */
   34817             : #line 3868 "gram.y"
   34818             :                                 {
   34819             :                     ColumnDef *n = makeNode(ColumnDef);
   34820             : 
   34821             :                     n->colname = (yyvsp[-3].str);
   34822             :                     n->typeName = NULL;
   34823             :                     n->inhcount = 0;
   34824             :                     n->is_local = true;
   34825             :                     n->is_not_null = false;
   34826             :                     n->is_from_type = false;
   34827             :                     n->storage = 0;
   34828             :                     n->raw_default = NULL;
   34829             :                     n->cooked_default = NULL;
   34830             :                     n->collOid = InvalidOid;
   34831             :                     SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
   34832             :                                      yyscanner);
   34833             :                     n->location = (yylsp[-3]);
   34834             :                     (yyval.node) = (Node *) n;
   34835             :                 }
   34836             : #line 34837 "gram.c"
   34837         180 :     break;
   34838             : 
   34839         136 :   case 489: /* column_compression: COMPRESSION ColId  */
   34840             : #line 3889 "gram.y"
   34841             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   34842             : #line 34843 "gram.c"
   34843         136 :     break;
   34844             : 
   34845           6 :   case 490: /* column_compression: COMPRESSION DEFAULT  */
   34846             : #line 3890 "gram.y"
   34847             :                                                                                 { (yyval.str) = pstrdup("default"); }
   34848             : #line 34849 "gram.c"
   34849           6 :     break;
   34850             : 
   34851          76 :   case 491: /* opt_column_compression: column_compression  */
   34852             : #line 3894 "gram.y"
   34853             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   34854             : #line 34855 "gram.c"
   34855          76 :     break;
   34856             : 
   34857       62858 :   case 492: /* opt_column_compression: %empty  */
   34858             : #line 3895 "gram.y"
   34859             :                                                                                                 { (yyval.str) = NULL; }
   34860             : #line 34861 "gram.c"
   34861       62858 :     break;
   34862             : 
   34863         226 :   case 493: /* column_storage: STORAGE ColId  */
   34864             : #line 3899 "gram.y"
   34865             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   34866             : #line 34867 "gram.c"
   34867         226 :     break;
   34868             : 
   34869           6 :   case 494: /* column_storage: STORAGE DEFAULT  */
   34870             : #line 3900 "gram.y"
   34871             :                                                                                         { (yyval.str) = pstrdup("default"); }
   34872             : #line 34873 "gram.c"
   34873           6 :     break;
   34874             : 
   34875          20 :   case 495: /* opt_column_storage: column_storage  */
   34876             : #line 3904 "gram.y"
   34877             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   34878             : #line 34879 "gram.c"
   34879          20 :     break;
   34880             : 
   34881       62914 :   case 496: /* opt_column_storage: %empty  */
   34882             : #line 3905 "gram.y"
   34883             :                                                                                                 { (yyval.str) = NULL; }
   34884             : #line 34885 "gram.c"
   34885       62914 :     break;
   34886             : 
   34887       17026 :   case 497: /* ColQualList: ColQualList ColConstraint  */
   34888             : #line 3909 "gram.y"
   34889             :                                                                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
   34890             : #line 34891 "gram.c"
   34891       17026 :     break;
   34892             : 
   34893       64396 :   case 498: /* ColQualList: %empty  */
   34894             : #line 3910 "gram.y"
   34895             :                                                                                                 { (yyval.list) = NIL; }
   34896             : #line 34897 "gram.c"
   34897       64396 :     break;
   34898             : 
   34899         682 :   case 499: /* ColConstraint: CONSTRAINT name ColConstraintElem  */
   34900             : #line 3915 "gram.y"
   34901             :                                 {
   34902             :                     Constraint *n = castNode(Constraint, (yyvsp[0].node));
   34903             : 
   34904             :                     n->conname = (yyvsp[-1].str);
   34905             :                     n->location = (yylsp[-2]);
   34906             :                     (yyval.node) = (Node *) n;
   34907             :                 }
   34908             : #line 34909 "gram.c"
   34909         682 :     break;
   34910             : 
   34911       15556 :   case 500: /* ColConstraint: ColConstraintElem  */
   34912             : #line 3922 "gram.y"
   34913             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   34914             : #line 34915 "gram.c"
   34915       15556 :     break;
   34916             : 
   34917         174 :   case 501: /* ColConstraint: ConstraintAttr  */
   34918             : #line 3923 "gram.y"
   34919             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   34920             : #line 34921 "gram.c"
   34921         174 :     break;
   34922             : 
   34923         614 :   case 502: /* ColConstraint: COLLATE any_name  */
   34924             : #line 3925 "gram.y"
   34925             :                                 {
   34926             :                     /*
   34927             :                      * Note: the CollateClause is momentarily included in
   34928             :                      * the list built by ColQualList, but we split it out
   34929             :                      * again in SplitColQualList.
   34930             :                      */
   34931             :                     CollateClause *n = makeNode(CollateClause);
   34932             : 
   34933             :                     n->arg = NULL;
   34934             :                     n->collname = (yyvsp[0].list);
   34935             :                     n->location = (yylsp[-1]);
   34936             :                     (yyval.node) = (Node *) n;
   34937             :                 }
   34938             : #line 34939 "gram.c"
   34939         614 :     break;
   34940             : 
   34941        6006 :   case 503: /* ColConstraintElem: NOT NULL_P opt_no_inherit  */
   34942             : #line 3957 "gram.y"
   34943             :                                 {
   34944             :                     Constraint *n = makeNode(Constraint);
   34945             : 
   34946             :                     n->contype = CONSTR_NOTNULL;
   34947             :                     n->location = (yylsp[-2]);
   34948             :                     n->is_no_inherit = (yyvsp[0].boolean);
   34949             :                     n->skip_validation = false;
   34950             :                     n->initially_valid = true;
   34951             :                     (yyval.node) = (Node *) n;
   34952             :                 }
   34953             : #line 34954 "gram.c"
   34954        6006 :     break;
   34955             : 
   34956          24 :   case 504: /* ColConstraintElem: NULL_P  */
   34957             : #line 3968 "gram.y"
   34958             :                                 {
   34959             :                     Constraint *n = makeNode(Constraint);
   34960             : 
   34961             :                     n->contype = CONSTR_NULL;
   34962             :                     n->location = (yylsp[0]);
   34963             :                     (yyval.node) = (Node *) n;
   34964             :                 }
   34965             : #line 34966 "gram.c"
   34966          24 :     break;
   34967             : 
   34968         416 :   case 505: /* ColConstraintElem: UNIQUE opt_unique_null_treatment opt_definition OptConsTableSpace  */
   34969             : #line 3976 "gram.y"
   34970             :                                 {
   34971             :                     Constraint *n = makeNode(Constraint);
   34972             : 
   34973             :                     n->contype = CONSTR_UNIQUE;
   34974             :                     n->location = (yylsp[-3]);
   34975             :                     n->nulls_not_distinct = !(yyvsp[-2].boolean);
   34976             :                     n->keys = NULL;
   34977             :                     n->options = (yyvsp[-1].list);
   34978             :                     n->indexname = NULL;
   34979             :                     n->indexspace = (yyvsp[0].str);
   34980             :                     (yyval.node) = (Node *) n;
   34981             :                 }
   34982             : #line 34983 "gram.c"
   34983         416 :     break;
   34984             : 
   34985        5376 :   case 506: /* ColConstraintElem: PRIMARY KEY opt_definition OptConsTableSpace  */
   34986             : #line 3989 "gram.y"
   34987             :                                 {
   34988             :                     Constraint *n = makeNode(Constraint);
   34989             : 
   34990             :                     n->contype = CONSTR_PRIMARY;
   34991             :                     n->location = (yylsp[-3]);
   34992             :                     n->keys = NULL;
   34993             :                     n->options = (yyvsp[-1].list);
   34994             :                     n->indexname = NULL;
   34995             :                     n->indexspace = (yyvsp[0].str);
   34996             :                     (yyval.node) = (Node *) n;
   34997             :                 }
   34998             : #line 34999 "gram.c"
   34999        5376 :     break;
   35000             : 
   35001         870 :   case 507: /* ColConstraintElem: CHECK '(' a_expr ')' opt_no_inherit  */
   35002             : #line 4001 "gram.y"
   35003             :                                 {
   35004             :                     Constraint *n = makeNode(Constraint);
   35005             : 
   35006             :                     n->contype = CONSTR_CHECK;
   35007             :                     n->location = (yylsp[-4]);
   35008             :                     n->is_no_inherit = (yyvsp[0].boolean);
   35009             :                     n->raw_expr = (yyvsp[-2].node);
   35010             :                     n->cooked_expr = NULL;
   35011             :                     n->skip_validation = false;
   35012             :                     n->initially_valid = true;
   35013             :                     (yyval.node) = (Node *) n;
   35014             :                 }
   35015             : #line 35016 "gram.c"
   35016         870 :     break;
   35017             : 
   35018        1634 :   case 508: /* ColConstraintElem: DEFAULT b_expr  */
   35019             : #line 4014 "gram.y"
   35020             :                                 {
   35021             :                     Constraint *n = makeNode(Constraint);
   35022             : 
   35023             :                     n->contype = CONSTR_DEFAULT;
   35024             :                     n->location = (yylsp[-1]);
   35025             :                     n->raw_expr = (yyvsp[0].node);
   35026             :                     n->cooked_expr = NULL;
   35027             :                     (yyval.node) = (Node *) n;
   35028             :                 }
   35029             : #line 35030 "gram.c"
   35030        1634 :     break;
   35031             : 
   35032         290 :   case 509: /* ColConstraintElem: GENERATED generated_when AS IDENTITY_P OptParenthesizedSeqOptList  */
   35033             : #line 4024 "gram.y"
   35034             :                                 {
   35035             :                     Constraint *n = makeNode(Constraint);
   35036             : 
   35037             :                     n->contype = CONSTR_IDENTITY;
   35038             :                     n->generated_when = (yyvsp[-3].ival);
   35039             :                     n->options = (yyvsp[0].list);
   35040             :                     n->location = (yylsp[-4]);
   35041             :                     (yyval.node) = (Node *) n;
   35042             :                 }
   35043             : #line 35044 "gram.c"
   35044         290 :     break;
   35045             : 
   35046         872 :   case 510: /* ColConstraintElem: GENERATED generated_when AS '(' a_expr ')' STORED  */
   35047             : #line 4034 "gram.y"
   35048             :                                 {
   35049             :                     Constraint *n = makeNode(Constraint);
   35050             : 
   35051             :                     n->contype = CONSTR_GENERATED;
   35052             :                     n->generated_when = (yyvsp[-5].ival);
   35053             :                     n->raw_expr = (yyvsp[-2].node);
   35054             :                     n->cooked_expr = NULL;
   35055             :                     n->location = (yylsp[-6]);
   35056             : 
   35057             :                     /*
   35058             :                      * Can't do this in the grammar because of shift/reduce
   35059             :                      * conflicts.  (IDENTITY allows both ALWAYS and BY
   35060             :                      * DEFAULT, but generated columns only allow ALWAYS.)  We
   35061             :                      * can also give a more useful error message and location.
   35062             :                      */
   35063             :                     if ((yyvsp[-5].ival) != ATTRIBUTE_IDENTITY_ALWAYS)
   35064             :                         ereport(ERROR,
   35065             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   35066             :                                  errmsg("for a generated column, GENERATED ALWAYS must be specified"),
   35067             :                                  parser_errposition((yylsp[-5]))));
   35068             : 
   35069             :                     (yyval.node) = (Node *) n;
   35070             :                 }
   35071             : #line 35072 "gram.c"
   35072         866 :     break;
   35073             : 
   35074         756 :   case 511: /* ColConstraintElem: REFERENCES qualified_name opt_column_list key_match key_actions  */
   35075             : #line 4058 "gram.y"
   35076             :                                 {
   35077             :                     Constraint *n = makeNode(Constraint);
   35078             : 
   35079             :                     n->contype = CONSTR_FOREIGN;
   35080             :                     n->location = (yylsp[-4]);
   35081             :                     n->pktable = (yyvsp[-3].range);
   35082             :                     n->fk_attrs = NIL;
   35083             :                     n->pk_attrs = (yyvsp[-2].list);
   35084             :                     n->fk_matchtype = (yyvsp[-1].ival);
   35085             :                     n->fk_upd_action = ((yyvsp[0].keyactions))->updateAction->action;
   35086             :                     n->fk_del_action = ((yyvsp[0].keyactions))->deleteAction->action;
   35087             :                     n->fk_del_set_cols = ((yyvsp[0].keyactions))->deleteAction->cols;
   35088             :                     n->skip_validation = false;
   35089             :                     n->initially_valid = true;
   35090             :                     (yyval.node) = (Node *) n;
   35091             :                 }
   35092             : #line 35093 "gram.c"
   35093         756 :     break;
   35094             : 
   35095          12 :   case 512: /* opt_unique_null_treatment: NULLS_P DISTINCT  */
   35096             : #line 4077 "gram.y"
   35097             :                                                         { (yyval.boolean) = true; }
   35098             : #line 35099 "gram.c"
   35099          12 :     break;
   35100             : 
   35101          30 :   case 513: /* opt_unique_null_treatment: NULLS_P NOT DISTINCT  */
   35102             : #line 4078 "gram.y"
   35103             :                                                 { (yyval.boolean) = false; }
   35104             : #line 35105 "gram.c"
   35105          30 :     break;
   35106             : 
   35107        7220 :   case 514: /* opt_unique_null_treatment: %empty  */
   35108             : #line 4079 "gram.y"
   35109             :                                                                 { (yyval.boolean) = true; }
   35110             : #line 35111 "gram.c"
   35111        7220 :     break;
   35112             : 
   35113        1202 :   case 515: /* generated_when: ALWAYS  */
   35114             : #line 4083 "gram.y"
   35115             :                                                 { (yyval.ival) = ATTRIBUTE_IDENTITY_ALWAYS; }
   35116             : #line 35117 "gram.c"
   35117        1202 :     break;
   35118             : 
   35119         160 :   case 516: /* generated_when: BY DEFAULT  */
   35120             : #line 4084 "gram.y"
   35121             :                                         { (yyval.ival) = ATTRIBUTE_IDENTITY_BY_DEFAULT; }
   35122             : #line 35123 "gram.c"
   35123         160 :     break;
   35124             : 
   35125          96 :   case 517: /* ConstraintAttr: DEFERRABLE  */
   35126             : #line 4104 "gram.y"
   35127             :                                 {
   35128             :                     Constraint *n = makeNode(Constraint);
   35129             : 
   35130             :                     n->contype = CONSTR_ATTR_DEFERRABLE;
   35131             :                     n->location = (yylsp[0]);
   35132             :                     (yyval.node) = (Node *) n;
   35133             :                 }
   35134             : #line 35135 "gram.c"
   35135          96 :     break;
   35136             : 
   35137           0 :   case 518: /* ConstraintAttr: NOT DEFERRABLE  */
   35138             : #line 4112 "gram.y"
   35139             :                                 {
   35140             :                     Constraint *n = makeNode(Constraint);
   35141             : 
   35142             :                     n->contype = CONSTR_ATTR_NOT_DEFERRABLE;
   35143             :                     n->location = (yylsp[-1]);
   35144             :                     (yyval.node) = (Node *) n;
   35145             :                 }
   35146             : #line 35147 "gram.c"
   35147           0 :     break;
   35148             : 
   35149          72 :   case 519: /* ConstraintAttr: INITIALLY DEFERRED  */
   35150             : #line 4120 "gram.y"
   35151             :                                 {
   35152             :                     Constraint *n = makeNode(Constraint);
   35153             : 
   35154             :                     n->contype = CONSTR_ATTR_DEFERRED;
   35155             :                     n->location = (yylsp[-1]);
   35156             :                     (yyval.node) = (Node *) n;
   35157             :                 }
   35158             : #line 35159 "gram.c"
   35159          72 :     break;
   35160             : 
   35161           6 :   case 520: /* ConstraintAttr: INITIALLY IMMEDIATE  */
   35162             : #line 4128 "gram.y"
   35163             :                                 {
   35164             :                     Constraint *n = makeNode(Constraint);
   35165             : 
   35166             :                     n->contype = CONSTR_ATTR_IMMEDIATE;
   35167             :                     n->location = (yylsp[-1]);
   35168             :                     (yyval.node) = (Node *) n;
   35169             :                 }
   35170             : #line 35171 "gram.c"
   35171           6 :     break;
   35172             : 
   35173         726 :   case 521: /* TableLikeClause: LIKE qualified_name TableLikeOptionList  */
   35174             : #line 4140 "gram.y"
   35175             :                                 {
   35176             :                     TableLikeClause *n = makeNode(TableLikeClause);
   35177             : 
   35178             :                     n->relation = (yyvsp[-1].range);
   35179             :                     n->options = (yyvsp[0].ival);
   35180             :                     n->relationOid = InvalidOid;
   35181             :                     (yyval.node) = (Node *) n;
   35182             :                 }
   35183             : #line 35184 "gram.c"
   35184         726 :     break;
   35185             : 
   35186         252 :   case 522: /* TableLikeOptionList: TableLikeOptionList INCLUDING TableLikeOption  */
   35187             : #line 4151 "gram.y"
   35188             :                                                                                 { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
   35189             : #line 35190 "gram.c"
   35190         252 :     break;
   35191             : 
   35192           2 :   case 523: /* TableLikeOptionList: TableLikeOptionList EXCLUDING TableLikeOption  */
   35193             : #line 4152 "gram.y"
   35194             :                                                                                 { (yyval.ival) = (yyvsp[-2].ival) & ~(yyvsp[0].ival); }
   35195             : #line 35196 "gram.c"
   35196           2 :     break;
   35197             : 
   35198         726 :   case 524: /* TableLikeOptionList: %empty  */
   35199             : #line 4153 "gram.y"
   35200             :                                                                                         { (yyval.ival) = 0; }
   35201             : #line 35202 "gram.c"
   35202         726 :     break;
   35203             : 
   35204          24 :   case 525: /* TableLikeOption: COMMENTS  */
   35205             : #line 4157 "gram.y"
   35206             :                                                                 { (yyval.ival) = CREATE_TABLE_LIKE_COMMENTS; }
   35207             : #line 35208 "gram.c"
   35208          24 :     break;
   35209             : 
   35210           6 :   case 526: /* TableLikeOption: COMPRESSION  */
   35211             : #line 4158 "gram.y"
   35212             :                                                         { (yyval.ival) = CREATE_TABLE_LIKE_COMPRESSION; }
   35213             : #line 35214 "gram.c"
   35214           6 :     break;
   35215             : 
   35216          54 :   case 527: /* TableLikeOption: CONSTRAINTS  */
   35217             : #line 4159 "gram.y"
   35218             :                                                         { (yyval.ival) = CREATE_TABLE_LIKE_CONSTRAINTS; }
   35219             : #line 35220 "gram.c"
   35220          54 :     break;
   35221             : 
   35222          20 :   case 528: /* TableLikeOption: DEFAULTS  */
   35223             : #line 4160 "gram.y"
   35224             :                                                                 { (yyval.ival) = CREATE_TABLE_LIKE_DEFAULTS; }
   35225             : #line 35226 "gram.c"
   35226          20 :     break;
   35227             : 
   35228           6 :   case 529: /* TableLikeOption: IDENTITY_P  */
   35229             : #line 4161 "gram.y"
   35230             :                                                         { (yyval.ival) = CREATE_TABLE_LIKE_IDENTITY; }
   35231             : #line 35232 "gram.c"
   35232           6 :     break;
   35233             : 
   35234          24 :   case 530: /* TableLikeOption: GENERATED  */
   35235             : #line 4162 "gram.y"
   35236             :                                                                 { (yyval.ival) = CREATE_TABLE_LIKE_GENERATED; }
   35237             : #line 35238 "gram.c"
   35238          24 :     break;
   35239             : 
   35240          50 :   case 531: /* TableLikeOption: INDEXES  */
   35241             : #line 4163 "gram.y"
   35242             :                                                                 { (yyval.ival) = CREATE_TABLE_LIKE_INDEXES; }
   35243             : #line 35244 "gram.c"
   35244          50 :     break;
   35245             : 
   35246           0 :   case 532: /* TableLikeOption: STATISTICS  */
   35247             : #line 4164 "gram.y"
   35248             :                                                         { (yyval.ival) = CREATE_TABLE_LIKE_STATISTICS; }
   35249             : #line 35250 "gram.c"
   35250           0 :     break;
   35251             : 
   35252          26 :   case 533: /* TableLikeOption: STORAGE  */
   35253             : #line 4165 "gram.y"
   35254             :                                                                 { (yyval.ival) = CREATE_TABLE_LIKE_STORAGE; }
   35255             : #line 35256 "gram.c"
   35256          26 :     break;
   35257             : 
   35258          44 :   case 534: /* TableLikeOption: ALL  */
   35259             : #line 4166 "gram.y"
   35260             :                                                                 { (yyval.ival) = CREATE_TABLE_LIKE_ALL; }
   35261             : #line 35262 "gram.c"
   35262          44 :     break;
   35263             : 
   35264        3296 :   case 535: /* TableConstraint: CONSTRAINT name ConstraintElem  */
   35265             : #line 4176 "gram.y"
   35266             :                                 {
   35267             :                     Constraint *n = castNode(Constraint, (yyvsp[0].node));
   35268             : 
   35269             :                     n->conname = (yyvsp[-1].str);
   35270             :                     n->location = (yylsp[-2]);
   35271             :                     (yyval.node) = (Node *) n;
   35272             :                 }
   35273             : #line 35274 "gram.c"
   35274        3296 :     break;
   35275             : 
   35276       10764 :   case 536: /* TableConstraint: ConstraintElem  */
   35277             : #line 4183 "gram.y"
   35278             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   35279             : #line 35280 "gram.c"
   35280       10764 :     break;
   35281             : 
   35282        1038 :   case 537: /* ConstraintElem: CHECK '(' a_expr ')' ConstraintAttributeSpec  */
   35283             : #line 4188 "gram.y"
   35284             :                                 {
   35285             :                     Constraint *n = makeNode(Constraint);
   35286             : 
   35287             :                     n->contype = CONSTR_CHECK;
   35288             :                     n->location = (yylsp[-4]);
   35289             :                     n->raw_expr = (yyvsp[-2].node);
   35290             :                     n->cooked_expr = NULL;
   35291             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "CHECK",
   35292             :                                    NULL, NULL, &n->skip_validation,
   35293             :                                    &n->is_no_inherit, yyscanner);
   35294             :                     n->initially_valid = !n->skip_validation;
   35295             :                     (yyval.node) = (Node *) n;
   35296             :                 }
   35297             : #line 35298 "gram.c"
   35298        1038 :     break;
   35299             : 
   35300         176 :   case 538: /* ConstraintElem: NOT NULL_P ColId ConstraintAttributeSpec  */
   35301             : #line 4202 "gram.y"
   35302             :                                 {
   35303             :                     Constraint *n = makeNode(Constraint);
   35304             : 
   35305             :                     n->contype = CONSTR_NOTNULL;
   35306             :                     n->location = (yylsp[-3]);
   35307             :                     n->keys = list_make1(makeString((yyvsp[-1].str)));
   35308             :                     /* no NOT VALID support yet */
   35309             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "NOT NULL",
   35310             :                                    NULL, NULL, NULL,
   35311             :                                    &n->is_no_inherit, yyscanner);
   35312             :                     n->initially_valid = true;
   35313             :                     (yyval.node) = (Node *) n;
   35314             :                 }
   35315             : #line 35316 "gram.c"
   35316         176 :     break;
   35317             : 
   35318         514 :   case 539: /* ConstraintElem: UNIQUE opt_unique_null_treatment '(' columnList opt_without_overlaps ')' opt_c_include opt_definition OptConsTableSpace ConstraintAttributeSpec  */
   35319             : #line 4217 "gram.y"
   35320             :                                 {
   35321             :                     Constraint *n = makeNode(Constraint);
   35322             : 
   35323             :                     n->contype = CONSTR_UNIQUE;
   35324             :                     n->location = (yylsp[-9]);
   35325             :                     n->nulls_not_distinct = !(yyvsp[-8].boolean);
   35326             :                     n->keys = (yyvsp[-6].list);
   35327             :                     n->without_overlaps = (yyvsp[-5].boolean);
   35328             :                     n->including = (yyvsp[-3].list);
   35329             :                     n->options = (yyvsp[-2].list);
   35330             :                     n->indexname = NULL;
   35331             :                     n->indexspace = (yyvsp[-1].str);
   35332             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "UNIQUE",
   35333             :                                    &n->deferrable, &n->initdeferred, NULL,
   35334             :                                    NULL, yyscanner);
   35335             :                     (yyval.node) = (Node *) n;
   35336             :                 }
   35337             : #line 35338 "gram.c"
   35338         514 :     break;
   35339             : 
   35340        3682 :   case 540: /* ConstraintElem: UNIQUE ExistingIndex ConstraintAttributeSpec  */
   35341             : #line 4235 "gram.y"
   35342             :                                 {
   35343             :                     Constraint *n = makeNode(Constraint);
   35344             : 
   35345             :                     n->contype = CONSTR_UNIQUE;
   35346             :                     n->location = (yylsp[-2]);
   35347             :                     n->keys = NIL;
   35348             :                     n->including = NIL;
   35349             :                     n->options = NIL;
   35350             :                     n->indexname = (yyvsp[-1].str);
   35351             :                     n->indexspace = NULL;
   35352             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "UNIQUE",
   35353             :                                    &n->deferrable, &n->initdeferred, NULL,
   35354             :                                    NULL, yyscanner);
   35355             :                     (yyval.node) = (Node *) n;
   35356             :                 }
   35357             : #line 35358 "gram.c"
   35358        3682 :     break;
   35359             : 
   35360        1918 :   case 541: /* ConstraintElem: PRIMARY KEY '(' columnList opt_without_overlaps ')' opt_c_include opt_definition OptConsTableSpace ConstraintAttributeSpec  */
   35361             : #line 4252 "gram.y"
   35362             :                                 {
   35363             :                     Constraint *n = makeNode(Constraint);
   35364             : 
   35365             :                     n->contype = CONSTR_PRIMARY;
   35366             :                     n->location = (yylsp[-9]);
   35367             :                     n->keys = (yyvsp[-6].list);
   35368             :                     n->without_overlaps = (yyvsp[-5].boolean);
   35369             :                     n->including = (yyvsp[-3].list);
   35370             :                     n->options = (yyvsp[-2].list);
   35371             :                     n->indexname = NULL;
   35372             :                     n->indexspace = (yyvsp[-1].str);
   35373             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "PRIMARY KEY",
   35374             :                                    &n->deferrable, &n->initdeferred, NULL,
   35375             :                                    NULL, yyscanner);
   35376             :                     (yyval.node) = (Node *) n;
   35377             :                 }
   35378             : #line 35379 "gram.c"
   35379        1918 :     break;
   35380             : 
   35381        4778 :   case 542: /* ConstraintElem: PRIMARY KEY ExistingIndex ConstraintAttributeSpec  */
   35382             : #line 4269 "gram.y"
   35383             :                                 {
   35384             :                     Constraint *n = makeNode(Constraint);
   35385             : 
   35386             :                     n->contype = CONSTR_PRIMARY;
   35387             :                     n->location = (yylsp[-3]);
   35388             :                     n->keys = NIL;
   35389             :                     n->including = NIL;
   35390             :                     n->options = NIL;
   35391             :                     n->indexname = (yyvsp[-1].str);
   35392             :                     n->indexspace = NULL;
   35393             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "PRIMARY KEY",
   35394             :                                    &n->deferrable, &n->initdeferred, NULL,
   35395             :                                    NULL, yyscanner);
   35396             :                     (yyval.node) = (Node *) n;
   35397             :                 }
   35398             : #line 35399 "gram.c"
   35399        4778 :     break;
   35400             : 
   35401         234 :   case 543: /* ConstraintElem: EXCLUDE access_method_clause '(' ExclusionConstraintList ')' opt_c_include opt_definition OptConsTableSpace OptWhereClause ConstraintAttributeSpec  */
   35402             : #line 4287 "gram.y"
   35403             :                                 {
   35404             :                     Constraint *n = makeNode(Constraint);
   35405             : 
   35406             :                     n->contype = CONSTR_EXCLUSION;
   35407             :                     n->location = (yylsp[-9]);
   35408             :                     n->access_method = (yyvsp[-8].str);
   35409             :                     n->exclusions = (yyvsp[-6].list);
   35410             :                     n->including = (yyvsp[-4].list);
   35411             :                     n->options = (yyvsp[-3].list);
   35412             :                     n->indexname = NULL;
   35413             :                     n->indexspace = (yyvsp[-2].str);
   35414             :                     n->where_clause = (yyvsp[-1].node);
   35415             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "EXCLUDE",
   35416             :                                    &n->deferrable, &n->initdeferred, NULL,
   35417             :                                    NULL, yyscanner);
   35418             :                     (yyval.node) = (Node *) n;
   35419             :                 }
   35420             : #line 35421 "gram.c"
   35421         234 :     break;
   35422             : 
   35423        1720 :   case 544: /* ConstraintElem: FOREIGN KEY '(' columnList optionalPeriodName ')' REFERENCES qualified_name opt_column_and_period_list key_match key_actions ConstraintAttributeSpec  */
   35424             : #line 4306 "gram.y"
   35425             :                                 {
   35426             :                     Constraint *n = makeNode(Constraint);
   35427             : 
   35428             :                     n->contype = CONSTR_FOREIGN;
   35429             :                     n->location = (yylsp[-11]);
   35430             :                     n->pktable = (yyvsp[-4].range);
   35431             :                     n->fk_attrs = (yyvsp[-8].list);
   35432             :                     if ((yyvsp[-7].node))
   35433             :                     {
   35434             :                         n->fk_attrs = lappend(n->fk_attrs, (yyvsp[-7].node));
   35435             :                         n->fk_with_period = true;
   35436             :                     }
   35437             :                     n->pk_attrs = linitial((yyvsp[-3].list));
   35438             :                     if (lsecond((yyvsp[-3].list)))
   35439             :                     {
   35440             :                         n->pk_attrs = lappend(n->pk_attrs, lsecond((yyvsp[-3].list)));
   35441             :                         n->pk_with_period = true;
   35442             :                     }
   35443             :                     n->fk_matchtype = (yyvsp[-2].ival);
   35444             :                     n->fk_upd_action = ((yyvsp[-1].keyactions))->updateAction->action;
   35445             :                     n->fk_del_action = ((yyvsp[-1].keyactions))->deleteAction->action;
   35446             :                     n->fk_del_set_cols = ((yyvsp[-1].keyactions))->deleteAction->cols;
   35447             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "FOREIGN KEY",
   35448             :                                    &n->deferrable, &n->initdeferred,
   35449             :                                    &n->skip_validation, NULL,
   35450             :                                    yyscanner);
   35451             :                     n->initially_valid = !n->skip_validation;
   35452             :                     (yyval.node) = (Node *) n;
   35453             :                 }
   35454             : #line 35455 "gram.c"
   35455        1720 :     break;
   35456             : 
   35457         150 :   case 545: /* DomainConstraint: CONSTRAINT name DomainConstraintElem  */
   35458             : #line 4350 "gram.y"
   35459             :                                 {
   35460             :                     Constraint *n = castNode(Constraint, (yyvsp[0].node));
   35461             : 
   35462             :                     n->conname = (yyvsp[-1].str);
   35463             :                     n->location = (yylsp[-2]);
   35464             :                     (yyval.node) = (Node *) n;
   35465             :                 }
   35466             : #line 35467 "gram.c"
   35467         150 :     break;
   35468             : 
   35469          18 :   case 546: /* DomainConstraint: DomainConstraintElem  */
   35470             : #line 4357 "gram.y"
   35471             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   35472             : #line 35473 "gram.c"
   35473          18 :     break;
   35474             : 
   35475         144 :   case 547: /* DomainConstraintElem: CHECK '(' a_expr ')' ConstraintAttributeSpec  */
   35476             : #line 4362 "gram.y"
   35477             :                                 {
   35478             :                     Constraint *n = makeNode(Constraint);
   35479             : 
   35480             :                     n->contype = CONSTR_CHECK;
   35481             :                     n->location = (yylsp[-4]);
   35482             :                     n->raw_expr = (yyvsp[-2].node);
   35483             :                     n->cooked_expr = NULL;
   35484             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "CHECK",
   35485             :                                    NULL, NULL, &n->skip_validation,
   35486             :                                    &n->is_no_inherit, yyscanner);
   35487             :                     n->initially_valid = !n->skip_validation;
   35488             :                     (yyval.node) = (Node *) n;
   35489             :                 }
   35490             : #line 35491 "gram.c"
   35491         144 :     break;
   35492             : 
   35493          24 :   case 548: /* DomainConstraintElem: NOT NULL_P ConstraintAttributeSpec  */
   35494             : #line 4376 "gram.y"
   35495             :                                 {
   35496             :                     Constraint *n = makeNode(Constraint);
   35497             : 
   35498             :                     n->contype = CONSTR_NOTNULL;
   35499             :                     n->location = (yylsp[-2]);
   35500             :                     n->keys = list_make1(makeString("value"));
   35501             :                     /* no NOT VALID support yet */
   35502             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "NOT NULL",
   35503             :                                    NULL, NULL, NULL,
   35504             :                                    &n->is_no_inherit, yyscanner);
   35505             :                     n->initially_valid = true;
   35506             :                     (yyval.node) = (Node *) n;
   35507             :                 }
   35508             : #line 35509 "gram.c"
   35509          24 :     break;
   35510             : 
   35511         226 :   case 549: /* opt_no_inherit: NO INHERIT  */
   35512             : #line 4391 "gram.y"
   35513             :                                                                                 {  (yyval.boolean) = true; }
   35514             : #line 35515 "gram.c"
   35515         226 :     break;
   35516             : 
   35517        6650 :   case 550: /* opt_no_inherit: %empty  */
   35518             : #line 4392 "gram.y"
   35519             :                                                                                         {  (yyval.boolean) = false; }
   35520             : #line 35521 "gram.c"
   35521        6650 :     break;
   35522             : 
   35523         392 :   case 551: /* opt_without_overlaps: WITHOUT OVERLAPS  */
   35524             : #line 4396 "gram.y"
   35525             :                                                                                         { (yyval.boolean) = true; }
   35526             : #line 35527 "gram.c"
   35527         392 :     break;
   35528             : 
   35529        2040 :   case 552: /* opt_without_overlaps: %empty  */
   35530             : #line 4397 "gram.y"
   35531             :                                                                                                 { (yyval.boolean) = false; }
   35532             : #line 35533 "gram.c"
   35533        2040 :     break;
   35534             : 
   35535        8692 :   case 553: /* opt_column_list: '(' columnList ')'  */
   35536             : #line 4401 "gram.y"
   35537             :                                                                                         { (yyval.list) = (yyvsp[-1].list); }
   35538             : #line 35539 "gram.c"
   35539        8692 :     break;
   35540             : 
   35541       32928 :   case 554: /* opt_column_list: %empty  */
   35542             : #line 4402 "gram.y"
   35543             :                                                                                                 { (yyval.list) = NIL; }
   35544             : #line 35545 "gram.c"
   35545       32928 :     break;
   35546             : 
   35547       14534 :   case 555: /* columnList: columnElem  */
   35548             : #line 4406 "gram.y"
   35549             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   35550             : #line 35551 "gram.c"
   35551       14534 :     break;
   35552             : 
   35553       24506 :   case 556: /* columnList: columnList ',' columnElem  */
   35554             : #line 4407 "gram.y"
   35555             :                                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   35556             : #line 35557 "gram.c"
   35557       24506 :     break;
   35558             : 
   35559         464 :   case 557: /* optionalPeriodName: ',' PERIOD columnElem  */
   35560             : #line 4411 "gram.y"
   35561             :                                               { (yyval.node) = (yyvsp[0].node); }
   35562             : #line 35563 "gram.c"
   35563         464 :     break;
   35564             : 
   35565        2388 :   case 558: /* optionalPeriodName: %empty  */
   35566             : #line 4412 "gram.y"
   35567             :                                                   { (yyval.node) = NULL; }
   35568             : #line 35569 "gram.c"
   35569        2388 :     break;
   35570             : 
   35571        1126 :   case 559: /* opt_column_and_period_list: '(' columnList optionalPeriodName ')'  */
   35572             : #line 4416 "gram.y"
   35573             :                                                                                 { (yyval.list) = list_make2((yyvsp[-2].list), (yyvsp[-1].node)); }
   35574             : #line 35575 "gram.c"
   35575        1126 :     break;
   35576             : 
   35577         600 :   case 560: /* opt_column_and_period_list: %empty  */
   35578             : #line 4417 "gram.y"
   35579             :                                                                                                 { (yyval.list) = list_make2(NIL, NULL); }
   35580             : #line 35581 "gram.c"
   35581         600 :     break;
   35582             : 
   35583       39504 :   case 561: /* columnElem: ColId  */
   35584             : #line 4421 "gram.y"
   35585             :                                 {
   35586             :                     (yyval.node) = (Node *) makeString((yyvsp[0].str));
   35587             :                 }
   35588             : #line 35589 "gram.c"
   35589       39504 :     break;
   35590             : 
   35591         168 :   case 562: /* opt_c_include: INCLUDE '(' columnList ')'  */
   35592             : #line 4426 "gram.y"
   35593             :                                                                 { (yyval.list) = (yyvsp[-1].list); }
   35594             : #line 35595 "gram.c"
   35595         168 :     break;
   35596             : 
   35597        2498 :   case 563: /* opt_c_include: %empty  */
   35598             : #line 4427 "gram.y"
   35599             :                                                                                                 { (yyval.list) = NIL; }
   35600             : #line 35601 "gram.c"
   35601        2498 :     break;
   35602             : 
   35603          98 :   case 564: /* key_match: MATCH FULL  */
   35604             : #line 4431 "gram.y"
   35605             :                         {
   35606             :                 (yyval.ival) = FKCONSTR_MATCH_FULL;
   35607             :             }
   35608             : #line 35609 "gram.c"
   35609          98 :     break;
   35610             : 
   35611           0 :   case 565: /* key_match: MATCH PARTIAL  */
   35612             : #line 4435 "gram.y"
   35613             :                         {
   35614             :                 ereport(ERROR,
   35615             :                         (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   35616             :                          errmsg("MATCH PARTIAL not yet implemented"),
   35617             :                          parser_errposition((yylsp[-1]))));
   35618             :                 (yyval.ival) = FKCONSTR_MATCH_PARTIAL;
   35619             :             }
   35620             : #line 35621 "gram.c"
   35621             :     break;
   35622             : 
   35623           6 :   case 566: /* key_match: MATCH SIMPLE  */
   35624             : #line 4443 "gram.y"
   35625             :                         {
   35626             :                 (yyval.ival) = FKCONSTR_MATCH_SIMPLE;
   35627             :             }
   35628             : #line 35629 "gram.c"
   35629           6 :     break;
   35630             : 
   35631        2378 :   case 567: /* key_match: %empty  */
   35632             : #line 4447 "gram.y"
   35633             :                         {
   35634             :                 (yyval.ival) = FKCONSTR_MATCH_SIMPLE;
   35635             :             }
   35636             : #line 35637 "gram.c"
   35637        2378 :     break;
   35638             : 
   35639         234 :   case 568: /* ExclusionConstraintList: ExclusionConstraintElem  */
   35640             : #line 4453 "gram.y"
   35641             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].list)); }
   35642             : #line 35643 "gram.c"
   35643         234 :     break;
   35644             : 
   35645         106 :   case 569: /* ExclusionConstraintList: ExclusionConstraintList ',' ExclusionConstraintElem  */
   35646             : #line 4455 "gram.y"
   35647             :                                                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
   35648             : #line 35649 "gram.c"
   35649         106 :     break;
   35650             : 
   35651         340 :   case 570: /* ExclusionConstraintElem: index_elem WITH any_operator  */
   35652             : #line 4459 "gram.y"
   35653             :                         {
   35654             :                 (yyval.list) = list_make2((yyvsp[-2].ielem), (yyvsp[0].list));
   35655             :             }
   35656             : #line 35657 "gram.c"
   35657         340 :     break;
   35658             : 
   35659           0 :   case 571: /* ExclusionConstraintElem: index_elem WITH OPERATOR '(' any_operator ')'  */
   35660             : #line 4464 "gram.y"
   35661             :                         {
   35662             :                 (yyval.list) = list_make2((yyvsp[-5].ielem), (yyvsp[-1].list));
   35663             :             }
   35664             : #line 35665 "gram.c"
   35665           0 :     break;
   35666             : 
   35667         426 :   case 572: /* OptWhereClause: WHERE '(' a_expr ')'  */
   35668             : #line 4470 "gram.y"
   35669             :                                                                                 { (yyval.node) = (yyvsp[-1].node); }
   35670             : #line 35671 "gram.c"
   35671         426 :     break;
   35672             : 
   35673        1134 :   case 573: /* OptWhereClause: %empty  */
   35674             : #line 4471 "gram.y"
   35675             :                                                                                                 { (yyval.node) = NULL; }
   35676             : #line 35677 "gram.c"
   35677        1134 :     break;
   35678             : 
   35679          50 :   case 574: /* key_actions: key_update  */
   35680             : #line 4476 "gram.y"
   35681             :                                 {
   35682             :                     KeyActions *n = palloc(sizeof(KeyActions));
   35683             : 
   35684             :                     n->updateAction = (yyvsp[0].keyaction);
   35685             :                     n->deleteAction = palloc(sizeof(KeyAction));
   35686             :                     n->deleteAction->action = FKCONSTR_ACTION_NOACTION;
   35687             :                     n->deleteAction->cols = NIL;
   35688             :                     (yyval.keyactions) = n;
   35689             :                 }
   35690             : #line 35691 "gram.c"
   35691          50 :     break;
   35692             : 
   35693         160 :   case 575: /* key_actions: key_delete  */
   35694             : #line 4486 "gram.y"
   35695             :                                 {
   35696             :                     KeyActions *n = palloc(sizeof(KeyActions));
   35697             : 
   35698             :                     n->updateAction = palloc(sizeof(KeyAction));
   35699             :                     n->updateAction->action = FKCONSTR_ACTION_NOACTION;
   35700             :                     n->updateAction->cols = NIL;
   35701             :                     n->deleteAction = (yyvsp[0].keyaction);
   35702             :                     (yyval.keyactions) = n;
   35703             :                 }
   35704             : #line 35705 "gram.c"
   35705         160 :     break;
   35706             : 
   35707         150 :   case 576: /* key_actions: key_update key_delete  */
   35708             : #line 4496 "gram.y"
   35709             :                                 {
   35710             :                     KeyActions *n = palloc(sizeof(KeyActions));
   35711             : 
   35712             :                     n->updateAction = (yyvsp[-1].keyaction);
   35713             :                     n->deleteAction = (yyvsp[0].keyaction);
   35714             :                     (yyval.keyactions) = n;
   35715             :                 }
   35716             : #line 35717 "gram.c"
   35717         150 :     break;
   35718             : 
   35719         132 :   case 577: /* key_actions: key_delete key_update  */
   35720             : #line 4504 "gram.y"
   35721             :                                 {
   35722             :                     KeyActions *n = palloc(sizeof(KeyActions));
   35723             : 
   35724             :                     n->updateAction = (yyvsp[0].keyaction);
   35725             :                     n->deleteAction = (yyvsp[-1].keyaction);
   35726             :                     (yyval.keyactions) = n;
   35727             :                 }
   35728             : #line 35729 "gram.c"
   35729         132 :     break;
   35730             : 
   35731        1984 :   case 578: /* key_actions: %empty  */
   35732             : #line 4512 "gram.y"
   35733             :                                 {
   35734             :                     KeyActions *n = palloc(sizeof(KeyActions));
   35735             : 
   35736             :                     n->updateAction = palloc(sizeof(KeyAction));
   35737             :                     n->updateAction->action = FKCONSTR_ACTION_NOACTION;
   35738             :                     n->updateAction->cols = NIL;
   35739             :                     n->deleteAction = palloc(sizeof(KeyAction));
   35740             :                     n->deleteAction->action = FKCONSTR_ACTION_NOACTION;
   35741             :                     n->deleteAction->cols = NIL;
   35742             :                     (yyval.keyactions) = n;
   35743             :                 }
   35744             : #line 35745 "gram.c"
   35745        1984 :     break;
   35746             : 
   35747         338 :   case 579: /* key_update: ON UPDATE key_action  */
   35748             : #line 4526 "gram.y"
   35749             :                                 {
   35750             :                     if (((yyvsp[0].keyaction))->cols)
   35751             :                         ereport(ERROR,
   35752             :                                 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   35753             :                                  errmsg("a column list with %s is only supported for ON DELETE actions",
   35754             :                                         ((yyvsp[0].keyaction))->action == FKCONSTR_ACTION_SETNULL ? "SET NULL" : "SET DEFAULT"),
   35755             :                                  parser_errposition((yylsp[-2]))));
   35756             :                     (yyval.keyaction) = (yyvsp[0].keyaction);
   35757             :                 }
   35758             : #line 35759 "gram.c"
   35759         332 :     break;
   35760             : 
   35761         442 :   case 580: /* key_delete: ON DELETE_P key_action  */
   35762             : #line 4538 "gram.y"
   35763             :                                 {
   35764             :                     (yyval.keyaction) = (yyvsp[0].keyaction);
   35765             :                 }
   35766             : #line 35767 "gram.c"
   35767         442 :     break;
   35768             : 
   35769          74 :   case 581: /* key_action: NO ACTION  */
   35770             : #line 4545 "gram.y"
   35771             :                                 {
   35772             :                     KeyAction *n = palloc(sizeof(KeyAction));
   35773             : 
   35774             :                     n->action = FKCONSTR_ACTION_NOACTION;
   35775             :                     n->cols = NIL;
   35776             :                     (yyval.keyaction) = n;
   35777             :                 }
   35778             : #line 35779 "gram.c"
   35779          74 :     break;
   35780             : 
   35781          58 :   case 582: /* key_action: RESTRICT  */
   35782             : #line 4553 "gram.y"
   35783             :                                 {
   35784             :                     KeyAction *n = palloc(sizeof(KeyAction));
   35785             : 
   35786             :                     n->action = FKCONSTR_ACTION_RESTRICT;
   35787             :                     n->cols = NIL;
   35788             :                     (yyval.keyaction) = n;
   35789             :                 }
   35790             : #line 35791 "gram.c"
   35791          58 :     break;
   35792             : 
   35793         386 :   case 583: /* key_action: CASCADE  */
   35794             : #line 4561 "gram.y"
   35795             :                                 {
   35796             :                     KeyAction *n = palloc(sizeof(KeyAction));
   35797             : 
   35798             :                     n->action = FKCONSTR_ACTION_CASCADE;
   35799             :                     n->cols = NIL;
   35800             :                     (yyval.keyaction) = n;
   35801             :                 }
   35802             : #line 35803 "gram.c"
   35803         386 :     break;
   35804             : 
   35805         172 :   case 584: /* key_action: SET NULL_P opt_column_list  */
   35806             : #line 4569 "gram.y"
   35807             :                                 {
   35808             :                     KeyAction *n = palloc(sizeof(KeyAction));
   35809             : 
   35810             :                     n->action = FKCONSTR_ACTION_SETNULL;
   35811             :                     n->cols = (yyvsp[0].list);
   35812             :                     (yyval.keyaction) = n;
   35813             :                 }
   35814             : #line 35815 "gram.c"
   35815         172 :     break;
   35816             : 
   35817          90 :   case 585: /* key_action: SET DEFAULT opt_column_list  */
   35818             : #line 4577 "gram.y"
   35819             :                                 {
   35820             :                     KeyAction *n = palloc(sizeof(KeyAction));
   35821             : 
   35822             :                     n->action = FKCONSTR_ACTION_SETDEFAULT;
   35823             :                     n->cols = (yyvsp[0].list);
   35824             :                     (yyval.keyaction) = n;
   35825             :                 }
   35826             : #line 35827 "gram.c"
   35827          90 :     break;
   35828             : 
   35829        1794 :   case 586: /* OptInherit: INHERITS '(' qualified_name_list ')'  */
   35830             : #line 4586 "gram.y"
   35831             :                                                         { (yyval.list) = (yyvsp[-1].list); }
   35832             : #line 35833 "gram.c"
   35833        1794 :     break;
   35834             : 
   35835       25534 :   case 587: /* OptInherit: %empty  */
   35836             : #line 4587 "gram.y"
   35837             :                                                                                                 { (yyval.list) = NIL; }
   35838             : #line 35839 "gram.c"
   35839       25534 :     break;
   35840             : 
   35841        4888 :   case 588: /* OptPartitionSpec: PartitionSpec  */
   35842             : #line 4591 "gram.y"
   35843             :                                 { (yyval.partspec) = (yyvsp[0].partspec); }
   35844             : #line 35845 "gram.c"
   35845        4888 :     break;
   35846             : 
   35847       30396 :   case 589: /* OptPartitionSpec: %empty  */
   35848             : #line 4592 "gram.y"
   35849             :                                                         { (yyval.partspec) = NULL; }
   35850             : #line 35851 "gram.c"
   35851       30396 :     break;
   35852             : 
   35853        4894 :   case 590: /* PartitionSpec: PARTITION BY ColId '(' part_params ')'  */
   35854             : #line 4596 "gram.y"
   35855             :                                 {
   35856             :                     PartitionSpec *n = makeNode(PartitionSpec);
   35857             : 
   35858             :                     n->strategy = parsePartitionStrategy((yyvsp[-3].str));
   35859             :                     n->partParams = (yyvsp[-1].list);
   35860             :                     n->location = (yylsp[-5]);
   35861             : 
   35862             :                     (yyval.partspec) = n;
   35863             :                 }
   35864             : #line 35865 "gram.c"
   35865        4888 :     break;
   35866             : 
   35867        4894 :   case 591: /* part_params: part_elem  */
   35868             : #line 4607 "gram.y"
   35869             :                                                                         { (yyval.list) = list_make1((yyvsp[0].partelem)); }
   35870             : #line 35871 "gram.c"
   35871        4894 :     break;
   35872             : 
   35873         462 :   case 592: /* part_params: part_params ',' part_elem  */
   35874             : #line 4608 "gram.y"
   35875             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].partelem)); }
   35876             : #line 35877 "gram.c"
   35877         462 :     break;
   35878             : 
   35879        5058 :   case 593: /* part_elem: ColId opt_collate opt_qualified_name  */
   35880             : #line 4612 "gram.y"
   35881             :                                 {
   35882             :                     PartitionElem *n = makeNode(PartitionElem);
   35883             : 
   35884             :                     n->name = (yyvsp[-2].str);
   35885             :                     n->expr = NULL;
   35886             :                     n->collation = (yyvsp[-1].list);
   35887             :                     n->opclass = (yyvsp[0].list);
   35888             :                     n->location = (yylsp[-2]);
   35889             :                     (yyval.partelem) = n;
   35890             :                 }
   35891             : #line 35892 "gram.c"
   35892        5058 :     break;
   35893             : 
   35894         130 :   case 594: /* part_elem: func_expr_windowless opt_collate opt_qualified_name  */
   35895             : #line 4623 "gram.y"
   35896             :                                 {
   35897             :                     PartitionElem *n = makeNode(PartitionElem);
   35898             : 
   35899             :                     n->name = NULL;
   35900             :                     n->expr = (yyvsp[-2].node);
   35901             :                     n->collation = (yyvsp[-1].list);
   35902             :                     n->opclass = (yyvsp[0].list);
   35903             :                     n->location = (yylsp[-2]);
   35904             :                     (yyval.partelem) = n;
   35905             :                 }
   35906             : #line 35907 "gram.c"
   35907         130 :     break;
   35908             : 
   35909         168 :   case 595: /* part_elem: '(' a_expr ')' opt_collate opt_qualified_name  */
   35910             : #line 4634 "gram.y"
   35911             :                                 {
   35912             :                     PartitionElem *n = makeNode(PartitionElem);
   35913             : 
   35914             :                     n->name = NULL;
   35915             :                     n->expr = (yyvsp[-3].node);
   35916             :                     n->collation = (yyvsp[-1].list);
   35917             :                     n->opclass = (yyvsp[0].list);
   35918             :                     n->location = (yylsp[-4]);
   35919             :                     (yyval.partelem) = n;
   35920             :                 }
   35921             : #line 35922 "gram.c"
   35922         168 :     break;
   35923             : 
   35924         116 :   case 596: /* table_access_method_clause: USING name  */
   35925             : #line 4647 "gram.y"
   35926             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   35927             : #line 35928 "gram.c"
   35928         116 :     break;
   35929             : 
   35930       36978 :   case 597: /* table_access_method_clause: %empty  */
   35931             : #line 4648 "gram.y"
   35932             :                                                                                         { (yyval.str) = NULL; }
   35933             : #line 35934 "gram.c"
   35934       36978 :     break;
   35935             : 
   35936         618 :   case 598: /* OptWith: WITH reloptions  */
   35937             : #line 4653 "gram.y"
   35938             :                                                                 { (yyval.list) = (yyvsp[0].list); }
   35939             : #line 35940 "gram.c"
   35940         618 :     break;
   35941             : 
   35942          24 :   case 599: /* OptWith: WITHOUT OIDS  */
   35943             : #line 4654 "gram.y"
   35944             :                                                                 { (yyval.list) = NIL; }
   35945             : #line 35946 "gram.c"
   35946          24 :     break;
   35947             : 
   35948       35888 :   case 600: /* OptWith: %empty  */
   35949             : #line 4655 "gram.y"
   35950             :                                                                         { (yyval.list) = NIL; }
   35951             : #line 35952 "gram.c"
   35952       35888 :     break;
   35953             : 
   35954          56 :   case 601: /* OnCommitOption: ON COMMIT DROP  */
   35955             : #line 4658 "gram.y"
   35956             :                                                         { (yyval.oncommit) = ONCOMMIT_DROP; }
   35957             : #line 35958 "gram.c"
   35958          56 :     break;
   35959             : 
   35960          98 :   case 602: /* OnCommitOption: ON COMMIT DELETE_P ROWS  */
   35961             : #line 4659 "gram.y"
   35962             :                                                                 { (yyval.oncommit) = ONCOMMIT_DELETE_ROWS; }
   35963             : #line 35964 "gram.c"
   35964          98 :     break;
   35965             : 
   35966          24 :   case 603: /* OnCommitOption: ON COMMIT PRESERVE ROWS  */
   35967             : #line 4660 "gram.y"
   35968             :                                                                 { (yyval.oncommit) = ONCOMMIT_PRESERVE_ROWS; }
   35969             : #line 35970 "gram.c"
   35970          24 :     break;
   35971             : 
   35972       36352 :   case 604: /* OnCommitOption: %empty  */
   35973             : #line 4661 "gram.y"
   35974             :                                                                                 { (yyval.oncommit) = ONCOMMIT_NOOP; }
   35975             : #line 35976 "gram.c"
   35976       36352 :     break;
   35977             : 
   35978         198 :   case 605: /* OptTableSpace: TABLESPACE name  */
   35979             : #line 4664 "gram.y"
   35980             :                                                                         { (yyval.str) = (yyvsp[0].str); }
   35981             : #line 35982 "gram.c"
   35982         198 :     break;
   35983             : 
   35984       43222 :   case 606: /* OptTableSpace: %empty  */
   35985             : #line 4665 "gram.y"
   35986             :                                                                                                 { (yyval.str) = NULL; }
   35987             : #line 35988 "gram.c"
   35988       43222 :     break;
   35989             : 
   35990          66 :   case 607: /* OptConsTableSpace: USING INDEX TABLESPACE name  */
   35991             : #line 4668 "gram.y"
   35992             :                                                         { (yyval.str) = (yyvsp[0].str); }
   35993             : #line 35994 "gram.c"
   35994          66 :     break;
   35995             : 
   35996        8392 :   case 608: /* OptConsTableSpace: %empty  */
   35997             : #line 4669 "gram.y"
   35998             :                                                                                                 { (yyval.str) = NULL; }
   35999             : #line 36000 "gram.c"
   36000        8392 :     break;
   36001             : 
   36002        8460 :   case 609: /* ExistingIndex: USING INDEX name  */
   36003             : #line 4672 "gram.y"
   36004             :                                                                         { (yyval.str) = (yyvsp[0].str); }
   36005             : #line 36006 "gram.c"
   36006        8460 :     break;
   36007             : 
   36008         548 :   case 610: /* CreateStatsStmt: CREATE STATISTICS opt_qualified_name opt_name_list ON stats_params FROM from_list  */
   36009             : #line 4694 "gram.y"
   36010             :                                 {
   36011             :                     CreateStatsStmt *n = makeNode(CreateStatsStmt);
   36012             : 
   36013             :                     n->defnames = (yyvsp[-5].list);
   36014             :                     n->stat_types = (yyvsp[-4].list);
   36015             :                     n->exprs = (yyvsp[-2].list);
   36016             :                     n->relations = (yyvsp[0].list);
   36017             :                     n->stxcomment = NULL;
   36018             :                     n->if_not_exists = false;
   36019             :                     (yyval.node) = (Node *) n;
   36020             :                 }
   36021             : #line 36022 "gram.c"
   36022         548 :     break;
   36023             : 
   36024          12 :   case 611: /* CreateStatsStmt: CREATE STATISTICS IF_P NOT EXISTS any_name opt_name_list ON stats_params FROM from_list  */
   36025             : #line 4707 "gram.y"
   36026             :                                 {
   36027             :                     CreateStatsStmt *n = makeNode(CreateStatsStmt);
   36028             : 
   36029             :                     n->defnames = (yyvsp[-5].list);
   36030             :                     n->stat_types = (yyvsp[-4].list);
   36031             :                     n->exprs = (yyvsp[-2].list);
   36032             :                     n->relations = (yyvsp[0].list);
   36033             :                     n->stxcomment = NULL;
   36034             :                     n->if_not_exists = true;
   36035             :                     (yyval.node) = (Node *) n;
   36036             :                 }
   36037             : #line 36038 "gram.c"
   36038          12 :     break;
   36039             : 
   36040         572 :   case 612: /* stats_params: stats_param  */
   36041             : #line 4727 "gram.y"
   36042             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].selem)); }
   36043             : #line 36044 "gram.c"
   36044         572 :     break;
   36045             : 
   36046         922 :   case 613: /* stats_params: stats_params ',' stats_param  */
   36047             : #line 4728 "gram.y"
   36048             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].selem)); }
   36049             : #line 36050 "gram.c"
   36050         922 :     break;
   36051             : 
   36052        1062 :   case 614: /* stats_param: ColId  */
   36053             : #line 4732 "gram.y"
   36054             :                                 {
   36055             :                     (yyval.selem) = makeNode(StatsElem);
   36056             :                     (yyval.selem)->name = (yyvsp[0].str);
   36057             :                     (yyval.selem)->expr = NULL;
   36058             :                 }
   36059             : #line 36060 "gram.c"
   36060        1062 :     break;
   36061             : 
   36062          20 :   case 615: /* stats_param: func_expr_windowless  */
   36063             : #line 4738 "gram.y"
   36064             :                                 {
   36065             :                     (yyval.selem) = makeNode(StatsElem);
   36066             :                     (yyval.selem)->name = NULL;
   36067             :                     (yyval.selem)->expr = (yyvsp[0].node);
   36068             :                 }
   36069             : #line 36070 "gram.c"
   36070          20 :     break;
   36071             : 
   36072         412 :   case 616: /* stats_param: '(' a_expr ')'  */
   36073             : #line 4744 "gram.y"
   36074             :                                 {
   36075             :                     (yyval.selem) = makeNode(StatsElem);
   36076             :                     (yyval.selem)->name = NULL;
   36077             :                     (yyval.selem)->expr = (yyvsp[-1].node);
   36078             :                 }
   36079             : #line 36080 "gram.c"
   36080         412 :     break;
   36081             : 
   36082          20 :   case 617: /* AlterStatsStmt: ALTER STATISTICS any_name SET STATISTICS set_statistics_value  */
   36083             : #line 4761 "gram.y"
   36084             :                                 {
   36085             :                     AlterStatsStmt *n = makeNode(AlterStatsStmt);
   36086             : 
   36087             :                     n->defnames = (yyvsp[-3].list);
   36088             :                     n->missing_ok = false;
   36089             :                     n->stxstattarget = (yyvsp[0].node);
   36090             :                     (yyval.node) = (Node *) n;
   36091             :                 }
   36092             : #line 36093 "gram.c"
   36093          20 :     break;
   36094             : 
   36095           6 :   case 618: /* AlterStatsStmt: ALTER STATISTICS IF_P EXISTS any_name SET STATISTICS set_statistics_value  */
   36096             : #line 4770 "gram.y"
   36097             :                                 {
   36098             :                     AlterStatsStmt *n = makeNode(AlterStatsStmt);
   36099             : 
   36100             :                     n->defnames = (yyvsp[-3].list);
   36101             :                     n->missing_ok = true;
   36102             :                     n->stxstattarget = (yyvsp[0].node);
   36103             :                     (yyval.node) = (Node *) n;
   36104             :                 }
   36105             : #line 36106 "gram.c"
   36106           6 :     break;
   36107             : 
   36108        1122 :   case 619: /* CreateAsStmt: CREATE OptTemp TABLE create_as_target AS SelectStmt opt_with_data  */
   36109             : #line 4792 "gram.y"
   36110             :                                 {
   36111             :                     CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
   36112             : 
   36113             :                     ctas->query = (yyvsp[-1].node);
   36114             :                     ctas->into = (yyvsp[-3].into);
   36115             :                     ctas->objtype = OBJECT_TABLE;
   36116             :                     ctas->is_select_into = false;
   36117             :                     ctas->if_not_exists = false;
   36118             :                     /* cram additional flags into the IntoClause */
   36119             :                     (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-5].ival);
   36120             :                     (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
   36121             :                     (yyval.node) = (Node *) ctas;
   36122             :                 }
   36123             : #line 36124 "gram.c"
   36124        1122 :     break;
   36125             : 
   36126          52 :   case 620: /* CreateAsStmt: CREATE OptTemp TABLE IF_P NOT EXISTS create_as_target AS SelectStmt opt_with_data  */
   36127             : #line 4806 "gram.y"
   36128             :                                 {
   36129             :                     CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
   36130             : 
   36131             :                     ctas->query = (yyvsp[-1].node);
   36132             :                     ctas->into = (yyvsp[-3].into);
   36133             :                     ctas->objtype = OBJECT_TABLE;
   36134             :                     ctas->is_select_into = false;
   36135             :                     ctas->if_not_exists = true;
   36136             :                     /* cram additional flags into the IntoClause */
   36137             :                     (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-8].ival);
   36138             :                     (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
   36139             :                     (yyval.node) = (Node *) ctas;
   36140             :                 }
   36141             : #line 36142 "gram.c"
   36142          52 :     break;
   36143             : 
   36144        1258 :   case 621: /* create_as_target: qualified_name opt_column_list table_access_method_clause OptWith OnCommitOption OptTableSpace  */
   36145             : #line 4824 "gram.y"
   36146             :                                 {
   36147             :                     (yyval.into) = makeNode(IntoClause);
   36148             :                     (yyval.into)->rel = (yyvsp[-5].range);
   36149             :                     (yyval.into)->colNames = (yyvsp[-4].list);
   36150             :                     (yyval.into)->accessMethod = (yyvsp[-3].str);
   36151             :                     (yyval.into)->options = (yyvsp[-2].list);
   36152             :                     (yyval.into)->onCommit = (yyvsp[-1].oncommit);
   36153             :                     (yyval.into)->tableSpaceName = (yyvsp[0].str);
   36154             :                     (yyval.into)->viewQuery = NULL;
   36155             :                     (yyval.into)->skipData = false;      /* might get changed later */
   36156             :                 }
   36157             : #line 36158 "gram.c"
   36158        1258 :     break;
   36159             : 
   36160          36 :   case 622: /* opt_with_data: WITH DATA_P  */
   36161             : #line 4838 "gram.y"
   36162             :                                                                                                 { (yyval.boolean) = true; }
   36163             : #line 36164 "gram.c"
   36164          36 :     break;
   36165             : 
   36166         212 :   case 623: /* opt_with_data: WITH NO DATA_P  */
   36167             : #line 4839 "gram.y"
   36168             :                                                                                         { (yyval.boolean) = false; }
   36169             : #line 36170 "gram.c"
   36170         212 :     break;
   36171             : 
   36172        1826 :   case 624: /* opt_with_data: %empty  */
   36173             : #line 4840 "gram.y"
   36174             :                                                                                                 { (yyval.boolean) = true; }
   36175             : #line 36176 "gram.c"
   36176        1826 :     break;
   36177             : 
   36178         510 :   case 625: /* CreateMatViewStmt: CREATE OptNoLog MATERIALIZED VIEW create_mv_target AS SelectStmt opt_with_data  */
   36179             : #line 4853 "gram.y"
   36180             :                                 {
   36181             :                     CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
   36182             : 
   36183             :                     ctas->query = (yyvsp[-1].node);
   36184             :                     ctas->into = (yyvsp[-3].into);
   36185             :                     ctas->objtype = OBJECT_MATVIEW;
   36186             :                     ctas->is_select_into = false;
   36187             :                     ctas->if_not_exists = false;
   36188             :                     /* cram additional flags into the IntoClause */
   36189             :                     (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-6].ival);
   36190             :                     (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
   36191             :                     (yyval.node) = (Node *) ctas;
   36192             :                 }
   36193             : #line 36194 "gram.c"
   36194         510 :     break;
   36195             : 
   36196          48 :   case 626: /* CreateMatViewStmt: CREATE OptNoLog MATERIALIZED VIEW IF_P NOT EXISTS create_mv_target AS SelectStmt opt_with_data  */
   36197             : #line 4867 "gram.y"
   36198             :                                 {
   36199             :                     CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
   36200             : 
   36201             :                     ctas->query = (yyvsp[-1].node);
   36202             :                     ctas->into = (yyvsp[-3].into);
   36203             :                     ctas->objtype = OBJECT_MATVIEW;
   36204             :                     ctas->is_select_into = false;
   36205             :                     ctas->if_not_exists = true;
   36206             :                     /* cram additional flags into the IntoClause */
   36207             :                     (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-9].ival);
   36208             :                     (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
   36209             :                     (yyval.node) = (Node *) ctas;
   36210             :                 }
   36211             : #line 36212 "gram.c"
   36212          48 :     break;
   36213             : 
   36214         558 :   case 627: /* create_mv_target: qualified_name opt_column_list table_access_method_clause opt_reloptions OptTableSpace  */
   36215             : #line 4884 "gram.y"
   36216             :                                 {
   36217             :                     (yyval.into) = makeNode(IntoClause);
   36218             :                     (yyval.into)->rel = (yyvsp[-4].range);
   36219             :                     (yyval.into)->colNames = (yyvsp[-3].list);
   36220             :                     (yyval.into)->accessMethod = (yyvsp[-2].str);
   36221             :                     (yyval.into)->options = (yyvsp[-1].list);
   36222             :                     (yyval.into)->onCommit = ONCOMMIT_NOOP;
   36223             :                     (yyval.into)->tableSpaceName = (yyvsp[0].str);
   36224             :                     (yyval.into)->viewQuery = NULL;      /* filled at analysis time */
   36225             :                     (yyval.into)->skipData = false;      /* might get changed later */
   36226             :                 }
   36227             : #line 36228 "gram.c"
   36228         558 :     break;
   36229             : 
   36230           0 :   case 628: /* OptNoLog: UNLOGGED  */
   36231             : #line 4897 "gram.y"
   36232             :                                                                 { (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
   36233             : #line 36234 "gram.c"
   36234           0 :     break;
   36235             : 
   36236         558 :   case 629: /* OptNoLog: %empty  */
   36237             : #line 4898 "gram.y"
   36238             :                                                                         { (yyval.ival) = RELPERSISTENCE_PERMANENT; }
   36239             : #line 36240 "gram.c"
   36240         558 :     break;
   36241             : 
   36242         258 :   case 630: /* RefreshMatViewStmt: REFRESH MATERIALIZED VIEW opt_concurrently qualified_name opt_with_data  */
   36243             : #line 4911 "gram.y"
   36244             :                                 {
   36245             :                     RefreshMatViewStmt *n = makeNode(RefreshMatViewStmt);
   36246             : 
   36247             :                     n->concurrent = (yyvsp[-2].boolean);
   36248             :                     n->relation = (yyvsp[-1].range);
   36249             :                     n->skipData = !((yyvsp[0].boolean));
   36250             :                     (yyval.node) = (Node *) n;
   36251             :                 }
   36252             : #line 36253 "gram.c"
   36253         258 :     break;
   36254             : 
   36255         622 :   case 631: /* CreateSeqStmt: CREATE OptTemp SEQUENCE qualified_name OptSeqOptList  */
   36256             : #line 4932 "gram.y"
   36257             :                                 {
   36258             :                     CreateSeqStmt *n = makeNode(CreateSeqStmt);
   36259             : 
   36260             :                     (yyvsp[-1].range)->relpersistence = (yyvsp[-3].ival);
   36261             :                     n->sequence = (yyvsp[-1].range);
   36262             :                     n->options = (yyvsp[0].list);
   36263             :                     n->ownerId = InvalidOid;
   36264             :                     n->if_not_exists = false;
   36265             :                     (yyval.node) = (Node *) n;
   36266             :                 }
   36267             : #line 36268 "gram.c"
   36268         622 :     break;
   36269             : 
   36270          24 :   case 632: /* CreateSeqStmt: CREATE OptTemp SEQUENCE IF_P NOT EXISTS qualified_name OptSeqOptList  */
   36271             : #line 4943 "gram.y"
   36272             :                                 {
   36273             :                     CreateSeqStmt *n = makeNode(CreateSeqStmt);
   36274             : 
   36275             :                     (yyvsp[-1].range)->relpersistence = (yyvsp[-6].ival);
   36276             :                     n->sequence = (yyvsp[-1].range);
   36277             :                     n->options = (yyvsp[0].list);
   36278             :                     n->ownerId = InvalidOid;
   36279             :                     n->if_not_exists = true;
   36280             :                     (yyval.node) = (Node *) n;
   36281             :                 }
   36282             : #line 36283 "gram.c"
   36283          24 :     break;
   36284             : 
   36285         184 :   case 633: /* AlterSeqStmt: ALTER SEQUENCE qualified_name SeqOptList  */
   36286             : #line 4957 "gram.y"
   36287             :                                 {
   36288             :                     AlterSeqStmt *n = makeNode(AlterSeqStmt);
   36289             : 
   36290             :                     n->sequence = (yyvsp[-1].range);
   36291             :                     n->options = (yyvsp[0].list);
   36292             :                     n->missing_ok = false;
   36293             :                     (yyval.node) = (Node *) n;
   36294             :                 }
   36295             : #line 36296 "gram.c"
   36296         184 :     break;
   36297             : 
   36298          12 :   case 634: /* AlterSeqStmt: ALTER SEQUENCE IF_P EXISTS qualified_name SeqOptList  */
   36299             : #line 4966 "gram.y"
   36300             :                                 {
   36301             :                     AlterSeqStmt *n = makeNode(AlterSeqStmt);
   36302             : 
   36303             :                     n->sequence = (yyvsp[-1].range);
   36304             :                     n->options = (yyvsp[0].list);
   36305             :                     n->missing_ok = true;
   36306             :                     (yyval.node) = (Node *) n;
   36307             :                 }
   36308             : #line 36309 "gram.c"
   36309          12 :     break;
   36310             : 
   36311         246 :   case 635: /* OptSeqOptList: SeqOptList  */
   36312             : #line 4977 "gram.y"
   36313             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   36314             : #line 36315 "gram.c"
   36315         246 :     break;
   36316             : 
   36317         400 :   case 636: /* OptSeqOptList: %empty  */
   36318             : #line 4978 "gram.y"
   36319             :                                                                                                 { (yyval.list) = NIL; }
   36320             : #line 36321 "gram.c"
   36321         400 :     break;
   36322             : 
   36323          70 :   case 637: /* OptParenthesizedSeqOptList: '(' SeqOptList ')'  */
   36324             : #line 4981 "gram.y"
   36325             :                                                         { (yyval.list) = (yyvsp[-1].list); }
   36326             : #line 36327 "gram.c"
   36327          70 :     break;
   36328             : 
   36329         376 :   case 638: /* OptParenthesizedSeqOptList: %empty  */
   36330             : #line 4982 "gram.y"
   36331             :                                                                                                 { (yyval.list) = NIL; }
   36332             : #line 36333 "gram.c"
   36333         376 :     break;
   36334             : 
   36335         512 :   case 639: /* SeqOptList: SeqOptElem  */
   36336             : #line 4985 "gram.y"
   36337             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   36338             : #line 36339 "gram.c"
   36339         512 :     break;
   36340             : 
   36341         754 :   case 640: /* SeqOptList: SeqOptList SeqOptElem  */
   36342             : #line 4986 "gram.y"
   36343             :                                                                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   36344             : #line 36345 "gram.c"
   36345         754 :     break;
   36346             : 
   36347         190 :   case 641: /* SeqOptElem: AS SimpleTypename  */
   36348             : #line 4990 "gram.y"
   36349             :                                 {
   36350             :                     (yyval.defelt) = makeDefElem("as", (Node *) (yyvsp[0].typnam), (yylsp[-1]));
   36351             :                 }
   36352             : #line 36353 "gram.c"
   36353         190 :     break;
   36354             : 
   36355         118 :   case 642: /* SeqOptElem: CACHE NumericOnly  */
   36356             : #line 4994 "gram.y"
   36357             :                                 {
   36358             :                     (yyval.defelt) = makeDefElem("cache", (Node *) (yyvsp[0].node), (yylsp[-1]));
   36359             :                 }
   36360             : #line 36361 "gram.c"
   36361         118 :     break;
   36362             : 
   36363          34 :   case 643: /* SeqOptElem: CYCLE  */
   36364             : #line 4998 "gram.y"
   36365             :                                 {
   36366             :                     (yyval.defelt) = makeDefElem("cycle", (Node *) makeBoolean(true), (yylsp[0]));
   36367             :                 }
   36368             : #line 36369 "gram.c"
   36369          34 :     break;
   36370             : 
   36371          14 :   case 644: /* SeqOptElem: NO CYCLE  */
   36372             : #line 5002 "gram.y"
   36373             :                                 {
   36374             :                     (yyval.defelt) = makeDefElem("cycle", (Node *) makeBoolean(false), (yylsp[-1]));
   36375             :                 }
   36376             : #line 36377 "gram.c"
   36377          14 :     break;
   36378             : 
   36379         238 :   case 645: /* SeqOptElem: INCREMENT opt_by NumericOnly  */
   36380             : #line 5006 "gram.y"
   36381             :                                 {
   36382             :                     (yyval.defelt) = makeDefElem("increment", (Node *) (yyvsp[0].node), (yylsp[-2]));
   36383             :                 }
   36384             : #line 36385 "gram.c"
   36385         238 :     break;
   36386             : 
   36387          68 :   case 646: /* SeqOptElem: MAXVALUE NumericOnly  */
   36388             : #line 5010 "gram.y"
   36389             :                                 {
   36390             :                     (yyval.defelt) = makeDefElem("maxvalue", (Node *) (yyvsp[0].node), (yylsp[-1]));
   36391             :                 }
   36392             : #line 36393 "gram.c"
   36393          68 :     break;
   36394             : 
   36395          72 :   case 647: /* SeqOptElem: MINVALUE NumericOnly  */
   36396             : #line 5014 "gram.y"
   36397             :                                 {
   36398             :                     (yyval.defelt) = makeDefElem("minvalue", (Node *) (yyvsp[0].node), (yylsp[-1]));
   36399             :                 }
   36400             : #line 36401 "gram.c"
   36401          72 :     break;
   36402             : 
   36403          96 :   case 648: /* SeqOptElem: NO MAXVALUE  */
   36404             : #line 5018 "gram.y"
   36405             :                                 {
   36406             :                     (yyval.defelt) = makeDefElem("maxvalue", NULL, (yylsp[-1]));
   36407             :                 }
   36408             : #line 36409 "gram.c"
   36409          96 :     break;
   36410             : 
   36411          96 :   case 649: /* SeqOptElem: NO MINVALUE  */
   36412             : #line 5022 "gram.y"
   36413             :                                 {
   36414             :                     (yyval.defelt) = makeDefElem("minvalue", NULL, (yylsp[-1]));
   36415             :                 }
   36416             : #line 36417 "gram.c"
   36417          96 :     break;
   36418             : 
   36419          72 :   case 650: /* SeqOptElem: OWNED BY any_name  */
   36420             : #line 5026 "gram.y"
   36421             :                                 {
   36422             :                     (yyval.defelt) = makeDefElem("owned_by", (Node *) (yyvsp[0].list), (yylsp[-2]));
   36423             :                 }
   36424             : #line 36425 "gram.c"
   36425          72 :     break;
   36426             : 
   36427          40 :   case 651: /* SeqOptElem: SEQUENCE NAME_P any_name  */
   36428             : #line 5030 "gram.y"
   36429             :                                 {
   36430             :                     /* not documented, only used by pg_dump */
   36431             :                     (yyval.defelt) = makeDefElem("sequence_name", (Node *) (yyvsp[0].list), (yylsp[-2]));
   36432             :                 }
   36433             : #line 36434 "gram.c"
   36434          40 :     break;
   36435             : 
   36436         216 :   case 652: /* SeqOptElem: START opt_with NumericOnly  */
   36437             : #line 5035 "gram.y"
   36438             :                                 {
   36439             :                     (yyval.defelt) = makeDefElem("start", (Node *) (yyvsp[0].node), (yylsp[-2]));
   36440             :                 }
   36441             : #line 36442 "gram.c"
   36442         216 :     break;
   36443             : 
   36444           6 :   case 653: /* SeqOptElem: RESTART  */
   36445             : #line 5039 "gram.y"
   36446             :                                 {
   36447             :                     (yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0]));
   36448             :                 }
   36449             : #line 36450 "gram.c"
   36450           6 :     break;
   36451             : 
   36452          60 :   case 654: /* SeqOptElem: RESTART opt_with NumericOnly  */
   36453             : #line 5043 "gram.y"
   36454             :                                 {
   36455             :                     (yyval.defelt) = makeDefElem("restart", (Node *) (yyvsp[0].node), (yylsp[-2]));
   36456             :                 }
   36457             : #line 36458 "gram.c"
   36458          60 :     break;
   36459             : 
   36460         316 :   case 657: /* NumericOnly: FCONST  */
   36461             : #line 5053 "gram.y"
   36462             :                                                                                         { (yyval.node) = (Node *) makeFloat((yyvsp[0].str)); }
   36463             : #line 36464 "gram.c"
   36464         316 :     break;
   36465             : 
   36466           0 :   case 658: /* NumericOnly: '+' FCONST  */
   36467             : #line 5054 "gram.y"
   36468             :                                                                                 { (yyval.node) = (Node *) makeFloat((yyvsp[0].str)); }
   36469             : #line 36470 "gram.c"
   36470           0 :     break;
   36471             : 
   36472          20 :   case 659: /* NumericOnly: '-' FCONST  */
   36473             : #line 5056 "gram.y"
   36474             :                                 {
   36475             :                     Float      *f = makeFloat((yyvsp[0].str));
   36476             : 
   36477             :                     doNegateFloat(f);
   36478             :                     (yyval.node) = (Node *) f;
   36479             :                 }
   36480             : #line 36481 "gram.c"
   36481          20 :     break;
   36482             : 
   36483       10562 :   case 660: /* NumericOnly: SignedIconst  */
   36484             : #line 5062 "gram.y"
   36485             :                                                                                 { (yyval.node) = (Node *) makeInteger((yyvsp[0].ival)); }
   36486             : #line 36487 "gram.c"
   36487       10562 :     break;
   36488             : 
   36489          80 :   case 661: /* NumericOnly_list: NumericOnly  */
   36490             : #line 5065 "gram.y"
   36491             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   36492             : #line 36493 "gram.c"
   36493          80 :     break;
   36494             : 
   36495           6 :   case 662: /* NumericOnly_list: NumericOnly_list ',' NumericOnly  */
   36496             : #line 5066 "gram.y"
   36497             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   36498             : #line 36499 "gram.c"
   36499           6 :     break;
   36500             : 
   36501           0 :   case 663: /* CreatePLangStmt: CREATE opt_or_replace opt_trusted opt_procedural LANGUAGE name  */
   36502             : #line 5079 "gram.y"
   36503             :                         {
   36504             :                 /*
   36505             :                  * We now interpret parameterless CREATE LANGUAGE as
   36506             :                  * CREATE EXTENSION.  "OR REPLACE" is silently translated
   36507             :                  * to "IF NOT EXISTS", which isn't quite the same, but
   36508             :                  * seems more useful than throwing an error.  We just
   36509             :                  * ignore TRUSTED, as the previous code would have too.
   36510             :                  */
   36511             :                 CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
   36512             : 
   36513             :                 n->if_not_exists = (yyvsp[-4].boolean);
   36514             :                 n->extname = (yyvsp[0].str);
   36515             :                 n->options = NIL;
   36516             :                 (yyval.node) = (Node *) n;
   36517             :             }
   36518             : #line 36519 "gram.c"
   36519           0 :     break;
   36520             : 
   36521         122 :   case 664: /* CreatePLangStmt: CREATE opt_or_replace opt_trusted opt_procedural LANGUAGE name HANDLER handler_name opt_inline_handler opt_validator  */
   36522             : #line 5096 "gram.y"
   36523             :                         {
   36524             :                 CreatePLangStmt *n = makeNode(CreatePLangStmt);
   36525             : 
   36526             :                 n->replace = (yyvsp[-8].boolean);
   36527             :                 n->plname = (yyvsp[-4].str);
   36528             :                 n->plhandler = (yyvsp[-2].list);
   36529             :                 n->plinline = (yyvsp[-1].list);
   36530             :                 n->plvalidator = (yyvsp[0].list);
   36531             :                 n->pltrusted = (yyvsp[-7].boolean);
   36532             :                 (yyval.node) = (Node *) n;
   36533             :             }
   36534             : #line 36535 "gram.c"
   36535         122 :     break;
   36536             : 
   36537          92 :   case 665: /* opt_trusted: TRUSTED  */
   36538             : #line 5110 "gram.y"
   36539             :                                                                                                 { (yyval.boolean) = true; }
   36540             : #line 36541 "gram.c"
   36541          92 :     break;
   36542             : 
   36543          36 :   case 666: /* opt_trusted: %empty  */
   36544             : #line 5111 "gram.y"
   36545             :                                                                                                 { (yyval.boolean) = false; }
   36546             : #line 36547 "gram.c"
   36547          36 :     break;
   36548             : 
   36549         486 :   case 667: /* handler_name: name  */
   36550             : #line 5119 "gram.y"
   36551             :                                                                         { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   36552             : #line 36553 "gram.c"
   36553         486 :     break;
   36554             : 
   36555           2 :   case 668: /* handler_name: name attrs  */
   36556             : #line 5120 "gram.y"
   36557             :                                                                 { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
   36558             : #line 36559 "gram.c"
   36559           2 :     break;
   36560             : 
   36561         104 :   case 669: /* opt_inline_handler: INLINE_P handler_name  */
   36562             : #line 5124 "gram.y"
   36563             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   36564             : #line 36565 "gram.c"
   36565         104 :     break;
   36566             : 
   36567          18 :   case 670: /* opt_inline_handler: %empty  */
   36568             : #line 5125 "gram.y"
   36569             :                                                                                                 { (yyval.list) = NIL; }
   36570             : #line 36571 "gram.c"
   36571          18 :     break;
   36572             : 
   36573         104 :   case 671: /* validator_clause: VALIDATOR handler_name  */
   36574             : #line 5129 "gram.y"
   36575             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   36576             : #line 36577 "gram.c"
   36577         104 :     break;
   36578             : 
   36579           0 :   case 672: /* validator_clause: NO VALIDATOR  */
   36580             : #line 5130 "gram.y"
   36581             :                                                                                         { (yyval.list) = NIL; }
   36582             : #line 36583 "gram.c"
   36583           0 :     break;
   36584             : 
   36585         104 :   case 673: /* opt_validator: validator_clause  */
   36586             : #line 5134 "gram.y"
   36587             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   36588             : #line 36589 "gram.c"
   36589         104 :     break;
   36590             : 
   36591          18 :   case 674: /* opt_validator: %empty  */
   36592             : #line 5135 "gram.y"
   36593             :                                                                                                 { (yyval.list) = NIL; }
   36594             : #line 36595 "gram.c"
   36595          18 :     break;
   36596             : 
   36597         108 :   case 677: /* CreateTableSpaceStmt: CREATE TABLESPACE name OptTableSpaceOwner LOCATION Sconst opt_reloptions  */
   36598             : #line 5151 "gram.y"
   36599             :                                 {
   36600             :                     CreateTableSpaceStmt *n = makeNode(CreateTableSpaceStmt);
   36601             : 
   36602             :                     n->tablespacename = (yyvsp[-4].str);
   36603             :                     n->owner = (yyvsp[-3].rolespec);
   36604             :                     n->location = (yyvsp[-1].str);
   36605             :                     n->options = (yyvsp[0].list);
   36606             :                     (yyval.node) = (Node *) n;
   36607             :                 }
   36608             : #line 36609 "gram.c"
   36609         108 :     break;
   36610             : 
   36611           2 :   case 678: /* OptTableSpaceOwner: OWNER RoleSpec  */
   36612             : #line 5162 "gram.y"
   36613             :                                                 { (yyval.rolespec) = (yyvsp[0].rolespec); }
   36614             : #line 36615 "gram.c"
   36615           2 :     break;
   36616             : 
   36617         106 :   case 679: /* OptTableSpaceOwner: %empty  */
   36618             : #line 5163 "gram.y"
   36619             :                                                                 { (yyval.rolespec) = NULL; }
   36620             : #line 36621 "gram.c"
   36621         106 :     break;
   36622             : 
   36623          64 :   case 680: /* DropTableSpaceStmt: DROP TABLESPACE name  */
   36624             : #line 5177 "gram.y"
   36625             :                                 {
   36626             :                     DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
   36627             : 
   36628             :                     n->tablespacename = (yyvsp[0].str);
   36629             :                     n->missing_ok = false;
   36630             :                     (yyval.node) = (Node *) n;
   36631             :                 }
   36632             : #line 36633 "gram.c"
   36633          64 :     break;
   36634             : 
   36635           0 :   case 681: /* DropTableSpaceStmt: DROP TABLESPACE IF_P EXISTS name  */
   36636             : #line 5185 "gram.y"
   36637             :                                 {
   36638             :                     DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
   36639             : 
   36640             :                     n->tablespacename = (yyvsp[0].str);
   36641             :                     n->missing_ok = true;
   36642             :                     (yyval.node) = (Node *) n;
   36643             :                 }
   36644             : #line 36645 "gram.c"
   36645           0 :     break;
   36646             : 
   36647         394 :   case 682: /* CreateExtensionStmt: CREATE EXTENSION name opt_with create_extension_opt_list  */
   36648             : #line 5203 "gram.y"
   36649             :                                 {
   36650             :                     CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
   36651             : 
   36652             :                     n->extname = (yyvsp[-2].str);
   36653             :                     n->if_not_exists = false;
   36654             :                     n->options = (yyvsp[0].list);
   36655             :                     (yyval.node) = (Node *) n;
   36656             :                 }
   36657             : #line 36658 "gram.c"
   36658         394 :     break;
   36659             : 
   36660          14 :   case 683: /* CreateExtensionStmt: CREATE EXTENSION IF_P NOT EXISTS name opt_with create_extension_opt_list  */
   36661             : #line 5212 "gram.y"
   36662             :                                 {
   36663             :                     CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
   36664             : 
   36665             :                     n->extname = (yyvsp[-2].str);
   36666             :                     n->if_not_exists = true;
   36667             :                     n->options = (yyvsp[0].list);
   36668             :                     (yyval.node) = (Node *) n;
   36669             :                 }
   36670             : #line 36671 "gram.c"
   36671          14 :     break;
   36672             : 
   36673          96 :   case 684: /* create_extension_opt_list: create_extension_opt_list create_extension_opt_item  */
   36674             : #line 5224 "gram.y"
   36675             :                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   36676             : #line 36677 "gram.c"
   36677          96 :     break;
   36678             : 
   36679         408 :   case 685: /* create_extension_opt_list: %empty  */
   36680             : #line 5226 "gram.y"
   36681             :                                 { (yyval.list) = NIL; }
   36682             : #line 36683 "gram.c"
   36683         408 :     break;
   36684             : 
   36685          44 :   case 686: /* create_extension_opt_item: SCHEMA name  */
   36686             : #line 5231 "gram.y"
   36687             :                                 {
   36688             :                     (yyval.defelt) = makeDefElem("schema", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
   36689             :                 }
   36690             : #line 36691 "gram.c"
   36691          44 :     break;
   36692             : 
   36693          12 :   case 687: /* create_extension_opt_item: VERSION_P NonReservedWord_or_Sconst  */
   36694             : #line 5235 "gram.y"
   36695             :                                 {
   36696             :                     (yyval.defelt) = makeDefElem("new_version", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
   36697             :                 }
   36698             : #line 36699 "gram.c"
   36699          12 :     break;
   36700             : 
   36701           0 :   case 688: /* create_extension_opt_item: FROM NonReservedWord_or_Sconst  */
   36702             : #line 5239 "gram.y"
   36703             :                                 {
   36704             :                     ereport(ERROR,
   36705             :                             (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   36706             :                              errmsg("CREATE EXTENSION ... FROM is no longer supported"),
   36707             :                              parser_errposition((yylsp[-1]))));
   36708             :                 }
   36709             : #line 36710 "gram.c"
   36710             :     break;
   36711             : 
   36712          40 :   case 689: /* create_extension_opt_item: CASCADE  */
   36713             : #line 5246 "gram.y"
   36714             :                                 {
   36715             :                     (yyval.defelt) = makeDefElem("cascade", (Node *) makeBoolean(true), (yylsp[0]));
   36716             :                 }
   36717             : #line 36718 "gram.c"
   36718          40 :     break;
   36719             : 
   36720          28 :   case 690: /* AlterExtensionStmt: ALTER EXTENSION name UPDATE alter_extension_opt_list  */
   36721             : #line 5258 "gram.y"
   36722             :                                 {
   36723             :                     AlterExtensionStmt *n = makeNode(AlterExtensionStmt);
   36724             : 
   36725             :                     n->extname = (yyvsp[-2].str);
   36726             :                     n->options = (yyvsp[0].list);
   36727             :                     (yyval.node) = (Node *) n;
   36728             :                 }
   36729             : #line 36730 "gram.c"
   36730          28 :     break;
   36731             : 
   36732          28 :   case 691: /* alter_extension_opt_list: alter_extension_opt_list alter_extension_opt_item  */
   36733             : #line 5269 "gram.y"
   36734             :                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   36735             : #line 36736 "gram.c"
   36736          28 :     break;
   36737             : 
   36738          28 :   case 692: /* alter_extension_opt_list: %empty  */
   36739             : #line 5271 "gram.y"
   36740             :                                 { (yyval.list) = NIL; }
   36741             : #line 36742 "gram.c"
   36742          28 :     break;
   36743             : 
   36744          28 :   case 693: /* alter_extension_opt_item: TO NonReservedWord_or_Sconst  */
   36745             : #line 5276 "gram.y"
   36746             :                                 {
   36747             :                     (yyval.defelt) = makeDefElem("new_version", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
   36748             :                 }
   36749             : #line 36750 "gram.c"
   36750          28 :     break;
   36751             : 
   36752          18 :   case 694: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop object_type_name name  */
   36753             : #line 5289 "gram.y"
   36754             :                                 {
   36755             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36756             : 
   36757             :                     n->extname = (yyvsp[-3].str);
   36758             :                     n->action = (yyvsp[-2].ival);
   36759             :                     n->objtype = (yyvsp[-1].objtype);
   36760             :                     n->object = (Node *) makeString((yyvsp[0].str));
   36761             :                     (yyval.node) = (Node *) n;
   36762             :                 }
   36763             : #line 36764 "gram.c"
   36764          18 :     break;
   36765             : 
   36766          58 :   case 695: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop object_type_any_name any_name  */
   36767             : #line 5299 "gram.y"
   36768             :                                 {
   36769             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36770             : 
   36771             :                     n->extname = (yyvsp[-3].str);
   36772             :                     n->action = (yyvsp[-2].ival);
   36773             :                     n->objtype = (yyvsp[-1].objtype);
   36774             :                     n->object = (Node *) (yyvsp[0].list);
   36775             :                     (yyval.node) = (Node *) n;
   36776             :                 }
   36777             : #line 36778 "gram.c"
   36778          58 :     break;
   36779             : 
   36780           8 :   case 696: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop AGGREGATE aggregate_with_argtypes  */
   36781             : #line 5309 "gram.y"
   36782             :                                 {
   36783             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36784             : 
   36785             :                     n->extname = (yyvsp[-3].str);
   36786             :                     n->action = (yyvsp[-2].ival);
   36787             :                     n->objtype = OBJECT_AGGREGATE;
   36788             :                     n->object = (Node *) (yyvsp[0].objwithargs);
   36789             :                     (yyval.node) = (Node *) n;
   36790             :                 }
   36791             : #line 36792 "gram.c"
   36792           8 :     break;
   36793             : 
   36794           4 :   case 697: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop CAST '(' Typename AS Typename ')'  */
   36795             : #line 5319 "gram.y"
   36796             :                                 {
   36797             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36798             : 
   36799             :                     n->extname = (yyvsp[-7].str);
   36800             :                     n->action = (yyvsp[-6].ival);
   36801             :                     n->objtype = OBJECT_CAST;
   36802             :                     n->object = (Node *) list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam));
   36803             :                     (yyval.node) = (Node *) n;
   36804             :                 }
   36805             : #line 36806 "gram.c"
   36806           4 :     break;
   36807             : 
   36808           0 :   case 698: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop DOMAIN_P Typename  */
   36809             : #line 5329 "gram.y"
   36810             :                                 {
   36811             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36812             : 
   36813             :                     n->extname = (yyvsp[-3].str);
   36814             :                     n->action = (yyvsp[-2].ival);
   36815             :                     n->objtype = OBJECT_DOMAIN;
   36816             :                     n->object = (Node *) (yyvsp[0].typnam);
   36817             :                     (yyval.node) = (Node *) n;
   36818             :                 }
   36819             : #line 36820 "gram.c"
   36820           0 :     break;
   36821             : 
   36822          74 :   case 699: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop FUNCTION function_with_argtypes  */
   36823             : #line 5339 "gram.y"
   36824             :                                 {
   36825             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36826             : 
   36827             :                     n->extname = (yyvsp[-3].str);
   36828             :                     n->action = (yyvsp[-2].ival);
   36829             :                     n->objtype = OBJECT_FUNCTION;
   36830             :                     n->object = (Node *) (yyvsp[0].objwithargs);
   36831             :                     (yyval.node) = (Node *) n;
   36832             :                 }
   36833             : #line 36834 "gram.c"
   36834          74 :     break;
   36835             : 
   36836          18 :   case 700: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop OPERATOR operator_with_argtypes  */
   36837             : #line 5349 "gram.y"
   36838             :                                 {
   36839             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36840             : 
   36841             :                     n->extname = (yyvsp[-3].str);
   36842             :                     n->action = (yyvsp[-2].ival);
   36843             :                     n->objtype = OBJECT_OPERATOR;
   36844             :                     n->object = (Node *) (yyvsp[0].objwithargs);
   36845             :                     (yyval.node) = (Node *) n;
   36846             :                 }
   36847             : #line 36848 "gram.c"
   36848          18 :     break;
   36849             : 
   36850           4 :   case 701: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop OPERATOR CLASS any_name USING name  */
   36851             : #line 5359 "gram.y"
   36852             :                                 {
   36853             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36854             : 
   36855             :                     n->extname = (yyvsp[-6].str);
   36856             :                     n->action = (yyvsp[-5].ival);
   36857             :                     n->objtype = OBJECT_OPCLASS;
   36858             :                     n->object = (Node *) lcons(makeString((yyvsp[0].str)), (yyvsp[-2].list));
   36859             :                     (yyval.node) = (Node *) n;
   36860             :                 }
   36861             : #line 36862 "gram.c"
   36862           4 :     break;
   36863             : 
   36864           4 :   case 702: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop OPERATOR FAMILY any_name USING name  */
   36865             : #line 5369 "gram.y"
   36866             :                                 {
   36867             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36868             : 
   36869             :                     n->extname = (yyvsp[-6].str);
   36870             :                     n->action = (yyvsp[-5].ival);
   36871             :                     n->objtype = OBJECT_OPFAMILY;
   36872             :                     n->object = (Node *) lcons(makeString((yyvsp[0].str)), (yyvsp[-2].list));
   36873             :                     (yyval.node) = (Node *) n;
   36874             :                 }
   36875             : #line 36876 "gram.c"
   36876           4 :     break;
   36877             : 
   36878           0 :   case 703: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop PROCEDURE function_with_argtypes  */
   36879             : #line 5379 "gram.y"
   36880             :                                 {
   36881             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36882             : 
   36883             :                     n->extname = (yyvsp[-3].str);
   36884             :                     n->action = (yyvsp[-2].ival);
   36885             :                     n->objtype = OBJECT_PROCEDURE;
   36886             :                     n->object = (Node *) (yyvsp[0].objwithargs);
   36887             :                     (yyval.node) = (Node *) n;
   36888             :                 }
   36889             : #line 36890 "gram.c"
   36890           0 :     break;
   36891             : 
   36892           0 :   case 704: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop ROUTINE function_with_argtypes  */
   36893             : #line 5389 "gram.y"
   36894             :                                 {
   36895             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36896             : 
   36897             :                     n->extname = (yyvsp[-3].str);
   36898             :                     n->action = (yyvsp[-2].ival);
   36899             :                     n->objtype = OBJECT_ROUTINE;
   36900             :                     n->object = (Node *) (yyvsp[0].objwithargs);
   36901             :                     (yyval.node) = (Node *) n;
   36902             :                 }
   36903             : #line 36904 "gram.c"
   36904           0 :     break;
   36905             : 
   36906           4 :   case 705: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop TRANSFORM FOR Typename LANGUAGE name  */
   36907             : #line 5399 "gram.y"
   36908             :                                 {
   36909             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36910             : 
   36911             :                     n->extname = (yyvsp[-6].str);
   36912             :                     n->action = (yyvsp[-5].ival);
   36913             :                     n->objtype = OBJECT_TRANSFORM;
   36914             :                     n->object = (Node *) list_make2((yyvsp[-2].typnam), makeString((yyvsp[0].str)));
   36915             :                     (yyval.node) = (Node *) n;
   36916             :                 }
   36917             : #line 36918 "gram.c"
   36918           4 :     break;
   36919             : 
   36920           8 :   case 706: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop TYPE_P Typename  */
   36921             : #line 5409 "gram.y"
   36922             :                                 {
   36923             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36924             : 
   36925             :                     n->extname = (yyvsp[-3].str);
   36926             :                     n->action = (yyvsp[-2].ival);
   36927             :                     n->objtype = OBJECT_TYPE;
   36928             :                     n->object = (Node *) (yyvsp[0].typnam);
   36929             :                     (yyval.node) = (Node *) n;
   36930             :                 }
   36931             : #line 36932 "gram.c"
   36932           8 :     break;
   36933             : 
   36934         190 :   case 707: /* CreateFdwStmt: CREATE FOREIGN DATA_P WRAPPER name opt_fdw_options create_generic_options  */
   36935             : #line 5428 "gram.y"
   36936             :                                 {
   36937             :                     CreateFdwStmt *n = makeNode(CreateFdwStmt);
   36938             : 
   36939             :                     n->fdwname = (yyvsp[-2].str);
   36940             :                     n->func_options = (yyvsp[-1].list);
   36941             :                     n->options = (yyvsp[0].list);
   36942             :                     (yyval.node) = (Node *) n;
   36943             :                 }
   36944             : #line 36945 "gram.c"
   36945         190 :     break;
   36946             : 
   36947          54 :   case 708: /* fdw_option: HANDLER handler_name  */
   36948             : #line 5439 "gram.y"
   36949             :                                                                         { (yyval.defelt) = makeDefElem("handler", (Node *) (yyvsp[0].list), (yylsp[-1])); }
   36950             : #line 36951 "gram.c"
   36951          54 :     break;
   36952             : 
   36953           0 :   case 709: /* fdw_option: NO HANDLER  */
   36954             : #line 5440 "gram.y"
   36955             :                                                                                 { (yyval.defelt) = makeDefElem("handler", NULL, (yylsp[-1])); }
   36956             : #line 36957 "gram.c"
   36957           0 :     break;
   36958             : 
   36959          44 :   case 710: /* fdw_option: VALIDATOR handler_name  */
   36960             : #line 5441 "gram.y"
   36961             :                                                                         { (yyval.defelt) = makeDefElem("validator", (Node *) (yyvsp[0].list), (yylsp[-1])); }
   36962             : #line 36963 "gram.c"
   36963          44 :     break;
   36964             : 
   36965           6 :   case 711: /* fdw_option: NO VALIDATOR  */
   36966             : #line 5442 "gram.y"
   36967             :                                                                                 { (yyval.defelt) = makeDefElem("validator", NULL, (yylsp[-1])); }
   36968             : #line 36969 "gram.c"
   36969           6 :     break;
   36970             : 
   36971          86 :   case 712: /* fdw_options: fdw_option  */
   36972             : #line 5446 "gram.y"
   36973             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   36974             : #line 36975 "gram.c"
   36975          86 :     break;
   36976             : 
   36977          18 :   case 713: /* fdw_options: fdw_options fdw_option  */
   36978             : #line 5447 "gram.y"
   36979             :                                                                         { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   36980             : #line 36981 "gram.c"
   36981          18 :     break;
   36982             : 
   36983          50 :   case 714: /* opt_fdw_options: fdw_options  */
   36984             : #line 5451 "gram.y"
   36985             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   36986             : #line 36987 "gram.c"
   36987          50 :     break;
   36988             : 
   36989         232 :   case 715: /* opt_fdw_options: %empty  */
   36990             : #line 5452 "gram.y"
   36991             :                                                                                         { (yyval.list) = NIL; }
   36992             : #line 36993 "gram.c"
   36993         232 :     break;
   36994             : 
   36995          86 :   case 716: /* AlterFdwStmt: ALTER FOREIGN DATA_P WRAPPER name opt_fdw_options alter_generic_options  */
   36996             : #line 5463 "gram.y"
   36997             :                                 {
   36998             :                     AlterFdwStmt *n = makeNode(AlterFdwStmt);
   36999             : 
   37000             :                     n->fdwname = (yyvsp[-2].str);
   37001             :                     n->func_options = (yyvsp[-1].list);
   37002             :                     n->options = (yyvsp[0].list);
   37003             :                     (yyval.node) = (Node *) n;
   37004             :                 }
   37005             : #line 37006 "gram.c"
   37006          86 :     break;
   37007             : 
   37008          36 :   case 717: /* AlterFdwStmt: ALTER FOREIGN DATA_P WRAPPER name fdw_options  */
   37009             : #line 5472 "gram.y"
   37010             :                                 {
   37011             :                     AlterFdwStmt *n = makeNode(AlterFdwStmt);
   37012             : 
   37013             :                     n->fdwname = (yyvsp[-1].str);
   37014             :                     n->func_options = (yyvsp[0].list);
   37015             :                     n->options = NIL;
   37016             :                     (yyval.node) = (Node *) n;
   37017             :                 }
   37018             : #line 37019 "gram.c"
   37019          36 :     break;
   37020             : 
   37021         684 :   case 718: /* create_generic_options: OPTIONS '(' generic_option_list ')'  */
   37022             : #line 5484 "gram.y"
   37023             :                                                                                 { (yyval.list) = (yyvsp[-1].list); }
   37024             : #line 37025 "gram.c"
   37025         684 :     break;
   37026             : 
   37027       63440 :   case 719: /* create_generic_options: %empty  */
   37028             : #line 5485 "gram.y"
   37029             :                                                                                                         { (yyval.list) = NIL; }
   37030             : #line 37031 "gram.c"
   37031       63440 :     break;
   37032             : 
   37033         684 :   case 720: /* generic_option_list: generic_option_elem  */
   37034             : #line 5490 "gram.y"
   37035             :                                 {
   37036             :                     (yyval.list) = list_make1((yyvsp[0].defelt));
   37037             :                 }
   37038             : #line 37039 "gram.c"
   37039         684 :     break;
   37040             : 
   37041         430 :   case 721: /* generic_option_list: generic_option_list ',' generic_option_elem  */
   37042             : #line 5494 "gram.y"
   37043             :                                 {
   37044             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
   37045             :                 }
   37046             : #line 37047 "gram.c"
   37047         430 :     break;
   37048             : 
   37049         478 :   case 722: /* alter_generic_options: OPTIONS '(' alter_generic_option_list ')'  */
   37050             : #line 5501 "gram.y"
   37051             :                                                                                 { (yyval.list) = (yyvsp[-1].list); }
   37052             : #line 37053 "gram.c"
   37053         478 :     break;
   37054             : 
   37055         478 :   case 723: /* alter_generic_option_list: alter_generic_option_elem  */
   37056             : #line 5506 "gram.y"
   37057             :                                 {
   37058             :                     (yyval.list) = list_make1((yyvsp[0].defelt));
   37059             :                 }
   37060             : #line 37061 "gram.c"
   37061         478 :     break;
   37062             : 
   37063         168 :   case 724: /* alter_generic_option_list: alter_generic_option_list ',' alter_generic_option_elem  */
   37064             : #line 5510 "gram.y"
   37065             :                                 {
   37066             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
   37067             :                 }
   37068             : #line 37069 "gram.c"
   37069         168 :     break;
   37070             : 
   37071         200 :   case 725: /* alter_generic_option_elem: generic_option_elem  */
   37072             : #line 5517 "gram.y"
   37073             :                                 {
   37074             :                     (yyval.defelt) = (yyvsp[0].defelt);
   37075             :                 }
   37076             : #line 37077 "gram.c"
   37077         200 :     break;
   37078             : 
   37079         124 :   case 726: /* alter_generic_option_elem: SET generic_option_elem  */
   37080             : #line 5521 "gram.y"
   37081             :                                 {
   37082             :                     (yyval.defelt) = (yyvsp[0].defelt);
   37083             :                     (yyval.defelt)->defaction = DEFELEM_SET;
   37084             :                 }
   37085             : #line 37086 "gram.c"
   37086         124 :     break;
   37087             : 
   37088         196 :   case 727: /* alter_generic_option_elem: ADD_P generic_option_elem  */
   37089             : #line 5526 "gram.y"
   37090             :                                 {
   37091             :                     (yyval.defelt) = (yyvsp[0].defelt);
   37092             :                     (yyval.defelt)->defaction = DEFELEM_ADD;
   37093             :                 }
   37094             : #line 37095 "gram.c"
   37095         196 :     break;
   37096             : 
   37097         126 :   case 728: /* alter_generic_option_elem: DROP generic_option_name  */
   37098             : #line 5531 "gram.y"
   37099             :                                 {
   37100             :                     (yyval.defelt) = makeDefElemExtended(NULL, (yyvsp[0].str), NULL, DEFELEM_DROP, (yylsp[0]));
   37101             :                 }
   37102             : #line 37103 "gram.c"
   37103         126 :     break;
   37104             : 
   37105        1634 :   case 729: /* generic_option_elem: generic_option_name generic_option_arg  */
   37106             : #line 5538 "gram.y"
   37107             :                                 {
   37108             :                     (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
   37109             :                 }
   37110             : #line 37111 "gram.c"
   37111        1634 :     break;
   37112             : 
   37113        1760 :   case 730: /* generic_option_name: ColLabel  */
   37114             : #line 5544 "gram.y"
   37115             :                                                                 { (yyval.str) = (yyvsp[0].str); }
   37116             : #line 37117 "gram.c"
   37117        1760 :     break;
   37118             : 
   37119        1634 :   case 731: /* generic_option_arg: Sconst  */
   37120             : #line 5549 "gram.y"
   37121             :                                                                 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
   37122             : #line 37123 "gram.c"
   37123        1634 :     break;
   37124             : 
   37125         248 :   case 732: /* CreateForeignServerStmt: CREATE SERVER name opt_type opt_foreign_server_version FOREIGN DATA_P WRAPPER name create_generic_options  */
   37126             : #line 5561 "gram.y"
   37127             :                                 {
   37128             :                     CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
   37129             : 
   37130             :                     n->servername = (yyvsp[-7].str);
   37131             :                     n->servertype = (yyvsp[-6].str);
   37132             :                     n->version = (yyvsp[-5].str);
   37133             :                     n->fdwname = (yyvsp[-1].str);
   37134             :                     n->options = (yyvsp[0].list);
   37135             :                     n->if_not_exists = false;
   37136             :                     (yyval.node) = (Node *) n;
   37137             :                 }
   37138             : #line 37139 "gram.c"
   37139         248 :     break;
   37140             : 
   37141          24 :   case 733: /* CreateForeignServerStmt: CREATE SERVER IF_P NOT EXISTS name opt_type opt_foreign_server_version FOREIGN DATA_P WRAPPER name create_generic_options  */
   37142             : #line 5574 "gram.y"
   37143             :                                 {
   37144             :                     CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
   37145             : 
   37146             :                     n->servername = (yyvsp[-7].str);
   37147             :                     n->servertype = (yyvsp[-6].str);
   37148             :                     n->version = (yyvsp[-5].str);
   37149             :                     n->fdwname = (yyvsp[-1].str);
   37150             :                     n->options = (yyvsp[0].list);
   37151             :                     n->if_not_exists = true;
   37152             :                     (yyval.node) = (Node *) n;
   37153             :                 }
   37154             : #line 37155 "gram.c"
   37155          24 :     break;
   37156             : 
   37157          18 :   case 734: /* opt_type: TYPE_P Sconst  */
   37158             : #line 5588 "gram.y"
   37159             :                                                         { (yyval.str) = (yyvsp[0].str); }
   37160             : #line 37161 "gram.c"
   37161          18 :     break;
   37162             : 
   37163         254 :   case 735: /* opt_type: %empty  */
   37164             : #line 5589 "gram.y"
   37165             :                                                                 { (yyval.str) = NULL; }
   37166             : #line 37167 "gram.c"
   37167         254 :     break;
   37168             : 
   37169          66 :   case 736: /* foreign_server_version: VERSION_P Sconst  */
   37170             : #line 5594 "gram.y"
   37171             :                                                         { (yyval.str) = (yyvsp[0].str); }
   37172             : #line 37173 "gram.c"
   37173          66 :     break;
   37174             : 
   37175           0 :   case 737: /* foreign_server_version: VERSION_P NULL_P  */
   37176             : #line 5595 "gram.y"
   37177             :                                                         { (yyval.str) = NULL; }
   37178             : #line 37179 "gram.c"
   37179           0 :     break;
   37180             : 
   37181          18 :   case 738: /* opt_foreign_server_version: foreign_server_version  */
   37182             : #line 5599 "gram.y"
   37183             :                                                 { (yyval.str) = (yyvsp[0].str); }
   37184             : #line 37185 "gram.c"
   37185          18 :     break;
   37186             : 
   37187         254 :   case 739: /* opt_foreign_server_version: %empty  */
   37188             : #line 5600 "gram.y"
   37189             :                                                                 { (yyval.str) = NULL; }
   37190             : #line 37191 "gram.c"
   37191         254 :     break;
   37192             : 
   37193           6 :   case 740: /* AlterForeignServerStmt: ALTER SERVER name foreign_server_version alter_generic_options  */
   37194             : #line 5611 "gram.y"
   37195             :                                 {
   37196             :                     AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
   37197             : 
   37198             :                     n->servername = (yyvsp[-2].str);
   37199             :                     n->version = (yyvsp[-1].str);
   37200             :                     n->options = (yyvsp[0].list);
   37201             :                     n->has_version = true;
   37202             :                     (yyval.node) = (Node *) n;
   37203             :                 }
   37204             : #line 37205 "gram.c"
   37205           6 :     break;
   37206             : 
   37207          42 :   case 741: /* AlterForeignServerStmt: ALTER SERVER name foreign_server_version  */
   37208             : #line 5621 "gram.y"
   37209             :                                 {
   37210             :                     AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
   37211             : 
   37212             :                     n->servername = (yyvsp[-1].str);
   37213             :                     n->version = (yyvsp[0].str);
   37214             :                     n->has_version = true;
   37215             :                     (yyval.node) = (Node *) n;
   37216             :                 }
   37217             : #line 37218 "gram.c"
   37218          42 :     break;
   37219             : 
   37220         170 :   case 742: /* AlterForeignServerStmt: ALTER SERVER name alter_generic_options  */
   37221             : #line 5630 "gram.y"
   37222             :                                 {
   37223             :                     AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
   37224             : 
   37225             :                     n->servername = (yyvsp[-1].str);
   37226             :                     n->options = (yyvsp[0].list);
   37227             :                     (yyval.node) = (Node *) n;
   37228             :                 }
   37229             : #line 37230 "gram.c"
   37230         170 :     break;
   37231             : 
   37232         356 :   case 743: /* CreateForeignTableStmt: CREATE FOREIGN TABLE qualified_name '(' OptTableElementList ')' OptInherit SERVER name create_generic_options  */
   37233             : #line 5650 "gram.y"
   37234             :                                 {
   37235             :                     CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
   37236             : 
   37237             :                     (yyvsp[-7].range)->relpersistence = RELPERSISTENCE_PERMANENT;
   37238             :                     n->base.relation = (yyvsp[-7].range);
   37239             :                     n->base.tableElts = (yyvsp[-5].list);
   37240             :                     n->base.inhRelations = (yyvsp[-3].list);
   37241             :                     n->base.ofTypename = NULL;
   37242             :                     n->base.constraints = NIL;
   37243             :                     n->base.options = NIL;
   37244             :                     n->base.oncommit = ONCOMMIT_NOOP;
   37245             :                     n->base.tablespacename = NULL;
   37246             :                     n->base.if_not_exists = false;
   37247             :                     /* FDW-specific data */
   37248             :                     n->servername = (yyvsp[-1].str);
   37249             :                     n->options = (yyvsp[0].list);
   37250             :                     (yyval.node) = (Node *) n;
   37251             :                 }
   37252             : #line 37253 "gram.c"
   37253         356 :     break;
   37254             : 
   37255           0 :   case 744: /* CreateForeignTableStmt: CREATE FOREIGN TABLE IF_P NOT EXISTS qualified_name '(' OptTableElementList ')' OptInherit SERVER name create_generic_options  */
   37256             : #line 5671 "gram.y"
   37257             :                                 {
   37258             :                     CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
   37259             : 
   37260             :                     (yyvsp[-7].range)->relpersistence = RELPERSISTENCE_PERMANENT;
   37261             :                     n->base.relation = (yyvsp[-7].range);
   37262             :                     n->base.tableElts = (yyvsp[-5].list);
   37263             :                     n->base.inhRelations = (yyvsp[-3].list);
   37264             :                     n->base.ofTypename = NULL;
   37265             :                     n->base.constraints = NIL;
   37266             :                     n->base.options = NIL;
   37267             :                     n->base.oncommit = ONCOMMIT_NOOP;
   37268             :                     n->base.tablespacename = NULL;
   37269             :                     n->base.if_not_exists = true;
   37270             :                     /* FDW-specific data */
   37271             :                     n->servername = (yyvsp[-1].str);
   37272             :                     n->options = (yyvsp[0].list);
   37273             :                     (yyval.node) = (Node *) n;
   37274             :                 }
   37275             : #line 37276 "gram.c"
   37276           0 :     break;
   37277             : 
   37278          90 :   case 745: /* CreateForeignTableStmt: CREATE FOREIGN TABLE qualified_name PARTITION OF qualified_name OptTypedTableElementList PartitionBoundSpec SERVER name create_generic_options  */
   37279             : #line 5692 "gram.y"
   37280             :                                 {
   37281             :                     CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
   37282             : 
   37283             :                     (yyvsp[-8].range)->relpersistence = RELPERSISTENCE_PERMANENT;
   37284             :                     n->base.relation = (yyvsp[-8].range);
   37285             :                     n->base.inhRelations = list_make1((yyvsp[-5].range));
   37286             :                     n->base.tableElts = (yyvsp[-4].list);
   37287             :                     n->base.partbound = (yyvsp[-3].partboundspec);
   37288             :                     n->base.ofTypename = NULL;
   37289             :                     n->base.constraints = NIL;
   37290             :                     n->base.options = NIL;
   37291             :                     n->base.oncommit = ONCOMMIT_NOOP;
   37292             :                     n->base.tablespacename = NULL;
   37293             :                     n->base.if_not_exists = false;
   37294             :                     /* FDW-specific data */
   37295             :                     n->servername = (yyvsp[-1].str);
   37296             :                     n->options = (yyvsp[0].list);
   37297             :                     (yyval.node) = (Node *) n;
   37298             :                 }
   37299             : #line 37300 "gram.c"
   37300          90 :     break;
   37301             : 
   37302           0 :   case 746: /* CreateForeignTableStmt: CREATE FOREIGN TABLE IF_P NOT EXISTS qualified_name PARTITION OF qualified_name OptTypedTableElementList PartitionBoundSpec SERVER name create_generic_options  */
   37303             : #line 5714 "gram.y"
   37304             :                                 {
   37305             :                     CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
   37306             : 
   37307             :                     (yyvsp[-8].range)->relpersistence = RELPERSISTENCE_PERMANENT;
   37308             :                     n->base.relation = (yyvsp[-8].range);
   37309             :                     n->base.inhRelations = list_make1((yyvsp[-5].range));
   37310             :                     n->base.tableElts = (yyvsp[-4].list);
   37311             :                     n->base.partbound = (yyvsp[-3].partboundspec);
   37312             :                     n->base.ofTypename = NULL;
   37313             :                     n->base.constraints = NIL;
   37314             :                     n->base.options = NIL;
   37315             :                     n->base.oncommit = ONCOMMIT_NOOP;
   37316             :                     n->base.tablespacename = NULL;
   37317             :                     n->base.if_not_exists = true;
   37318             :                     /* FDW-specific data */
   37319             :                     n->servername = (yyvsp[-1].str);
   37320             :                     n->options = (yyvsp[0].list);
   37321             :                     (yyval.node) = (Node *) n;
   37322             :                 }
   37323             : #line 37324 "gram.c"
   37324           0 :     break;
   37325             : 
   37326          44 :   case 747: /* ImportForeignSchemaStmt: IMPORT_P FOREIGN SCHEMA name import_qualification FROM SERVER name INTO name create_generic_options  */
   37327             : #line 5747 "gram.y"
   37328             :                         {
   37329             :                 ImportForeignSchemaStmt *n = makeNode(ImportForeignSchemaStmt);
   37330             : 
   37331             :                 n->server_name = (yyvsp[-3].str);
   37332             :                 n->remote_schema = (yyvsp[-7].str);
   37333             :                 n->local_schema = (yyvsp[-1].str);
   37334             :                 n->list_type = (yyvsp[-6].importqual)->type;
   37335             :                 n->table_list = (yyvsp[-6].importqual)->table_names;
   37336             :                 n->options = (yyvsp[0].list);
   37337             :                 (yyval.node) = (Node *) n;
   37338             :             }
   37339             : #line 37340 "gram.c"
   37340          44 :     break;
   37341             : 
   37342          10 :   case 748: /* import_qualification_type: LIMIT TO  */
   37343             : #line 5761 "gram.y"
   37344             :                                                         { (yyval.ival) = FDW_IMPORT_SCHEMA_LIMIT_TO; }
   37345             : #line 37346 "gram.c"
   37346          10 :     break;
   37347             : 
   37348          14 :   case 749: /* import_qualification_type: EXCEPT  */
   37349             : #line 5762 "gram.y"
   37350             :                                                         { (yyval.ival) = FDW_IMPORT_SCHEMA_EXCEPT; }
   37351             : #line 37352 "gram.c"
   37352          14 :     break;
   37353             : 
   37354          24 :   case 750: /* import_qualification: import_qualification_type '(' relation_expr_list ')'  */
   37355             : #line 5767 "gram.y"
   37356             :                         {
   37357             :                 ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
   37358             : 
   37359             :                 n->type = (yyvsp[-3].ival);
   37360             :                 n->table_names = (yyvsp[-1].list);
   37361             :                 (yyval.importqual) = n;
   37362             :             }
   37363             : #line 37364 "gram.c"
   37364          24 :     break;
   37365             : 
   37366          20 :   case 751: /* import_qualification: %empty  */
   37367             : #line 5775 "gram.y"
   37368             :                         {
   37369             :                 ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
   37370             :                 n->type = FDW_IMPORT_SCHEMA_ALL;
   37371             :                 n->table_names = NIL;
   37372             :                 (yyval.importqual) = n;
   37373             :             }
   37374             : #line 37375 "gram.c"
   37375          20 :     break;
   37376             : 
   37377         232 :   case 752: /* CreateUserMappingStmt: CREATE USER MAPPING FOR auth_ident SERVER name create_generic_options  */
   37378             : #line 5791 "gram.y"
   37379             :                                 {
   37380             :                     CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
   37381             : 
   37382             :                     n->user = (yyvsp[-3].rolespec);
   37383             :                     n->servername = (yyvsp[-1].str);
   37384             :                     n->options = (yyvsp[0].list);
   37385             :                     n->if_not_exists = false;
   37386             :                     (yyval.node) = (Node *) n;
   37387             :                 }
   37388             : #line 37389 "gram.c"
   37389         232 :     break;
   37390             : 
   37391           6 :   case 753: /* CreateUserMappingStmt: CREATE USER MAPPING IF_P NOT EXISTS FOR auth_ident SERVER name create_generic_options  */
   37392             : #line 5801 "gram.y"
   37393             :                                 {
   37394             :                     CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
   37395             : 
   37396             :                     n->user = (yyvsp[-3].rolespec);
   37397             :                     n->servername = (yyvsp[-1].str);
   37398             :                     n->options = (yyvsp[0].list);
   37399             :                     n->if_not_exists = true;
   37400             :                     (yyval.node) = (Node *) n;
   37401             :                 }
   37402             : #line 37403 "gram.c"
   37403           6 :     break;
   37404             : 
   37405         428 :   case 754: /* auth_ident: RoleSpec  */
   37406             : #line 5813 "gram.y"
   37407             :                                         { (yyval.rolespec) = (yyvsp[0].rolespec); }
   37408             : #line 37409 "gram.c"
   37409         428 :     break;
   37410             : 
   37411          46 :   case 755: /* auth_ident: USER  */
   37412             : #line 5814 "gram.y"
   37413             :                                                         { (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0])); }
   37414             : #line 37415 "gram.c"
   37415          46 :     break;
   37416             : 
   37417          88 :   case 756: /* DropUserMappingStmt: DROP USER MAPPING FOR auth_ident SERVER name  */
   37418             : #line 5827 "gram.y"
   37419             :                                 {
   37420             :                     DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
   37421             : 
   37422             :                     n->user = (yyvsp[-2].rolespec);
   37423             :                     n->servername = (yyvsp[0].str);
   37424             :                     n->missing_ok = false;
   37425             :                     (yyval.node) = (Node *) n;
   37426             :                 }
   37427             : #line 37428 "gram.c"
   37428          88 :     break;
   37429             : 
   37430          38 :   case 757: /* DropUserMappingStmt: DROP USER MAPPING IF_P EXISTS FOR auth_ident SERVER name  */
   37431             : #line 5836 "gram.y"
   37432             :                                 {
   37433             :                     DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
   37434             : 
   37435             :                     n->user = (yyvsp[-2].rolespec);
   37436             :                     n->servername = (yyvsp[0].str);
   37437             :                     n->missing_ok = true;
   37438             :                     (yyval.node) = (Node *) n;
   37439             :                 }
   37440             : #line 37441 "gram.c"
   37441          38 :     break;
   37442             : 
   37443         110 :   case 758: /* AlterUserMappingStmt: ALTER USER MAPPING FOR auth_ident SERVER name alter_generic_options  */
   37444             : #line 5854 "gram.y"
   37445             :                                 {
   37446             :                     AlterUserMappingStmt *n = makeNode(AlterUserMappingStmt);
   37447             : 
   37448             :                     n->user = (yyvsp[-3].rolespec);
   37449             :                     n->servername = (yyvsp[-1].str);
   37450             :                     n->options = (yyvsp[0].list);
   37451             :                     (yyval.node) = (Node *) n;
   37452             :                 }
   37453             : #line 37454 "gram.c"
   37454         110 :     break;
   37455             : 
   37456         652 :   case 759: /* CreatePolicyStmt: CREATE POLICY name ON qualified_name RowSecurityDefaultPermissive RowSecurityDefaultForCmd RowSecurityDefaultToRole RowSecurityOptionalExpr RowSecurityOptionalWithCheck  */
   37457             : #line 5881 "gram.y"
   37458             :                                 {
   37459             :                     CreatePolicyStmt *n = makeNode(CreatePolicyStmt);
   37460             : 
   37461             :                     n->policy_name = (yyvsp[-7].str);
   37462             :                     n->table = (yyvsp[-5].range);
   37463             :                     n->permissive = (yyvsp[-4].boolean);
   37464             :                     n->cmd_name = (yyvsp[-3].str);
   37465             :                     n->roles = (yyvsp[-2].list);
   37466             :                     n->qual = (yyvsp[-1].node);
   37467             :                     n->with_check = (yyvsp[0].node);
   37468             :                     (yyval.node) = (Node *) n;
   37469             :                 }
   37470             : #line 37471 "gram.c"
   37471         652 :     break;
   37472             : 
   37473          84 :   case 760: /* AlterPolicyStmt: ALTER POLICY name ON qualified_name RowSecurityOptionalToRole RowSecurityOptionalExpr RowSecurityOptionalWithCheck  */
   37474             : #line 5898 "gram.y"
   37475             :                                 {
   37476             :                     AlterPolicyStmt *n = makeNode(AlterPolicyStmt);
   37477             : 
   37478             :                     n->policy_name = (yyvsp[-5].str);
   37479             :                     n->table = (yyvsp[-3].range);
   37480             :                     n->roles = (yyvsp[-2].list);
   37481             :                     n->qual = (yyvsp[-1].node);
   37482             :                     n->with_check = (yyvsp[0].node);
   37483             :                     (yyval.node) = (Node *) n;
   37484             :                 }
   37485             : #line 37486 "gram.c"
   37486          84 :     break;
   37487             : 
   37488         678 :   case 761: /* RowSecurityOptionalExpr: USING '(' a_expr ')'  */
   37489             : #line 5911 "gram.y"
   37490             :                                                 { (yyval.node) = (yyvsp[-1].node); }
   37491             : #line 37492 "gram.c"
   37492         678 :     break;
   37493             : 
   37494          58 :   case 762: /* RowSecurityOptionalExpr: %empty  */
   37495             : #line 5912 "gram.y"
   37496             :                                                         { (yyval.node) = NULL; }
   37497             : #line 37498 "gram.c"
   37498          58 :     break;
   37499             : 
   37500         122 :   case 763: /* RowSecurityOptionalWithCheck: WITH CHECK '(' a_expr ')'  */
   37501             : #line 5916 "gram.y"
   37502             :                                                                 { (yyval.node) = (yyvsp[-1].node); }
   37503             : #line 37504 "gram.c"
   37504         122 :     break;
   37505             : 
   37506         614 :   case 764: /* RowSecurityOptionalWithCheck: %empty  */
   37507             : #line 5917 "gram.y"
   37508             :                                                                         { (yyval.node) = NULL; }
   37509             : #line 37510 "gram.c"
   37510         614 :     break;
   37511             : 
   37512         124 :   case 765: /* RowSecurityDefaultToRole: TO role_list  */
   37513             : #line 5921 "gram.y"
   37514             :                                                         { (yyval.list) = (yyvsp[0].list); }
   37515             : #line 37516 "gram.c"
   37516         124 :     break;
   37517             : 
   37518         528 :   case 766: /* RowSecurityDefaultToRole: %empty  */
   37519             : #line 5922 "gram.y"
   37520             :                                                         { (yyval.list) = list_make1(makeRoleSpec(ROLESPEC_PUBLIC, -1)); }
   37521             : #line 37522 "gram.c"
   37522         528 :     break;
   37523             : 
   37524          12 :   case 767: /* RowSecurityOptionalToRole: TO role_list  */
   37525             : #line 5926 "gram.y"
   37526             :                                                         { (yyval.list) = (yyvsp[0].list); }
   37527             : #line 37528 "gram.c"
   37528          12 :     break;
   37529             : 
   37530          72 :   case 768: /* RowSecurityOptionalToRole: %empty  */
   37531             : #line 5927 "gram.y"
   37532             :                                                         { (yyval.list) = NULL; }
   37533             : #line 37534 "gram.c"
   37534          72 :     break;
   37535             : 
   37536          80 :   case 769: /* RowSecurityDefaultPermissive: AS IDENT  */
   37537             : #line 5932 "gram.y"
   37538             :                                 {
   37539             :                     if (strcmp((yyvsp[0].str), "permissive") == 0)
   37540             :                         (yyval.boolean) = true;
   37541             :                     else if (strcmp((yyvsp[0].str), "restrictive") == 0)
   37542             :                         (yyval.boolean) = false;
   37543             :                     else
   37544             :                         ereport(ERROR,
   37545             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   37546             :                                  errmsg("unrecognized row security option \"%s\"", (yyvsp[0].str)),
   37547             :                                  errhint("Only PERMISSIVE or RESTRICTIVE policies are supported currently."),
   37548             :                                  parser_errposition((yylsp[0]))));
   37549             : 
   37550             :                 }
   37551             : #line 37552 "gram.c"
   37552          74 :     break;
   37553             : 
   37554         578 :   case 770: /* RowSecurityDefaultPermissive: %empty  */
   37555             : #line 5945 "gram.y"
   37556             :                                                         { (yyval.boolean) = true; }
   37557             : #line 37558 "gram.c"
   37558         578 :     break;
   37559             : 
   37560         314 :   case 771: /* RowSecurityDefaultForCmd: FOR row_security_cmd  */
   37561             : #line 5949 "gram.y"
   37562             :                                                 { (yyval.str) = (yyvsp[0].str); }
   37563             : #line 37564 "gram.c"
   37564         314 :     break;
   37565             : 
   37566         338 :   case 772: /* RowSecurityDefaultForCmd: %empty  */
   37567             : #line 5950 "gram.y"
   37568             :                                                         { (yyval.str) = "all"; }
   37569             : #line 37570 "gram.c"
   37570         338 :     break;
   37571             : 
   37572          44 :   case 773: /* row_security_cmd: ALL  */
   37573             : #line 5954 "gram.y"
   37574             :                                                         { (yyval.str) = "all"; }
   37575             : #line 37576 "gram.c"
   37576          44 :     break;
   37577             : 
   37578         106 :   case 774: /* row_security_cmd: SELECT  */
   37579             : #line 5955 "gram.y"
   37580             :                                                 { (yyval.str) = "select"; }
   37581             : #line 37582 "gram.c"
   37582         106 :     break;
   37583             : 
   37584          44 :   case 775: /* row_security_cmd: INSERT  */
   37585             : #line 5956 "gram.y"
   37586             :                                                 { (yyval.str) = "insert"; }
   37587             : #line 37588 "gram.c"
   37588          44 :     break;
   37589             : 
   37590          78 :   case 776: /* row_security_cmd: UPDATE  */
   37591             : #line 5957 "gram.y"
   37592             :                                                 { (yyval.str) = "update"; }
   37593             : #line 37594 "gram.c"
   37594          78 :     break;
   37595             : 
   37596          42 :   case 777: /* row_security_cmd: DELETE_P  */
   37597             : #line 5958 "gram.y"
   37598             :                                                 { (yyval.str) = "delete"; }
   37599             : #line 37600 "gram.c"
   37600          42 :     break;
   37601             : 
   37602          60 :   case 778: /* CreateAmStmt: CREATE ACCESS METHOD name TYPE_P am_type HANDLER handler_name  */
   37603             : #line 5969 "gram.y"
   37604             :                                 {
   37605             :                     CreateAmStmt *n = makeNode(CreateAmStmt);
   37606             : 
   37607             :                     n->amname = (yyvsp[-4].str);
   37608             :                     n->handler_name = (yyvsp[0].list);
   37609             :                     n->amtype = (yyvsp[-2].chr);
   37610             :                     (yyval.node) = (Node *) n;
   37611             :                 }
   37612             : #line 37613 "gram.c"
   37613          60 :     break;
   37614             : 
   37615          32 :   case 779: /* am_type: INDEX  */
   37616             : #line 5980 "gram.y"
   37617             :                                                 { (yyval.chr) = AMTYPE_INDEX; }
   37618             : #line 37619 "gram.c"
   37619          32 :     break;
   37620             : 
   37621          28 :   case 780: /* am_type: TABLE  */
   37622             : #line 5981 "gram.y"
   37623             :                                                 { (yyval.chr) = AMTYPE_TABLE; }
   37624             : #line 37625 "gram.c"
   37625          28 :     break;
   37626             : 
   37627        3074 :   case 781: /* CreateTrigStmt: CREATE opt_or_replace TRIGGER name TriggerActionTime TriggerEvents ON qualified_name TriggerReferencing TriggerForSpec TriggerWhen EXECUTE FUNCTION_or_PROCEDURE func_name '(' TriggerFuncArgs ')'  */
   37628             : #line 5995 "gram.y"
   37629             :                                 {
   37630             :                     CreateTrigStmt *n = makeNode(CreateTrigStmt);
   37631             : 
   37632             :                     n->replace = (yyvsp[-15].boolean);
   37633             :                     n->isconstraint = false;
   37634             :                     n->trigname = (yyvsp[-13].str);
   37635             :                     n->relation = (yyvsp[-9].range);
   37636             :                     n->funcname = (yyvsp[-3].list);
   37637             :                     n->args = (yyvsp[-1].list);
   37638             :                     n->row = (yyvsp[-7].boolean);
   37639             :                     n->timing = (yyvsp[-12].ival);
   37640             :                     n->events = intVal(linitial((yyvsp[-11].list)));
   37641             :                     n->columns = (List *) lsecond((yyvsp[-11].list));
   37642             :                     n->whenClause = (yyvsp[-6].node);
   37643             :                     n->transitionRels = (yyvsp[-8].list);
   37644             :                     n->deferrable = false;
   37645             :                     n->initdeferred = false;
   37646             :                     n->constrrel = NULL;
   37647             :                     (yyval.node) = (Node *) n;
   37648             :                 }
   37649             : #line 37650 "gram.c"
   37650        3074 :     break;
   37651             : 
   37652          54 :   case 782: /* 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 ')'  */
   37653             : #line 6019 "gram.y"
   37654             :                                 {
   37655             :                     CreateTrigStmt *n = makeNode(CreateTrigStmt);
   37656             : 
   37657             :                     n->replace = (yyvsp[-19].boolean);
   37658             :                     if (n->replace) /* not supported, see CreateTrigger */
   37659             :                         ereport(ERROR,
   37660             :                                 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   37661             :                                  errmsg("CREATE OR REPLACE CONSTRAINT TRIGGER is not supported")));
   37662             :                     n->isconstraint = true;
   37663             :                     n->trigname = (yyvsp[-16].str);
   37664             :                     n->relation = (yyvsp[-12].range);
   37665             :                     n->funcname = (yyvsp[-3].list);
   37666             :                     n->args = (yyvsp[-1].list);
   37667             :                     n->row = true;
   37668             :                     n->timing = TRIGGER_TYPE_AFTER;
   37669             :                     n->events = intVal(linitial((yyvsp[-14].list)));
   37670             :                     n->columns = (List *) lsecond((yyvsp[-14].list));
   37671             :                     n->whenClause = (yyvsp[-6].node);
   37672             :                     n->transitionRels = NIL;
   37673             :                     processCASbits((yyvsp[-10].ival), (yylsp[-10]), "TRIGGER",
   37674             :                                    &n->deferrable, &n->initdeferred, NULL,
   37675             :                                    NULL, yyscanner);
   37676             :                     n->constrrel = (yyvsp[-11].range);
   37677             :                     (yyval.node) = (Node *) n;
   37678             :                 }
   37679             : #line 37680 "gram.c"
   37680          54 :     break;
   37681             : 
   37682        1392 :   case 783: /* TriggerActionTime: BEFORE  */
   37683             : #line 6047 "gram.y"
   37684             :                                                                                         { (yyval.ival) = TRIGGER_TYPE_BEFORE; }
   37685             : #line 37686 "gram.c"
   37686        1392 :     break;
   37687             : 
   37688        1556 :   case 784: /* TriggerActionTime: AFTER  */
   37689             : #line 6048 "gram.y"
   37690             :                                                                                         { (yyval.ival) = TRIGGER_TYPE_AFTER; }
   37691             : #line 37692 "gram.c"
   37692        1556 :     break;
   37693             : 
   37694         138 :   case 785: /* TriggerActionTime: INSTEAD OF  */
   37695             : #line 6049 "gram.y"
   37696             :                                                                                 { (yyval.ival) = TRIGGER_TYPE_INSTEAD; }
   37697             : #line 37698 "gram.c"
   37698         138 :     break;
   37699             : 
   37700        3140 :   case 786: /* TriggerEvents: TriggerOneEvent  */
   37701             : #line 6054 "gram.y"
   37702             :                                 { (yyval.list) = (yyvsp[0].list); }
   37703             : #line 37704 "gram.c"
   37704        3140 :     break;
   37705             : 
   37706        1076 :   case 787: /* TriggerEvents: TriggerEvents OR TriggerOneEvent  */
   37707             : #line 6056 "gram.y"
   37708             :                                 {
   37709             :                     int         events1 = intVal(linitial((yyvsp[-2].list)));
   37710             :                     int         events2 = intVal(linitial((yyvsp[0].list)));
   37711             :                     List       *columns1 = (List *) lsecond((yyvsp[-2].list));
   37712             :                     List       *columns2 = (List *) lsecond((yyvsp[0].list));
   37713             : 
   37714             :                     if (events1 & events2)
   37715             :                         parser_yyerror("duplicate trigger events specified");
   37716             :                     /*
   37717             :                      * concat'ing the columns lists loses information about
   37718             :                      * which columns went with which event, but so long as
   37719             :                      * only UPDATE carries columns and we disallow multiple
   37720             :                      * UPDATE items, it doesn't matter.  Command execution
   37721             :                      * should just ignore the columns for non-UPDATE events.
   37722             :                      */
   37723             :                     (yyval.list) = list_make2(makeInteger(events1 | events2),
   37724             :                                     list_concat(columns1, columns2));
   37725             :                 }
   37726             : #line 37727 "gram.c"
   37727        1070 :     break;
   37728             : 
   37729        1574 :   case 788: /* TriggerOneEvent: INSERT  */
   37730             : #line 6078 "gram.y"
   37731             :                                 { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_INSERT), NIL); }
   37732             : #line 37733 "gram.c"
   37733        1574 :     break;
   37734             : 
   37735         864 :   case 789: /* TriggerOneEvent: DELETE_P  */
   37736             : #line 6080 "gram.y"
   37737             :                                 { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_DELETE), NIL); }
   37738             : #line 37739 "gram.c"
   37739         864 :     break;
   37740             : 
   37741        1646 :   case 790: /* TriggerOneEvent: UPDATE  */
   37742             : #line 6082 "gram.y"
   37743             :                                 { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), NIL); }
   37744             : #line 37745 "gram.c"
   37745        1646 :     break;
   37746             : 
   37747          94 :   case 791: /* TriggerOneEvent: UPDATE OF columnList  */
   37748             : #line 6084 "gram.y"
   37749             :                                 { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), (yyvsp[0].list)); }
   37750             : #line 37751 "gram.c"
   37751          94 :     break;
   37752             : 
   37753          38 :   case 792: /* TriggerOneEvent: TRUNCATE  */
   37754             : #line 6086 "gram.y"
   37755             :                                 { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_TRUNCATE), NIL); }
   37756             : #line 37757 "gram.c"
   37757          38 :     break;
   37758             : 
   37759         424 :   case 793: /* TriggerReferencing: REFERENCING TriggerTransitions  */
   37760             : #line 6090 "gram.y"
   37761             :                                                                         { (yyval.list) = (yyvsp[0].list); }
   37762             : #line 37763 "gram.c"
   37763         424 :     break;
   37764             : 
   37765        2650 :   case 794: /* TriggerReferencing: %empty  */
   37766             : #line 6091 "gram.y"
   37767             :                                                                                                 { (yyval.list) = NIL; }
   37768             : #line 37769 "gram.c"
   37769        2650 :     break;
   37770             : 
   37771         424 :   case 795: /* TriggerTransitions: TriggerTransition  */
   37772             : #line 6095 "gram.y"
   37773             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   37774             : #line 37775 "gram.c"
   37775         424 :     break;
   37776             : 
   37777         138 :   case 796: /* TriggerTransitions: TriggerTransitions TriggerTransition  */
   37778             : #line 6096 "gram.y"
   37779             :                                                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
   37780             : #line 37781 "gram.c"
   37781         138 :     break;
   37782             : 
   37783         562 :   case 797: /* TriggerTransition: TransitionOldOrNew TransitionRowOrTable opt_as TransitionRelName  */
   37784             : #line 6101 "gram.y"
   37785             :                                 {
   37786             :                     TriggerTransition *n = makeNode(TriggerTransition);
   37787             : 
   37788             :                     n->name = (yyvsp[0].str);
   37789             :                     n->isNew = (yyvsp[-3].boolean);
   37790             :                     n->isTable = (yyvsp[-2].boolean);
   37791             :                     (yyval.node) = (Node *) n;
   37792             :                 }
   37793             : #line 37794 "gram.c"
   37794         562 :     break;
   37795             : 
   37796         306 :   case 798: /* TransitionOldOrNew: NEW  */
   37797             : #line 6112 "gram.y"
   37798             :                                                                                                         { (yyval.boolean) = true; }
   37799             : #line 37800 "gram.c"
   37800         306 :     break;
   37801             : 
   37802         256 :   case 799: /* TransitionOldOrNew: OLD  */
   37803             : #line 6113 "gram.y"
   37804             :                                                                                                 { (yyval.boolean) = false; }
   37805             : #line 37806 "gram.c"
   37806         256 :     break;
   37807             : 
   37808         562 :   case 800: /* TransitionRowOrTable: TABLE  */
   37809             : #line 6117 "gram.y"
   37810             :                                                                                                 { (yyval.boolean) = true; }
   37811             : #line 37812 "gram.c"
   37812         562 :     break;
   37813             : 
   37814           0 :   case 801: /* TransitionRowOrTable: ROW  */
   37815             : #line 6126 "gram.y"
   37816             :                                                                                                 { (yyval.boolean) = false; }
   37817             : #line 37818 "gram.c"
   37818           0 :     break;
   37819             : 
   37820         562 :   case 802: /* TransitionRelName: ColId  */
   37821             : #line 6130 "gram.y"
   37822             :                                                                                                 { (yyval.str) = (yyvsp[0].str); }
   37823             : #line 37824 "gram.c"
   37824         562 :     break;
   37825             : 
   37826        2846 :   case 803: /* TriggerForSpec: FOR TriggerForOptEach TriggerForType  */
   37827             : #line 6135 "gram.y"
   37828             :                                 {
   37829             :                     (yyval.boolean) = (yyvsp[0].boolean);
   37830             :                 }
   37831             : #line 37832 "gram.c"
   37832        2846 :     break;
   37833             : 
   37834         228 :   case 804: /* TriggerForSpec: %empty  */
   37835             : #line 6139 "gram.y"
   37836             :                                 {
   37837             :                     /*
   37838             :                      * If ROW/STATEMENT not specified, default to
   37839             :                      * STATEMENT, per SQL
   37840             :                      */
   37841             :                     (yyval.boolean) = false;
   37842             :                 }
   37843             : #line 37844 "gram.c"
   37844         228 :     break;
   37845             : 
   37846        2054 :   case 807: /* TriggerForType: ROW  */
   37847             : #line 6154 "gram.y"
   37848             :                                                                                                         { (yyval.boolean) = true; }
   37849             : #line 37850 "gram.c"
   37850        2054 :     break;
   37851             : 
   37852         792 :   case 808: /* TriggerForType: STATEMENT  */
   37853             : #line 6155 "gram.y"
   37854             :                                                                                                 { (yyval.boolean) = false; }
   37855             : #line 37856 "gram.c"
   37856         792 :     break;
   37857             : 
   37858         152 :   case 809: /* TriggerWhen: WHEN '(' a_expr ')'  */
   37859             : #line 6159 "gram.y"
   37860             :                                                                                         { (yyval.node) = (yyvsp[-1].node); }
   37861             : #line 37862 "gram.c"
   37862         152 :     break;
   37863             : 
   37864        2976 :   case 810: /* TriggerWhen: %empty  */
   37865             : #line 6160 "gram.y"
   37866             :                                                                                                 { (yyval.node) = NULL; }
   37867             : #line 37868 "gram.c"
   37868        2976 :     break;
   37869             : 
   37870         598 :   case 813: /* TriggerFuncArgs: TriggerFuncArg  */
   37871             : #line 6169 "gram.y"
   37872             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   37873             : #line 37874 "gram.c"
   37874         598 :     break;
   37875             : 
   37876         264 :   case 814: /* TriggerFuncArgs: TriggerFuncArgs ',' TriggerFuncArg  */
   37877             : #line 6170 "gram.y"
   37878             :                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   37879             : #line 37880 "gram.c"
   37880         264 :     break;
   37881             : 
   37882        2530 :   case 815: /* TriggerFuncArgs: %empty  */
   37883             : #line 6171 "gram.y"
   37884             :                                                                                                 { (yyval.list) = NIL; }
   37885             : #line 37886 "gram.c"
   37886        2530 :     break;
   37887             : 
   37888         102 :   case 816: /* TriggerFuncArg: Iconst  */
   37889             : #line 6176 "gram.y"
   37890             :                                 {
   37891             :                     (yyval.node) = (Node *) makeString(psprintf("%d", (yyvsp[0].ival)));
   37892             :                 }
   37893             : #line 37894 "gram.c"
   37894         102 :     break;
   37895             : 
   37896           0 :   case 817: /* TriggerFuncArg: FCONST  */
   37897             : #line 6179 "gram.y"
   37898             :                                                                                                 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
   37899             : #line 37900 "gram.c"
   37900           0 :     break;
   37901             : 
   37902         720 :   case 818: /* TriggerFuncArg: Sconst  */
   37903             : #line 6180 "gram.y"
   37904             :                                                                                                 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
   37905             : #line 37906 "gram.c"
   37906         720 :     break;
   37907             : 
   37908          40 :   case 819: /* TriggerFuncArg: ColLabel  */
   37909             : #line 6181 "gram.y"
   37910             :                                                                                                 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
   37911             : #line 37912 "gram.c"
   37912          40 :     break;
   37913             : 
   37914          12 :   case 820: /* OptConstrFromTable: FROM qualified_name  */
   37915             : #line 6185 "gram.y"
   37916             :                                                                                         { (yyval.range) = (yyvsp[0].range); }
   37917             : #line 37918 "gram.c"
   37918          12 :     break;
   37919             : 
   37920          42 :   case 821: /* OptConstrFromTable: %empty  */
   37921             : #line 6186 "gram.y"
   37922             :                                                                                                 { (yyval.range) = NULL; }
   37923             : #line 37924 "gram.c"
   37924          42 :     break;
   37925             : 
   37926       14420 :   case 822: /* ConstraintAttributeSpec: %empty  */
   37927             : #line 6191 "gram.y"
   37928             :                                 { (yyval.ival) = 0; }
   37929             : #line 37930 "gram.c"
   37930       14420 :     break;
   37931             : 
   37932        1114 :   case 823: /* ConstraintAttributeSpec: ConstraintAttributeSpec ConstraintAttributeElem  */
   37933             : #line 6193 "gram.y"
   37934             :                                 {
   37935             :                     /*
   37936             :                      * We must complain about conflicting options.
   37937             :                      * We could, but choose not to, complain about redundant
   37938             :                      * options (ie, where $2's bit is already set in $1).
   37939             :                      */
   37940             :                     int     newspec = (yyvsp[-1].ival) | (yyvsp[0].ival);
   37941             : 
   37942             :                     /* special message for this case */
   37943             :                     if ((newspec & (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED)) == (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED))
   37944             :                         ereport(ERROR,
   37945             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   37946             :                                  errmsg("constraint declared INITIALLY DEFERRED must be DEFERRABLE"),
   37947             :                                  parser_errposition((yylsp[0]))));
   37948             :                     /* generic message for other conflicts */
   37949             :                     if ((newspec & (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE)) == (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE) ||
   37950             :                         (newspec & (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED)) == (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED))
   37951             :                         ereport(ERROR,
   37952             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   37953             :                                  errmsg("conflicting constraint properties"),
   37954             :                                  parser_errposition((yylsp[0]))));
   37955             :                     (yyval.ival) = newspec;
   37956             :                 }
   37957             : #line 37958 "gram.c"
   37958        1108 :     break;
   37959             : 
   37960          36 :   case 824: /* ConstraintAttributeElem: NOT DEFERRABLE  */
   37961             : #line 6219 "gram.y"
   37962             :                                                                         { (yyval.ival) = CAS_NOT_DEFERRABLE; }
   37963             : #line 37964 "gram.c"
   37964          36 :     break;
   37965             : 
   37966         216 :   case 825: /* ConstraintAttributeElem: DEFERRABLE  */
   37967             : #line 6220 "gram.y"
   37968             :                                                                         { (yyval.ival) = CAS_DEFERRABLE; }
   37969             : #line 37970 "gram.c"
   37970         216 :     break;
   37971             : 
   37972          30 :   case 826: /* ConstraintAttributeElem: INITIALLY IMMEDIATE  */
   37973             : #line 6221 "gram.y"
   37974             :                                                                 { (yyval.ival) = CAS_INITIALLY_IMMEDIATE; }
   37975             : #line 37976 "gram.c"
   37976          30 :     break;
   37977             : 
   37978         162 :   case 827: /* ConstraintAttributeElem: INITIALLY DEFERRED  */
   37979             : #line 6222 "gram.y"
   37980             :                                                                 { (yyval.ival) = CAS_INITIALLY_DEFERRED; }
   37981             : #line 37982 "gram.c"
   37982         162 :     break;
   37983             : 
   37984         516 :   case 828: /* ConstraintAttributeElem: NOT VALID  */
   37985             : #line 6223 "gram.y"
   37986             :                                                                                 { (yyval.ival) = CAS_NOT_VALID; }
   37987             : #line 37988 "gram.c"
   37988         516 :     break;
   37989             : 
   37990         154 :   case 829: /* ConstraintAttributeElem: NO INHERIT  */
   37991             : #line 6224 "gram.y"
   37992             :                                                                         { (yyval.ival) = CAS_NO_INHERIT; }
   37993             : #line 37994 "gram.c"
   37994         154 :     break;
   37995             : 
   37996          98 :   case 830: /* CreateEventTrigStmt: CREATE EVENT TRIGGER name ON ColLabel EXECUTE FUNCTION_or_PROCEDURE func_name '(' ')'  */
   37997             : #line 6239 "gram.y"
   37998             :                                 {
   37999             :                     CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
   38000             : 
   38001             :                     n->trigname = (yyvsp[-7].str);
   38002             :                     n->eventname = (yyvsp[-5].str);
   38003             :                     n->whenclause = NULL;
   38004             :                     n->funcname = (yyvsp[-2].list);
   38005             :                     (yyval.node) = (Node *) n;
   38006             :                 }
   38007             : #line 38008 "gram.c"
   38008          98 :     break;
   38009             : 
   38010          98 :   case 831: /* CreateEventTrigStmt: CREATE EVENT TRIGGER name ON ColLabel WHEN event_trigger_when_list EXECUTE FUNCTION_or_PROCEDURE func_name '(' ')'  */
   38011             : #line 6251 "gram.y"
   38012             :                                 {
   38013             :                     CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
   38014             : 
   38015             :                     n->trigname = (yyvsp[-9].str);
   38016             :                     n->eventname = (yyvsp[-7].str);
   38017             :                     n->whenclause = (yyvsp[-5].list);
   38018             :                     n->funcname = (yyvsp[-2].list);
   38019             :                     (yyval.node) = (Node *) n;
   38020             :                 }
   38021             : #line 38022 "gram.c"
   38022          98 :     break;
   38023             : 
   38024          98 :   case 832: /* event_trigger_when_list: event_trigger_when_item  */
   38025             : #line 6264 "gram.y"
   38026             :                         { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   38027             : #line 38028 "gram.c"
   38028          98 :     break;
   38029             : 
   38030           6 :   case 833: /* event_trigger_when_list: event_trigger_when_list AND event_trigger_when_item  */
   38031             : #line 6266 "gram.y"
   38032             :                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
   38033             : #line 38034 "gram.c"
   38034           6 :     break;
   38035             : 
   38036         104 :   case 834: /* event_trigger_when_item: ColId IN_P '(' event_trigger_value_list ')'  */
   38037             : #line 6271 "gram.y"
   38038             :                         { (yyval.defelt) = makeDefElem((yyvsp[-4].str), (Node *) (yyvsp[-1].list), (yylsp[-4])); }
   38039             : #line 38040 "gram.c"
   38040         104 :     break;
   38041             : 
   38042         104 :   case 835: /* event_trigger_value_list: SCONST  */
   38043             : #line 6276 "gram.y"
   38044             :                         { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   38045             : #line 38046 "gram.c"
   38046         104 :     break;
   38047             : 
   38048          66 :   case 836: /* event_trigger_value_list: event_trigger_value_list ',' SCONST  */
   38049             : #line 6278 "gram.y"
   38050             :                         { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
   38051             : #line 38052 "gram.c"
   38052          66 :     break;
   38053             : 
   38054          48 :   case 837: /* AlterEventTrigStmt: ALTER EVENT TRIGGER name enable_trigger  */
   38055             : #line 6283 "gram.y"
   38056             :                                 {
   38057             :                     AlterEventTrigStmt *n = makeNode(AlterEventTrigStmt);
   38058             : 
   38059             :                     n->trigname = (yyvsp[-1].str);
   38060             :                     n->tgenabled = (yyvsp[0].chr);
   38061             :                     (yyval.node) = (Node *) n;
   38062             :                 }
   38063             : #line 38064 "gram.c"
   38064          48 :     break;
   38065             : 
   38066           6 :   case 838: /* enable_trigger: ENABLE_P  */
   38067             : #line 6293 "gram.y"
   38068             :                                                                         { (yyval.chr) = TRIGGER_FIRES_ON_ORIGIN; }
   38069             : #line 38070 "gram.c"
   38070           6 :     break;
   38071             : 
   38072           6 :   case 839: /* enable_trigger: ENABLE_P REPLICA  */
   38073             : #line 6294 "gram.y"
   38074             :                                                                 { (yyval.chr) = TRIGGER_FIRES_ON_REPLICA; }
   38075             : #line 38076 "gram.c"
   38076           6 :     break;
   38077             : 
   38078          16 :   case 840: /* enable_trigger: ENABLE_P ALWAYS  */
   38079             : #line 6295 "gram.y"
   38080             :                                                                 { (yyval.chr) = TRIGGER_FIRES_ALWAYS; }
   38081             : #line 38082 "gram.c"
   38082          16 :     break;
   38083             : 
   38084          20 :   case 841: /* enable_trigger: DISABLE_P  */
   38085             : #line 6296 "gram.y"
   38086             :                                                                         { (yyval.chr) = TRIGGER_DISABLED; }
   38087             : #line 38088 "gram.c"
   38088          20 :     break;
   38089             : 
   38090           0 :   case 842: /* CreateAssertionStmt: CREATE ASSERTION any_name CHECK '(' a_expr ')' ConstraintAttributeSpec  */
   38091             : #line 6308 "gram.y"
   38092             :                                 {
   38093             :                     ereport(ERROR,
   38094             :                             (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   38095             :                              errmsg("CREATE ASSERTION is not yet implemented")));
   38096             : 
   38097             :                     (yyval.node) = NULL;
   38098             :                 }
   38099             : #line 38100 "gram.c"
   38100             :     break;
   38101             : 
   38102         542 :   case 843: /* DefineStmt: CREATE opt_or_replace AGGREGATE func_name aggr_args definition  */
   38103             : #line 6327 "gram.y"
   38104             :                                 {
   38105             :                     DefineStmt *n = makeNode(DefineStmt);
   38106             : 
   38107             :                     n->kind = OBJECT_AGGREGATE;
   38108             :                     n->oldstyle = false;
   38109             :                     n->replace = (yyvsp[-4].boolean);
   38110             :                     n->defnames = (yyvsp[-2].list);
   38111             :                     n->args = (yyvsp[-1].list);
   38112             :                     n->definition = (yyvsp[0].list);
   38113             :                     (yyval.node) = (Node *) n;
   38114             :                 }
   38115             : #line 38116 "gram.c"
   38116         542 :     break;
   38117             : 
   38118         362 :   case 844: /* DefineStmt: CREATE opt_or_replace AGGREGATE func_name old_aggr_definition  */
   38119             : #line 6339 "gram.y"
   38120             :                                 {
   38121             :                     /* old-style (pre-8.2) syntax for CREATE AGGREGATE */
   38122             :                     DefineStmt *n = makeNode(DefineStmt);
   38123             : 
   38124             :                     n->kind = OBJECT_AGGREGATE;
   38125             :                     n->oldstyle = true;
   38126             :                     n->replace = (yyvsp[-3].boolean);
   38127             :                     n->defnames = (yyvsp[-1].list);
   38128             :                     n->args = NIL;
   38129             :                     n->definition = (yyvsp[0].list);
   38130             :                     (yyval.node) = (Node *) n;
   38131             :                 }
   38132             : #line 38133 "gram.c"
   38133         362 :     break;
   38134             : 
   38135        1586 :   case 845: /* DefineStmt: CREATE OPERATOR any_operator definition  */
   38136             : #line 6352 "gram.y"
   38137             :                                 {
   38138             :                     DefineStmt *n = makeNode(DefineStmt);
   38139             : 
   38140             :                     n->kind = OBJECT_OPERATOR;
   38141             :                     n->oldstyle = false;
   38142             :                     n->defnames = (yyvsp[-1].list);
   38143             :                     n->args = NIL;
   38144             :                     n->definition = (yyvsp[0].list);
   38145             :                     (yyval.node) = (Node *) n;
   38146             :                 }
   38147             : #line 38148 "gram.c"
   38148        1586 :     break;
   38149             : 
   38150         208 :   case 846: /* DefineStmt: CREATE TYPE_P any_name definition  */
   38151             : #line 6363 "gram.y"
   38152             :                                 {
   38153             :                     DefineStmt *n = makeNode(DefineStmt);
   38154             : 
   38155             :                     n->kind = OBJECT_TYPE;
   38156             :                     n->oldstyle = false;
   38157             :                     n->defnames = (yyvsp[-1].list);
   38158             :                     n->args = NIL;
   38159             :                     n->definition = (yyvsp[0].list);
   38160             :                     (yyval.node) = (Node *) n;
   38161             :                 }
   38162             : #line 38163 "gram.c"
   38163         208 :     break;
   38164             : 
   38165         154 :   case 847: /* DefineStmt: CREATE TYPE_P any_name  */
   38166             : #line 6374 "gram.y"
   38167             :                                 {
   38168             :                     /* Shell type (identified by lack of definition) */
   38169             :                     DefineStmt *n = makeNode(DefineStmt);
   38170             : 
   38171             :                     n->kind = OBJECT_TYPE;
   38172             :                     n->oldstyle = false;
   38173             :                     n->defnames = (yyvsp[0].list);
   38174             :                     n->args = NIL;
   38175             :                     n->definition = NIL;
   38176             :                     (yyval.node) = (Node *) n;
   38177             :                 }
   38178             : #line 38179 "gram.c"
   38179         154 :     break;
   38180             : 
   38181         690 :   case 848: /* DefineStmt: CREATE TYPE_P any_name AS '(' OptTableFuncElementList ')'  */
   38182             : #line 6386 "gram.y"
   38183             :                                 {
   38184             :                     CompositeTypeStmt *n = makeNode(CompositeTypeStmt);
   38185             : 
   38186             :                     /* can't use qualified_name, sigh */
   38187             :                     n->typevar = makeRangeVarFromAnyName((yyvsp[-4].list), (yylsp[-4]), yyscanner);
   38188             :                     n->coldeflist = (yyvsp[-1].list);
   38189             :                     (yyval.node) = (Node *) n;
   38190             :                 }
   38191             : #line 38192 "gram.c"
   38192         690 :     break;
   38193             : 
   38194         188 :   case 849: /* DefineStmt: CREATE TYPE_P any_name AS ENUM_P '(' opt_enum_val_list ')'  */
   38195             : #line 6395 "gram.y"
   38196             :                                 {
   38197             :                     CreateEnumStmt *n = makeNode(CreateEnumStmt);
   38198             : 
   38199             :                     n->typeName = (yyvsp[-5].list);
   38200             :                     n->vals = (yyvsp[-1].list);
   38201             :                     (yyval.node) = (Node *) n;
   38202             :                 }
   38203             : #line 38204 "gram.c"
   38204         188 :     break;
   38205             : 
   38206         166 :   case 850: /* DefineStmt: CREATE TYPE_P any_name AS RANGE definition  */
   38207             : #line 6403 "gram.y"
   38208             :                                 {
   38209             :                     CreateRangeStmt *n = makeNode(CreateRangeStmt);
   38210             : 
   38211             :                     n->typeName = (yyvsp[-3].list);
   38212             :                     n->params = (yyvsp[0].list);
   38213             :                     (yyval.node) = (Node *) n;
   38214             :                 }
   38215             : #line 38216 "gram.c"
   38216         166 :     break;
   38217             : 
   38218          40 :   case 851: /* DefineStmt: CREATE TEXT_P SEARCH PARSER any_name definition  */
   38219             : #line 6411 "gram.y"
   38220             :                                 {
   38221             :                     DefineStmt *n = makeNode(DefineStmt);
   38222             : 
   38223             :                     n->kind = OBJECT_TSPARSER;
   38224             :                     n->args = NIL;
   38225             :                     n->defnames = (yyvsp[-1].list);
   38226             :                     n->definition = (yyvsp[0].list);
   38227             :                     (yyval.node) = (Node *) n;
   38228             :                 }
   38229             : #line 38230 "gram.c"
   38230          40 :     break;
   38231             : 
   38232        2274 :   case 852: /* DefineStmt: CREATE TEXT_P SEARCH DICTIONARY any_name definition  */
   38233             : #line 6421 "gram.y"
   38234             :                                 {
   38235             :                     DefineStmt *n = makeNode(DefineStmt);
   38236             : 
   38237             :                     n->kind = OBJECT_TSDICTIONARY;
   38238             :                     n->args = NIL;
   38239             :                     n->defnames = (yyvsp[-1].list);
   38240             :                     n->definition = (yyvsp[0].list);
   38241             :                     (yyval.node) = (Node *) n;
   38242             :                 }
   38243             : #line 38244 "gram.c"
   38244        2274 :     break;
   38245             : 
   38246         120 :   case 853: /* DefineStmt: CREATE TEXT_P SEARCH TEMPLATE any_name definition  */
   38247             : #line 6431 "gram.y"
   38248             :                                 {
   38249             :                     DefineStmt *n = makeNode(DefineStmt);
   38250             : 
   38251             :                     n->kind = OBJECT_TSTEMPLATE;
   38252             :                     n->args = NIL;
   38253             :                     n->defnames = (yyvsp[-1].list);
   38254             :                     n->definition = (yyvsp[0].list);
   38255             :                     (yyval.node) = (Node *) n;
   38256             :                 }
   38257             : #line 38258 "gram.c"
   38258         120 :     break;
   38259             : 
   38260        2216 :   case 854: /* DefineStmt: CREATE TEXT_P SEARCH CONFIGURATION any_name definition  */
   38261             : #line 6441 "gram.y"
   38262             :                                 {
   38263             :                     DefineStmt *n = makeNode(DefineStmt);
   38264             : 
   38265             :                     n->kind = OBJECT_TSCONFIGURATION;
   38266             :                     n->args = NIL;
   38267             :                     n->defnames = (yyvsp[-1].list);
   38268             :                     n->definition = (yyvsp[0].list);
   38269             :                     (yyval.node) = (Node *) n;
   38270             :                 }
   38271             : #line 38272 "gram.c"
   38272        2216 :     break;
   38273             : 
   38274         272 :   case 855: /* DefineStmt: CREATE COLLATION any_name definition  */
   38275             : #line 6451 "gram.y"
   38276             :                                 {
   38277             :                     DefineStmt *n = makeNode(DefineStmt);
   38278             : 
   38279             :                     n->kind = OBJECT_COLLATION;
   38280             :                     n->args = NIL;
   38281             :                     n->defnames = (yyvsp[-1].list);
   38282             :                     n->definition = (yyvsp[0].list);
   38283             :                     (yyval.node) = (Node *) n;
   38284             :                 }
   38285             : #line 38286 "gram.c"
   38286         272 :     break;
   38287             : 
   38288          18 :   case 856: /* DefineStmt: CREATE COLLATION IF_P NOT EXISTS any_name definition  */
   38289             : #line 6461 "gram.y"
   38290             :                                 {
   38291             :                     DefineStmt *n = makeNode(DefineStmt);
   38292             : 
   38293             :                     n->kind = OBJECT_COLLATION;
   38294             :                     n->args = NIL;
   38295             :                     n->defnames = (yyvsp[-1].list);
   38296             :                     n->definition = (yyvsp[0].list);
   38297             :                     n->if_not_exists = true;
   38298             :                     (yyval.node) = (Node *) n;
   38299             :                 }
   38300             : #line 38301 "gram.c"
   38301          18 :     break;
   38302             : 
   38303          52 :   case 857: /* DefineStmt: CREATE COLLATION any_name FROM any_name  */
   38304             : #line 6472 "gram.y"
   38305             :                                 {
   38306             :                     DefineStmt *n = makeNode(DefineStmt);
   38307             : 
   38308             :                     n->kind = OBJECT_COLLATION;
   38309             :                     n->args = NIL;
   38310             :                     n->defnames = (yyvsp[-2].list);
   38311             :                     n->definition = list_make1(makeDefElem("from", (Node *) (yyvsp[0].list), (yylsp[0])));
   38312             :                     (yyval.node) = (Node *) n;
   38313             :                 }
   38314             : #line 38315 "gram.c"
   38315          52 :     break;
   38316             : 
   38317           0 :   case 858: /* DefineStmt: CREATE COLLATION IF_P NOT EXISTS any_name FROM any_name  */
   38318             : #line 6482 "gram.y"
   38319             :                                 {
   38320             :                     DefineStmt *n = makeNode(DefineStmt);
   38321             : 
   38322             :                     n->kind = OBJECT_COLLATION;
   38323             :                     n->args = NIL;
   38324             :                     n->defnames = (yyvsp[-2].list);
   38325             :                     n->definition = list_make1(makeDefElem("from", (Node *) (yyvsp[0].list), (yylsp[0])));
   38326             :                     n->if_not_exists = true;
   38327             :                     (yyval.node) = (Node *) n;
   38328             :                 }
   38329             : #line 38330 "gram.c"
   38330           0 :     break;
   38331             : 
   38332        8328 :   case 859: /* definition: '(' def_list ')'  */
   38333             : #line 6494 "gram.y"
   38334             :                                                                         { (yyval.list) = (yyvsp[-1].list); }
   38335             : #line 38336 "gram.c"
   38336        8328 :     break;
   38337             : 
   38338        8328 :   case 860: /* def_list: def_elem  */
   38339             : #line 6497 "gram.y"
   38340             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   38341             : #line 38342 "gram.c"
   38342        8328 :     break;
   38343             : 
   38344       13514 :   case 861: /* def_list: def_list ',' def_elem  */
   38345             : #line 6498 "gram.y"
   38346             :                                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
   38347             : #line 38348 "gram.c"
   38348       13514 :     break;
   38349             : 
   38350       21518 :   case 862: /* def_elem: ColLabel '=' def_arg  */
   38351             : #line 6502 "gram.y"
   38352             :                                 {
   38353             :                     (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
   38354             :                 }
   38355             : #line 38356 "gram.c"
   38356       21518 :     break;
   38357             : 
   38358         324 :   case 863: /* def_elem: ColLabel  */
   38359             : #line 6506 "gram.y"
   38360             :                                 {
   38361             :                     (yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0]));
   38362             :                 }
   38363             : #line 38364 "gram.c"
   38364         324 :     break;
   38365             : 
   38366       17668 :   case 864: /* def_arg: func_type  */
   38367             : #line 6512 "gram.y"
   38368             :                                                                         { (yyval.node) = (Node *) (yyvsp[0].typnam); }
   38369             : #line 38370 "gram.c"
   38370       17668 :     break;
   38371             : 
   38372        3294 :   case 865: /* def_arg: reserved_keyword  */
   38373             : #line 6513 "gram.y"
   38374             :                                                                         { (yyval.node) = (Node *) makeString(pstrdup((yyvsp[0].keyword))); }
   38375             : #line 38376 "gram.c"
   38376        3294 :     break;
   38377             : 
   38378        1174 :   case 866: /* def_arg: qual_all_Op  */
   38379             : #line 6514 "gram.y"
   38380             :                                                                         { (yyval.node) = (Node *) (yyvsp[0].list); }
   38381             : #line 38382 "gram.c"
   38382        1174 :     break;
   38383             : 
   38384        1270 :   case 867: /* def_arg: NumericOnly  */
   38385             : #line 6515 "gram.y"
   38386             :                                                                         { (yyval.node) = (Node *) (yyvsp[0].node); }
   38387             : #line 38388 "gram.c"
   38388        1270 :     break;
   38389             : 
   38390        1804 :   case 868: /* def_arg: Sconst  */
   38391             : #line 6516 "gram.y"
   38392             :                                                                                 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
   38393             : #line 38394 "gram.c"
   38394        1804 :     break;
   38395             : 
   38396         130 :   case 869: /* def_arg: NONE  */
   38397             : #line 6517 "gram.y"
   38398             :                                                                                 { (yyval.node) = (Node *) makeString(pstrdup((yyvsp[0].keyword))); }
   38399             : #line 38400 "gram.c"
   38400         130 :     break;
   38401             : 
   38402         362 :   case 870: /* old_aggr_definition: '(' old_aggr_list ')'  */
   38403             : #line 6520 "gram.y"
   38404             :                                                                 { (yyval.list) = (yyvsp[-1].list); }
   38405             : #line 38406 "gram.c"
   38406         362 :     break;
   38407             : 
   38408         362 :   case 871: /* old_aggr_list: old_aggr_elem  */
   38409             : #line 6523 "gram.y"
   38410             :                                                                         { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   38411             : #line 38412 "gram.c"
   38412         362 :     break;
   38413             : 
   38414        1292 :   case 872: /* old_aggr_list: old_aggr_list ',' old_aggr_elem  */
   38415             : #line 6524 "gram.y"
   38416             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
   38417             : #line 38418 "gram.c"
   38418        1292 :     break;
   38419             : 
   38420        1654 :   case 873: /* old_aggr_elem: IDENT '=' def_arg  */
   38421             : #line 6533 "gram.y"
   38422             :                                 {
   38423             :                     (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
   38424             :                 }
   38425             : #line 38426 "gram.c"
   38426        1654 :     break;
   38427             : 
   38428         180 :   case 874: /* opt_enum_val_list: enum_val_list  */
   38429             : #line 6539 "gram.y"
   38430             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   38431             : #line 38432 "gram.c"
   38432         180 :     break;
   38433             : 
   38434           8 :   case 875: /* opt_enum_val_list: %empty  */
   38435             : #line 6540 "gram.y"
   38436             :                                                                                         { (yyval.list) = NIL; }
   38437             : #line 38438 "gram.c"
   38438           8 :     break;
   38439             : 
   38440         180 :   case 876: /* enum_val_list: Sconst  */
   38441             : #line 6544 "gram.y"
   38442             :                                 { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   38443             : #line 38444 "gram.c"
   38444         180 :     break;
   38445             : 
   38446       10394 :   case 877: /* enum_val_list: enum_val_list ',' Sconst  */
   38447             : #line 6546 "gram.y"
   38448             :                                 { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
   38449             : #line 38450 "gram.c"
   38450       10394 :     break;
   38451             : 
   38452         154 :   case 878: /* AlterEnumStmt: ALTER TYPE_P any_name ADD_P VALUE_P opt_if_not_exists Sconst  */
   38453             : #line 6557 "gram.y"
   38454             :                         {
   38455             :                 AlterEnumStmt *n = makeNode(AlterEnumStmt);
   38456             : 
   38457             :                 n->typeName = (yyvsp[-4].list);
   38458             :                 n->oldVal = NULL;
   38459             :                 n->newVal = (yyvsp[0].str);
   38460             :                 n->newValNeighbor = NULL;
   38461             :                 n->newValIsAfter = true;
   38462             :                 n->skipIfNewValExists = (yyvsp[-1].boolean);
   38463             :                 (yyval.node) = (Node *) n;
   38464             :             }
   38465             : #line 38466 "gram.c"
   38466         154 :     break;
   38467             : 
   38468         194 :   case 879: /* AlterEnumStmt: ALTER TYPE_P any_name ADD_P VALUE_P opt_if_not_exists Sconst BEFORE Sconst  */
   38469             : #line 6569 "gram.y"
   38470             :                         {
   38471             :                 AlterEnumStmt *n = makeNode(AlterEnumStmt);
   38472             : 
   38473             :                 n->typeName = (yyvsp[-6].list);
   38474             :                 n->oldVal = NULL;
   38475             :                 n->newVal = (yyvsp[-2].str);
   38476             :                 n->newValNeighbor = (yyvsp[0].str);
   38477             :                 n->newValIsAfter = false;
   38478             :                 n->skipIfNewValExists = (yyvsp[-3].boolean);
   38479             :                 (yyval.node) = (Node *) n;
   38480             :             }
   38481             : #line 38482 "gram.c"
   38482         194 :     break;
   38483             : 
   38484          22 :   case 880: /* AlterEnumStmt: ALTER TYPE_P any_name ADD_P VALUE_P opt_if_not_exists Sconst AFTER Sconst  */
   38485             : #line 6581 "gram.y"
   38486             :                         {
   38487             :                 AlterEnumStmt *n = makeNode(AlterEnumStmt);
   38488             : 
   38489             :                 n->typeName = (yyvsp[-6].list);
   38490             :                 n->oldVal = NULL;
   38491             :                 n->newVal = (yyvsp[-2].str);
   38492             :                 n->newValNeighbor = (yyvsp[0].str);
   38493             :                 n->newValIsAfter = true;
   38494             :                 n->skipIfNewValExists = (yyvsp[-3].boolean);
   38495             :                 (yyval.node) = (Node *) n;
   38496             :             }
   38497             : #line 38498 "gram.c"
   38498          22 :     break;
   38499             : 
   38500          24 :   case 881: /* AlterEnumStmt: ALTER TYPE_P any_name RENAME VALUE_P Sconst TO Sconst  */
   38501             : #line 6593 "gram.y"
   38502             :                         {
   38503             :                 AlterEnumStmt *n = makeNode(AlterEnumStmt);
   38504             : 
   38505             :                 n->typeName = (yyvsp[-5].list);
   38506             :                 n->oldVal = (yyvsp[-2].str);
   38507             :                 n->newVal = (yyvsp[0].str);
   38508             :                 n->newValNeighbor = NULL;
   38509             :                 n->newValIsAfter = false;
   38510             :                 n->skipIfNewValExists = false;
   38511             :                 (yyval.node) = (Node *) n;
   38512             :             }
   38513             : #line 38514 "gram.c"
   38514          24 :     break;
   38515             : 
   38516           0 :   case 882: /* AlterEnumStmt: ALTER TYPE_P any_name DROP VALUE_P Sconst  */
   38517             : #line 6605 "gram.y"
   38518             :                         {
   38519             :                 /*
   38520             :                  * The following problems must be solved before this can be
   38521             :                  * implemented:
   38522             :                  *
   38523             :                  * - There must be no instance of the target value in
   38524             :                  *   any table.
   38525             :                  *
   38526             :                  * - The value must not appear in any catalog metadata,
   38527             :                  *   such as stored view expressions or column defaults.
   38528             :                  *
   38529             :                  * - The value must not appear in any non-leaf page of a
   38530             :                  *   btree (and similar issues with other index types).
   38531             :                  *   This is problematic because a value could persist
   38532             :                  *   there long after it's gone from user-visible data.
   38533             :                  *
   38534             :                  * - Concurrent sessions must not be able to insert the
   38535             :                  *   value while the preceding conditions are being checked.
   38536             :                  *
   38537             :                  * - Possibly more...
   38538             :                  */
   38539             :                 ereport(ERROR,
   38540             :                         (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   38541             :                          errmsg("dropping an enum value is not implemented"),
   38542             :                          parser_errposition((yylsp[-2]))));
   38543             :             }
   38544             : #line 38545 "gram.c"
   38545             :     break;
   38546             : 
   38547          12 :   case 883: /* opt_if_not_exists: IF_P NOT EXISTS  */
   38548             : #line 6633 "gram.y"
   38549             :                                                 { (yyval.boolean) = true; }
   38550             : #line 38551 "gram.c"
   38551          12 :     break;
   38552             : 
   38553         358 :   case 884: /* opt_if_not_exists: %empty  */
   38554             : #line 6634 "gram.y"
   38555             :                                                        { (yyval.boolean) = false; }
   38556             : #line 38557 "gram.c"
   38557         358 :     break;
   38558             : 
   38559         382 :   case 885: /* CreateOpClassStmt: CREATE OPERATOR CLASS any_name opt_default FOR TYPE_P Typename USING name opt_opfamily AS opclass_item_list  */
   38560             : #line 6652 "gram.y"
   38561             :                                 {
   38562             :                     CreateOpClassStmt *n = makeNode(CreateOpClassStmt);
   38563             : 
   38564             :                     n->opclassname = (yyvsp[-9].list);
   38565             :                     n->isDefault = (yyvsp[-8].boolean);
   38566             :                     n->datatype = (yyvsp[-5].typnam);
   38567             :                     n->amname = (yyvsp[-3].str);
   38568             :                     n->opfamilyname = (yyvsp[-2].list);
   38569             :                     n->items = (yyvsp[0].list);
   38570             :                     (yyval.node) = (Node *) n;
   38571             :                 }
   38572             : #line 38573 "gram.c"
   38573         382 :     break;
   38574             : 
   38575         820 :   case 886: /* opclass_item_list: opclass_item  */
   38576             : #line 6666 "gram.y"
   38577             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   38578             : #line 38579 "gram.c"
   38579         820 :     break;
   38580             : 
   38581        3058 :   case 887: /* opclass_item_list: opclass_item_list ',' opclass_item  */
   38582             : #line 6667 "gram.y"
   38583             :                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   38584             : #line 38585 "gram.c"
   38585        3058 :     break;
   38586             : 
   38587        1092 :   case 888: /* opclass_item: OPERATOR Iconst any_operator opclass_purpose opt_recheck  */
   38588             : #line 6672 "gram.y"
   38589             :                                 {
   38590             :                     CreateOpClassItem *n = makeNode(CreateOpClassItem);
   38591             :                     ObjectWithArgs *owa = makeNode(ObjectWithArgs);
   38592             : 
   38593             :                     owa->objname = (yyvsp[-2].list);
   38594             :                     owa->objargs = NIL;
   38595             :                     n->itemtype = OPCLASS_ITEM_OPERATOR;
   38596             :                     n->name = owa;
   38597             :                     n->number = (yyvsp[-3].ival);
   38598             :                     n->order_family = (yyvsp[-1].list);
   38599             :                     (yyval.node) = (Node *) n;
   38600             :                 }
   38601             : #line 38602 "gram.c"
   38602        1092 :     break;
   38603             : 
   38604        1026 :   case 889: /* opclass_item: OPERATOR Iconst operator_with_argtypes opclass_purpose opt_recheck  */
   38605             : #line 6686 "gram.y"
   38606             :                                 {
   38607             :                     CreateOpClassItem *n = makeNode(CreateOpClassItem);
   38608             : 
   38609             :                     n->itemtype = OPCLASS_ITEM_OPERATOR;
   38610             :                     n->name = (yyvsp[-2].objwithargs);
   38611             :                     n->number = (yyvsp[-3].ival);
   38612             :                     n->order_family = (yyvsp[-1].list);
   38613             :                     (yyval.node) = (Node *) n;
   38614             :                 }
   38615             : #line 38616 "gram.c"
   38616        1026 :     break;
   38617             : 
   38618        1374 :   case 890: /* opclass_item: FUNCTION Iconst function_with_argtypes  */
   38619             : #line 6696 "gram.y"
   38620             :                                 {
   38621             :                     CreateOpClassItem *n = makeNode(CreateOpClassItem);
   38622             : 
   38623             :                     n->itemtype = OPCLASS_ITEM_FUNCTION;
   38624             :                     n->name = (yyvsp[0].objwithargs);
   38625             :                     n->number = (yyvsp[-1].ival);
   38626             :                     (yyval.node) = (Node *) n;
   38627             :                 }
   38628             : #line 38629 "gram.c"
   38629        1374 :     break;
   38630             : 
   38631         188 :   case 891: /* opclass_item: FUNCTION Iconst '(' type_list ')' function_with_argtypes  */
   38632             : #line 6705 "gram.y"
   38633             :                                 {
   38634             :                     CreateOpClassItem *n = makeNode(CreateOpClassItem);
   38635             : 
   38636             :                     n->itemtype = OPCLASS_ITEM_FUNCTION;
   38637             :                     n->name = (yyvsp[0].objwithargs);
   38638             :                     n->number = (yyvsp[-4].ival);
   38639             :                     n->class_args = (yyvsp[-2].list);
   38640             :                     (yyval.node) = (Node *) n;
   38641             :                 }
   38642             : #line 38643 "gram.c"
   38643         188 :     break;
   38644             : 
   38645         198 :   case 892: /* opclass_item: STORAGE Typename  */
   38646             : #line 6715 "gram.y"
   38647             :                                 {
   38648             :                     CreateOpClassItem *n = makeNode(CreateOpClassItem);
   38649             : 
   38650             :                     n->itemtype = OPCLASS_ITEM_STORAGETYPE;
   38651             :                     n->storedtype = (yyvsp[0].typnam);
   38652             :                     (yyval.node) = (Node *) n;
   38653             :                 }
   38654             : #line 38655 "gram.c"
   38655         198 :     break;
   38656             : 
   38657         290 :   case 893: /* opt_default: DEFAULT  */
   38658             : #line 6724 "gram.y"
   38659             :                                                                 { (yyval.boolean) = true; }
   38660             : #line 38661 "gram.c"
   38661         290 :     break;
   38662             : 
   38663         156 :   case 894: /* opt_default: %empty  */
   38664             : #line 6725 "gram.y"
   38665             :                                                                                 { (yyval.boolean) = false; }
   38666             : #line 38667 "gram.c"
   38667         156 :     break;
   38668             : 
   38669          44 :   case 895: /* opt_opfamily: FAMILY any_name  */
   38670             : #line 6728 "gram.y"
   38671             :                                                         { (yyval.list) = (yyvsp[0].list); }
   38672             : #line 38673 "gram.c"
   38673          44 :     break;
   38674             : 
   38675         338 :   case 896: /* opt_opfamily: %empty  */
   38676             : #line 6729 "gram.y"
   38677             :                                                                                 { (yyval.list) = NIL; }
   38678             : #line 38679 "gram.c"
   38679         338 :     break;
   38680             : 
   38681           0 :   case 897: /* opclass_purpose: FOR SEARCH  */
   38682             : #line 6732 "gram.y"
   38683             :                                                                 { (yyval.list) = NIL; }
   38684             : #line 38685 "gram.c"
   38685           0 :     break;
   38686             : 
   38687          72 :   case 898: /* opclass_purpose: FOR ORDER BY any_name  */
   38688             : #line 6733 "gram.y"
   38689             :                                                                 { (yyval.list) = (yyvsp[0].list); }
   38690             : #line 38691 "gram.c"
   38691          72 :     break;
   38692             : 
   38693        2046 :   case 899: /* opclass_purpose: %empty  */
   38694             : #line 6734 "gram.y"
   38695             :                                                                                 { (yyval.list) = NIL; }
   38696             : #line 38697 "gram.c"
   38697        2046 :     break;
   38698             : 
   38699           0 :   case 900: /* opt_recheck: RECHECK  */
   38700             : #line 6738 "gram.y"
   38701             :                                 {
   38702             :                     /*
   38703             :                      * RECHECK no longer does anything in opclass definitions,
   38704             :                      * but we still accept it to ease porting of old database
   38705             :                      * dumps.
   38706             :                      */
   38707             :                     ereport(NOTICE,
   38708             :                             (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   38709             :                              errmsg("RECHECK is no longer required"),
   38710             :                              errhint("Update your data type."),
   38711             :                              parser_errposition((yylsp[0]))));
   38712             :                     (yyval.boolean) = true;
   38713             :                 }
   38714             : #line 38715 "gram.c"
   38715           0 :     break;
   38716             : 
   38717        2118 :   case 901: /* opt_recheck: %empty  */
   38718             : #line 6751 "gram.y"
   38719             :                                                                                 { (yyval.boolean) = false; }
   38720             : #line 38721 "gram.c"
   38721        2118 :     break;
   38722             : 
   38723         148 :   case 902: /* CreateOpFamilyStmt: CREATE OPERATOR FAMILY any_name USING name  */
   38724             : #line 6757 "gram.y"
   38725             :                                 {
   38726             :                     CreateOpFamilyStmt *n = makeNode(CreateOpFamilyStmt);
   38727             : 
   38728             :                     n->opfamilyname = (yyvsp[-2].list);
   38729             :                     n->amname = (yyvsp[0].str);
   38730             :                     (yyval.node) = (Node *) n;
   38731             :                 }
   38732             : #line 38733 "gram.c"
   38733         148 :     break;
   38734             : 
   38735         438 :   case 903: /* AlterOpFamilyStmt: ALTER OPERATOR FAMILY any_name USING name ADD_P opclass_item_list  */
   38736             : #line 6768 "gram.y"
   38737             :                                 {
   38738             :                     AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
   38739             : 
   38740             :                     n->opfamilyname = (yyvsp[-4].list);
   38741             :                     n->amname = (yyvsp[-2].str);
   38742             :                     n->isDrop = false;
   38743             :                     n->items = (yyvsp[0].list);
   38744             :                     (yyval.node) = (Node *) n;
   38745             :                 }
   38746             : #line 38747 "gram.c"
   38747         438 :     break;
   38748             : 
   38749          64 :   case 904: /* AlterOpFamilyStmt: ALTER OPERATOR FAMILY any_name USING name DROP opclass_drop_list  */
   38750             : #line 6778 "gram.y"
   38751             :                                 {
   38752             :                     AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
   38753             : 
   38754             :                     n->opfamilyname = (yyvsp[-4].list);
   38755             :                     n->amname = (yyvsp[-2].str);
   38756             :                     n->isDrop = true;
   38757             :                     n->items = (yyvsp[0].list);
   38758             :                     (yyval.node) = (Node *) n;
   38759             :                 }
   38760             : #line 38761 "gram.c"
   38761          64 :     break;
   38762             : 
   38763          64 :   case 905: /* opclass_drop_list: opclass_drop  */
   38764             : #line 6790 "gram.y"
   38765             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   38766             : #line 38767 "gram.c"
   38767          64 :     break;
   38768             : 
   38769          30 :   case 906: /* opclass_drop_list: opclass_drop_list ',' opclass_drop  */
   38770             : #line 6791 "gram.y"
   38771             :                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   38772             : #line 38773 "gram.c"
   38773          30 :     break;
   38774             : 
   38775          56 :   case 907: /* opclass_drop: OPERATOR Iconst '(' type_list ')'  */
   38776             : #line 6796 "gram.y"
   38777             :                                 {
   38778             :                     CreateOpClassItem *n = makeNode(CreateOpClassItem);
   38779             : 
   38780             :                     n->itemtype = OPCLASS_ITEM_OPERATOR;
   38781             :                     n->number = (yyvsp[-3].ival);
   38782             :                     n->class_args = (yyvsp[-1].list);
   38783             :                     (yyval.node) = (Node *) n;
   38784             :                 }
   38785             : #line 38786 "gram.c"
   38786          56 :     break;
   38787             : 
   38788          38 :   case 908: /* opclass_drop: FUNCTION Iconst '(' type_list ')'  */
   38789             : #line 6805 "gram.y"
   38790             :                                 {
   38791             :                     CreateOpClassItem *n = makeNode(CreateOpClassItem);
   38792             : 
   38793             :                     n->itemtype = OPCLASS_ITEM_FUNCTION;
   38794             :                     n->number = (yyvsp[-3].ival);
   38795             :                     n->class_args = (yyvsp[-1].list);
   38796             :                     (yyval.node) = (Node *) n;
   38797             :                 }
   38798             : #line 38799 "gram.c"
   38799          38 :     break;
   38800             : 
   38801          38 :   case 909: /* DropOpClassStmt: DROP OPERATOR CLASS any_name USING name opt_drop_behavior  */
   38802             : #line 6818 "gram.y"
   38803             :                                 {
   38804             :                     DropStmt *n = makeNode(DropStmt);
   38805             : 
   38806             :                     n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
   38807             :                     n->removeType = OBJECT_OPCLASS;
   38808             :                     n->behavior = (yyvsp[0].dbehavior);
   38809             :                     n->missing_ok = false;
   38810             :                     n->concurrent = false;
   38811             :                     (yyval.node) = (Node *) n;
   38812             :                 }
   38813             : #line 38814 "gram.c"
   38814          38 :     break;
   38815             : 
   38816          18 :   case 910: /* DropOpClassStmt: DROP OPERATOR CLASS IF_P EXISTS any_name USING name opt_drop_behavior  */
   38817             : #line 6829 "gram.y"
   38818             :                                 {
   38819             :                     DropStmt *n = makeNode(DropStmt);
   38820             : 
   38821             :                     n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
   38822             :                     n->removeType = OBJECT_OPCLASS;
   38823             :                     n->behavior = (yyvsp[0].dbehavior);
   38824             :                     n->missing_ok = true;
   38825             :                     n->concurrent = false;
   38826             :                     (yyval.node) = (Node *) n;
   38827             :                 }
   38828             : #line 38829 "gram.c"
   38829          18 :     break;
   38830             : 
   38831         110 :   case 911: /* DropOpFamilyStmt: DROP OPERATOR FAMILY any_name USING name opt_drop_behavior  */
   38832             : #line 6843 "gram.y"
   38833             :                                 {
   38834             :                     DropStmt *n = makeNode(DropStmt);
   38835             : 
   38836             :                     n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
   38837             :                     n->removeType = OBJECT_OPFAMILY;
   38838             :                     n->behavior = (yyvsp[0].dbehavior);
   38839             :                     n->missing_ok = false;
   38840             :                     n->concurrent = false;
   38841             :                     (yyval.node) = (Node *) n;
   38842             :                 }
   38843             : #line 38844 "gram.c"
   38844         110 :     break;
   38845             : 
   38846          18 :   case 912: /* DropOpFamilyStmt: DROP OPERATOR FAMILY IF_P EXISTS any_name USING name opt_drop_behavior  */
   38847             : #line 6854 "gram.y"
   38848             :                                 {
   38849             :                     DropStmt *n = makeNode(DropStmt);
   38850             : 
   38851             :                     n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
   38852             :                     n->removeType = OBJECT_OPFAMILY;
   38853             :                     n->behavior = (yyvsp[0].dbehavior);
   38854             :                     n->missing_ok = true;
   38855             :                     n->concurrent = false;
   38856             :                     (yyval.node) = (Node *) n;
   38857             :                 }
   38858             : #line 38859 "gram.c"
   38859          18 :     break;
   38860             : 
   38861         146 :   case 913: /* DropOwnedStmt: DROP OWNED BY role_list opt_drop_behavior  */
   38862             : #line 6877 "gram.y"
   38863             :                                 {
   38864             :                     DropOwnedStmt *n = makeNode(DropOwnedStmt);
   38865             : 
   38866             :                     n->roles = (yyvsp[-1].list);
   38867             :                     n->behavior = (yyvsp[0].dbehavior);
   38868             :                     (yyval.node) = (Node *) n;
   38869             :                 }
   38870             : #line 38871 "gram.c"
   38871         146 :     break;
   38872             : 
   38873          38 :   case 914: /* ReassignOwnedStmt: REASSIGN OWNED BY role_list TO RoleSpec  */
   38874             : #line 6888 "gram.y"
   38875             :                                 {
   38876             :                     ReassignOwnedStmt *n = makeNode(ReassignOwnedStmt);
   38877             : 
   38878             :                     n->roles = (yyvsp[-2].list);
   38879             :                     n->newrole = (yyvsp[0].rolespec);
   38880             :                     (yyval.node) = (Node *) n;
   38881             :                 }
   38882             : #line 38883 "gram.c"
   38883          38 :     break;
   38884             : 
   38885        1268 :   case 915: /* DropStmt: DROP object_type_any_name IF_P EXISTS any_name_list opt_drop_behavior  */
   38886             : #line 6907 "gram.y"
   38887             :                                 {
   38888             :                     DropStmt *n = makeNode(DropStmt);
   38889             : 
   38890             :                     n->removeType = (yyvsp[-4].objtype);
   38891             :                     n->missing_ok = true;
   38892             :                     n->objects = (yyvsp[-1].list);
   38893             :                     n->behavior = (yyvsp[0].dbehavior);
   38894             :                     n->concurrent = false;
   38895             :                     (yyval.node) = (Node *) n;
   38896             :                 }
   38897             : #line 38898 "gram.c"
   38898        1268 :     break;
   38899             : 
   38900       15190 :   case 916: /* DropStmt: DROP object_type_any_name any_name_list opt_drop_behavior  */
   38901             : #line 6918 "gram.y"
   38902             :                                 {
   38903             :                     DropStmt *n = makeNode(DropStmt);
   38904             : 
   38905             :                     n->removeType = (yyvsp[-2].objtype);
   38906             :                     n->missing_ok = false;
   38907             :                     n->objects = (yyvsp[-1].list);
   38908             :                     n->behavior = (yyvsp[0].dbehavior);
   38909             :                     n->concurrent = false;
   38910             :                     (yyval.node) = (Node *) n;
   38911             :                 }
   38912             : #line 38913 "gram.c"
   38913       15190 :     break;
   38914             : 
   38915          78 :   case 917: /* DropStmt: DROP drop_type_name IF_P EXISTS name_list opt_drop_behavior  */
   38916             : #line 6929 "gram.y"
   38917             :                                 {
   38918             :                     DropStmt *n = makeNode(DropStmt);
   38919             : 
   38920             :                     n->removeType = (yyvsp[-4].objtype);
   38921             :                     n->missing_ok = true;
   38922             :                     n->objects = (yyvsp[-1].list);
   38923             :                     n->behavior = (yyvsp[0].dbehavior);
   38924             :                     n->concurrent = false;
   38925             :                     (yyval.node) = (Node *) n;
   38926             :                 }
   38927             : #line 38928 "gram.c"
   38928          78 :     break;
   38929             : 
   38930        1240 :   case 918: /* DropStmt: DROP drop_type_name name_list opt_drop_behavior  */
   38931             : #line 6940 "gram.y"
   38932             :                                 {
   38933             :                     DropStmt *n = makeNode(DropStmt);
   38934             : 
   38935             :                     n->removeType = (yyvsp[-2].objtype);
   38936             :                     n->missing_ok = false;
   38937             :                     n->objects = (yyvsp[-1].list);
   38938             :                     n->behavior = (yyvsp[0].dbehavior);
   38939             :                     n->concurrent = false;
   38940             :                     (yyval.node) = (Node *) n;
   38941             :                 }
   38942             : #line 38943 "gram.c"
   38943        1240 :     break;
   38944             : 
   38945        1074 :   case 919: /* DropStmt: DROP object_type_name_on_any_name name ON any_name opt_drop_behavior  */
   38946             : #line 6951 "gram.y"
   38947             :                                 {
   38948             :                     DropStmt *n = makeNode(DropStmt);
   38949             : 
   38950             :                     n->removeType = (yyvsp[-4].objtype);
   38951             :                     n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
   38952             :                     n->behavior = (yyvsp[0].dbehavior);
   38953             :                     n->missing_ok = false;
   38954             :                     n->concurrent = false;
   38955             :                     (yyval.node) = (Node *) n;
   38956             :                 }
   38957             : #line 38958 "gram.c"
   38958        1074 :     break;
   38959             : 
   38960          48 :   case 920: /* DropStmt: DROP object_type_name_on_any_name IF_P EXISTS name ON any_name opt_drop_behavior  */
   38961             : #line 6962 "gram.y"
   38962             :                                 {
   38963             :                     DropStmt *n = makeNode(DropStmt);
   38964             : 
   38965             :                     n->removeType = (yyvsp[-6].objtype);
   38966             :                     n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
   38967             :                     n->behavior = (yyvsp[0].dbehavior);
   38968             :                     n->missing_ok = true;
   38969             :                     n->concurrent = false;
   38970             :                     (yyval.node) = (Node *) n;
   38971             :                 }
   38972             : #line 38973 "gram.c"
   38973          48 :     break;
   38974             : 
   38975         530 :   case 921: /* DropStmt: DROP TYPE_P type_name_list opt_drop_behavior  */
   38976             : #line 6973 "gram.y"
   38977             :                                 {
   38978             :                     DropStmt *n = makeNode(DropStmt);
   38979             : 
   38980             :                     n->removeType = OBJECT_TYPE;
   38981             :                     n->missing_ok = false;
   38982             :                     n->objects = (yyvsp[-1].list);
   38983             :                     n->behavior = (yyvsp[0].dbehavior);
   38984             :                     n->concurrent = false;
   38985             :                     (yyval.node) = (Node *) n;
   38986             :                 }
   38987             : #line 38988 "gram.c"
   38988         530 :     break;
   38989             : 
   38990          22 :   case 922: /* DropStmt: DROP TYPE_P IF_P EXISTS type_name_list opt_drop_behavior  */
   38991             : #line 6984 "gram.y"
   38992             :                                 {
   38993             :                     DropStmt *n = makeNode(DropStmt);
   38994             : 
   38995             :                     n->removeType = OBJECT_TYPE;
   38996             :                     n->missing_ok = true;
   38997             :                     n->objects = (yyvsp[-1].list);
   38998             :                     n->behavior = (yyvsp[0].dbehavior);
   38999             :                     n->concurrent = false;
   39000             :                     (yyval.node) = (Node *) n;
   39001             :                 }
   39002             : #line 39003 "gram.c"
   39003          22 :     break;
   39004             : 
   39005         428 :   case 923: /* DropStmt: DROP DOMAIN_P type_name_list opt_drop_behavior  */
   39006             : #line 6995 "gram.y"
   39007             :                                 {
   39008             :                     DropStmt *n = makeNode(DropStmt);
   39009             : 
   39010             :                     n->removeType = OBJECT_DOMAIN;
   39011             :                     n->missing_ok = false;
   39012             :                     n->objects = (yyvsp[-1].list);
   39013             :                     n->behavior = (yyvsp[0].dbehavior);
   39014             :                     n->concurrent = false;
   39015             :                     (yyval.node) = (Node *) n;
   39016             :                 }
   39017             : #line 39018 "gram.c"
   39018         428 :     break;
   39019             : 
   39020          18 :   case 924: /* DropStmt: DROP DOMAIN_P IF_P EXISTS type_name_list opt_drop_behavior  */
   39021             : #line 7006 "gram.y"
   39022             :                                 {
   39023             :                     DropStmt *n = makeNode(DropStmt);
   39024             : 
   39025             :                     n->removeType = OBJECT_DOMAIN;
   39026             :                     n->missing_ok = true;
   39027             :                     n->objects = (yyvsp[-1].list);
   39028             :                     n->behavior = (yyvsp[0].dbehavior);
   39029             :                     n->concurrent = false;
   39030             :                     (yyval.node) = (Node *) n;
   39031             :                 }
   39032             : #line 39033 "gram.c"
   39033          18 :     break;
   39034             : 
   39035         108 :   case 925: /* DropStmt: DROP INDEX CONCURRENTLY any_name_list opt_drop_behavior  */
   39036             : #line 7017 "gram.y"
   39037             :                                 {
   39038             :                     DropStmt *n = makeNode(DropStmt);
   39039             : 
   39040             :                     n->removeType = OBJECT_INDEX;
   39041             :                     n->missing_ok = false;
   39042             :                     n->objects = (yyvsp[-1].list);
   39043             :                     n->behavior = (yyvsp[0].dbehavior);
   39044             :                     n->concurrent = true;
   39045             :                     (yyval.node) = (Node *) n;
   39046             :                 }
   39047             : #line 39048 "gram.c"
   39048         108 :     break;
   39049             : 
   39050          12 :   case 926: /* DropStmt: DROP INDEX CONCURRENTLY IF_P EXISTS any_name_list opt_drop_behavior  */
   39051             : #line 7028 "gram.y"
   39052             :                                 {
   39053             :                     DropStmt *n = makeNode(DropStmt);
   39054             : 
   39055             :                     n->removeType = OBJECT_INDEX;
   39056             :                     n->missing_ok = true;
   39057             :                     n->objects = (yyvsp[-1].list);
   39058             :                     n->behavior = (yyvsp[0].dbehavior);
   39059             :                     n->concurrent = true;
   39060             :                     (yyval.node) = (Node *) n;
   39061             :                 }
   39062             : #line 39063 "gram.c"
   39063          12 :     break;
   39064             : 
   39065       14208 :   case 927: /* object_type_any_name: TABLE  */
   39066             : #line 7042 "gram.y"
   39067             :                                                                                                 { (yyval.objtype) = OBJECT_TABLE; }
   39068             : #line 39069 "gram.c"
   39069       14208 :     break;
   39070             : 
   39071         194 :   case 928: /* object_type_any_name: SEQUENCE  */
   39072             : #line 7043 "gram.y"
   39073             :                                                                                                 { (yyval.objtype) = OBJECT_SEQUENCE; }
   39074             : #line 39075 "gram.c"
   39075         194 :     break;
   39076             : 
   39077         936 :   case 929: /* object_type_any_name: VIEW  */
   39078             : #line 7044 "gram.y"
   39079             :                                                                                                 { (yyval.objtype) = OBJECT_VIEW; }
   39080             : #line 39081 "gram.c"
   39081         936 :     break;
   39082             : 
   39083         124 :   case 930: /* object_type_any_name: MATERIALIZED VIEW  */
   39084             : #line 7045 "gram.y"
   39085             :                                                                                         { (yyval.objtype) = OBJECT_MATVIEW; }
   39086             : #line 39087 "gram.c"
   39087         124 :     break;
   39088             : 
   39089         742 :   case 931: /* object_type_any_name: INDEX  */
   39090             : #line 7046 "gram.y"
   39091             :                                                                                                 { (yyval.objtype) = OBJECT_INDEX; }
   39092             : #line 39093 "gram.c"
   39093         742 :     break;
   39094             : 
   39095         170 :   case 932: /* object_type_any_name: FOREIGN TABLE  */
   39096             : #line 7047 "gram.y"
   39097             :                                                                                         { (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
   39098             : #line 39099 "gram.c"
   39099         170 :     break;
   39100             : 
   39101          90 :   case 933: /* object_type_any_name: COLLATION  */
   39102             : #line 7048 "gram.y"
   39103             :                                                                                                 { (yyval.objtype) = OBJECT_COLLATION; }
   39104             : #line 39105 "gram.c"
   39105          90 :     break;
   39106             : 
   39107          56 :   case 934: /* object_type_any_name: CONVERSION_P  */
   39108             : #line 7049 "gram.y"
   39109             :                                                                                         { (yyval.objtype) = OBJECT_CONVERSION; }
   39110             : #line 39111 "gram.c"
   39111          56 :     break;
   39112             : 
   39113         192 :   case 935: /* object_type_any_name: STATISTICS  */
   39114             : #line 7050 "gram.y"
   39115             :                                                                                         { (yyval.objtype) = OBJECT_STATISTIC_EXT; }
   39116             : #line 39117 "gram.c"
   39117         192 :     break;
   39118             : 
   39119          20 :   case 936: /* object_type_any_name: TEXT_P SEARCH PARSER  */
   39120             : #line 7051 "gram.y"
   39121             :                                                                                 { (yyval.objtype) = OBJECT_TSPARSER; }
   39122             : #line 39123 "gram.c"
   39123          20 :     break;
   39124             : 
   39125        2158 :   case 937: /* object_type_any_name: TEXT_P SEARCH DICTIONARY  */
   39126             : #line 7052 "gram.y"
   39127             :                                                                                 { (yyval.objtype) = OBJECT_TSDICTIONARY; }
   39128             : #line 39129 "gram.c"
   39129        2158 :     break;
   39130             : 
   39131          96 :   case 938: /* object_type_any_name: TEXT_P SEARCH TEMPLATE  */
   39132             : #line 7053 "gram.y"
   39133             :                                                                                 { (yyval.objtype) = OBJECT_TSTEMPLATE; }
   39134             : #line 39135 "gram.c"
   39135          96 :     break;
   39136             : 
   39137        2162 :   case 939: /* object_type_any_name: TEXT_P SEARCH CONFIGURATION  */
   39138             : #line 7054 "gram.y"
   39139             :                                                                         { (yyval.objtype) = OBJECT_TSCONFIGURATION; }
   39140             : #line 39141 "gram.c"
   39141        2162 :     break;
   39142             : 
   39143         184 :   case 940: /* object_type_name: drop_type_name  */
   39144             : #line 7064 "gram.y"
   39145             :                                                                                         { (yyval.objtype) = (yyvsp[0].objtype); }
   39146             : #line 39147 "gram.c"
   39147         184 :     break;
   39148             : 
   39149         178 :   case 941: /* object_type_name: DATABASE  */
   39150             : #line 7065 "gram.y"
   39151             :                                                                                                 { (yyval.objtype) = OBJECT_DATABASE; }
   39152             : #line 39153 "gram.c"
   39153         178 :     break;
   39154             : 
   39155          52 :   case 942: /* object_type_name: ROLE  */
   39156             : #line 7066 "gram.y"
   39157             :                                                                                                 { (yyval.objtype) = OBJECT_ROLE; }
   39158             : #line 39159 "gram.c"
   39159          52 :     break;
   39160             : 
   39161          10 :   case 943: /* object_type_name: SUBSCRIPTION  */
   39162             : #line 7067 "gram.y"
   39163             :                                                                                         { (yyval.objtype) = OBJECT_SUBSCRIPTION; }
   39164             : #line 39165 "gram.c"
   39165          10 :     break;
   39166             : 
   39167           0 :   case 944: /* object_type_name: TABLESPACE  */
   39168             : #line 7068 "gram.y"
   39169             :                                                                                         { (yyval.objtype) = OBJECT_TABLESPACE; }
   39170             : #line 39171 "gram.c"
   39171           0 :     break;
   39172             : 
   39173          46 :   case 945: /* drop_type_name: ACCESS METHOD  */
   39174             : #line 7072 "gram.y"
   39175             :                                                                                         { (yyval.objtype) = OBJECT_ACCESS_METHOD; }
   39176             : #line 39177 "gram.c"
   39177          46 :     break;
   39178             : 
   39179         126 :   case 946: /* drop_type_name: EVENT TRIGGER  */
   39180             : #line 7073 "gram.y"
   39181             :                                                                                         { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
   39182             : #line 39183 "gram.c"
   39183         126 :     break;
   39184             : 
   39185         108 :   case 947: /* drop_type_name: EXTENSION  */
   39186             : #line 7074 "gram.y"
   39187             :                                                                                                 { (yyval.objtype) = OBJECT_EXTENSION; }
   39188             : #line 39189 "gram.c"
   39189         108 :     break;
   39190             : 
   39191         148 :   case 948: /* drop_type_name: FOREIGN DATA_P WRAPPER  */
   39192             : #line 7075 "gram.y"
   39193             :                                                                                 { (yyval.objtype) = OBJECT_FDW; }
   39194             : #line 39195 "gram.c"
   39195         148 :     break;
   39196             : 
   39197         134 :   case 949: /* drop_type_name: opt_procedural LANGUAGE  */
   39198             : #line 7076 "gram.y"
   39199             :                                                                                 { (yyval.objtype) = OBJECT_LANGUAGE; }
   39200             : #line 39201 "gram.c"
   39201         134 :     break;
   39202             : 
   39203         282 :   case 950: /* drop_type_name: PUBLICATION  */
   39204             : #line 7077 "gram.y"
   39205             :                                                                                         { (yyval.objtype) = OBJECT_PUBLICATION; }
   39206             : #line 39207 "gram.c"
   39207         282 :     break;
   39208             : 
   39209         528 :   case 951: /* drop_type_name: SCHEMA  */
   39210             : #line 7078 "gram.y"
   39211             :                                                                                                 { (yyval.objtype) = OBJECT_SCHEMA; }
   39212             : #line 39213 "gram.c"
   39213         528 :     break;
   39214             : 
   39215         130 :   case 952: /* drop_type_name: SERVER  */
   39216             : #line 7079 "gram.y"
   39217             :                                                                                                 { (yyval.objtype) = OBJECT_FOREIGN_SERVER; }
   39218             : #line 39219 "gram.c"
   39219         130 :     break;
   39220             : 
   39221         164 :   case 953: /* object_type_name_on_any_name: POLICY  */
   39222             : #line 7084 "gram.y"
   39223             :                                                                                                 { (yyval.objtype) = OBJECT_POLICY; }
   39224             : #line 39225 "gram.c"
   39225         164 :     break;
   39226             : 
   39227         250 :   case 954: /* object_type_name_on_any_name: RULE  */
   39228             : #line 7085 "gram.y"
   39229             :                                                                                                 { (yyval.objtype) = OBJECT_RULE; }
   39230             : #line 39231 "gram.c"
   39231         250 :     break;
   39232             : 
   39233         760 :   case 955: /* object_type_name_on_any_name: TRIGGER  */
   39234             : #line 7086 "gram.y"
   39235             :                                                                                                 { (yyval.objtype) = OBJECT_TRIGGER; }
   39236             : #line 39237 "gram.c"
   39237         760 :     break;
   39238             : 
   39239       23290 :   case 956: /* any_name_list: any_name  */
   39240             : #line 7090 "gram.y"
   39241             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].list)); }
   39242             : #line 39243 "gram.c"
   39243       23290 :     break;
   39244             : 
   39245        3778 :   case 957: /* any_name_list: any_name_list ',' any_name  */
   39246             : #line 7091 "gram.y"
   39247             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
   39248             : #line 39249 "gram.c"
   39249        3778 :     break;
   39250             : 
   39251       53144 :   case 958: /* any_name: ColId  */
   39252             : #line 7094 "gram.y"
   39253             :                                                                 { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   39254             : #line 39255 "gram.c"
   39255       53144 :     break;
   39256             : 
   39257        8362 :   case 959: /* any_name: ColId attrs  */
   39258             : #line 7095 "gram.y"
   39259             :                                                                 { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
   39260             : #line 39261 "gram.c"
   39261        8362 :     break;
   39262             : 
   39263       92946 :   case 960: /* attrs: '.' attr_name  */
   39264             : #line 7099 "gram.y"
   39265             :                                         { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   39266             : #line 39267 "gram.c"
   39267       92946 :     break;
   39268             : 
   39269          64 :   case 961: /* attrs: attrs '.' attr_name  */
   39270             : #line 7101 "gram.y"
   39271             :                                         { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
   39272             : #line 39273 "gram.c"
   39273          64 :     break;
   39274             : 
   39275         998 :   case 962: /* type_name_list: Typename  */
   39276             : #line 7105 "gram.y"
   39277             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].typnam)); }
   39278             : #line 39279 "gram.c"
   39279         998 :     break;
   39280             : 
   39281          78 :   case 963: /* type_name_list: type_name_list ',' Typename  */
   39282             : #line 7106 "gram.y"
   39283             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
   39284             : #line 39285 "gram.c"
   39285          78 :     break;
   39286             : 
   39287        1450 :   case 964: /* TruncateStmt: TRUNCATE opt_table relation_expr_list opt_restart_seqs opt_drop_behavior  */
   39288             : #line 7118 "gram.y"
   39289             :                                 {
   39290             :                     TruncateStmt *n = makeNode(TruncateStmt);
   39291             : 
   39292             :                     n->relations = (yyvsp[-2].list);
   39293             :                     n->restart_seqs = (yyvsp[-1].boolean);
   39294             :                     n->behavior = (yyvsp[0].dbehavior);
   39295             :                     (yyval.node) = (Node *) n;
   39296             :                 }
   39297             : #line 39298 "gram.c"
   39298        1450 :     break;
   39299             : 
   39300          24 :   case 965: /* opt_restart_seqs: CONTINUE_P IDENTITY_P  */
   39301             : #line 7129 "gram.y"
   39302             :                                                         { (yyval.boolean) = false; }
   39303             : #line 39304 "gram.c"
   39304          24 :     break;
   39305             : 
   39306          24 :   case 966: /* opt_restart_seqs: RESTART IDENTITY_P  */
   39307             : #line 7130 "gram.y"
   39308             :                                                         { (yyval.boolean) = true; }
   39309             : #line 39310 "gram.c"
   39310          24 :     break;
   39311             : 
   39312        1402 :   case 967: /* opt_restart_seqs: %empty  */
   39313             : #line 7131 "gram.y"
   39314             :                                                                 { (yyval.boolean) = false; }
   39315             : #line 39316 "gram.c"
   39316        1402 :     break;
   39317             : 
   39318        4566 :   case 968: /* CommentStmt: COMMENT ON object_type_any_name any_name IS comment_text  */
   39319             : #line 7142 "gram.y"
   39320             :                                 {
   39321             :                     CommentStmt *n = makeNode(CommentStmt);
   39322             : 
   39323             :                     n->objtype = (yyvsp[-3].objtype);
   39324             :                     n->object = (Node *) (yyvsp[-2].list);
   39325             :                     n->comment = (yyvsp[0].str);
   39326             :                     (yyval.node) = (Node *) n;
   39327             :                 }
   39328             : #line 39329 "gram.c"
   39329        4566 :     break;
   39330             : 
   39331         108 :   case 969: /* CommentStmt: COMMENT ON COLUMN any_name IS comment_text  */
   39332             : #line 7151 "gram.y"
   39333             :                                 {
   39334             :                     CommentStmt *n = makeNode(CommentStmt);
   39335             : 
   39336             :                     n->objtype = OBJECT_COLUMN;
   39337             :                     n->object = (Node *) (yyvsp[-2].list);
   39338             :                     n->comment = (yyvsp[0].str);
   39339             :                     (yyval.node) = (Node *) n;
   39340             :                 }
   39341             : #line 39342 "gram.c"
   39342         108 :     break;
   39343             : 
   39344         362 :   case 970: /* CommentStmt: COMMENT ON object_type_name name IS comment_text  */
   39345             : #line 7160 "gram.y"
   39346             :                                 {
   39347             :                     CommentStmt *n = makeNode(CommentStmt);
   39348             : 
   39349             :                     n->objtype = (yyvsp[-3].objtype);
   39350             :                     n->object = (Node *) makeString((yyvsp[-2].str));
   39351             :                     n->comment = (yyvsp[0].str);
   39352             :                     (yyval.node) = (Node *) n;
   39353             :                 }
   39354             : #line 39355 "gram.c"
   39355         362 :     break;
   39356             : 
   39357          56 :   case 971: /* CommentStmt: COMMENT ON TYPE_P Typename IS comment_text  */
   39358             : #line 7169 "gram.y"
   39359             :                                 {
   39360             :                     CommentStmt *n = makeNode(CommentStmt);
   39361             : 
   39362             :                     n->objtype = OBJECT_TYPE;
   39363             :                     n->object = (Node *) (yyvsp[-2].typnam);
   39364             :                     n->comment = (yyvsp[0].str);
   39365             :                     (yyval.node) = (Node *) n;
   39366             :                 }
   39367             : #line 39368 "gram.c"
   39368          56 :     break;
   39369             : 
   39370           8 :   case 972: /* CommentStmt: COMMENT ON DOMAIN_P Typename IS comment_text  */
   39371             : #line 7178 "gram.y"
   39372             :                                 {
   39373             :                     CommentStmt *n = makeNode(CommentStmt);
   39374             : 
   39375             :                     n->objtype = OBJECT_DOMAIN;
   39376             :                     n->object = (Node *) (yyvsp[-2].typnam);
   39377             :                     n->comment = (yyvsp[0].str);
   39378             :                     (yyval.node) = (Node *) n;
   39379             :                 }
   39380             : #line 39381 "gram.c"
   39381           8 :     break;
   39382             : 
   39383          40 :   case 973: /* CommentStmt: COMMENT ON AGGREGATE aggregate_with_argtypes IS comment_text  */
   39384             : #line 7187 "gram.y"
   39385             :                                 {
   39386             :                     CommentStmt *n = makeNode(CommentStmt);
   39387             : 
   39388             :                     n->objtype = OBJECT_AGGREGATE;
   39389             :                     n->object = (Node *) (yyvsp[-2].objwithargs);
   39390             :                     n->comment = (yyvsp[0].str);
   39391             :                     (yyval.node) = (Node *) n;
   39392             :                 }
   39393             : #line 39394 "gram.c"
   39394          40 :     break;
   39395             : 
   39396         170 :   case 974: /* CommentStmt: COMMENT ON FUNCTION function_with_argtypes IS comment_text  */
   39397             : #line 7196 "gram.y"
   39398             :                                 {
   39399             :                     CommentStmt *n = makeNode(CommentStmt);
   39400             : 
   39401             :                     n->objtype = OBJECT_FUNCTION;
   39402             :                     n->object = (Node *) (yyvsp[-2].objwithargs);
   39403             :                     n->comment = (yyvsp[0].str);
   39404             :                     (yyval.node) = (Node *) n;
   39405             :                 }
   39406             : #line 39407 "gram.c"
   39407         170 :     break;
   39408             : 
   39409          18 :   case 975: /* CommentStmt: COMMENT ON OPERATOR operator_with_argtypes IS comment_text  */
   39410             : #line 7205 "gram.y"
   39411             :                                 {
   39412             :                     CommentStmt *n = makeNode(CommentStmt);
   39413             : 
   39414             :                     n->objtype = OBJECT_OPERATOR;
   39415             :                     n->object = (Node *) (yyvsp[-2].objwithargs);
   39416             :                     n->comment = (yyvsp[0].str);
   39417             :                     (yyval.node) = (Node *) n;
   39418             :                 }
   39419             : #line 39420 "gram.c"
   39420          18 :     break;
   39421             : 
   39422         104 :   case 976: /* CommentStmt: COMMENT ON CONSTRAINT name ON any_name IS comment_text  */
   39423             : #line 7214 "gram.y"
   39424             :                                 {
   39425             :                     CommentStmt *n = makeNode(CommentStmt);
   39426             : 
   39427             :                     n->objtype = OBJECT_TABCONSTRAINT;
   39428             :                     n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
   39429             :                     n->comment = (yyvsp[0].str);
   39430             :                     (yyval.node) = (Node *) n;
   39431             :                 }
   39432             : #line 39433 "gram.c"
   39433         104 :     break;
   39434             : 
   39435          38 :   case 977: /* CommentStmt: COMMENT ON CONSTRAINT name ON DOMAIN_P any_name IS comment_text  */
   39436             : #line 7223 "gram.y"
   39437             :                                 {
   39438             :                     CommentStmt *n = makeNode(CommentStmt);
   39439             : 
   39440             :                     n->objtype = OBJECT_DOMCONSTRAINT;
   39441             :                     /*
   39442             :                      * should use Typename not any_name in the production, but
   39443             :                      * there's a shift/reduce conflict if we do that, so fix it
   39444             :                      * up here.
   39445             :                      */
   39446             :                     n->object = (Node *) list_make2(makeTypeNameFromNameList((yyvsp[-2].list)), makeString((yyvsp[-5].str)));
   39447             :                     n->comment = (yyvsp[0].str);
   39448             :                     (yyval.node) = (Node *) n;
   39449             :                 }
   39450             : #line 39451 "gram.c"
   39451          38 :     break;
   39452             : 
   39453          40 :   case 978: /* CommentStmt: COMMENT ON object_type_name_on_any_name name ON any_name IS comment_text  */
   39454             : #line 7237 "gram.y"
   39455             :                                 {
   39456             :                     CommentStmt *n = makeNode(CommentStmt);
   39457             : 
   39458             :                     n->objtype = (yyvsp[-5].objtype);
   39459             :                     n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
   39460             :                     n->comment = (yyvsp[0].str);
   39461             :                     (yyval.node) = (Node *) n;
   39462             :                 }
   39463             : #line 39464 "gram.c"
   39464          40 :     break;
   39465             : 
   39466           0 :   case 979: /* CommentStmt: COMMENT ON PROCEDURE function_with_argtypes IS comment_text  */
   39467             : #line 7246 "gram.y"
   39468             :                                 {
   39469             :                     CommentStmt *n = makeNode(CommentStmt);
   39470             : 
   39471             :                     n->objtype = OBJECT_PROCEDURE;
   39472             :                     n->object = (Node *) (yyvsp[-2].objwithargs);
   39473             :                     n->comment = (yyvsp[0].str);
   39474             :                     (yyval.node) = (Node *) n;
   39475             :                 }
   39476             : #line 39477 "gram.c"
   39477           0 :     break;
   39478             : 
   39479           0 :   case 980: /* CommentStmt: COMMENT ON ROUTINE function_with_argtypes IS comment_text  */
   39480             : #line 7255 "gram.y"
   39481             :                                 {
   39482             :                     CommentStmt *n = makeNode(CommentStmt);
   39483             : 
   39484             :                     n->objtype = OBJECT_ROUTINE;
   39485             :                     n->object = (Node *) (yyvsp[-2].objwithargs);
   39486             :                     n->comment = (yyvsp[0].str);
   39487             :                     (yyval.node) = (Node *) n;
   39488             :                 }
   39489             : #line 39490 "gram.c"
   39490           0 :     break;
   39491             : 
   39492          14 :   case 981: /* CommentStmt: COMMENT ON TRANSFORM FOR Typename LANGUAGE name IS comment_text  */
   39493             : #line 7264 "gram.y"
   39494             :                                 {
   39495             :                     CommentStmt *n = makeNode(CommentStmt);
   39496             : 
   39497             :                     n->objtype = OBJECT_TRANSFORM;
   39498             :                     n->object = (Node *) list_make2((yyvsp[-4].typnam), makeString((yyvsp[-2].str)));
   39499             :                     n->comment = (yyvsp[0].str);
   39500             :                     (yyval.node) = (Node *) n;
   39501             :                 }
   39502             : #line 39503 "gram.c"
   39503          14 :     break;
   39504             : 
   39505           0 :   case 982: /* CommentStmt: COMMENT ON OPERATOR CLASS any_name USING name IS comment_text  */
   39506             : #line 7273 "gram.y"
   39507             :                                 {
   39508             :                     CommentStmt *n = makeNode(CommentStmt);
   39509             : 
   39510             :                     n->objtype = OBJECT_OPCLASS;
   39511             :                     n->object = (Node *) lcons(makeString((yyvsp[-2].str)), (yyvsp[-4].list));
   39512             :                     n->comment = (yyvsp[0].str);
   39513             :                     (yyval.node) = (Node *) n;
   39514             :                 }
   39515             : #line 39516 "gram.c"
   39516           0 :     break;
   39517             : 
   39518           0 :   case 983: /* CommentStmt: COMMENT ON OPERATOR FAMILY any_name USING name IS comment_text  */
   39519             : #line 7282 "gram.y"
   39520             :                                 {
   39521             :                     CommentStmt *n = makeNode(CommentStmt);
   39522             : 
   39523             :                     n->objtype = OBJECT_OPFAMILY;
   39524             :                     n->object = (Node *) lcons(makeString((yyvsp[-2].str)), (yyvsp[-4].list));
   39525             :                     n->comment = (yyvsp[0].str);
   39526             :                     (yyval.node) = (Node *) n;
   39527             :                 }
   39528             : #line 39529 "gram.c"
   39529           0 :     break;
   39530             : 
   39531          24 :   case 984: /* CommentStmt: COMMENT ON LARGE_P OBJECT_P NumericOnly IS comment_text  */
   39532             : #line 7291 "gram.y"
   39533             :                                 {
   39534             :                     CommentStmt *n = makeNode(CommentStmt);
   39535             : 
   39536             :                     n->objtype = OBJECT_LARGEOBJECT;
   39537             :                     n->object = (Node *) (yyvsp[-2].node);
   39538             :                     n->comment = (yyvsp[0].str);
   39539             :                     (yyval.node) = (Node *) n;
   39540             :                 }
   39541             : #line 39542 "gram.c"
   39542          24 :     break;
   39543             : 
   39544           0 :   case 985: /* CommentStmt: COMMENT ON CAST '(' Typename AS Typename ')' IS comment_text  */
   39545             : #line 7300 "gram.y"
   39546             :                                 {
   39547             :                     CommentStmt *n = makeNode(CommentStmt);
   39548             : 
   39549             :                     n->objtype = OBJECT_CAST;
   39550             :                     n->object = (Node *) list_make2((yyvsp[-5].typnam), (yyvsp[-3].typnam));
   39551             :                     n->comment = (yyvsp[0].str);
   39552             :                     (yyval.node) = (Node *) n;
   39553             :                 }
   39554             : #line 39555 "gram.c"
   39555           0 :     break;
   39556             : 
   39557        5444 :   case 986: /* comment_text: Sconst  */
   39558             : #line 7311 "gram.y"
   39559             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   39560             : #line 39561 "gram.c"
   39561        5444 :     break;
   39562             : 
   39563         104 :   case 987: /* comment_text: NULL_P  */
   39564             : #line 7312 "gram.y"
   39565             :                                                                                         { (yyval.str) = NULL; }
   39566             : #line 39567 "gram.c"
   39567         104 :     break;
   39568             : 
   39569          48 :   case 988: /* SecLabelStmt: SECURITY LABEL opt_provider ON object_type_any_name any_name IS security_label  */
   39570             : #line 7328 "gram.y"
   39571             :                                 {
   39572             :                     SecLabelStmt *n = makeNode(SecLabelStmt);
   39573             : 
   39574             :                     n->provider = (yyvsp[-5].str);
   39575             :                     n->objtype = (yyvsp[-3].objtype);
   39576             :                     n->object = (Node *) (yyvsp[-2].list);
   39577             :                     n->label = (yyvsp[0].str);
   39578             :                     (yyval.node) = (Node *) n;
   39579             :                 }
   39580             : #line 39581 "gram.c"
   39581          48 :     break;
   39582             : 
   39583           4 :   case 989: /* SecLabelStmt: SECURITY LABEL opt_provider ON COLUMN any_name IS security_label  */
   39584             : #line 7339 "gram.y"
   39585             :                                 {
   39586             :                     SecLabelStmt *n = makeNode(SecLabelStmt);
   39587             : 
   39588             :                     n->provider = (yyvsp[-5].str);
   39589             :                     n->objtype = OBJECT_COLUMN;
   39590             :                     n->object = (Node *) (yyvsp[-2].list);
   39591             :                     n->label = (yyvsp[0].str);
   39592             :                     (yyval.node) = (Node *) n;
   39593             :                 }
   39594             : #line 39595 "gram.c"
   39595           4 :     break;
   39596             : 
   39597          44 :   case 990: /* SecLabelStmt: SECURITY LABEL opt_provider ON object_type_name name IS security_label  */
   39598             : #line 7350 "gram.y"
   39599             :                                 {
   39600             :                     SecLabelStmt *n = makeNode(SecLabelStmt);
   39601             : 
   39602             :                     n->provider = (yyvsp[-5].str);
   39603             :                     n->objtype = (yyvsp[-3].objtype);
   39604             :                     n->object = (Node *) makeString((yyvsp[-2].str));
   39605             :                     n->label = (yyvsp[0].str);
   39606             :                     (yyval.node) = (Node *) n;
   39607             :                 }
   39608             : #line 39609 "gram.c"
   39609          44 :     break;
   39610             : 
   39611           0 :   case 991: /* SecLabelStmt: SECURITY LABEL opt_provider ON TYPE_P Typename IS security_label  */
   39612             : #line 7361 "gram.y"
   39613             :                                 {
   39614             :                     SecLabelStmt *n = makeNode(SecLabelStmt);
   39615             : 
   39616             :                     n->provider = (yyvsp[-5].str);
   39617             :                     n->objtype = OBJECT_TYPE;
   39618             :                     n->object = (Node *) (yyvsp[-2].typnam);
   39619             :                     n->label = (yyvsp[0].str);
   39620             :                     (yyval.node) = (Node *) n;
   39621             :                 }
   39622             : #line 39623 "gram.c"
   39623           0 :     break;
   39624             : 
   39625           2 :   case 992: /* SecLabelStmt: SECURITY LABEL opt_provider ON DOMAIN_P Typename IS security_label  */
   39626             : #line 7372 "gram.y"
   39627             :                                 {
   39628             :                     SecLabelStmt *n = makeNode(SecLabelStmt);
   39629             : 
   39630             :                     n->provider = (yyvsp[-5].str);
   39631             :                     n->objtype = OBJECT_DOMAIN;
   39632             :                     n->object = (Node *) (yyvsp[-2].typnam);
   39633             :                     n->label = (yyvsp[0].str);
   39634             :                     (yyval.node) = (Node *) n;
   39635             :                 }
   39636             : #line 39637 "gram.c"
   39637           2 :     break;
   39638             : 
   39639           0 :   case 993: /* SecLabelStmt: SECURITY LABEL opt_provider ON AGGREGATE aggregate_with_argtypes IS security_label  */
   39640             : #line 7383 "gram.y"
   39641             :                                 {
   39642             :                     SecLabelStmt *n = makeNode(SecLabelStmt);
   39643             : 
   39644             :                     n->provider = (yyvsp[-5].str);
   39645             :                     n->objtype = OBJECT_AGGREGATE;
   39646             :                     n->object = (Node *) (yyvsp[-2].objwithargs);
   39647             :                     n->label = (yyvsp[0].str);
   39648             :                     (yyval.node) = (Node *) n;
   39649             :                 }
   39650             : #line 39651 "gram.c"
   39651           0 :     break;
   39652             : 
   39653           2 :   case 994: /* SecLabelStmt: SECURITY LABEL opt_provider ON FUNCTION function_with_argtypes IS security_label  */
   39654             : #line 7394 "gram.y"
   39655             :                                 {
   39656             :                     SecLabelStmt *n = makeNode(SecLabelStmt);
   39657             : 
   39658             :                     n->provider = (yyvsp[-5].str);
   39659             :                     n->objtype = OBJECT_FUNCTION;
   39660             :                     n->object = (Node *) (yyvsp[-2].objwithargs);
   39661             :                     n->label = (yyvsp[0].str);
   39662             :                     (yyval.node) = (Node *) n;
   39663             :                 }
   39664             : #line 39665 "gram.c"
   39665           2 :     break;
   39666             : 
   39667           0 :   case 995: /* SecLabelStmt: SECURITY LABEL opt_provider ON LARGE_P OBJECT_P NumericOnly IS security_label  */
   39668             : #line 7405 "gram.y"
   39669             :                                 {
   39670             :                     SecLabelStmt *n = makeNode(SecLabelStmt);
   39671             : 
   39672             :                     n->provider = (yyvsp[-6].str);
   39673             :                     n->objtype = OBJECT_LARGEOBJECT;
   39674             :                     n->object = (Node *) (yyvsp[-2].node);
   39675             :                     n->label = (yyvsp[0].str);
   39676             :                     (yyval.node) = (Node *) n;
   39677             :                 }
   39678             : #line 39679 "gram.c"
   39679           0 :     break;
   39680             : 
   39681           0 :   case 996: /* SecLabelStmt: SECURITY LABEL opt_provider ON PROCEDURE function_with_argtypes IS security_label  */
   39682             : #line 7416 "gram.y"
   39683             :                                 {
   39684             :                     SecLabelStmt *n = makeNode(SecLabelStmt);
   39685             : 
   39686             :                     n->provider = (yyvsp[-5].str);
   39687             :                     n->objtype = OBJECT_PROCEDURE;
   39688             :                     n->object = (Node *) (yyvsp[-2].objwithargs);
   39689             :                     n->label = (yyvsp[0].str);
   39690             :                     (yyval.node) = (Node *) n;
   39691             :                 }
   39692             : #line 39693 "gram.c"
   39693           0 :     break;
   39694             : 
   39695           0 :   case 997: /* SecLabelStmt: SECURITY LABEL opt_provider ON ROUTINE function_with_argtypes IS security_label  */
   39696             : #line 7427 "gram.y"
   39697             :                                 {
   39698             :                     SecLabelStmt *n = makeNode(SecLabelStmt);
   39699             : 
   39700             :                     n->provider = (yyvsp[-5].str);
   39701             :                     n->objtype = OBJECT_ROUTINE;
   39702             :                     n->object = (Node *) (yyvsp[-2].objwithargs);
   39703             :                     n->label = (yyvsp[0].str);
   39704             :                     (yyval.node) = (Node *) n;
   39705             :                 }
   39706             : #line 39707 "gram.c"
   39707           0 :     break;
   39708             : 
   39709          20 :   case 998: /* opt_provider: FOR NonReservedWord_or_Sconst  */
   39710             : #line 7438 "gram.y"
   39711             :                                                 { (yyval.str) = (yyvsp[0].str); }
   39712             : #line 39713 "gram.c"
   39713          20 :     break;
   39714             : 
   39715          80 :   case 999: /* opt_provider: %empty  */
   39716             : #line 7439 "gram.y"
   39717             :                                                                                 { (yyval.str) = NULL; }
   39718             : #line 39719 "gram.c"
   39719          80 :     break;
   39720             : 
   39721         100 :   case 1000: /* security_label: Sconst  */
   39722             : #line 7442 "gram.y"
   39723             :                                                 { (yyval.str) = (yyvsp[0].str); }
   39724             : #line 39725 "gram.c"
   39725         100 :     break;
   39726             : 
   39727           0 :   case 1001: /* security_label: NULL_P  */
   39728             : #line 7443 "gram.y"
   39729             :                                                                 { (yyval.str) = NULL; }
   39730             : #line 39731 "gram.c"
   39731           0 :     break;
   39732             : 
   39733        5566 :   case 1002: /* FetchStmt: FETCH fetch_args  */
   39734             : #line 7454 "gram.y"
   39735             :                                 {
   39736             :                     FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
   39737             : 
   39738             :                     n->ismove = false;
   39739             :                     (yyval.node) = (Node *) n;
   39740             :                 }
   39741             : #line 39742 "gram.c"
   39742        5566 :     break;
   39743             : 
   39744         104 :   case 1003: /* FetchStmt: MOVE fetch_args  */
   39745             : #line 7461 "gram.y"
   39746             :                                 {
   39747             :                     FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
   39748             : 
   39749             :                     n->ismove = true;
   39750             :                     (yyval.node) = (Node *) n;
   39751             :                 }
   39752             : #line 39753 "gram.c"
   39753         104 :     break;
   39754             : 
   39755         266 :   case 1004: /* fetch_args: cursor_name  */
   39756             : #line 7470 "gram.y"
   39757             :                                 {
   39758             :                     FetchStmt *n = makeNode(FetchStmt);
   39759             : 
   39760             :                     n->portalname = (yyvsp[0].str);
   39761             :                     n->direction = FETCH_FORWARD;
   39762             :                     n->howMany = 1;
   39763             :                     (yyval.node) = (Node *) n;
   39764             :                 }
   39765             : #line 39766 "gram.c"
   39766         266 :     break;
   39767             : 
   39768         210 :   case 1005: /* fetch_args: from_in cursor_name  */
   39769             : #line 7479 "gram.y"
   39770             :                                 {
   39771             :                     FetchStmt *n = makeNode(FetchStmt);
   39772             : 
   39773             :                     n->portalname = (yyvsp[0].str);
   39774             :                     n->direction = FETCH_FORWARD;
   39775             :                     n->howMany = 1;
   39776             :                     (yyval.node) = (Node *) n;
   39777             :                 }
   39778             : #line 39779 "gram.c"
   39779         210 :     break;
   39780             : 
   39781         262 :   case 1006: /* fetch_args: NEXT opt_from_in cursor_name  */
   39782             : #line 7488 "gram.y"
   39783             :                                 {
   39784             :                     FetchStmt *n = makeNode(FetchStmt);
   39785             : 
   39786             :                     n->portalname = (yyvsp[0].str);
   39787             :                     n->direction = FETCH_FORWARD;
   39788             :                     n->howMany = 1;
   39789             :                     (yyval.node) = (Node *) n;
   39790             :                 }
   39791             : #line 39792 "gram.c"
   39792         262 :     break;
   39793             : 
   39794          30 :   case 1007: /* fetch_args: PRIOR opt_from_in cursor_name  */
   39795             : #line 7497 "gram.y"
   39796             :                                 {
   39797             :                     FetchStmt *n = makeNode(FetchStmt);
   39798             : 
   39799             :                     n->portalname = (yyvsp[0].str);
   39800             :                     n->direction = FETCH_BACKWARD;
   39801             :                     n->howMany = 1;
   39802             :                     (yyval.node) = (Node *) n;
   39803             :                 }
   39804             : #line 39805 "gram.c"
   39805          30 :     break;
   39806             : 
   39807          24 :   case 1008: /* fetch_args: FIRST_P opt_from_in cursor_name  */
   39808             : #line 7506 "gram.y"
   39809             :                                 {
   39810             :                     FetchStmt *n = makeNode(FetchStmt);
   39811             : 
   39812             :                     n->portalname = (yyvsp[0].str);
   39813             :                     n->direction = FETCH_ABSOLUTE;
   39814             :                     n->howMany = 1;
   39815             :                     (yyval.node) = (Node *) n;
   39816             :                 }
   39817             : #line 39818 "gram.c"
   39818          24 :     break;
   39819             : 
   39820          18 :   case 1009: /* fetch_args: LAST_P opt_from_in cursor_name  */
   39821             : #line 7515 "gram.y"
   39822             :                                 {
   39823             :                     FetchStmt *n = makeNode(FetchStmt);
   39824             : 
   39825             :                     n->portalname = (yyvsp[0].str);
   39826             :                     n->direction = FETCH_ABSOLUTE;
   39827             :                     n->howMany = -1;
   39828             :                     (yyval.node) = (Node *) n;
   39829             :                 }
   39830             : #line 39831 "gram.c"
   39831          18 :     break;
   39832             : 
   39833          88 :   case 1010: /* fetch_args: ABSOLUTE_P SignedIconst opt_from_in cursor_name  */
   39834             : #line 7524 "gram.y"
   39835             :                                 {
   39836             :                     FetchStmt *n = makeNode(FetchStmt);
   39837             : 
   39838             :                     n->portalname = (yyvsp[0].str);
   39839             :                     n->direction = FETCH_ABSOLUTE;
   39840             :                     n->howMany = (yyvsp[-2].ival);
   39841             :                     (yyval.node) = (Node *) n;
   39842             :                 }
   39843             : #line 39844 "gram.c"
   39844          88 :     break;
   39845             : 
   39846          30 :   case 1011: /* fetch_args: RELATIVE_P SignedIconst opt_from_in cursor_name  */
   39847             : #line 7533 "gram.y"
   39848             :                                 {
   39849             :                     FetchStmt *n = makeNode(FetchStmt);
   39850             : 
   39851             :                     n->portalname = (yyvsp[0].str);
   39852             :                     n->direction = FETCH_RELATIVE;
   39853             :                     n->howMany = (yyvsp[-2].ival);
   39854             :                     (yyval.node) = (Node *) n;
   39855             :                 }
   39856             : #line 39857 "gram.c"
   39857          30 :     break;
   39858             : 
   39859        4008 :   case 1012: /* fetch_args: SignedIconst opt_from_in cursor_name  */
   39860             : #line 7542 "gram.y"
   39861             :                                 {
   39862             :                     FetchStmt *n = makeNode(FetchStmt);
   39863             : 
   39864             :                     n->portalname = (yyvsp[0].str);
   39865             :                     n->direction = FETCH_FORWARD;
   39866             :                     n->howMany = (yyvsp[-2].ival);
   39867             :                     (yyval.node) = (Node *) n;
   39868             :                 }
   39869             : #line 39870 "gram.c"
   39870        4008 :     break;
   39871             : 
   39872         266 :   case 1013: /* fetch_args: ALL opt_from_in cursor_name  */
   39873             : #line 7551 "gram.y"
   39874             :                                 {
   39875             :                     FetchStmt *n = makeNode(FetchStmt);
   39876             : 
   39877             :                     n->portalname = (yyvsp[0].str);
   39878             :                     n->direction = FETCH_FORWARD;
   39879             :                     n->howMany = FETCH_ALL;
   39880             :                     (yyval.node) = (Node *) n;
   39881             :                 }
   39882             : #line 39883 "gram.c"
   39883         266 :     break;
   39884             : 
   39885          28 :   case 1014: /* fetch_args: FORWARD opt_from_in cursor_name  */
   39886             : #line 7560 "gram.y"
   39887             :                                 {
   39888             :                     FetchStmt *n = makeNode(FetchStmt);
   39889             : 
   39890             :                     n->portalname = (yyvsp[0].str);
   39891             :                     n->direction = FETCH_FORWARD;
   39892             :                     n->howMany = 1;
   39893             :                     (yyval.node) = (Node *) n;
   39894             :                 }
   39895             : #line 39896 "gram.c"
   39896          28 :     break;
   39897             : 
   39898           2 :   case 1015: /* fetch_args: FORWARD SignedIconst opt_from_in cursor_name  */
   39899             : #line 7569 "gram.y"
   39900             :                                 {
   39901             :                     FetchStmt *n = makeNode(FetchStmt);
   39902             : 
   39903             :                     n->portalname = (yyvsp[0].str);
   39904             :                     n->direction = FETCH_FORWARD;
   39905             :                     n->howMany = (yyvsp[-2].ival);
   39906             :                     (yyval.node) = (Node *) n;
   39907             :                 }
   39908             : #line 39909 "gram.c"
   39909           2 :     break;
   39910             : 
   39911          14 :   case 1016: /* fetch_args: FORWARD ALL opt_from_in cursor_name  */
   39912             : #line 7578 "gram.y"
   39913             :                                 {
   39914             :                     FetchStmt *n = makeNode(FetchStmt);
   39915             : 
   39916             :                     n->portalname = (yyvsp[0].str);
   39917             :                     n->direction = FETCH_FORWARD;
   39918             :                     n->howMany = FETCH_ALL;
   39919             :                     (yyval.node) = (Node *) n;
   39920             :                 }
   39921             : #line 39922 "gram.c"
   39922          14 :     break;
   39923             : 
   39924          78 :   case 1017: /* fetch_args: BACKWARD opt_from_in cursor_name  */
   39925             : #line 7587 "gram.y"
   39926             :                                 {
   39927             :                     FetchStmt *n = makeNode(FetchStmt);
   39928             : 
   39929             :                     n->portalname = (yyvsp[0].str);
   39930             :                     n->direction = FETCH_BACKWARD;
   39931             :                     n->howMany = 1;
   39932             :                     (yyval.node) = (Node *) n;
   39933             :                 }
   39934             : #line 39935 "gram.c"
   39935          78 :     break;
   39936             : 
   39937         220 :   case 1018: /* fetch_args: BACKWARD SignedIconst opt_from_in cursor_name  */
   39938             : #line 7596 "gram.y"
   39939             :                                 {
   39940             :                     FetchStmt *n = makeNode(FetchStmt);
   39941             : 
   39942             :                     n->portalname = (yyvsp[0].str);
   39943             :                     n->direction = FETCH_BACKWARD;
   39944             :                     n->howMany = (yyvsp[-2].ival);
   39945             :                     (yyval.node) = (Node *) n;
   39946             :                 }
   39947             : #line 39948 "gram.c"
   39948         220 :     break;
   39949             : 
   39950         126 :   case 1019: /* fetch_args: BACKWARD ALL opt_from_in cursor_name  */
   39951             : #line 7605 "gram.y"
   39952             :                                 {
   39953             :                     FetchStmt *n = makeNode(FetchStmt);
   39954             : 
   39955             :                     n->portalname = (yyvsp[0].str);
   39956             :                     n->direction = FETCH_BACKWARD;
   39957             :                     n->howMany = FETCH_ALL;
   39958             :                     (yyval.node) = (Node *) n;
   39959             :                 }
   39960             : #line 39961 "gram.c"
   39961         126 :     break;
   39962             : 
   39963        8294 :   case 1024: /* GrantStmt: GRANT privileges ON privilege_target TO grantee_list opt_grant_grant_option opt_granted_by  */
   39964             : #line 7632 "gram.y"
   39965             :                                 {
   39966             :                     GrantStmt *n = makeNode(GrantStmt);
   39967             : 
   39968             :                     n->is_grant = true;
   39969             :                     n->privileges = (yyvsp[-6].list);
   39970             :                     n->targtype = ((yyvsp[-4].privtarget))->targtype;
   39971             :                     n->objtype = ((yyvsp[-4].privtarget))->objtype;
   39972             :                     n->objects = ((yyvsp[-4].privtarget))->objs;
   39973             :                     n->grantees = (yyvsp[-2].list);
   39974             :                     n->grant_option = (yyvsp[-1].boolean);
   39975             :                     n->grantor = (yyvsp[0].rolespec);
   39976             :                     (yyval.node) = (Node *) n;
   39977             :                 }
   39978             : #line 39979 "gram.c"
   39979        8294 :     break;
   39980             : 
   39981        7074 :   case 1025: /* RevokeStmt: REVOKE privileges ON privilege_target FROM grantee_list opt_granted_by opt_drop_behavior  */
   39982             : #line 7650 "gram.y"
   39983             :                                 {
   39984             :                     GrantStmt *n = makeNode(GrantStmt);
   39985             : 
   39986             :                     n->is_grant = false;
   39987             :                     n->grant_option = false;
   39988             :                     n->privileges = (yyvsp[-6].list);
   39989             :                     n->targtype = ((yyvsp[-4].privtarget))->targtype;
   39990             :                     n->objtype = ((yyvsp[-4].privtarget))->objtype;
   39991             :                     n->objects = ((yyvsp[-4].privtarget))->objs;
   39992             :                     n->grantees = (yyvsp[-2].list);
   39993             :                     n->grantor = (yyvsp[-1].rolespec);
   39994             :                     n->behavior = (yyvsp[0].dbehavior);
   39995             :                     (yyval.node) = (Node *) n;
   39996             :                 }
   39997             : #line 39998 "gram.c"
   39998        7074 :     break;
   39999             : 
   40000          14 :   case 1026: /* RevokeStmt: REVOKE GRANT OPTION FOR privileges ON privilege_target FROM grantee_list opt_granted_by opt_drop_behavior  */
   40001             : #line 7666 "gram.y"
   40002             :                                 {
   40003             :                     GrantStmt *n = makeNode(GrantStmt);
   40004             : 
   40005             :                     n->is_grant = false;
   40006             :                     n->grant_option = true;
   40007             :                     n->privileges = (yyvsp[-6].list);
   40008             :                     n->targtype = ((yyvsp[-4].privtarget))->targtype;
   40009             :                     n->objtype = ((yyvsp[-4].privtarget))->objtype;
   40010             :                     n->objects = ((yyvsp[-4].privtarget))->objs;
   40011             :                     n->grantees = (yyvsp[-2].list);
   40012             :                     n->grantor = (yyvsp[-1].rolespec);
   40013             :                     n->behavior = (yyvsp[0].dbehavior);
   40014             :                     (yyval.node) = (Node *) n;
   40015             :                 }
   40016             : #line 40017 "gram.c"
   40017          14 :     break;
   40018             : 
   40019       13422 :   case 1027: /* privileges: privilege_list  */
   40020             : #line 7693 "gram.y"
   40021             :                                 { (yyval.list) = (yyvsp[0].list); }
   40022             : #line 40023 "gram.c"
   40023       13422 :     break;
   40024             : 
   40025        1994 :   case 1028: /* privileges: ALL  */
   40026             : #line 7695 "gram.y"
   40027             :                                 { (yyval.list) = NIL; }
   40028             : #line 40029 "gram.c"
   40029        1994 :     break;
   40030             : 
   40031         120 :   case 1029: /* privileges: ALL PRIVILEGES  */
   40032             : #line 7697 "gram.y"
   40033             :                                 { (yyval.list) = NIL; }
   40034             : #line 40035 "gram.c"
   40035         120 :     break;
   40036             : 
   40037          18 :   case 1030: /* privileges: ALL '(' columnList ')'  */
   40038             : #line 7699 "gram.y"
   40039             :                                 {
   40040             :                     AccessPriv *n = makeNode(AccessPriv);
   40041             : 
   40042             :                     n->priv_name = NULL;
   40043             :                     n->cols = (yyvsp[-1].list);
   40044             :                     (yyval.list) = list_make1(n);
   40045             :                 }
   40046             : #line 40047 "gram.c"
   40047          18 :     break;
   40048             : 
   40049           0 :   case 1031: /* privileges: ALL PRIVILEGES '(' columnList ')'  */
   40050             : #line 7707 "gram.y"
   40051             :                                 {
   40052             :                     AccessPriv *n = makeNode(AccessPriv);
   40053             : 
   40054             :                     n->priv_name = NULL;
   40055             :                     n->cols = (yyvsp[-1].list);
   40056             :                     (yyval.list) = list_make1(n);
   40057             :                 }
   40058             : #line 40059 "gram.c"
   40059           0 :     break;
   40060             : 
   40061       14312 :   case 1032: /* privilege_list: privilege  */
   40062             : #line 7716 "gram.y"
   40063             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].accesspriv)); }
   40064             : #line 40065 "gram.c"
   40065       14312 :     break;
   40066             : 
   40067         444 :   case 1033: /* privilege_list: privilege_list ',' privilege  */
   40068             : #line 7717 "gram.y"
   40069             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].accesspriv)); }
   40070             : #line 40071 "gram.c"
   40071         444 :     break;
   40072             : 
   40073        5926 :   case 1034: /* privilege: SELECT opt_column_list  */
   40074             : #line 7721 "gram.y"
   40075             :                         {
   40076             :                 AccessPriv *n = makeNode(AccessPriv);
   40077             : 
   40078             :                 n->priv_name = pstrdup((yyvsp[-1].keyword));
   40079             :                 n->cols = (yyvsp[0].list);
   40080             :                 (yyval.accesspriv) = n;
   40081             :             }
   40082             : #line 40083 "gram.c"
   40083        5926 :     break;
   40084             : 
   40085          14 :   case 1035: /* privilege: REFERENCES opt_column_list  */
   40086             : #line 7729 "gram.y"
   40087             :                         {
   40088             :                 AccessPriv *n = makeNode(AccessPriv);
   40089             : 
   40090             :                 n->priv_name = pstrdup((yyvsp[-1].keyword));
   40091             :                 n->cols = (yyvsp[0].list);
   40092             :                 (yyval.accesspriv) = n;
   40093             :             }
   40094             : #line 40095 "gram.c"
   40095          14 :     break;
   40096             : 
   40097         250 :   case 1036: /* privilege: CREATE opt_column_list  */
   40098             : #line 7737 "gram.y"
   40099             :                         {
   40100             :                 AccessPriv *n = makeNode(AccessPriv);
   40101             : 
   40102             :                 n->priv_name = pstrdup((yyvsp[-1].keyword));
   40103             :                 n->cols = (yyvsp[0].list);
   40104             :                 (yyval.accesspriv) = n;
   40105             :             }
   40106             : #line 40107 "gram.c"
   40107         250 :     break;
   40108             : 
   40109          24 :   case 1037: /* privilege: ALTER SYSTEM_P  */
   40110             : #line 7745 "gram.y"
   40111             :                         {
   40112             :                 AccessPriv *n = makeNode(AccessPriv);
   40113             :                 n->priv_name = pstrdup("alter system");
   40114             :                 n->cols = NIL;
   40115             :                 (yyval.accesspriv) = n;
   40116             :             }
   40117             : #line 40118 "gram.c"
   40118          24 :     break;
   40119             : 
   40120        8542 :   case 1038: /* privilege: ColId opt_column_list  */
   40121             : #line 7752 "gram.y"
   40122             :                         {
   40123             :                 AccessPriv *n = makeNode(AccessPriv);
   40124             : 
   40125             :                 n->priv_name = (yyvsp[-1].str);
   40126             :                 n->cols = (yyvsp[0].list);
   40127             :                 (yyval.accesspriv) = n;
   40128             :             }
   40129             : #line 40130 "gram.c"
   40130        8542 :     break;
   40131             : 
   40132          74 :   case 1039: /* parameter_name_list: parameter_name  */
   40133             : #line 7763 "gram.y"
   40134             :                         {
   40135             :                 (yyval.list) = list_make1(makeString((yyvsp[0].str)));
   40136             :             }
   40137             : #line 40138 "gram.c"
   40138          74 :     break;
   40139             : 
   40140          50 :   case 1040: /* parameter_name_list: parameter_name_list ',' parameter_name  */
   40141             : #line 7767 "gram.y"
   40142             :                         {
   40143             :                 (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str)));
   40144             :             }
   40145             : #line 40146 "gram.c"
   40146          50 :     break;
   40147             : 
   40148         124 :   case 1041: /* parameter_name: ColId  */
   40149             : #line 7774 "gram.y"
   40150             :                         {
   40151             :                 (yyval.str) = (yyvsp[0].str);
   40152             :             }
   40153             : #line 40154 "gram.c"
   40154         124 :     break;
   40155             : 
   40156          30 :   case 1042: /* parameter_name: parameter_name '.' ColId  */
   40157             : #line 7778 "gram.y"
   40158             :                         {
   40159             :                 (yyval.str) = psprintf("%s.%s", (yyvsp[-2].str), (yyvsp[0].str));
   40160             :             }
   40161             : #line 40162 "gram.c"
   40162          30 :     break;
   40163             : 
   40164        7460 :   case 1043: /* privilege_target: qualified_name_list  */
   40165             : #line 7789 "gram.y"
   40166             :                                 {
   40167             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40168             : 
   40169             :                     n->targtype = ACL_TARGET_OBJECT;
   40170             :                     n->objtype = OBJECT_TABLE;
   40171             :                     n->objs = (yyvsp[0].list);
   40172             :                     (yyval.privtarget) = n;
   40173             :                 }
   40174             : #line 40175 "gram.c"
   40175        7460 :     break;
   40176             : 
   40177         324 :   case 1044: /* privilege_target: TABLE qualified_name_list  */
   40178             : #line 7798 "gram.y"
   40179             :                                 {
   40180             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40181             : 
   40182             :                     n->targtype = ACL_TARGET_OBJECT;
   40183             :                     n->objtype = OBJECT_TABLE;
   40184             :                     n->objs = (yyvsp[0].list);
   40185             :                     (yyval.privtarget) = n;
   40186             :                 }
   40187             : #line 40188 "gram.c"
   40188         324 :     break;
   40189             : 
   40190          16 :   case 1045: /* privilege_target: SEQUENCE qualified_name_list  */
   40191             : #line 7807 "gram.y"
   40192             :                                 {
   40193             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40194             : 
   40195             :                     n->targtype = ACL_TARGET_OBJECT;
   40196             :                     n->objtype = OBJECT_SEQUENCE;
   40197             :                     n->objs = (yyvsp[0].list);
   40198             :                     (yyval.privtarget) = n;
   40199             :                 }
   40200             : #line 40201 "gram.c"
   40201          16 :     break;
   40202             : 
   40203          92 :   case 1046: /* privilege_target: FOREIGN DATA_P WRAPPER name_list  */
   40204             : #line 7816 "gram.y"
   40205             :                                 {
   40206             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40207             : 
   40208             :                     n->targtype = ACL_TARGET_OBJECT;
   40209             :                     n->objtype = OBJECT_FDW;
   40210             :                     n->objs = (yyvsp[0].list);
   40211             :                     (yyval.privtarget) = n;
   40212             :                 }
   40213             : #line 40214 "gram.c"
   40214          92 :     break;
   40215             : 
   40216          76 :   case 1047: /* privilege_target: FOREIGN SERVER name_list  */
   40217             : #line 7825 "gram.y"
   40218             :                                 {
   40219             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40220             : 
   40221             :                     n->targtype = ACL_TARGET_OBJECT;
   40222             :                     n->objtype = OBJECT_FOREIGN_SERVER;
   40223             :                     n->objs = (yyvsp[0].list);
   40224             :                     (yyval.privtarget) = n;
   40225             :                 }
   40226             : #line 40227 "gram.c"
   40227          76 :     break;
   40228             : 
   40229        6462 :   case 1048: /* privilege_target: FUNCTION function_with_argtypes_list  */
   40230             : #line 7834 "gram.y"
   40231             :                                 {
   40232             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40233             : 
   40234             :                     n->targtype = ACL_TARGET_OBJECT;
   40235             :                     n->objtype = OBJECT_FUNCTION;
   40236             :                     n->objs = (yyvsp[0].list);
   40237             :                     (yyval.privtarget) = n;
   40238             :                 }
   40239             : #line 40240 "gram.c"
   40240        6462 :     break;
   40241             : 
   40242          42 :   case 1049: /* privilege_target: PROCEDURE function_with_argtypes_list  */
   40243             : #line 7843 "gram.y"
   40244             :                                 {
   40245             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40246             : 
   40247             :                     n->targtype = ACL_TARGET_OBJECT;
   40248             :                     n->objtype = OBJECT_PROCEDURE;
   40249             :                     n->objs = (yyvsp[0].list);
   40250             :                     (yyval.privtarget) = n;
   40251             :                 }
   40252             : #line 40253 "gram.c"
   40253          42 :     break;
   40254             : 
   40255           0 :   case 1050: /* privilege_target: ROUTINE function_with_argtypes_list  */
   40256             : #line 7852 "gram.y"
   40257             :                                 {
   40258             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40259             : 
   40260             :                     n->targtype = ACL_TARGET_OBJECT;
   40261             :                     n->objtype = OBJECT_ROUTINE;
   40262             :                     n->objs = (yyvsp[0].list);
   40263             :                     (yyval.privtarget) = n;
   40264             :                 }
   40265             : #line 40266 "gram.c"
   40266           0 :     break;
   40267             : 
   40268         274 :   case 1051: /* privilege_target: DATABASE name_list  */
   40269             : #line 7861 "gram.y"
   40270             :                                 {
   40271             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40272             : 
   40273             :                     n->targtype = ACL_TARGET_OBJECT;
   40274             :                     n->objtype = OBJECT_DATABASE;
   40275             :                     n->objs = (yyvsp[0].list);
   40276             :                     (yyval.privtarget) = n;
   40277             :                 }
   40278             : #line 40279 "gram.c"
   40279         274 :     break;
   40280             : 
   40281          26 :   case 1052: /* privilege_target: DOMAIN_P any_name_list  */
   40282             : #line 7870 "gram.y"
   40283             :                                 {
   40284             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40285             : 
   40286             :                     n->targtype = ACL_TARGET_OBJECT;
   40287             :                     n->objtype = OBJECT_DOMAIN;
   40288             :                     n->objs = (yyvsp[0].list);
   40289             :                     (yyval.privtarget) = n;
   40290             :                 }
   40291             : #line 40292 "gram.c"
   40292          26 :     break;
   40293             : 
   40294          42 :   case 1053: /* privilege_target: LANGUAGE name_list  */
   40295             : #line 7879 "gram.y"
   40296             :                                 {
   40297             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40298             : 
   40299             :                     n->targtype = ACL_TARGET_OBJECT;
   40300             :                     n->objtype = OBJECT_LANGUAGE;
   40301             :                     n->objs = (yyvsp[0].list);
   40302             :                     (yyval.privtarget) = n;
   40303             :                 }
   40304             : #line 40305 "gram.c"
   40305          42 :     break;
   40306             : 
   40307          80 :   case 1054: /* privilege_target: LARGE_P OBJECT_P NumericOnly_list  */
   40308             : #line 7888 "gram.y"
   40309             :                                 {
   40310             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40311             : 
   40312             :                     n->targtype = ACL_TARGET_OBJECT;
   40313             :                     n->objtype = OBJECT_LARGEOBJECT;
   40314             :                     n->objs = (yyvsp[0].list);
   40315             :                     (yyval.privtarget) = n;
   40316             :                 }
   40317             : #line 40318 "gram.c"
   40318          80 :     break;
   40319             : 
   40320          74 :   case 1055: /* privilege_target: PARAMETER parameter_name_list  */
   40321             : #line 7897 "gram.y"
   40322             :                                 {
   40323             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40324             :                     n->targtype = ACL_TARGET_OBJECT;
   40325             :                     n->objtype = OBJECT_PARAMETER_ACL;
   40326             :                     n->objs = (yyvsp[0].list);
   40327             :                     (yyval.privtarget) = n;
   40328             :                 }
   40329             : #line 40330 "gram.c"
   40330          74 :     break;
   40331             : 
   40332         286 :   case 1056: /* privilege_target: SCHEMA name_list  */
   40333             : #line 7905 "gram.y"
   40334             :                                 {
   40335             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40336             : 
   40337             :                     n->targtype = ACL_TARGET_OBJECT;
   40338             :                     n->objtype = OBJECT_SCHEMA;
   40339             :                     n->objs = (yyvsp[0].list);
   40340             :                     (yyval.privtarget) = n;
   40341             :                 }
   40342             : #line 40343 "gram.c"
   40343         286 :     break;
   40344             : 
   40345           0 :   case 1057: /* privilege_target: TABLESPACE name_list  */
   40346             : #line 7914 "gram.y"
   40347             :                                 {
   40348             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40349             : 
   40350             :                     n->targtype = ACL_TARGET_OBJECT;
   40351             :                     n->objtype = OBJECT_TABLESPACE;
   40352             :                     n->objs = (yyvsp[0].list);
   40353             :                     (yyval.privtarget) = n;
   40354             :                 }
   40355             : #line 40356 "gram.c"
   40356           0 :     break;
   40357             : 
   40358         110 :   case 1058: /* privilege_target: TYPE_P any_name_list  */
   40359             : #line 7923 "gram.y"
   40360             :                                 {
   40361             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40362             : 
   40363             :                     n->targtype = ACL_TARGET_OBJECT;
   40364             :                     n->objtype = OBJECT_TYPE;
   40365             :                     n->objs = (yyvsp[0].list);
   40366             :                     (yyval.privtarget) = n;
   40367             :                 }
   40368             : #line 40369 "gram.c"
   40369         110 :     break;
   40370             : 
   40371          12 :   case 1059: /* privilege_target: ALL TABLES IN_P SCHEMA name_list  */
   40372             : #line 7932 "gram.y"
   40373             :                                 {
   40374             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40375             : 
   40376             :                     n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
   40377             :                     n->objtype = OBJECT_TABLE;
   40378             :                     n->objs = (yyvsp[0].list);
   40379             :                     (yyval.privtarget) = n;
   40380             :                 }
   40381             : #line 40382 "gram.c"
   40382          12 :     break;
   40383             : 
   40384           0 :   case 1060: /* privilege_target: ALL SEQUENCES IN_P SCHEMA name_list  */
   40385             : #line 7941 "gram.y"
   40386             :                                 {
   40387             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40388             : 
   40389             :                     n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
   40390             :                     n->objtype = OBJECT_SEQUENCE;
   40391             :                     n->objs = (yyvsp[0].list);
   40392             :                     (yyval.privtarget) = n;
   40393             :                 }
   40394             : #line 40395 "gram.c"
   40395           0 :     break;
   40396             : 
   40397           6 :   case 1061: /* privilege_target: ALL FUNCTIONS IN_P SCHEMA name_list  */
   40398             : #line 7950 "gram.y"
   40399             :                                 {
   40400             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40401             : 
   40402             :                     n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
   40403             :                     n->objtype = OBJECT_FUNCTION;
   40404             :                     n->objs = (yyvsp[0].list);
   40405             :                     (yyval.privtarget) = n;
   40406             :                 }
   40407             : #line 40408 "gram.c"
   40408           6 :     break;
   40409             : 
   40410           6 :   case 1062: /* privilege_target: ALL PROCEDURES IN_P SCHEMA name_list  */
   40411             : #line 7959 "gram.y"
   40412             :                                 {
   40413             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40414             : 
   40415             :                     n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
   40416             :                     n->objtype = OBJECT_PROCEDURE;
   40417             :                     n->objs = (yyvsp[0].list);
   40418             :                     (yyval.privtarget) = n;
   40419             :                 }
   40420             : #line 40421 "gram.c"
   40421           6 :     break;
   40422             : 
   40423           6 :   case 1063: /* privilege_target: ALL ROUTINES IN_P SCHEMA name_list  */
   40424             : #line 7968 "gram.y"
   40425             :                                 {
   40426             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40427             : 
   40428             :                     n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
   40429             :                     n->objtype = OBJECT_ROUTINE;
   40430             :                     n->objs = (yyvsp[0].list);
   40431             :                     (yyval.privtarget) = n;
   40432             :                 }
   40433             : #line 40434 "gram.c"
   40434           6 :     break;
   40435             : 
   40436       15542 :   case 1064: /* grantee_list: grantee  */
   40437             : #line 7980 "gram.y"
   40438             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].rolespec)); }
   40439             : #line 40440 "gram.c"
   40440       15542 :     break;
   40441             : 
   40442         102 :   case 1065: /* grantee_list: grantee_list ',' grantee  */
   40443             : #line 7981 "gram.y"
   40444             :                                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].rolespec)); }
   40445             : #line 40446 "gram.c"
   40446         102 :     break;
   40447             : 
   40448       15620 :   case 1066: /* grantee: RoleSpec  */
   40449             : #line 7985 "gram.y"
   40450             :                                                                                                 { (yyval.rolespec) = (yyvsp[0].rolespec); }
   40451             : #line 40452 "gram.c"
   40452       15620 :     break;
   40453             : 
   40454          24 :   case 1067: /* grantee: GROUP_P RoleSpec  */
   40455             : #line 7986 "gram.y"
   40456             :                                                                                         { (yyval.rolespec) = (yyvsp[0].rolespec); }
   40457             : #line 40458 "gram.c"
   40458          24 :     break;
   40459             : 
   40460          86 :   case 1068: /* opt_grant_grant_option: WITH GRANT OPTION  */
   40461             : #line 7991 "gram.y"
   40462             :                                           { (yyval.boolean) = true; }
   40463             : #line 40464 "gram.c"
   40464          86 :     break;
   40465             : 
   40466        8308 :   case 1069: /* opt_grant_grant_option: %empty  */
   40467             : #line 7992 "gram.y"
   40468             :                                     { (yyval.boolean) = false; }
   40469             : #line 40470 "gram.c"
   40470        8308 :     break;
   40471             : 
   40472         556 :   case 1070: /* GrantRoleStmt: GRANT privilege_list TO role_list opt_granted_by  */
   40473             : #line 8003 "gram.y"
   40474             :                                 {
   40475             :                     GrantRoleStmt *n = makeNode(GrantRoleStmt);
   40476             : 
   40477             :                     n->is_grant = true;
   40478             :                     n->granted_roles = (yyvsp[-3].list);
   40479             :                     n->grantee_roles = (yyvsp[-1].list);
   40480             :                     n->opt = NIL;
   40481             :                     n->grantor = (yyvsp[0].rolespec);
   40482             :                     (yyval.node) = (Node *) n;
   40483             :                 }
   40484             : #line 40485 "gram.c"
   40485         556 :     break;
   40486             : 
   40487         178 :   case 1071: /* GrantRoleStmt: GRANT privilege_list TO role_list WITH grant_role_opt_list opt_granted_by  */
   40488             : #line 8014 "gram.y"
   40489             :                                 {
   40490             :                     GrantRoleStmt *n = makeNode(GrantRoleStmt);
   40491             : 
   40492             :                     n->is_grant = true;
   40493             :                     n->granted_roles = (yyvsp[-5].list);
   40494             :                     n->grantee_roles = (yyvsp[-3].list);
   40495             :                     n->opt = (yyvsp[-1].list);
   40496             :                     n->grantor = (yyvsp[0].rolespec);
   40497             :                     (yyval.node) = (Node *) n;
   40498             :                 }
   40499             : #line 40500 "gram.c"
   40500         178 :     break;
   40501             : 
   40502          90 :   case 1072: /* RevokeRoleStmt: REVOKE privilege_list FROM role_list opt_granted_by opt_drop_behavior  */
   40503             : #line 8028 "gram.y"
   40504             :                                 {
   40505             :                     GrantRoleStmt *n = makeNode(GrantRoleStmt);
   40506             : 
   40507             :                     n->is_grant = false;
   40508             :                     n->opt = NIL;
   40509             :                     n->granted_roles = (yyvsp[-4].list);
   40510             :                     n->grantee_roles = (yyvsp[-2].list);
   40511             :                     n->grantor = (yyvsp[-1].rolespec);
   40512             :                     n->behavior = (yyvsp[0].dbehavior);
   40513             :                     (yyval.node) = (Node *) n;
   40514             :                 }
   40515             : #line 40516 "gram.c"
   40516          90 :     break;
   40517             : 
   40518          66 :   case 1073: /* RevokeRoleStmt: REVOKE ColId OPTION FOR privilege_list FROM role_list opt_granted_by opt_drop_behavior  */
   40519             : #line 8040 "gram.y"
   40520             :                                 {
   40521             :                     GrantRoleStmt *n = makeNode(GrantRoleStmt);
   40522             :                     DefElem *opt;
   40523             : 
   40524             :                     opt = makeDefElem(pstrdup((yyvsp[-7].str)),
   40525             :                                       (Node *) makeBoolean(false), (yylsp[-7]));
   40526             :                     n->is_grant = false;
   40527             :                     n->opt = list_make1(opt);
   40528             :                     n->granted_roles = (yyvsp[-4].list);
   40529             :                     n->grantee_roles = (yyvsp[-2].list);
   40530             :                     n->grantor = (yyvsp[-1].rolespec);
   40531             :                     n->behavior = (yyvsp[0].dbehavior);
   40532             :                     (yyval.node) = (Node *) n;
   40533             :                 }
   40534             : #line 40535 "gram.c"
   40535          66 :     break;
   40536             : 
   40537         120 :   case 1074: /* grant_role_opt_list: grant_role_opt_list ',' grant_role_opt  */
   40538             : #line 8057 "gram.y"
   40539             :                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
   40540             : #line 40541 "gram.c"
   40541         120 :     break;
   40542             : 
   40543         178 :   case 1075: /* grant_role_opt_list: grant_role_opt  */
   40544             : #line 8058 "gram.y"
   40545             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   40546             : #line 40547 "gram.c"
   40547         178 :     break;
   40548             : 
   40549         298 :   case 1076: /* grant_role_opt: ColLabel grant_role_opt_value  */
   40550             : #line 8063 "gram.y"
   40551             :                         {
   40552             :                 (yyval.defelt) = makeDefElem(pstrdup((yyvsp[-1].str)), (yyvsp[0].node), (yylsp[-1]));
   40553             :             }
   40554             : #line 40555 "gram.c"
   40555         298 :     break;
   40556             : 
   40557          72 :   case 1077: /* grant_role_opt_value: OPTION  */
   40558             : #line 8069 "gram.y"
   40559             :                                         { (yyval.node) = (Node *) makeBoolean(true); }
   40560             : #line 40561 "gram.c"
   40561          72 :     break;
   40562             : 
   40563         112 :   case 1078: /* grant_role_opt_value: TRUE_P  */
   40564             : #line 8070 "gram.y"
   40565             :                                         { (yyval.node) = (Node *) makeBoolean(true); }
   40566             : #line 40567 "gram.c"
   40567         112 :     break;
   40568             : 
   40569         114 :   case 1079: /* grant_role_opt_value: FALSE_P  */
   40570             : #line 8071 "gram.y"
   40571             :                                         { (yyval.node) = (Node *) makeBoolean(false); }
   40572             : #line 40573 "gram.c"
   40573         114 :     break;
   40574             : 
   40575         138 :   case 1080: /* opt_granted_by: GRANTED BY RoleSpec  */
   40576             : #line 8074 "gram.y"
   40577             :                                                                                 { (yyval.rolespec) = (yyvsp[0].rolespec); }
   40578             : #line 40579 "gram.c"
   40579         138 :     break;
   40580             : 
   40581       16134 :   case 1081: /* opt_granted_by: %empty  */
   40582             : #line 8075 "gram.y"
   40583             :                                                                                                         { (yyval.rolespec) = NULL; }
   40584             : #line 40585 "gram.c"
   40585       16134 :     break;
   40586             : 
   40587         160 :   case 1082: /* AlterDefaultPrivilegesStmt: ALTER DEFAULT PRIVILEGES DefACLOptionList DefACLAction  */
   40588             : #line 8086 "gram.y"
   40589             :                                 {
   40590             :                     AlterDefaultPrivilegesStmt *n = makeNode(AlterDefaultPrivilegesStmt);
   40591             : 
   40592             :                     n->options = (yyvsp[-1].list);
   40593             :                     n->action = (GrantStmt *) (yyvsp[0].node);
   40594             :                     (yyval.node) = (Node *) n;
   40595             :                 }
   40596             : #line 40597 "gram.c"
   40597         160 :     break;
   40598             : 
   40599         122 :   case 1083: /* DefACLOptionList: DefACLOptionList DefACLOption  */
   40600             : #line 8096 "gram.y"
   40601             :                                                                         { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   40602             : #line 40603 "gram.c"
   40603         122 :     break;
   40604             : 
   40605         160 :   case 1084: /* DefACLOptionList: %empty  */
   40606             : #line 8097 "gram.y"
   40607             :                                                                                         { (yyval.list) = NIL; }
   40608             : #line 40609 "gram.c"
   40609         160 :     break;
   40610             : 
   40611          54 :   case 1085: /* DefACLOption: IN_P SCHEMA name_list  */
   40612             : #line 8102 "gram.y"
   40613             :                                 {
   40614             :                     (yyval.defelt) = makeDefElem("schemas", (Node *) (yyvsp[0].list), (yylsp[-2]));
   40615             :                 }
   40616             : #line 40617 "gram.c"
   40617          54 :     break;
   40618             : 
   40619          68 :   case 1086: /* DefACLOption: FOR ROLE role_list  */
   40620             : #line 8106 "gram.y"
   40621             :                                 {
   40622             :                     (yyval.defelt) = makeDefElem("roles", (Node *) (yyvsp[0].list), (yylsp[-2]));
   40623             :                 }
   40624             : #line 40625 "gram.c"
   40625          68 :     break;
   40626             : 
   40627           0 :   case 1087: /* DefACLOption: FOR USER role_list  */
   40628             : #line 8110 "gram.y"
   40629             :                                 {
   40630             :                     (yyval.defelt) = makeDefElem("roles", (Node *) (yyvsp[0].list), (yylsp[-2]));
   40631             :                 }
   40632             : #line 40633 "gram.c"
   40633           0 :     break;
   40634             : 
   40635         100 :   case 1088: /* DefACLAction: GRANT privileges ON defacl_privilege_target TO grantee_list opt_grant_grant_option  */
   40636             : #line 8122 "gram.y"
   40637             :                                 {
   40638             :                     GrantStmt *n = makeNode(GrantStmt);
   40639             : 
   40640             :                     n->is_grant = true;
   40641             :                     n->privileges = (yyvsp[-5].list);
   40642             :                     n->targtype = ACL_TARGET_DEFAULTS;
   40643             :                     n->objtype = (yyvsp[-3].ival);
   40644             :                     n->objects = NIL;
   40645             :                     n->grantees = (yyvsp[-1].list);
   40646             :                     n->grant_option = (yyvsp[0].boolean);
   40647             :                     (yyval.node) = (Node *) n;
   40648             :                 }
   40649             : #line 40650 "gram.c"
   40650         100 :     break;
   40651             : 
   40652          60 :   case 1089: /* DefACLAction: REVOKE privileges ON defacl_privilege_target FROM grantee_list opt_drop_behavior  */
   40653             : #line 8136 "gram.y"
   40654             :                                 {
   40655             :                     GrantStmt *n = makeNode(GrantStmt);
   40656             : 
   40657             :                     n->is_grant = false;
   40658             :                     n->grant_option = false;
   40659             :                     n->privileges = (yyvsp[-5].list);
   40660             :                     n->targtype = ACL_TARGET_DEFAULTS;
   40661             :                     n->objtype = (yyvsp[-3].ival);
   40662             :                     n->objects = NIL;
   40663             :                     n->grantees = (yyvsp[-1].list);
   40664             :                     n->behavior = (yyvsp[0].dbehavior);
   40665             :                     (yyval.node) = (Node *) n;
   40666             :                 }
   40667             : #line 40668 "gram.c"
   40668          60 :     break;
   40669             : 
   40670           0 :   case 1090: /* DefACLAction: REVOKE GRANT OPTION FOR privileges ON defacl_privilege_target FROM grantee_list opt_drop_behavior  */
   40671             : #line 8151 "gram.y"
   40672             :                                 {
   40673             :                     GrantStmt *n = makeNode(GrantStmt);
   40674             : 
   40675             :                     n->is_grant = false;
   40676             :                     n->grant_option = true;
   40677             :                     n->privileges = (yyvsp[-5].list);
   40678             :                     n->targtype = ACL_TARGET_DEFAULTS;
   40679             :                     n->objtype = (yyvsp[-3].ival);
   40680             :                     n->objects = NIL;
   40681             :                     n->grantees = (yyvsp[-1].list);
   40682             :                     n->behavior = (yyvsp[0].dbehavior);
   40683             :                     (yyval.node) = (Node *) n;
   40684             :                 }
   40685             : #line 40686 "gram.c"
   40686           0 :     break;
   40687             : 
   40688          78 :   case 1091: /* defacl_privilege_target: TABLES  */
   40689             : #line 8167 "gram.y"
   40690             :                                                 { (yyval.ival) = OBJECT_TABLE; }
   40691             : #line 40692 "gram.c"
   40692          78 :     break;
   40693             : 
   40694          16 :   case 1092: /* defacl_privilege_target: FUNCTIONS  */
   40695             : #line 8168 "gram.y"
   40696             :                                                 { (yyval.ival) = OBJECT_FUNCTION; }
   40697             : #line 40698 "gram.c"
   40698          16 :     break;
   40699             : 
   40700           6 :   case 1093: /* defacl_privilege_target: ROUTINES  */
   40701             : #line 8169 "gram.y"
   40702             :                                                 { (yyval.ival) = OBJECT_FUNCTION; }
   40703             : #line 40704 "gram.c"
   40704           6 :     break;
   40705             : 
   40706           6 :   case 1094: /* defacl_privilege_target: SEQUENCES  */
   40707             : #line 8170 "gram.y"
   40708             :                                                 { (yyval.ival) = OBJECT_SEQUENCE; }
   40709             : #line 40710 "gram.c"
   40710           6 :     break;
   40711             : 
   40712          18 :   case 1095: /* defacl_privilege_target: TYPES_P  */
   40713             : #line 8171 "gram.y"
   40714             :                                                 { (yyval.ival) = OBJECT_TYPE; }
   40715             : #line 40716 "gram.c"
   40716          18 :     break;
   40717             : 
   40718          36 :   case 1096: /* defacl_privilege_target: SCHEMAS  */
   40719             : #line 8172 "gram.y"
   40720             :                                                 { (yyval.ival) = OBJECT_SCHEMA; }
   40721             : #line 40722 "gram.c"
   40722          36 :     break;
   40723             : 
   40724        6314 :   case 1097: /* 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  */
   40725             : #line 8187 "gram.y"
   40726             :                                 {
   40727             :                     IndexStmt *n = makeNode(IndexStmt);
   40728             : 
   40729             :                     n->unique = (yyvsp[-14].boolean);
   40730             :                     n->concurrent = (yyvsp[-12].boolean);
   40731             :                     n->idxname = (yyvsp[-11].str);
   40732             :                     n->relation = (yyvsp[-9].range);
   40733             :                     n->accessMethod = (yyvsp[-8].str);
   40734             :                     n->indexParams = (yyvsp[-6].list);
   40735             :                     n->indexIncludingParams = (yyvsp[-4].list);
   40736             :                     n->nulls_not_distinct = !(yyvsp[-3].boolean);
   40737             :                     n->options = (yyvsp[-2].list);
   40738             :                     n->tableSpace = (yyvsp[-1].str);
   40739             :                     n->whereClause = (yyvsp[0].node);
   40740             :                     n->excludeOpNames = NIL;
   40741             :                     n->idxcomment = NULL;
   40742             :                     n->indexOid = InvalidOid;
   40743             :                     n->oldNumber = InvalidRelFileNumber;
   40744             :                     n->oldCreateSubid = InvalidSubTransactionId;
   40745             :                     n->oldFirstRelfilelocatorSubid = InvalidSubTransactionId;
   40746             :                     n->primary = false;
   40747             :                     n->isconstraint = false;
   40748             :                     n->deferrable = false;
   40749             :                     n->initdeferred = false;
   40750             :                     n->transformed = false;
   40751             :                     n->if_not_exists = false;
   40752             :                     n->reset_default_tblspc = false;
   40753             :                     (yyval.node) = (Node *) n;
   40754             :                 }
   40755             : #line 40756 "gram.c"
   40756        6314 :     break;
   40757             : 
   40758          18 :   case 1098: /* 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  */
   40759             : #line 8219 "gram.y"
   40760             :                                 {
   40761             :                     IndexStmt *n = makeNode(IndexStmt);
   40762             : 
   40763             :                     n->unique = (yyvsp[-17].boolean);
   40764             :                     n->concurrent = (yyvsp[-15].boolean);
   40765             :                     n->idxname = (yyvsp[-11].str);
   40766             :                     n->relation = (yyvsp[-9].range);
   40767             :                     n->accessMethod = (yyvsp[-8].str);
   40768             :                     n->indexParams = (yyvsp[-6].list);
   40769             :                     n->indexIncludingParams = (yyvsp[-4].list);
   40770             :                     n->nulls_not_distinct = !(yyvsp[-3].boolean);
   40771             :                     n->options = (yyvsp[-2].list);
   40772             :                     n->tableSpace = (yyvsp[-1].str);
   40773             :                     n->whereClause = (yyvsp[0].node);
   40774             :                     n->excludeOpNames = NIL;
   40775             :                     n->idxcomment = NULL;
   40776             :                     n->indexOid = InvalidOid;
   40777             :                     n->oldNumber = InvalidRelFileNumber;
   40778             :                     n->oldCreateSubid = InvalidSubTransactionId;
   40779             :                     n->oldFirstRelfilelocatorSubid = InvalidSubTransactionId;
   40780             :                     n->primary = false;
   40781             :                     n->isconstraint = false;
   40782             :                     n->deferrable = false;
   40783             :                     n->initdeferred = false;
   40784             :                     n->transformed = false;
   40785             :                     n->if_not_exists = true;
   40786             :                     n->reset_default_tblspc = false;
   40787             :                     (yyval.node) = (Node *) n;
   40788             :                 }
   40789             : #line 40790 "gram.c"
   40790          18 :     break;
   40791             : 
   40792        1222 :   case 1099: /* opt_unique: UNIQUE  */
   40793             : #line 8251 "gram.y"
   40794             :                                                                                                 { (yyval.boolean) = true; }
   40795             : #line 40796 "gram.c"
   40796        1222 :     break;
   40797             : 
   40798        5116 :   case 1100: /* opt_unique: %empty  */
   40799             : #line 8252 "gram.y"
   40800             :                                                                                                 { (yyval.boolean) = false; }
   40801             : #line 40802 "gram.c"
   40802        5116 :     break;
   40803             : 
   40804        2954 :   case 1101: /* access_method_clause: USING name  */
   40805             : #line 8256 "gram.y"
   40806             :                                                                                                 { (yyval.str) = (yyvsp[0].str); }
   40807             : #line 40808 "gram.c"
   40808        2954 :     break;
   40809             : 
   40810        3612 :   case 1102: /* access_method_clause: %empty  */
   40811             : #line 8257 "gram.y"
   40812             :                                                                                                 { (yyval.str) = DEFAULT_INDEX_TYPE; }
   40813             : #line 40814 "gram.c"
   40814        3612 :     break;
   40815             : 
   40816        7594 :   case 1103: /* index_params: index_elem  */
   40817             : #line 8260 "gram.y"
   40818             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].ielem)); }
   40819             : #line 40820 "gram.c"
   40820        7594 :     break;
   40821             : 
   40822        1948 :   case 1104: /* index_params: index_params ',' index_elem  */
   40823             : #line 8261 "gram.y"
   40824             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); }
   40825             : #line 40826 "gram.c"
   40826        1948 :     break;
   40827             : 
   40828       10122 :   case 1105: /* index_elem_options: opt_collate opt_qualified_name opt_asc_desc opt_nulls_order  */
   40829             : #line 8267 "gram.y"
   40830             :                 {
   40831             :             (yyval.ielem) = makeNode(IndexElem);
   40832             :             (yyval.ielem)->name = NULL;
   40833             :             (yyval.ielem)->expr = NULL;
   40834             :             (yyval.ielem)->indexcolname = NULL;
   40835             :             (yyval.ielem)->collation = (yyvsp[-3].list);
   40836             :             (yyval.ielem)->opclass = (yyvsp[-2].list);
   40837             :             (yyval.ielem)->opclassopts = NIL;
   40838             :             (yyval.ielem)->ordering = (yyvsp[-1].ival);
   40839             :             (yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
   40840             :         }
   40841             : #line 40842 "gram.c"
   40842       10122 :     break;
   40843             : 
   40844         138 :   case 1106: /* index_elem_options: opt_collate any_name reloptions opt_asc_desc opt_nulls_order  */
   40845             : #line 8279 "gram.y"
   40846             :                 {
   40847             :             (yyval.ielem) = makeNode(IndexElem);
   40848             :             (yyval.ielem)->name = NULL;
   40849             :             (yyval.ielem)->expr = NULL;
   40850             :             (yyval.ielem)->indexcolname = NULL;
   40851             :             (yyval.ielem)->collation = (yyvsp[-4].list);
   40852             :             (yyval.ielem)->opclass = (yyvsp[-3].list);
   40853             :             (yyval.ielem)->opclassopts = (yyvsp[-2].list);
   40854             :             (yyval.ielem)->ordering = (yyvsp[-1].ival);
   40855             :             (yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
   40856             :         }
   40857             : #line 40858 "gram.c"
   40858         138 :     break;
   40859             : 
   40860        9228 :   case 1107: /* index_elem: ColId index_elem_options  */
   40861             : #line 8298 "gram.y"
   40862             :                                 {
   40863             :                     (yyval.ielem) = (yyvsp[0].ielem);
   40864             :                     (yyval.ielem)->name = (yyvsp[-1].str);
   40865             :                 }
   40866             : #line 40867 "gram.c"
   40867        9228 :     break;
   40868             : 
   40869         568 :   case 1108: /* index_elem: func_expr_windowless index_elem_options  */
   40870             : #line 8303 "gram.y"
   40871             :                                 {
   40872             :                     (yyval.ielem) = (yyvsp[0].ielem);
   40873             :                     (yyval.ielem)->expr = (yyvsp[-1].node);
   40874             :                 }
   40875             : #line 40876 "gram.c"
   40876         568 :     break;
   40877             : 
   40878         464 :   case 1109: /* index_elem: '(' a_expr ')' index_elem_options  */
   40879             : #line 8308 "gram.y"
   40880             :                                 {
   40881             :                     (yyval.ielem) = (yyvsp[0].ielem);
   40882             :                     (yyval.ielem)->expr = (yyvsp[-2].node);
   40883             :                 }
   40884             : #line 40885 "gram.c"
   40885         464 :     break;
   40886             : 
   40887         212 :   case 1110: /* opt_include: INCLUDE '(' index_including_params ')'  */
   40888             : #line 8314 "gram.y"
   40889             :                                                                                 { (yyval.list) = (yyvsp[-1].list); }
   40890             : #line 40891 "gram.c"
   40891         212 :     break;
   40892             : 
   40893        6120 :   case 1111: /* opt_include: %empty  */
   40894             : #line 8315 "gram.y"
   40895             :                                                                                                 { (yyval.list) = NIL; }
   40896             : #line 40897 "gram.c"
   40897        6120 :     break;
   40898             : 
   40899         212 :   case 1112: /* index_including_params: index_elem  */
   40900             : #line 8318 "gram.y"
   40901             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].ielem)); }
   40902             : #line 40903 "gram.c"
   40903         212 :     break;
   40904             : 
   40905         166 :   case 1113: /* index_including_params: index_including_params ',' index_elem  */
   40906             : #line 8319 "gram.y"
   40907             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); }
   40908             : #line 40909 "gram.c"
   40909         166 :     break;
   40910             : 
   40911         166 :   case 1114: /* opt_collate: COLLATE any_name  */
   40912             : #line 8322 "gram.y"
   40913             :                                                                         { (yyval.list) = (yyvsp[0].list); }
   40914             : #line 40915 "gram.c"
   40915         166 :     break;
   40916             : 
   40917       15450 :   case 1115: /* opt_collate: %empty  */
   40918             : #line 8323 "gram.y"
   40919             :                                                                                                 { (yyval.list) = NIL; }
   40920             : #line 40921 "gram.c"
   40921       15450 :     break;
   40922             : 
   40923        1736 :   case 1116: /* opt_asc_desc: ASC  */
   40924             : #line 8327 "gram.y"
   40925             :                                                                         { (yyval.ival) = SORTBY_ASC; }
   40926             : #line 40927 "gram.c"
   40927        1736 :     break;
   40928             : 
   40929        2738 :   case 1117: /* opt_asc_desc: DESC  */
   40930             : #line 8328 "gram.y"
   40931             :                                                                                 { (yyval.ival) = SORTBY_DESC; }
   40932             : #line 40933 "gram.c"
   40933        2738 :     break;
   40934             : 
   40935       92320 :   case 1118: /* opt_asc_desc: %empty  */
   40936             : #line 8329 "gram.y"
   40937             :                                                                                 { (yyval.ival) = SORTBY_DEFAULT; }
   40938             : #line 40939 "gram.c"
   40939       92320 :     break;
   40940             : 
   40941         286 :   case 1119: /* opt_nulls_order: NULLS_LA FIRST_P  */
   40942             : #line 8332 "gram.y"
   40943             :                                                         { (yyval.ival) = SORTBY_NULLS_FIRST; }
   40944             : #line 40945 "gram.c"
   40945         286 :     break;
   40946             : 
   40947        1686 :   case 1120: /* opt_nulls_order: NULLS_LA LAST_P  */
   40948             : #line 8333 "gram.y"
   40949             :                                                                         { (yyval.ival) = SORTBY_NULLS_LAST; }
   40950             : #line 40951 "gram.c"
   40951        1686 :     break;
   40952             : 
   40953       95042 :   case 1121: /* opt_nulls_order: %empty  */
   40954             : #line 8334 "gram.y"
   40955             :                                                                                 { (yyval.ival) = SORTBY_NULLS_DEFAULT; }
   40956             : #line 40957 "gram.c"
   40957       95042 :     break;
   40958             : 
   40959       19496 :   case 1122: /* CreateFunctionStmt: CREATE opt_or_replace FUNCTION func_name func_args_with_defaults RETURNS func_return opt_createfunc_opt_list opt_routine_body  */
   40960             : #line 8352 "gram.y"
   40961             :                                 {
   40962             :                     CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
   40963             : 
   40964             :                     n->is_procedure = false;
   40965             :                     n->replace = (yyvsp[-7].boolean);
   40966             :                     n->funcname = (yyvsp[-5].list);
   40967             :                     n->parameters = (yyvsp[-4].list);
   40968             :                     n->returnType = (yyvsp[-2].typnam);
   40969             :                     n->options = (yyvsp[-1].list);
   40970             :                     n->sql_body = (yyvsp[0].node);
   40971             :                     (yyval.node) = (Node *) n;
   40972             :                 }
   40973             : #line 40974 "gram.c"
   40974       19496 :     break;
   40975             : 
   40976         188 :   case 1123: /* 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  */
   40977             : #line 8366 "gram.y"
   40978             :                                 {
   40979             :                     CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
   40980             : 
   40981             :                     n->is_procedure = false;
   40982             :                     n->replace = (yyvsp[-10].boolean);
   40983             :                     n->funcname = (yyvsp[-8].list);
   40984             :                     n->parameters = mergeTableFuncParameters((yyvsp[-7].list), (yyvsp[-3].list));
   40985             :                     n->returnType = TableFuncTypeName((yyvsp[-3].list));
   40986             :                     n->returnType->location = (yylsp[-5]);
   40987             :                     n->options = (yyvsp[-1].list);
   40988             :                     n->sql_body = (yyvsp[0].node);
   40989             :                     (yyval.node) = (Node *) n;
   40990             :                 }
   40991             : #line 40992 "gram.c"
   40992         188 :     break;
   40993             : 
   40994         472 :   case 1124: /* CreateFunctionStmt: CREATE opt_or_replace FUNCTION func_name func_args_with_defaults opt_createfunc_opt_list opt_routine_body  */
   40995             : #line 8381 "gram.y"
   40996             :                                 {
   40997             :                     CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
   40998             : 
   40999             :                     n->is_procedure = false;
   41000             :                     n->replace = (yyvsp[-5].boolean);
   41001             :                     n->funcname = (yyvsp[-3].list);
   41002             :                     n->parameters = (yyvsp[-2].list);
   41003             :                     n->returnType = NULL;
   41004             :                     n->options = (yyvsp[-1].list);
   41005             :                     n->sql_body = (yyvsp[0].node);
   41006             :                     (yyval.node) = (Node *) n;
   41007             :                 }
   41008             : #line 41009 "gram.c"
   41009         472 :     break;
   41010             : 
   41011         330 :   case 1125: /* CreateFunctionStmt: CREATE opt_or_replace PROCEDURE func_name func_args_with_defaults opt_createfunc_opt_list opt_routine_body  */
   41012             : #line 8395 "gram.y"
   41013             :                                 {
   41014             :                     CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
   41015             : 
   41016             :                     n->is_procedure = true;
   41017             :                     n->replace = (yyvsp[-5].boolean);
   41018             :                     n->funcname = (yyvsp[-3].list);
   41019             :                     n->parameters = (yyvsp[-2].list);
   41020             :                     n->returnType = NULL;
   41021             :                     n->options = (yyvsp[-1].list);
   41022             :                     n->sql_body = (yyvsp[0].node);
   41023             :                     (yyval.node) = (Node *) n;
   41024             :                 }
   41025             : #line 41026 "gram.c"
   41026         330 :     break;
   41027             : 
   41028        7960 :   case 1126: /* opt_or_replace: OR REPLACE  */
   41029             : #line 8410 "gram.y"
   41030             :                                                                                                 { (yyval.boolean) = true; }
   41031             : #line 41032 "gram.c"
   41032        7960 :     break;
   41033             : 
   41034       17782 :   case 1127: /* opt_or_replace: %empty  */
   41035             : #line 8411 "gram.y"
   41036             :                                                                                                 { (yyval.boolean) = false; }
   41037             : #line 41038 "gram.c"
   41038       17782 :     break;
   41039             : 
   41040        8738 :   case 1128: /* func_args: '(' func_args_list ')'  */
   41041             : #line 8414 "gram.y"
   41042             :                                                                         { (yyval.list) = (yyvsp[-1].list); }
   41043             : #line 41044 "gram.c"
   41044        8738 :     break;
   41045             : 
   41046        4372 :   case 1129: /* func_args: '(' ')'  */
   41047             : #line 8415 "gram.y"
   41048             :                                                                                                 { (yyval.list) = NIL; }
   41049             : #line 41050 "gram.c"
   41050        4372 :     break;
   41051             : 
   41052        8738 :   case 1130: /* func_args_list: func_arg  */
   41053             : #line 8419 "gram.y"
   41054             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
   41055             : #line 41056 "gram.c"
   41056        8738 :     break;
   41057             : 
   41058        7478 :   case 1131: /* func_args_list: func_args_list ',' func_arg  */
   41059             : #line 8420 "gram.y"
   41060             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
   41061             : #line 41062 "gram.c"
   41062        7478 :     break;
   41063             : 
   41064       10038 :   case 1132: /* function_with_argtypes_list: function_with_argtypes  */
   41065             : #line 8424 "gram.y"
   41066             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
   41067             : #line 41068 "gram.c"
   41068       10038 :     break;
   41069             : 
   41070          72 :   case 1133: /* function_with_argtypes_list: function_with_argtypes_list ',' function_with_argtypes  */
   41071             : #line 8426 "gram.y"
   41072             :                                                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
   41073             : #line 41074 "gram.c"
   41074          72 :     break;
   41075             : 
   41076       13110 :   case 1134: /* function_with_argtypes: func_name func_args  */
   41077             : #line 8431 "gram.y"
   41078             :                                 {
   41079             :                     ObjectWithArgs *n = makeNode(ObjectWithArgs);
   41080             : 
   41081             :                     n->objname = (yyvsp[-1].list);
   41082             :                     n->objargs = extractArgTypes((yyvsp[0].list));
   41083             :                     n->objfuncargs = (yyvsp[0].list);
   41084             :                     (yyval.objwithargs) = n;
   41085             :                 }
   41086             : #line 41087 "gram.c"
   41087       13110 :     break;
   41088             : 
   41089           0 :   case 1135: /* function_with_argtypes: type_func_name_keyword  */
   41090             : #line 8445 "gram.y"
   41091             :                                 {
   41092             :                     ObjectWithArgs *n = makeNode(ObjectWithArgs);
   41093             : 
   41094             :                     n->objname = list_make1(makeString(pstrdup((yyvsp[0].keyword))));
   41095             :                     n->args_unspecified = true;
   41096             :                     (yyval.objwithargs) = n;
   41097             :                 }
   41098             : #line 41099 "gram.c"
   41099           0 :     break;
   41100             : 
   41101         302 :   case 1136: /* function_with_argtypes: ColId  */
   41102             : #line 8453 "gram.y"
   41103             :                                 {
   41104             :                     ObjectWithArgs *n = makeNode(ObjectWithArgs);
   41105             : 
   41106             :                     n->objname = list_make1(makeString((yyvsp[0].str)));
   41107             :                     n->args_unspecified = true;
   41108             :                     (yyval.objwithargs) = n;
   41109             :                 }
   41110             : #line 41111 "gram.c"
   41111         302 :     break;
   41112             : 
   41113          28 :   case 1137: /* function_with_argtypes: ColId indirection  */
   41114             : #line 8461 "gram.y"
   41115             :                                 {
   41116             :                     ObjectWithArgs *n = makeNode(ObjectWithArgs);
   41117             : 
   41118             :                     n->objname = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)),
   41119             :                                                   yyscanner);
   41120             :                     n->args_unspecified = true;
   41121             :                     (yyval.objwithargs) = n;
   41122             :                 }
   41123             : #line 41124 "gram.c"
   41124          28 :     break;
   41125             : 
   41126       16422 :   case 1138: /* func_args_with_defaults: '(' func_args_with_defaults_list ')'  */
   41127             : #line 8476 "gram.y"
   41128             :                                                                 { (yyval.list) = (yyvsp[-1].list); }
   41129             : #line 41130 "gram.c"
   41130       16422 :     break;
   41131             : 
   41132        4064 :   case 1139: /* func_args_with_defaults: '(' ')'  */
   41133             : #line 8477 "gram.y"
   41134             :                                                                                                 { (yyval.list) = NIL; }
   41135             : #line 41136 "gram.c"
   41136        4064 :     break;
   41137             : 
   41138       16422 :   case 1140: /* func_args_with_defaults_list: func_arg_with_default  */
   41139             : #line 8481 "gram.y"
   41140             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
   41141             : #line 41142 "gram.c"
   41142       16422 :     break;
   41143             : 
   41144       27068 :   case 1141: /* func_args_with_defaults_list: func_args_with_defaults_list ',' func_arg_with_default  */
   41145             : #line 8483 "gram.y"
   41146             :                                                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
   41147             : #line 41148 "gram.c"
   41148       27068 :     break;
   41149             : 
   41150       12376 :   case 1142: /* func_arg: arg_class param_name func_type  */
   41151             : #line 8498 "gram.y"
   41152             :                                 {
   41153             :                     FunctionParameter *n = makeNode(FunctionParameter);
   41154             : 
   41155             :                     n->name = (yyvsp[-1].str);
   41156             :                     n->argType = (yyvsp[0].typnam);
   41157             :                     n->mode = (yyvsp[-2].fun_param_mode);
   41158             :                     n->defexpr = NULL;
   41159             :                     (yyval.fun_param) = n;
   41160             :                 }
   41161             : #line 41162 "gram.c"
   41162       12376 :     break;
   41163             : 
   41164         380 :   case 1143: /* func_arg: param_name arg_class func_type  */
   41165             : #line 8508 "gram.y"
   41166             :                                 {
   41167             :                     FunctionParameter *n = makeNode(FunctionParameter);
   41168             : 
   41169             :                     n->name = (yyvsp[-2].str);
   41170             :                     n->argType = (yyvsp[0].typnam);
   41171             :                     n->mode = (yyvsp[-1].fun_param_mode);
   41172             :                     n->defexpr = NULL;
   41173             :                     (yyval.fun_param) = n;
   41174             :                 }
   41175             : #line 41176 "gram.c"
   41176         380 :     break;
   41177             : 
   41178       12448 :   case 1144: /* func_arg: param_name func_type  */
   41179             : #line 8518 "gram.y"
   41180             :                                 {
   41181             :                     FunctionParameter *n = makeNode(FunctionParameter);
   41182             : 
   41183             :                     n->name = (yyvsp[-1].str);
   41184             :                     n->argType = (yyvsp[0].typnam);
   41185             :                     n->mode = FUNC_PARAM_DEFAULT;
   41186             :                     n->defexpr = NULL;
   41187             :                     (yyval.fun_param) = n;
   41188             :                 }
   41189             : #line 41190 "gram.c"
   41190       12448 :     break;
   41191             : 
   41192         304 :   case 1145: /* func_arg: arg_class func_type  */
   41193             : #line 8528 "gram.y"
   41194             :                                 {
   41195             :                     FunctionParameter *n = makeNode(FunctionParameter);
   41196             : 
   41197             :                     n->name = NULL;
   41198             :                     n->argType = (yyvsp[0].typnam);
   41199             :                     n->mode = (yyvsp[-1].fun_param_mode);
   41200             :                     n->defexpr = NULL;
   41201             :                     (yyval.fun_param) = n;
   41202             :                 }
   41203             : #line 41204 "gram.c"
   41204         304 :     break;
   41205             : 
   41206       35096 :   case 1146: /* func_arg: func_type  */
   41207             : #line 8538 "gram.y"
   41208             :                                 {
   41209             :                     FunctionParameter *n = makeNode(FunctionParameter);
   41210             : 
   41211             :                     n->name = NULL;
   41212             :                     n->argType = (yyvsp[0].typnam);
   41213             :                     n->mode = FUNC_PARAM_DEFAULT;
   41214             :                     n->defexpr = NULL;
   41215             :                     (yyval.fun_param) = n;
   41216             :                 }
   41217             : #line 41218 "gram.c"
   41218       35096 :     break;
   41219             : 
   41220        2842 :   case 1147: /* arg_class: IN_P  */
   41221             : #line 8550 "gram.y"
   41222             :                                                                                 { (yyval.fun_param_mode) = FUNC_PARAM_IN; }
   41223             : #line 41224 "gram.c"
   41224        2842 :     break;
   41225             : 
   41226        9566 :   case 1148: /* arg_class: OUT_P  */
   41227             : #line 8551 "gram.y"
   41228             :                                                                                         { (yyval.fun_param_mode) = FUNC_PARAM_OUT; }
   41229             : #line 41230 "gram.c"
   41230        9566 :     break;
   41231             : 
   41232         166 :   case 1149: /* arg_class: INOUT  */
   41233             : #line 8552 "gram.y"
   41234             :                                                                                         { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
   41235             : #line 41236 "gram.c"
   41236         166 :     break;
   41237             : 
   41238           0 :   case 1150: /* arg_class: IN_P OUT_P  */
   41239             : #line 8553 "gram.y"
   41240             :                                                                                 { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
   41241             : #line 41242 "gram.c"
   41242           0 :     break;
   41243             : 
   41244         486 :   case 1151: /* arg_class: VARIADIC  */
   41245             : #line 8554 "gram.y"
   41246             :                                                                                         { (yyval.fun_param_mode) = FUNC_PARAM_VARIADIC; }
   41247             : #line 41248 "gram.c"
   41248         486 :     break;
   41249             : 
   41250       19496 :   case 1153: /* func_return: func_type  */
   41251             : #line 8565 "gram.y"
   41252             :                                 {
   41253             :                     /* We can catch over-specified results here if we want to,
   41254             :                      * but for now better to silently swallow typmod, etc.
   41255             :                      * - thomas 2000-03-22
   41256             :                      */
   41257             :                     (yyval.typnam) = (yyvsp[0].typnam);
   41258             :                 }
   41259             : #line 41260 "gram.c"
   41260       19496 :     break;
   41261             : 
   41262       99182 :   case 1154: /* func_type: Typename  */
   41263             : #line 8579 "gram.y"
   41264             :                                                                                         { (yyval.typnam) = (yyvsp[0].typnam); }
   41265             : #line 41266 "gram.c"
   41266       99182 :     break;
   41267             : 
   41268          18 :   case 1155: /* func_type: type_function_name attrs '%' TYPE_P  */
   41269             : #line 8581 "gram.y"
   41270             :                                 {
   41271             :                     (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
   41272             :                     (yyval.typnam)->pct_type = true;
   41273             :                     (yyval.typnam)->location = (yylsp[-3]);
   41274             :                 }
   41275             : #line 41276 "gram.c"
   41276          18 :     break;
   41277             : 
   41278           6 :   case 1156: /* func_type: SETOF type_function_name attrs '%' TYPE_P  */
   41279             : #line 8587 "gram.y"
   41280             :                                 {
   41281             :                     (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
   41282             :                     (yyval.typnam)->pct_type = true;
   41283             :                     (yyval.typnam)->setof = true;
   41284             :                     (yyval.typnam)->location = (yylsp[-3]);
   41285             :                 }
   41286             : #line 41287 "gram.c"
   41287           6 :     break;
   41288             : 
   41289       38604 :   case 1157: /* func_arg_with_default: func_arg  */
   41290             : #line 8597 "gram.y"
   41291             :                                 {
   41292             :                     (yyval.fun_param) = (yyvsp[0].fun_param);
   41293             :                 }
   41294             : #line 41295 "gram.c"
   41295       38604 :     break;
   41296             : 
   41297        4690 :   case 1158: /* func_arg_with_default: func_arg DEFAULT a_expr  */
   41298             : #line 8601 "gram.y"
   41299             :                                 {
   41300             :                     (yyval.fun_param) = (yyvsp[-2].fun_param);
   41301             :                     (yyval.fun_param)->defexpr = (yyvsp[0].node);
   41302             :                 }
   41303             : #line 41304 "gram.c"
   41304        4690 :     break;
   41305             : 
   41306         196 :   case 1159: /* func_arg_with_default: func_arg '=' a_expr  */
   41307             : #line 8606 "gram.y"
   41308             :                                 {
   41309             :                     (yyval.fun_param) = (yyvsp[-2].fun_param);
   41310             :                     (yyval.fun_param)->defexpr = (yyvsp[0].node);
   41311             :                 }
   41312             : #line 41313 "gram.c"
   41313         196 :     break;
   41314             : 
   41315         898 :   case 1160: /* aggr_arg: func_arg  */
   41316             : #line 8614 "gram.y"
   41317             :                                 {
   41318             :                     if (!((yyvsp[0].fun_param)->mode == FUNC_PARAM_DEFAULT ||
   41319             :                           (yyvsp[0].fun_param)->mode == FUNC_PARAM_IN ||
   41320             :                           (yyvsp[0].fun_param)->mode == FUNC_PARAM_VARIADIC))
   41321             :                         ereport(ERROR,
   41322             :                                 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   41323             :                                  errmsg("aggregates cannot have output arguments"),
   41324             :                                  parser_errposition((yylsp[0]))));
   41325             :                     (yyval.fun_param) = (yyvsp[0].fun_param);
   41326             :                 }
   41327             : #line 41328 "gram.c"
   41328         898 :     break;
   41329             : 
   41330         136 :   case 1161: /* aggr_args: '(' '*' ')'  */
   41331             : #line 8656 "gram.y"
   41332             :                                 {
   41333             :                     (yyval.list) = list_make2(NIL, makeInteger(-1));
   41334             :                 }
   41335             : #line 41336 "gram.c"
   41336         136 :     break;
   41337             : 
   41338         730 :   case 1162: /* aggr_args: '(' aggr_args_list ')'  */
   41339             : #line 8660 "gram.y"
   41340             :                                 {
   41341             :                     (yyval.list) = list_make2((yyvsp[-1].list), makeInteger(-1));
   41342             :                 }
   41343             : #line 41344 "gram.c"
   41344         730 :     break;
   41345             : 
   41346           6 :   case 1163: /* aggr_args: '(' ORDER BY aggr_args_list ')'  */
   41347             : #line 8664 "gram.y"
   41348             :                                 {
   41349             :                     (yyval.list) = list_make2((yyvsp[-1].list), makeInteger(0));
   41350             :                 }
   41351             : #line 41352 "gram.c"
   41352           6 :     break;
   41353             : 
   41354          32 :   case 1164: /* aggr_args: '(' aggr_args_list ORDER BY aggr_args_list ')'  */
   41355             : #line 8668 "gram.y"
   41356             :                                 {
   41357             :                     /* this is the only case requiring consistency checking */
   41358             :                     (yyval.list) = makeOrderedSetArgs((yyvsp[-4].list), (yyvsp[-1].list), yyscanner);
   41359             :                 }
   41360             : #line 41361 "gram.c"
   41361          32 :     break;
   41362             : 
   41363         800 :   case 1165: /* aggr_args_list: aggr_arg  */
   41364             : #line 8675 "gram.y"
   41365             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
   41366             : #line 41367 "gram.c"
   41367         800 :     break;
   41368             : 
   41369          98 :   case 1166: /* aggr_args_list: aggr_args_list ',' aggr_arg  */
   41370             : #line 8676 "gram.y"
   41371             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
   41372             : #line 41373 "gram.c"
   41373          98 :     break;
   41374             : 
   41375         362 :   case 1167: /* aggregate_with_argtypes: func_name aggr_args  */
   41376             : #line 8681 "gram.y"
   41377             :                                 {
   41378             :                     ObjectWithArgs *n = makeNode(ObjectWithArgs);
   41379             : 
   41380             :                     n->objname = (yyvsp[-1].list);
   41381             :                     n->objargs = extractAggrArgTypes((yyvsp[0].list));
   41382             :                     n->objfuncargs = (List *) linitial((yyvsp[0].list));
   41383             :                     (yyval.objwithargs) = n;
   41384             :                 }
   41385             : #line 41386 "gram.c"
   41386         362 :     break;
   41387             : 
   41388         104 :   case 1168: /* aggregate_with_argtypes_list: aggregate_with_argtypes  */
   41389             : #line 8692 "gram.y"
   41390             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
   41391             : #line 41392 "gram.c"
   41392         104 :     break;
   41393             : 
   41394           0 :   case 1169: /* aggregate_with_argtypes_list: aggregate_with_argtypes_list ',' aggregate_with_argtypes  */
   41395             : #line 8694 "gram.y"
   41396             :                                                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
   41397             : #line 41398 "gram.c"
   41398           0 :     break;
   41399             : 
   41400          46 :   case 1171: /* opt_createfunc_opt_list: %empty  */
   41401             : #line 8699 "gram.y"
   41402             :                                     { (yyval.list) = NIL; }
   41403             : #line 41404 "gram.c"
   41404          46 :     break;
   41405             : 
   41406       20440 :   case 1172: /* createfunc_opt_list: createfunc_opt_item  */
   41407             : #line 8704 "gram.y"
   41408             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   41409             : #line 41410 "gram.c"
   41410       20440 :     break;
   41411             : 
   41412       52440 :   case 1173: /* createfunc_opt_list: createfunc_opt_list createfunc_opt_item  */
   41413             : #line 8705 "gram.y"
   41414             :                                                                   { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   41415             : #line 41416 "gram.c"
   41416       52440 :     break;
   41417             : 
   41418         258 :   case 1174: /* common_func_opt_item: CALLED ON NULL_P INPUT_P  */
   41419             : #line 8713 "gram.y"
   41420             :                                 {
   41421             :                     (yyval.defelt) = makeDefElem("strict", (Node *) makeBoolean(false), (yylsp[-3]));
   41422             :                 }
   41423             : #line 41424 "gram.c"
   41424         258 :     break;
   41425             : 
   41426         702 :   case 1175: /* common_func_opt_item: RETURNS NULL_P ON NULL_P INPUT_P  */
   41427             : #line 8717 "gram.y"
   41428             :                                 {
   41429             :                     (yyval.defelt) = makeDefElem("strict", (Node *) makeBoolean(true), (yylsp[-4]));
   41430             :                 }
   41431             : #line 41432 "gram.c"
   41432         702 :     break;
   41433             : 
   41434       10060 :   case 1176: /* common_func_opt_item: STRICT_P  */
   41435             : #line 8721 "gram.y"
   41436             :                                 {
   41437             :                     (yyval.defelt) = makeDefElem("strict", (Node *) makeBoolean(true), (yylsp[0]));
   41438             :                 }
   41439             : #line 41440 "gram.c"
   41440       10060 :     break;
   41441             : 
   41442        7908 :   case 1177: /* common_func_opt_item: IMMUTABLE  */
   41443             : #line 8725 "gram.y"
   41444             :                                 {
   41445             :                     (yyval.defelt) = makeDefElem("volatility", (Node *) makeString("immutable"), (yylsp[0]));
   41446             :                 }
   41447             : #line 41448 "gram.c"
   41448        7908 :     break;
   41449             : 
   41450        1852 :   case 1178: /* common_func_opt_item: STABLE  */
   41451             : #line 8729 "gram.y"
   41452             :                                 {
   41453             :                     (yyval.defelt) = makeDefElem("volatility", (Node *) makeString("stable"), (yylsp[0]));
   41454             :                 }
   41455             : #line 41456 "gram.c"
   41456        1852 :     break;
   41457             : 
   41458        1322 :   case 1179: /* common_func_opt_item: VOLATILE  */
   41459             : #line 8733 "gram.y"
   41460             :                                 {
   41461             :                     (yyval.defelt) = makeDefElem("volatility", (Node *) makeString("volatile"), (yylsp[0]));
   41462             :                 }
   41463             : #line 41464 "gram.c"
   41464        1322 :     break;
   41465             : 
   41466           0 :   case 1180: /* common_func_opt_item: EXTERNAL SECURITY DEFINER  */
   41467             : #line 8737 "gram.y"
   41468             :                                 {
   41469             :                     (yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(true), (yylsp[-2]));
   41470             :                 }
   41471             : #line 41472 "gram.c"
   41472           0 :     break;
   41473             : 
   41474           0 :   case 1181: /* common_func_opt_item: EXTERNAL SECURITY INVOKER  */
   41475             : #line 8741 "gram.y"
   41476             :                                 {
   41477             :                     (yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(false), (yylsp[-2]));
   41478             :                 }
   41479             : #line 41480 "gram.c"
   41480           0 :     break;
   41481             : 
   41482          48 :   case 1182: /* common_func_opt_item: SECURITY DEFINER  */
   41483             : #line 8745 "gram.y"
   41484             :                                 {
   41485             :                     (yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(true), (yylsp[-1]));
   41486             :                 }
   41487             : #line 41488 "gram.c"
   41488          48 :     break;
   41489             : 
   41490          12 :   case 1183: /* common_func_opt_item: SECURITY INVOKER  */
   41491             : #line 8749 "gram.y"
   41492             :                                 {
   41493             :                     (yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(false), (yylsp[-1]));
   41494             :                 }
   41495             : #line 41496 "gram.c"
   41496          12 :     break;
   41497             : 
   41498          46 :   case 1184: /* common_func_opt_item: LEAKPROOF  */
   41499             : #line 8753 "gram.y"
   41500             :                                 {
   41501             :                     (yyval.defelt) = makeDefElem("leakproof", (Node *) makeBoolean(true), (yylsp[0]));
   41502             :                 }
   41503             : #line 41504 "gram.c"
   41504          46 :     break;
   41505             : 
   41506          12 :   case 1185: /* common_func_opt_item: NOT LEAKPROOF  */
   41507             : #line 8757 "gram.y"
   41508             :                                 {
   41509             :                     (yyval.defelt) = makeDefElem("leakproof", (Node *) makeBoolean(false), (yylsp[-1]));
   41510             :                 }
   41511             : #line 41512 "gram.c"
   41512          12 :     break;
   41513             : 
   41514        3458 :   case 1186: /* common_func_opt_item: COST NumericOnly  */
   41515             : #line 8761 "gram.y"
   41516             :                                 {
   41517             :                     (yyval.defelt) = makeDefElem("cost", (Node *) (yyvsp[0].node), (yylsp[-1]));
   41518             :                 }
   41519             : #line 41520 "gram.c"
   41520        3458 :     break;
   41521             : 
   41522         464 :   case 1187: /* common_func_opt_item: ROWS NumericOnly  */
   41523             : #line 8765 "gram.y"
   41524             :                                 {
   41525             :                     (yyval.defelt) = makeDefElem("rows", (Node *) (yyvsp[0].node), (yylsp[-1]));
   41526             :                 }
   41527             : #line 41528 "gram.c"
   41528         464 :     break;
   41529             : 
   41530          94 :   case 1188: /* common_func_opt_item: SUPPORT any_name  */
   41531             : #line 8769 "gram.y"
   41532             :                                 {
   41533             :                     (yyval.defelt) = makeDefElem("support", (Node *) (yyvsp[0].list), (yylsp[-1]));
   41534             :                 }
   41535             : #line 41536 "gram.c"
   41536          94 :     break;
   41537             : 
   41538         112 :   case 1189: /* common_func_opt_item: FunctionSetResetClause  */
   41539             : #line 8773 "gram.y"
   41540             :                                 {
   41541             :                     /* we abuse the normal content of a DefElem here */
   41542             :                     (yyval.defelt) = makeDefElem("set", (Node *) (yyvsp[0].vsetstmt), (yylsp[0]));
   41543             :                 }
   41544             : #line 41545 "gram.c"
   41545         112 :     break;
   41546             : 
   41547       10542 :   case 1190: /* common_func_opt_item: PARALLEL ColId  */
   41548             : #line 8778 "gram.y"
   41549             :                                 {
   41550             :                     (yyval.defelt) = makeDefElem("parallel", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
   41551             :                 }
   41552             : #line 41553 "gram.c"
   41553       10542 :     break;
   41554             : 
   41555       16062 :   case 1191: /* createfunc_opt_item: AS func_as  */
   41556             : #line 8785 "gram.y"
   41557             :                                 {
   41558             :                     (yyval.defelt) = makeDefElem("as", (Node *) (yyvsp[0].list), (yylsp[-1]));
   41559             :                 }
   41560             : #line 41561 "gram.c"
   41561       16062 :     break;
   41562             : 
   41563       20422 :   case 1192: /* createfunc_opt_item: LANGUAGE NonReservedWord_or_Sconst  */
   41564             : #line 8789 "gram.y"
   41565             :                                 {
   41566             :                     (yyval.defelt) = makeDefElem("language", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
   41567             :                 }
   41568             : #line 41569 "gram.c"
   41569       20422 :     break;
   41570             : 
   41571         118 :   case 1193: /* createfunc_opt_item: TRANSFORM transform_type_list  */
   41572             : #line 8793 "gram.y"
   41573             :                                 {
   41574             :                     (yyval.defelt) = makeDefElem("transform", (Node *) (yyvsp[0].list), (yylsp[-1]));
   41575             :                 }
   41576             : #line 41577 "gram.c"
   41577         118 :     break;
   41578             : 
   41579          20 :   case 1194: /* createfunc_opt_item: WINDOW  */
   41580             : #line 8797 "gram.y"
   41581             :                                 {
   41582             :                     (yyval.defelt) = makeDefElem("window", (Node *) makeBoolean(true), (yylsp[0]));
   41583             :                 }
   41584             : #line 41585 "gram.c"
   41585          20 :     break;
   41586             : 
   41587       36258 :   case 1195: /* createfunc_opt_item: common_func_opt_item  */
   41588             : #line 8801 "gram.y"
   41589             :                                 {
   41590             :                     (yyval.defelt) = (yyvsp[0].defelt);
   41591             :                 }
   41592             : #line 41593 "gram.c"
   41593       36258 :     break;
   41594             : 
   41595       13790 :   case 1196: /* func_as: Sconst  */
   41596             : #line 8806 "gram.y"
   41597             :                                                                 { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   41598             : #line 41599 "gram.c"
   41599       13790 :     break;
   41600             : 
   41601        2272 :   case 1197: /* func_as: Sconst ',' Sconst  */
   41602             : #line 8808 "gram.y"
   41603             :                                 {
   41604             :                     (yyval.list) = list_make2(makeString((yyvsp[-2].str)), makeString((yyvsp[0].str)));
   41605             :                 }
   41606             : #line 41607 "gram.c"
   41607        2272 :     break;
   41608             : 
   41609        3806 :   case 1198: /* ReturnStmt: RETURN a_expr  */
   41610             : #line 8814 "gram.y"
   41611             :                                 {
   41612             :                     ReturnStmt *r = makeNode(ReturnStmt);
   41613             : 
   41614             :                     r->returnval = (Node *) (yyvsp[0].node);
   41615             :                     (yyval.node) = (Node *) r;
   41616             :                 }
   41617             : #line 41618 "gram.c"
   41618        3806 :     break;
   41619             : 
   41620        3800 :   case 1199: /* opt_routine_body: ReturnStmt  */
   41621             : #line 8824 "gram.y"
   41622             :                                 {
   41623             :                     (yyval.node) = (yyvsp[0].node);
   41624             :                 }
   41625             : #line 41626 "gram.c"
   41626        3800 :     break;
   41627             : 
   41628         630 :   case 1200: /* opt_routine_body: BEGIN_P ATOMIC routine_body_stmt_list END_P  */
   41629             : #line 8828 "gram.y"
   41630             :                                 {
   41631             :                     /*
   41632             :                      * A compound statement is stored as a single-item list
   41633             :                      * containing the list of statements as its member.  That
   41634             :                      * way, the parse analysis code can tell apart an empty
   41635             :                      * body from no body at all.
   41636             :                      */
   41637             :                     (yyval.node) = (Node *) list_make1((yyvsp[-1].list));
   41638             :                 }
   41639             : #line 41640 "gram.c"
   41640         630 :     break;
   41641             : 
   41642       16056 :   case 1201: /* opt_routine_body: %empty  */
   41643             : #line 8838 "gram.y"
   41644             :                                 {
   41645             :                     (yyval.node) = NULL;
   41646             :                 }
   41647             : #line 41648 "gram.c"
   41648       16056 :     break;
   41649             : 
   41650         646 :   case 1202: /* routine_body_stmt_list: routine_body_stmt_list routine_body_stmt ';'  */
   41651             : #line 8845 "gram.y"
   41652             :                                 {
   41653             :                     /* As in stmtmulti, discard empty statements */
   41654             :                     if ((yyvsp[-1].node) != NULL)
   41655             :                         (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[-1].node));
   41656             :                     else
   41657             :                         (yyval.list) = (yyvsp[-2].list);
   41658             :                 }
   41659             : #line 41660 "gram.c"
   41660         646 :     break;
   41661             : 
   41662         630 :   case 1203: /* routine_body_stmt_list: %empty  */
   41663             : #line 8853 "gram.y"
   41664             :                                 {
   41665             :                     (yyval.list) = NIL;
   41666             :                 }
   41667             : #line 41668 "gram.c"
   41668         630 :     break;
   41669             : 
   41670         118 :   case 1206: /* transform_type_list: FOR TYPE_P Typename  */
   41671             : #line 8864 "gram.y"
   41672             :                                             { (yyval.list) = list_make1((yyvsp[0].typnam)); }
   41673             : #line 41674 "gram.c"
   41674         118 :     break;
   41675             : 
   41676           4 :   case 1207: /* transform_type_list: transform_type_list ',' FOR TYPE_P Typename  */
   41677             : #line 8865 "gram.y"
   41678             :                                                                       { (yyval.list) = lappend((yyvsp[-4].list), (yyvsp[0].typnam)); }
   41679             : #line 41680 "gram.c"
   41680           4 :     break;
   41681             : 
   41682         532 :   case 1208: /* opt_definition: WITH definition  */
   41683             : #line 8869 "gram.y"
   41684             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   41685             : #line 41686 "gram.c"
   41686         532 :     break;
   41687             : 
   41688        9216 :   case 1209: /* opt_definition: %empty  */
   41689             : #line 8870 "gram.y"
   41690             :                                                                                                 { (yyval.list) = NIL; }
   41691             : #line 41692 "gram.c"
   41692        9216 :     break;
   41693             : 
   41694         406 :   case 1210: /* table_func_column: param_name func_type  */
   41695             : #line 8874 "gram.y"
   41696             :                                 {
   41697             :                     FunctionParameter *n = makeNode(FunctionParameter);
   41698             : 
   41699             :                     n->name = (yyvsp[-1].str);
   41700             :                     n->argType = (yyvsp[0].typnam);
   41701             :                     n->mode = FUNC_PARAM_TABLE;
   41702             :                     n->defexpr = NULL;
   41703             :                     (yyval.fun_param) = n;
   41704             :                 }
   41705             : #line 41706 "gram.c"
   41706         406 :     break;
   41707             : 
   41708         188 :   case 1211: /* table_func_column_list: table_func_column  */
   41709             : #line 8887 "gram.y"
   41710             :                                 {
   41711             :                     (yyval.list) = list_make1((yyvsp[0].fun_param));
   41712             :                 }
   41713             : #line 41714 "gram.c"
   41714         188 :     break;
   41715             : 
   41716         218 :   case 1212: /* table_func_column_list: table_func_column_list ',' table_func_column  */
   41717             : #line 8891 "gram.y"
   41718             :                                 {
   41719             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param));
   41720             :                 }
   41721             : #line 41722 "gram.c"
   41722         218 :     break;
   41723             : 
   41724         614 :   case 1213: /* AlterFunctionStmt: ALTER FUNCTION function_with_argtypes alterfunc_opt_list opt_restrict  */
   41725             : #line 8906 "gram.y"
   41726             :                                 {
   41727             :                     AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
   41728             : 
   41729             :                     n->objtype = OBJECT_FUNCTION;
   41730             :                     n->func = (yyvsp[-2].objwithargs);
   41731             :                     n->actions = (yyvsp[-1].list);
   41732             :                     (yyval.node) = (Node *) n;
   41733             :                 }
   41734             : #line 41735 "gram.c"
   41735         614 :     break;
   41736             : 
   41737          18 :   case 1214: /* AlterFunctionStmt: ALTER PROCEDURE function_with_argtypes alterfunc_opt_list opt_restrict  */
   41738             : #line 8915 "gram.y"
   41739             :                                 {
   41740             :                     AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
   41741             : 
   41742             :                     n->objtype = OBJECT_PROCEDURE;
   41743             :                     n->func = (yyvsp[-2].objwithargs);
   41744             :                     n->actions = (yyvsp[-1].list);
   41745             :                     (yyval.node) = (Node *) n;
   41746             :                 }
   41747             : #line 41748 "gram.c"
   41748          18 :     break;
   41749             : 
   41750           0 :   case 1215: /* AlterFunctionStmt: ALTER ROUTINE function_with_argtypes alterfunc_opt_list opt_restrict  */
   41751             : #line 8924 "gram.y"
   41752             :                                 {
   41753             :                     AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
   41754             : 
   41755             :                     n->objtype = OBJECT_ROUTINE;
   41756             :                     n->func = (yyvsp[-2].objwithargs);
   41757             :                     n->actions = (yyvsp[-1].list);
   41758             :                     (yyval.node) = (Node *) n;
   41759             :                 }
   41760             : #line 41761 "gram.c"
   41761           0 :     break;
   41762             : 
   41763         632 :   case 1216: /* alterfunc_opt_list: common_func_opt_item  */
   41764             : #line 8936 "gram.y"
   41765             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   41766             : #line 41767 "gram.c"
   41767         632 :     break;
   41768             : 
   41769           0 :   case 1217: /* alterfunc_opt_list: alterfunc_opt_list common_func_opt_item  */
   41770             : #line 8937 "gram.y"
   41771             :                                                                   { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   41772             : #line 41773 "gram.c"
   41773           0 :     break;
   41774             : 
   41775        3112 :   case 1220: /* RemoveFuncStmt: DROP FUNCTION function_with_argtypes_list opt_drop_behavior  */
   41776             : #line 8961 "gram.y"
   41777             :                                 {
   41778             :                     DropStmt *n = makeNode(DropStmt);
   41779             : 
   41780             :                     n->removeType = OBJECT_FUNCTION;
   41781             :                     n->objects = (yyvsp[-1].list);
   41782             :                     n->behavior = (yyvsp[0].dbehavior);
   41783             :                     n->missing_ok = false;
   41784             :                     n->concurrent = false;
   41785             :                     (yyval.node) = (Node *) n;
   41786             :                 }
   41787             : #line 41788 "gram.c"
   41788        3112 :     break;
   41789             : 
   41790         260 :   case 1221: /* RemoveFuncStmt: DROP FUNCTION IF_P EXISTS function_with_argtypes_list opt_drop_behavior  */
   41791             : #line 8972 "gram.y"
   41792             :                                 {
   41793             :                     DropStmt *n = makeNode(DropStmt);
   41794             : 
   41795             :                     n->removeType = OBJECT_FUNCTION;
   41796             :                     n->objects = (yyvsp[-1].list);
   41797             :                     n->behavior = (yyvsp[0].dbehavior);
   41798             :                     n->missing_ok = true;
   41799             :                     n->concurrent = false;
   41800             :                     (yyval.node) = (Node *) n;
   41801             :                 }
   41802             : #line 41803 "gram.c"
   41803         260 :     break;
   41804             : 
   41805         138 :   case 1222: /* RemoveFuncStmt: DROP PROCEDURE function_with_argtypes_list opt_drop_behavior  */
   41806             : #line 8983 "gram.y"
   41807             :                                 {
   41808             :                     DropStmt *n = makeNode(DropStmt);
   41809             : 
   41810             :                     n->removeType = OBJECT_PROCEDURE;
   41811             :                     n->objects = (yyvsp[-1].list);
   41812             :                     n->behavior = (yyvsp[0].dbehavior);
   41813             :                     n->missing_ok = false;
   41814             :                     n->concurrent = false;
   41815             :                     (yyval.node) = (Node *) n;
   41816             :                 }
   41817             : #line 41818 "gram.c"
   41818         138 :     break;
   41819             : 
   41820           6 :   case 1223: /* RemoveFuncStmt: DROP PROCEDURE IF_P EXISTS function_with_argtypes_list opt_drop_behavior  */
   41821             : #line 8994 "gram.y"
   41822             :                                 {
   41823             :                     DropStmt *n = makeNode(DropStmt);
   41824             : 
   41825             :                     n->removeType = OBJECT_PROCEDURE;
   41826             :                     n->objects = (yyvsp[-1].list);
   41827             :                     n->behavior = (yyvsp[0].dbehavior);
   41828             :                     n->missing_ok = true;
   41829             :                     n->concurrent = false;
   41830             :                     (yyval.node) = (Node *) n;
   41831             :                 }
   41832             : #line 41833 "gram.c"
   41833           6 :     break;
   41834             : 
   41835          12 :   case 1224: /* RemoveFuncStmt: DROP ROUTINE function_with_argtypes_list opt_drop_behavior  */
   41836             : #line 9005 "gram.y"
   41837             :                                 {
   41838             :                     DropStmt *n = makeNode(DropStmt);
   41839             : 
   41840             :                     n->removeType = OBJECT_ROUTINE;
   41841             :                     n->objects = (yyvsp[-1].list);
   41842             :                     n->behavior = (yyvsp[0].dbehavior);
   41843             :                     n->missing_ok = false;
   41844             :                     n->concurrent = false;
   41845             :                     (yyval.node) = (Node *) n;
   41846             :                 }
   41847             : #line 41848 "gram.c"
   41848          12 :     break;
   41849             : 
   41850           6 :   case 1225: /* RemoveFuncStmt: DROP ROUTINE IF_P EXISTS function_with_argtypes_list opt_drop_behavior  */
   41851             : #line 9016 "gram.y"
   41852             :                                 {
   41853             :                     DropStmt *n = makeNode(DropStmt);
   41854             : 
   41855             :                     n->removeType = OBJECT_ROUTINE;
   41856             :                     n->objects = (yyvsp[-1].list);
   41857             :                     n->behavior = (yyvsp[0].dbehavior);
   41858             :                     n->missing_ok = true;
   41859             :                     n->concurrent = false;
   41860             :                     (yyval.node) = (Node *) n;
   41861             :                 }
   41862             : #line 41863 "gram.c"
   41863           6 :     break;
   41864             : 
   41865          74 :   case 1226: /* RemoveAggrStmt: DROP AGGREGATE aggregate_with_argtypes_list opt_drop_behavior  */
   41866             : #line 9030 "gram.y"
   41867             :                                 {
   41868             :                     DropStmt *n = makeNode(DropStmt);
   41869             : 
   41870             :                     n->removeType = OBJECT_AGGREGATE;
   41871             :                     n->objects = (yyvsp[-1].list);
   41872             :                     n->behavior = (yyvsp[0].dbehavior);
   41873             :                     n->missing_ok = false;
   41874             :                     n->concurrent = false;
   41875             :                     (yyval.node) = (Node *) n;
   41876             :                 }
   41877             : #line 41878 "gram.c"
   41878          74 :     break;
   41879             : 
   41880          30 :   case 1227: /* RemoveAggrStmt: DROP AGGREGATE IF_P EXISTS aggregate_with_argtypes_list opt_drop_behavior  */
   41881             : #line 9041 "gram.y"
   41882             :                                 {
   41883             :                     DropStmt *n = makeNode(DropStmt);
   41884             : 
   41885             :                     n->removeType = OBJECT_AGGREGATE;
   41886             :                     n->objects = (yyvsp[-1].list);
   41887             :                     n->behavior = (yyvsp[0].dbehavior);
   41888             :                     n->missing_ok = true;
   41889             :                     n->concurrent = false;
   41890             :                     (yyval.node) = (Node *) n;
   41891             :                 }
   41892             : #line 41893 "gram.c"
   41893          30 :     break;
   41894             : 
   41895         194 :   case 1228: /* RemoveOperStmt: DROP OPERATOR operator_with_argtypes_list opt_drop_behavior  */
   41896             : #line 9055 "gram.y"
   41897             :                                 {
   41898             :                     DropStmt *n = makeNode(DropStmt);
   41899             : 
   41900             :                     n->removeType = OBJECT_OPERATOR;
   41901             :                     n->objects = (yyvsp[-1].list);
   41902             :                     n->behavior = (yyvsp[0].dbehavior);
   41903             :                     n->missing_ok = false;
   41904             :                     n->concurrent = false;
   41905             :                     (yyval.node) = (Node *) n;
   41906             :                 }
   41907             : #line 41908 "gram.c"
   41908         194 :     break;
   41909             : 
   41910          30 :   case 1229: /* RemoveOperStmt: DROP OPERATOR IF_P EXISTS operator_with_argtypes_list opt_drop_behavior  */
   41911             : #line 9066 "gram.y"
   41912             :                                 {
   41913             :                     DropStmt *n = makeNode(DropStmt);
   41914             : 
   41915             :                     n->removeType = OBJECT_OPERATOR;
   41916             :                     n->objects = (yyvsp[-1].list);
   41917             :                     n->behavior = (yyvsp[0].dbehavior);
   41918             :                     n->missing_ok = true;
   41919             :                     n->concurrent = false;
   41920             :                     (yyval.node) = (Node *) n;
   41921             :                 }
   41922             : #line 41923 "gram.c"
   41923          30 :     break;
   41924             : 
   41925          12 :   case 1230: /* oper_argtypes: '(' Typename ')'  */
   41926             : #line 9080 "gram.y"
   41927             :                                 {
   41928             :                    ereport(ERROR,
   41929             :                            (errcode(ERRCODE_SYNTAX_ERROR),
   41930             :                             errmsg("missing argument"),
   41931             :                             errhint("Use NONE to denote the missing argument of a unary operator."),
   41932             :                             parser_errposition((yylsp[0]))));
   41933             :                 }
   41934             : #line 41935 "gram.c"
   41935             :     break;
   41936             : 
   41937        1908 :   case 1231: /* oper_argtypes: '(' Typename ',' Typename ')'  */
   41938             : #line 9088 "gram.y"
   41939             :                                         { (yyval.list) = list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam)); }
   41940             : #line 41941 "gram.c"
   41941        1908 :     break;
   41942             : 
   41943          32 :   case 1232: /* oper_argtypes: '(' NONE ',' Typename ')'  */
   41944             : #line 9090 "gram.y"
   41945             :                                         { (yyval.list) = list_make2(NULL, (yyvsp[-1].typnam)); }
   41946             : #line 41947 "gram.c"
   41947          32 :     break;
   41948             : 
   41949          12 :   case 1233: /* oper_argtypes: '(' Typename ',' NONE ')'  */
   41950             : #line 9092 "gram.y"
   41951             :                                         { (yyval.list) = list_make2((yyvsp[-3].typnam), NULL); }
   41952             : #line 41953 "gram.c"
   41953          12 :     break;
   41954             : 
   41955       19062 :   case 1234: /* any_operator: all_Op  */
   41956             : #line 9097 "gram.y"
   41957             :                                         { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   41958             : #line 41959 "gram.c"
   41959       19062 :     break;
   41960             : 
   41961       14198 :   case 1235: /* any_operator: ColId '.' any_operator  */
   41962             : #line 9099 "gram.y"
   41963             :                                         { (yyval.list) = lcons(makeString((yyvsp[-2].str)), (yyvsp[0].list)); }
   41964             : #line 41965 "gram.c"
   41965       14198 :     break;
   41966             : 
   41967         224 :   case 1236: /* operator_with_argtypes_list: operator_with_argtypes  */
   41968             : #line 9103 "gram.y"
   41969             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
   41970             : #line 41971 "gram.c"
   41971         224 :     break;
   41972             : 
   41973           0 :   case 1237: /* operator_with_argtypes_list: operator_with_argtypes_list ',' operator_with_argtypes  */
   41974             : #line 9105 "gram.y"
   41975             :                                                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
   41976             : #line 41977 "gram.c"
   41977           0 :     break;
   41978             : 
   41979        1952 :   case 1238: /* operator_with_argtypes: any_operator oper_argtypes  */
   41980             : #line 9110 "gram.y"
   41981             :                                 {
   41982             :                     ObjectWithArgs *n = makeNode(ObjectWithArgs);
   41983             : 
   41984             :                     n->objname = (yyvsp[-1].list);
   41985             :                     n->objargs = (yyvsp[0].list);
   41986             :                     (yyval.objwithargs) = n;
   41987             :                 }
   41988             : #line 41989 "gram.c"
   41989        1952 :     break;
   41990             : 
   41991        1086 :   case 1239: /* DoStmt: DO dostmt_opt_list  */
   41992             : #line 9129 "gram.y"
   41993             :                                 {
   41994             :                     DoStmt *n = makeNode(DoStmt);
   41995             : 
   41996             :                     n->args = (yyvsp[0].list);
   41997             :                     (yyval.node) = (Node *) n;
   41998             :                 }
   41999             : #line 42000 "gram.c"
   42000        1086 :     break;
   42001             : 
   42002        1086 :   case 1240: /* dostmt_opt_list: dostmt_opt_item  */
   42003             : #line 9138 "gram.y"
   42004             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   42005             : #line 42006 "gram.c"
   42006        1086 :     break;
   42007             : 
   42008         196 :   case 1241: /* dostmt_opt_list: dostmt_opt_list dostmt_opt_item  */
   42009             : #line 9139 "gram.y"
   42010             :                                                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   42011             : #line 42012 "gram.c"
   42012         196 :     break;
   42013             : 
   42014        1086 :   case 1242: /* dostmt_opt_item: Sconst  */
   42015             : #line 9144 "gram.y"
   42016             :                                 {
   42017             :                     (yyval.defelt) = makeDefElem("as", (Node *) makeString((yyvsp[0].str)), (yylsp[0]));
   42018             :                 }
   42019             : #line 42020 "gram.c"
   42020        1086 :     break;
   42021             : 
   42022         196 :   case 1243: /* dostmt_opt_item: LANGUAGE NonReservedWord_or_Sconst  */
   42023             : #line 9148 "gram.y"
   42024             :                                 {
   42025             :                     (yyval.defelt) = makeDefElem("language", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
   42026             :                 }
   42027             : #line 42028 "gram.c"
   42028         196 :     break;
   42029             : 
   42030         102 :   case 1244: /* CreateCastStmt: CREATE CAST '(' Typename AS Typename ')' WITH FUNCTION function_with_argtypes cast_context  */
   42031             : #line 9161 "gram.y"
   42032             :                                 {
   42033             :                     CreateCastStmt *n = makeNode(CreateCastStmt);
   42034             : 
   42035             :                     n->sourcetype = (yyvsp[-7].typnam);
   42036             :                     n->targettype = (yyvsp[-5].typnam);
   42037             :                     n->func = (yyvsp[-1].objwithargs);
   42038             :                     n->context = (CoercionContext) (yyvsp[0].ival);
   42039             :                     n->inout = false;
   42040             :                     (yyval.node) = (Node *) n;
   42041             :                 }
   42042             : #line 42043 "gram.c"
   42043         102 :     break;
   42044             : 
   42045         162 :   case 1245: /* CreateCastStmt: CREATE CAST '(' Typename AS Typename ')' WITHOUT FUNCTION cast_context  */
   42046             : #line 9173 "gram.y"
   42047             :                                 {
   42048             :                     CreateCastStmt *n = makeNode(CreateCastStmt);
   42049             : 
   42050             :                     n->sourcetype = (yyvsp[-6].typnam);
   42051             :                     n->targettype = (yyvsp[-4].typnam);
   42052             :                     n->func = NULL;
   42053             :                     n->context = (CoercionContext) (yyvsp[0].ival);
   42054             :                     n->inout = false;
   42055             :                     (yyval.node) = (Node *) n;
   42056             :                 }
   42057             : #line 42058 "gram.c"
   42058         162 :     break;
   42059             : 
   42060           6 :   case 1246: /* CreateCastStmt: CREATE CAST '(' Typename AS Typename ')' WITH INOUT cast_context  */
   42061             : #line 9185 "gram.y"
   42062             :                                 {
   42063             :                     CreateCastStmt *n = makeNode(CreateCastStmt);
   42064             : 
   42065             :                     n->sourcetype = (yyvsp[-6].typnam);
   42066             :                     n->targettype = (yyvsp[-4].typnam);
   42067             :                     n->func = NULL;
   42068             :                     n->context = (CoercionContext) (yyvsp[0].ival);
   42069             :                     n->inout = true;
   42070             :                     (yyval.node) = (Node *) n;
   42071             :                 }
   42072             : #line 42073 "gram.c"
   42073           6 :     break;
   42074             : 
   42075          30 :   case 1247: /* cast_context: AS IMPLICIT_P  */
   42076             : #line 9197 "gram.y"
   42077             :                                                                 { (yyval.ival) = COERCION_IMPLICIT; }
   42078             : #line 42079 "gram.c"
   42079          30 :     break;
   42080             : 
   42081          58 :   case 1248: /* cast_context: AS ASSIGNMENT  */
   42082             : #line 9198 "gram.y"
   42083             :                                                                                 { (yyval.ival) = COERCION_ASSIGNMENT; }
   42084             : #line 42085 "gram.c"
   42085          58 :     break;
   42086             : 
   42087         182 :   case 1249: /* cast_context: %empty  */
   42088             : #line 9199 "gram.y"
   42089             :                                                                                         { (yyval.ival) = COERCION_EXPLICIT; }
   42090             : #line 42091 "gram.c"
   42091         182 :     break;
   42092             : 
   42093          54 :   case 1250: /* DropCastStmt: DROP CAST opt_if_exists '(' Typename AS Typename ')' opt_drop_behavior  */
   42094             : #line 9204 "gram.y"
   42095             :                                 {
   42096             :                     DropStmt *n = makeNode(DropStmt);
   42097             : 
   42098             :                     n->removeType = OBJECT_CAST;
   42099             :                     n->objects = list_make1(list_make2((yyvsp[-4].typnam), (yyvsp[-2].typnam)));
   42100             :                     n->behavior = (yyvsp[0].dbehavior);
   42101             :                     n->missing_ok = (yyvsp[-6].boolean);
   42102             :                     n->concurrent = false;
   42103             :                     (yyval.node) = (Node *) n;
   42104             :                 }
   42105             : #line 42106 "gram.c"
   42106          54 :     break;
   42107             : 
   42108          36 :   case 1251: /* opt_if_exists: IF_P EXISTS  */
   42109             : #line 9216 "gram.y"
   42110             :                                                                         { (yyval.boolean) = true; }
   42111             : #line 42112 "gram.c"
   42112          36 :     break;
   42113             : 
   42114          32 :   case 1252: /* opt_if_exists: %empty  */
   42115             : #line 9217 "gram.y"
   42116             :                                                                                         { (yyval.boolean) = false; }
   42117             : #line 42118 "gram.c"
   42118          32 :     break;
   42119             : 
   42120          50 :   case 1253: /* CreateTransformStmt: CREATE opt_or_replace TRANSFORM FOR Typename LANGUAGE name '(' transform_element_list ')'  */
   42121             : #line 9228 "gram.y"
   42122             :                                 {
   42123             :                     CreateTransformStmt *n = makeNode(CreateTransformStmt);
   42124             : 
   42125             :                     n->replace = (yyvsp[-8].boolean);
   42126             :                     n->type_name = (yyvsp[-5].typnam);
   42127             :                     n->lang = (yyvsp[-3].str);
   42128             :                     n->fromsql = linitial((yyvsp[-1].list));
   42129             :                     n->tosql = lsecond((yyvsp[-1].list));
   42130             :                     (yyval.node) = (Node *) n;
   42131             :                 }
   42132             : #line 42133 "gram.c"
   42133          50 :     break;
   42134             : 
   42135          44 :   case 1254: /* transform_element_list: FROM SQL_P WITH FUNCTION function_with_argtypes ',' TO SQL_P WITH FUNCTION function_with_argtypes  */
   42136             : #line 9241 "gram.y"
   42137             :                                 {
   42138             :                     (yyval.list) = list_make2((yyvsp[-6].objwithargs), (yyvsp[0].objwithargs));
   42139             :                 }
   42140             : #line 42141 "gram.c"
   42141          44 :     break;
   42142             : 
   42143           0 :   case 1255: /* transform_element_list: TO SQL_P WITH FUNCTION function_with_argtypes ',' FROM SQL_P WITH FUNCTION function_with_argtypes  */
   42144             : #line 9245 "gram.y"
   42145             :                                 {
   42146             :                     (yyval.list) = list_make2((yyvsp[0].objwithargs), (yyvsp[-6].objwithargs));
   42147             :                 }
   42148             : #line 42149 "gram.c"
   42149           0 :     break;
   42150             : 
   42151           4 :   case 1256: /* transform_element_list: FROM SQL_P WITH FUNCTION function_with_argtypes  */
   42152             : #line 9249 "gram.y"
   42153             :                                 {
   42154             :                     (yyval.list) = list_make2((yyvsp[0].objwithargs), NULL);
   42155             :                 }
   42156             : #line 42157 "gram.c"
   42157           4 :     break;
   42158             : 
   42159           2 :   case 1257: /* transform_element_list: TO SQL_P WITH FUNCTION function_with_argtypes  */
   42160             : #line 9253 "gram.y"
   42161             :                                 {
   42162             :                     (yyval.list) = list_make2(NULL, (yyvsp[0].objwithargs));
   42163             :                 }
   42164             : #line 42165 "gram.c"
   42165           2 :     break;
   42166             : 
   42167          14 :   case 1258: /* DropTransformStmt: DROP TRANSFORM opt_if_exists FOR Typename LANGUAGE name opt_drop_behavior  */
   42168             : #line 9260 "gram.y"
   42169             :                                 {
   42170             :                     DropStmt *n = makeNode(DropStmt);
   42171             : 
   42172             :                     n->removeType = OBJECT_TRANSFORM;
   42173             :                     n->objects = list_make1(list_make2((yyvsp[-3].typnam), makeString((yyvsp[-1].str))));
   42174             :                     n->behavior = (yyvsp[0].dbehavior);
   42175             :                     n->missing_ok = (yyvsp[-5].boolean);
   42176             :                     (yyval.node) = (Node *) n;
   42177             :                 }
   42178             : #line 42179 "gram.c"
   42179          14 :     break;
   42180             : 
   42181         876 :   case 1259: /* ReindexStmt: REINDEX opt_reindex_option_list reindex_target_relation opt_concurrently qualified_name  */
   42182             : #line 9282 "gram.y"
   42183             :                                 {
   42184             :                     ReindexStmt *n = makeNode(ReindexStmt);
   42185             : 
   42186             :                     n->kind = (yyvsp[-2].ival);
   42187             :                     n->relation = (yyvsp[0].range);
   42188             :                     n->name = NULL;
   42189             :                     n->params = (yyvsp[-3].list);
   42190             :                     if ((yyvsp[-1].boolean))
   42191             :                         n->params = lappend(n->params,
   42192             :                                             makeDefElem("concurrently", NULL, (yylsp[-1])));
   42193             :                     (yyval.node) = (Node *) n;
   42194             :                 }
   42195             : #line 42196 "gram.c"
   42196         876 :     break;
   42197             : 
   42198         114 :   case 1260: /* ReindexStmt: REINDEX opt_reindex_option_list SCHEMA opt_concurrently name  */
   42199             : #line 9295 "gram.y"
   42200             :                                 {
   42201             :                     ReindexStmt *n = makeNode(ReindexStmt);
   42202             : 
   42203             :                     n->kind = REINDEX_OBJECT_SCHEMA;
   42204             :                     n->relation = NULL;
   42205             :                     n->name = (yyvsp[0].str);
   42206             :                     n->params = (yyvsp[-3].list);
   42207             :                     if ((yyvsp[-1].boolean))
   42208             :                         n->params = lappend(n->params,
   42209             :                                             makeDefElem("concurrently", NULL, (yylsp[-1])));
   42210             :                     (yyval.node) = (Node *) n;
   42211             :                 }
   42212             : #line 42213 "gram.c"
   42213         114 :     break;
   42214             : 
   42215          68 :   case 1261: /* ReindexStmt: REINDEX opt_reindex_option_list reindex_target_all opt_concurrently opt_single_name  */
   42216             : #line 9308 "gram.y"
   42217             :                                 {
   42218             :                     ReindexStmt *n = makeNode(ReindexStmt);
   42219             : 
   42220             :                     n->kind = (yyvsp[-2].ival);
   42221             :                     n->relation = NULL;
   42222             :                     n->name = (yyvsp[0].str);
   42223             :                     n->params = (yyvsp[-3].list);
   42224             :                     if ((yyvsp[-1].boolean))
   42225             :                         n->params = lappend(n->params,
   42226             :                                             makeDefElem("concurrently", NULL, (yylsp[-1])));
   42227             :                     (yyval.node) = (Node *) n;
   42228             :                 }
   42229             : #line 42230 "gram.c"
   42230          68 :     break;
   42231             : 
   42232         378 :   case 1262: /* reindex_target_relation: INDEX  */
   42233             : #line 9322 "gram.y"
   42234             :                                                                 { (yyval.ival) = REINDEX_OBJECT_INDEX; }
   42235             : #line 42236 "gram.c"
   42236         378 :     break;
   42237             : 
   42238         498 :   case 1263: /* reindex_target_relation: TABLE  */
   42239             : #line 9323 "gram.y"
   42240             :                                                                 { (yyval.ival) = REINDEX_OBJECT_TABLE; }
   42241             : #line 42242 "gram.c"
   42242         498 :     break;
   42243             : 
   42244          34 :   case 1264: /* reindex_target_all: SYSTEM_P  */
   42245             : #line 9326 "gram.y"
   42246             :                                                                 { (yyval.ival) = REINDEX_OBJECT_SYSTEM; }
   42247             : #line 42248 "gram.c"
   42248          34 :     break;
   42249             : 
   42250          34 :   case 1265: /* reindex_target_all: DATABASE  */
   42251             : #line 9327 "gram.y"
   42252             :                                                                 { (yyval.ival) = REINDEX_OBJECT_DATABASE; }
   42253             : #line 42254 "gram.c"
   42254          34 :     break;
   42255             : 
   42256         156 :   case 1266: /* opt_reindex_option_list: '(' utility_option_list ')'  */
   42257             : #line 9330 "gram.y"
   42258             :                                                                                 { (yyval.list) = (yyvsp[-1].list); }
   42259             : #line 42260 "gram.c"
   42260         156 :     break;
   42261             : 
   42262         902 :   case 1267: /* opt_reindex_option_list: %empty  */
   42263             : #line 9331 "gram.y"
   42264             :                                                                                         { (yyval.list) = NULL; }
   42265             : #line 42266 "gram.c"
   42266         902 :     break;
   42267             : 
   42268          12 :   case 1268: /* AlterTblSpcStmt: ALTER TABLESPACE name SET reloptions  */
   42269             : #line 9342 "gram.y"
   42270             :                                 {
   42271             :                     AlterTableSpaceOptionsStmt *n =
   42272             :                         makeNode(AlterTableSpaceOptionsStmt);
   42273             : 
   42274             :                     n->tablespacename = (yyvsp[-2].str);
   42275             :                     n->options = (yyvsp[0].list);
   42276             :                     n->isReset = false;
   42277             :                     (yyval.node) = (Node *) n;
   42278             :                 }
   42279             : #line 42280 "gram.c"
   42280          12 :     break;
   42281             : 
   42282          12 :   case 1269: /* AlterTblSpcStmt: ALTER TABLESPACE name RESET reloptions  */
   42283             : #line 9352 "gram.y"
   42284             :                                 {
   42285             :                     AlterTableSpaceOptionsStmt *n =
   42286             :                         makeNode(AlterTableSpaceOptionsStmt);
   42287             : 
   42288             :                     n->tablespacename = (yyvsp[-2].str);
   42289             :                     n->options = (yyvsp[0].list);
   42290             :                     n->isReset = true;
   42291             :                     (yyval.node) = (Node *) n;
   42292             :                 }
   42293             : #line 42294 "gram.c"
   42294          12 :     break;
   42295             : 
   42296          42 :   case 1270: /* RenameStmt: ALTER AGGREGATE aggregate_with_argtypes RENAME TO name  */
   42297             : #line 9370 "gram.y"
   42298             :                                 {
   42299             :                     RenameStmt *n = makeNode(RenameStmt);
   42300             : 
   42301             :                     n->renameType = OBJECT_AGGREGATE;
   42302             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   42303             :                     n->newname = (yyvsp[0].str);
   42304             :                     n->missing_ok = false;
   42305             :                     (yyval.node) = (Node *) n;
   42306             :                 }
   42307             : #line 42308 "gram.c"
   42308          42 :     break;
   42309             : 
   42310          18 :   case 1271: /* RenameStmt: ALTER COLLATION any_name RENAME TO name  */
   42311             : #line 9380 "gram.y"
   42312             :                                 {
   42313             :                     RenameStmt *n = makeNode(RenameStmt);
   42314             : 
   42315             :                     n->renameType = OBJECT_COLLATION;
   42316             :                     n->object = (Node *) (yyvsp[-3].list);
   42317             :                     n->newname = (yyvsp[0].str);
   42318             :                     n->missing_ok = false;
   42319             :                     (yyval.node) = (Node *) n;
   42320             :                 }
   42321             : #line 42322 "gram.c"
   42322          18 :     break;
   42323             : 
   42324          24 :   case 1272: /* RenameStmt: ALTER CONVERSION_P any_name RENAME TO name  */
   42325             : #line 9390 "gram.y"
   42326             :                                 {
   42327             :                     RenameStmt *n = makeNode(RenameStmt);
   42328             : 
   42329             :                     n->renameType = OBJECT_CONVERSION;
   42330             :                     n->object = (Node *) (yyvsp[-3].list);
   42331             :                     n->newname = (yyvsp[0].str);
   42332             :                     n->missing_ok = false;
   42333             :                     (yyval.node) = (Node *) n;
   42334             :                 }
   42335             : #line 42336 "gram.c"
   42336          24 :     break;
   42337             : 
   42338           0 :   case 1273: /* RenameStmt: ALTER DATABASE name RENAME TO name  */
   42339             : #line 9400 "gram.y"
   42340             :                                 {
   42341             :                     RenameStmt *n = makeNode(RenameStmt);
   42342             : 
   42343             :                     n->renameType = OBJECT_DATABASE;
   42344             :                     n->subname = (yyvsp[-3].str);
   42345             :                     n->newname = (yyvsp[0].str);
   42346             :                     n->missing_ok = false;
   42347             :                     (yyval.node) = (Node *) n;
   42348             :                 }
   42349             : #line 42350 "gram.c"
   42350           0 :     break;
   42351             : 
   42352           6 :   case 1274: /* RenameStmt: ALTER DOMAIN_P any_name RENAME TO name  */
   42353             : #line 9410 "gram.y"
   42354             :                                 {
   42355             :                     RenameStmt *n = makeNode(RenameStmt);
   42356             : 
   42357             :                     n->renameType = OBJECT_DOMAIN;
   42358             :                     n->object = (Node *) (yyvsp[-3].list);
   42359             :                     n->newname = (yyvsp[0].str);
   42360             :                     n->missing_ok = false;
   42361             :                     (yyval.node) = (Node *) n;
   42362             :                 }
   42363             : #line 42364 "gram.c"
   42364           6 :     break;
   42365             : 
   42366           6 :   case 1275: /* RenameStmt: ALTER DOMAIN_P any_name RENAME CONSTRAINT name TO name  */
   42367             : #line 9420 "gram.y"
   42368             :                                 {
   42369             :                     RenameStmt *n = makeNode(RenameStmt);
   42370             : 
   42371             :                     n->renameType = OBJECT_DOMCONSTRAINT;
   42372             :                     n->object = (Node *) (yyvsp[-5].list);
   42373             :                     n->subname = (yyvsp[-2].str);
   42374             :                     n->newname = (yyvsp[0].str);
   42375             :                     (yyval.node) = (Node *) n;
   42376             :                 }
   42377             : #line 42378 "gram.c"
   42378           6 :     break;
   42379             : 
   42380          24 :   case 1276: /* RenameStmt: ALTER FOREIGN DATA_P WRAPPER name RENAME TO name  */
   42381             : #line 9430 "gram.y"
   42382             :                                 {
   42383             :                     RenameStmt *n = makeNode(RenameStmt);
   42384             : 
   42385             :                     n->renameType = OBJECT_FDW;
   42386             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   42387             :                     n->newname = (yyvsp[0].str);
   42388             :                     n->missing_ok = false;
   42389             :                     (yyval.node) = (Node *) n;
   42390             :                 }
   42391             : #line 42392 "gram.c"
   42392          24 :     break;
   42393             : 
   42394          24 :   case 1277: /* RenameStmt: ALTER FUNCTION function_with_argtypes RENAME TO name  */
   42395             : #line 9440 "gram.y"
   42396             :                                 {
   42397             :                     RenameStmt *n = makeNode(RenameStmt);
   42398             : 
   42399             :                     n->renameType = OBJECT_FUNCTION;
   42400             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   42401             :                     n->newname = (yyvsp[0].str);
   42402             :                     n->missing_ok = false;
   42403             :                     (yyval.node) = (Node *) n;
   42404             :                 }
   42405             : #line 42406 "gram.c"
   42406          24 :     break;
   42407             : 
   42408           0 :   case 1278: /* RenameStmt: ALTER GROUP_P RoleId RENAME TO RoleId  */
   42409             : #line 9450 "gram.y"
   42410             :                                 {
   42411             :                     RenameStmt *n = makeNode(RenameStmt);
   42412             : 
   42413             :                     n->renameType = OBJECT_ROLE;
   42414             :                     n->subname = (yyvsp[-3].str);
   42415             :                     n->newname = (yyvsp[0].str);
   42416             :                     n->missing_ok = false;
   42417             :                     (yyval.node) = (Node *) n;
   42418             :                 }
   42419             : #line 42420 "gram.c"
   42420           0 :     break;
   42421             : 
   42422          18 :   case 1279: /* RenameStmt: ALTER opt_procedural LANGUAGE name RENAME TO name  */
   42423             : #line 9460 "gram.y"
   42424             :                                 {
   42425             :                     RenameStmt *n = makeNode(RenameStmt);
   42426             : 
   42427             :                     n->renameType = OBJECT_LANGUAGE;
   42428             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   42429             :                     n->newname = (yyvsp[0].str);
   42430             :                     n->missing_ok = false;
   42431             :                     (yyval.node) = (Node *) n;
   42432             :                 }
   42433             : #line 42434 "gram.c"
   42434          18 :     break;
   42435             : 
   42436          24 :   case 1280: /* RenameStmt: ALTER OPERATOR CLASS any_name USING name RENAME TO name  */
   42437             : #line 9470 "gram.y"
   42438             :                                 {
   42439             :                     RenameStmt *n = makeNode(RenameStmt);
   42440             : 
   42441             :                     n->renameType = OBJECT_OPCLASS;
   42442             :                     n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
   42443             :                     n->newname = (yyvsp[0].str);
   42444             :                     n->missing_ok = false;
   42445             :                     (yyval.node) = (Node *) n;
   42446             :                 }
   42447             : #line 42448 "gram.c"
   42448          24 :     break;
   42449             : 
   42450          24 :   case 1281: /* RenameStmt: ALTER OPERATOR FAMILY any_name USING name RENAME TO name  */
   42451             : #line 9480 "gram.y"
   42452             :                                 {
   42453             :                     RenameStmt *n = makeNode(RenameStmt);
   42454             : 
   42455             :                     n->renameType = OBJECT_OPFAMILY;
   42456             :                     n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
   42457             :                     n->newname = (yyvsp[0].str);
   42458             :                     n->missing_ok = false;
   42459             :                     (yyval.node) = (Node *) n;
   42460             :                 }
   42461             : #line 42462 "gram.c"
   42462          24 :     break;
   42463             : 
   42464          18 :   case 1282: /* RenameStmt: ALTER POLICY name ON qualified_name RENAME TO name  */
   42465             : #line 9490 "gram.y"
   42466             :                                 {
   42467             :                     RenameStmt *n = makeNode(RenameStmt);
   42468             : 
   42469             :                     n->renameType = OBJECT_POLICY;
   42470             :                     n->relation = (yyvsp[-3].range);
   42471             :                     n->subname = (yyvsp[-5].str);
   42472             :                     n->newname = (yyvsp[0].str);
   42473             :                     n->missing_ok = false;
   42474             :                     (yyval.node) = (Node *) n;
   42475             :                 }
   42476             : #line 42477 "gram.c"
   42477          18 :     break;
   42478             : 
   42479           0 :   case 1283: /* RenameStmt: ALTER POLICY IF_P EXISTS name ON qualified_name RENAME TO name  */
   42480             : #line 9501 "gram.y"
   42481             :                                 {
   42482             :                     RenameStmt *n = makeNode(RenameStmt);
   42483             : 
   42484             :                     n->renameType = OBJECT_POLICY;
   42485             :                     n->relation = (yyvsp[-3].range);
   42486             :                     n->subname = (yyvsp[-5].str);
   42487             :                     n->newname = (yyvsp[0].str);
   42488             :                     n->missing_ok = true;
   42489             :                     (yyval.node) = (Node *) n;
   42490             :                 }
   42491             : #line 42492 "gram.c"
   42492           0 :     break;
   42493             : 
   42494           0 :   case 1284: /* RenameStmt: ALTER PROCEDURE function_with_argtypes RENAME TO name  */
   42495             : #line 9512 "gram.y"
   42496             :                                 {
   42497             :                     RenameStmt *n = makeNode(RenameStmt);
   42498             : 
   42499             :                     n->renameType = OBJECT_PROCEDURE;
   42500             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   42501             :                     n->newname = (yyvsp[0].str);
   42502             :                     n->missing_ok = false;
   42503             :                     (yyval.node) = (Node *) n;
   42504             :                 }
   42505             : #line 42506 "gram.c"
   42506           0 :     break;
   42507             : 
   42508          18 :   case 1285: /* RenameStmt: ALTER PUBLICATION name RENAME TO name  */
   42509             : #line 9522 "gram.y"
   42510             :                                 {
   42511             :                     RenameStmt *n = makeNode(RenameStmt);
   42512             : 
   42513             :                     n->renameType = OBJECT_PUBLICATION;
   42514             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   42515             :                     n->newname = (yyvsp[0].str);
   42516             :                     n->missing_ok = false;
   42517             :                     (yyval.node) = (Node *) n;
   42518             :                 }
   42519             : #line 42520 "gram.c"
   42520          18 :     break;
   42521             : 
   42522          24 :   case 1286: /* RenameStmt: ALTER ROUTINE function_with_argtypes RENAME TO name  */
   42523             : #line 9532 "gram.y"
   42524             :                                 {
   42525             :                     RenameStmt *n = makeNode(RenameStmt);
   42526             : 
   42527             :                     n->renameType = OBJECT_ROUTINE;
   42528             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   42529             :                     n->newname = (yyvsp[0].str);
   42530             :                     n->missing_ok = false;
   42531             :                     (yyval.node) = (Node *) n;
   42532             :                 }
   42533             : #line 42534 "gram.c"
   42534          24 :     break;
   42535             : 
   42536          20 :   case 1287: /* RenameStmt: ALTER SCHEMA name RENAME TO name  */
   42537             : #line 9542 "gram.y"
   42538             :                                 {
   42539             :                     RenameStmt *n = makeNode(RenameStmt);
   42540             : 
   42541             :                     n->renameType = OBJECT_SCHEMA;
   42542             :                     n->subname = (yyvsp[-3].str);
   42543             :                     n->newname = (yyvsp[0].str);
   42544             :                     n->missing_ok = false;
   42545             :                     (yyval.node) = (Node *) n;
   42546             :                 }
   42547             : #line 42548 "gram.c"
   42548          20 :     break;
   42549             : 
   42550          24 :   case 1288: /* RenameStmt: ALTER SERVER name RENAME TO name  */
   42551             : #line 9552 "gram.y"
   42552             :                                 {
   42553             :                     RenameStmt *n = makeNode(RenameStmt);
   42554             : 
   42555             :                     n->renameType = OBJECT_FOREIGN_SERVER;
   42556             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   42557             :                     n->newname = (yyvsp[0].str);
   42558             :                     n->missing_ok = false;
   42559             :                     (yyval.node) = (Node *) n;
   42560             :                 }
   42561             : #line 42562 "gram.c"
   42562          24 :     break;
   42563             : 
   42564          38 :   case 1289: /* RenameStmt: ALTER SUBSCRIPTION name RENAME TO name  */
   42565             : #line 9562 "gram.y"
   42566             :                                 {
   42567             :                     RenameStmt *n = makeNode(RenameStmt);
   42568             : 
   42569             :                     n->renameType = OBJECT_SUBSCRIPTION;
   42570             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   42571             :                     n->newname = (yyvsp[0].str);
   42572             :                     n->missing_ok = false;
   42573             :                     (yyval.node) = (Node *) n;
   42574             :                 }
   42575             : #line 42576 "gram.c"
   42576          38 :     break;
   42577             : 
   42578         286 :   case 1290: /* RenameStmt: ALTER TABLE relation_expr RENAME TO name  */
   42579             : #line 9572 "gram.y"
   42580             :                                 {
   42581             :                     RenameStmt *n = makeNode(RenameStmt);
   42582             : 
   42583             :                     n->renameType = OBJECT_TABLE;
   42584             :                     n->relation = (yyvsp[-3].range);
   42585             :                     n->subname = NULL;
   42586             :                     n->newname = (yyvsp[0].str);
   42587             :                     n->missing_ok = false;
   42588             :                     (yyval.node) = (Node *) n;
   42589             :                 }
   42590             : #line 42591 "gram.c"
   42591         286 :     break;
   42592             : 
   42593           0 :   case 1291: /* RenameStmt: ALTER TABLE IF_P EXISTS relation_expr RENAME TO name  */
   42594             : #line 9583 "gram.y"
   42595             :                                 {
   42596             :                     RenameStmt *n = makeNode(RenameStmt);
   42597             : 
   42598             :                     n->renameType = OBJECT_TABLE;
   42599             :                     n->relation = (yyvsp[-3].range);
   42600             :                     n->subname = NULL;
   42601             :                     n->newname = (yyvsp[0].str);
   42602             :                     n->missing_ok = true;
   42603             :                     (yyval.node) = (Node *) n;
   42604             :                 }
   42605             : #line 42606 "gram.c"
   42606           0 :     break;
   42607             : 
   42608           2 :   case 1292: /* RenameStmt: ALTER SEQUENCE qualified_name RENAME TO name  */
   42609             : #line 9594 "gram.y"
   42610             :                                 {
   42611             :                     RenameStmt *n = makeNode(RenameStmt);
   42612             : 
   42613             :                     n->renameType = OBJECT_SEQUENCE;
   42614             :                     n->relation = (yyvsp[-3].range);
   42615             :                     n->subname = NULL;
   42616             :                     n->newname = (yyvsp[0].str);
   42617             :                     n->missing_ok = false;
   42618             :                     (yyval.node) = (Node *) n;
   42619             :                 }
   42620             : #line 42621 "gram.c"
   42621           2 :     break;
   42622             : 
   42623           0 :   case 1293: /* RenameStmt: ALTER SEQUENCE IF_P EXISTS qualified_name RENAME TO name  */
   42624             : #line 9605 "gram.y"
   42625             :                                 {
   42626             :                     RenameStmt *n = makeNode(RenameStmt);
   42627             : 
   42628             :                     n->renameType = OBJECT_SEQUENCE;
   42629             :                     n->relation = (yyvsp[-3].range);
   42630             :                     n->subname = NULL;
   42631             :                     n->newname = (yyvsp[0].str);
   42632             :                     n->missing_ok = true;
   42633             :                     (yyval.node) = (Node *) n;
   42634             :                 }
   42635             : #line 42636 "gram.c"
   42636           0 :     break;
   42637             : 
   42638           6 :   case 1294: /* RenameStmt: ALTER VIEW qualified_name RENAME TO name  */
   42639             : #line 9616 "gram.y"
   42640             :                                 {
   42641             :                     RenameStmt *n = makeNode(RenameStmt);
   42642             : 
   42643             :                     n->renameType = OBJECT_VIEW;
   42644             :                     n->relation = (yyvsp[-3].range);
   42645             :                     n->subname = NULL;
   42646             :                     n->newname = (yyvsp[0].str);
   42647             :                     n->missing_ok = false;
   42648             :                     (yyval.node) = (Node *) n;
   42649             :                 }
   42650             : #line 42651 "gram.c"
   42651           6 :     break;
   42652             : 
   42653           0 :   case 1295: /* RenameStmt: ALTER VIEW IF_P EXISTS qualified_name RENAME TO name  */
   42654             : #line 9627 "gram.y"
   42655             :                                 {
   42656             :                     RenameStmt *n = makeNode(RenameStmt);
   42657             : 
   42658             :                     n->renameType = OBJECT_VIEW;
   42659             :                     n->relation = (yyvsp[-3].range);
   42660             :                     n->subname = NULL;
   42661             :                     n->newname = (yyvsp[0].str);
   42662             :                     n->missing_ok = true;
   42663             :                     (yyval.node) = (Node *) n;
   42664             :                 }
   42665             : #line 42666 "gram.c"
   42666           0 :     break;
   42667             : 
   42668           0 :   case 1296: /* RenameStmt: ALTER MATERIALIZED VIEW qualified_name RENAME TO name  */
   42669             : #line 9638 "gram.y"
   42670             :                                 {
   42671             :                     RenameStmt *n = makeNode(RenameStmt);
   42672             : 
   42673             :                     n->renameType = OBJECT_MATVIEW;
   42674             :                     n->relation = (yyvsp[-3].range);
   42675             :                     n->subname = NULL;
   42676             :                     n->newname = (yyvsp[0].str);
   42677             :                     n->missing_ok = false;
   42678             :                     (yyval.node) = (Node *) n;
   42679             :                 }
   42680             : #line 42681 "gram.c"
   42681           0 :     break;
   42682             : 
   42683           0 :   case 1297: /* RenameStmt: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name RENAME TO name  */
   42684             : #line 9649 "gram.y"
   42685             :                                 {
   42686             :                     RenameStmt *n = makeNode(RenameStmt);
   42687             : 
   42688             :                     n->renameType = OBJECT_MATVIEW;
   42689             :                     n->relation = (yyvsp[-3].range);
   42690             :                     n->subname = NULL;
   42691             :                     n->newname = (yyvsp[0].str);
   42692             :                     n->missing_ok = true;
   42693             :                     (yyval.node) = (Node *) n;
   42694             :                 }
   42695             : #line 42696 "gram.c"
   42696           0 :     break;
   42697             : 
   42698         192 :   case 1298: /* RenameStmt: ALTER INDEX qualified_name RENAME TO name  */
   42699             : #line 9660 "gram.y"
   42700             :                                 {
   42701             :                     RenameStmt *n = makeNode(RenameStmt);
   42702             : 
   42703             :                     n->renameType = OBJECT_INDEX;
   42704             :                     n->relation = (yyvsp[-3].range);
   42705             :                     n->subname = NULL;
   42706             :                     n->newname = (yyvsp[0].str);
   42707             :                     n->missing_ok = false;
   42708             :                     (yyval.node) = (Node *) n;
   42709             :                 }
   42710             : #line 42711 "gram.c"
   42711         192 :     break;
   42712             : 
   42713          12 :   case 1299: /* RenameStmt: ALTER INDEX IF_P EXISTS qualified_name RENAME TO name  */
   42714             : #line 9671 "gram.y"
   42715             :                                 {
   42716             :                     RenameStmt *n = makeNode(RenameStmt);
   42717             : 
   42718             :                     n->renameType = OBJECT_INDEX;
   42719             :                     n->relation = (yyvsp[-3].range);
   42720             :                     n->subname = NULL;
   42721             :                     n->newname = (yyvsp[0].str);
   42722             :                     n->missing_ok = true;
   42723             :                     (yyval.node) = (Node *) n;
   42724             :                 }
   42725             : #line 42726 "gram.c"
   42726          12 :     break;
   42727             : 
   42728           6 :   case 1300: /* RenameStmt: ALTER FOREIGN TABLE relation_expr RENAME TO name  */
   42729             : #line 9682 "gram.y"
   42730             :                                 {
   42731             :                     RenameStmt *n = makeNode(RenameStmt);
   42732             : 
   42733             :                     n->renameType = OBJECT_FOREIGN_TABLE;
   42734             :                     n->relation = (yyvsp[-3].range);
   42735             :                     n->subname = NULL;
   42736             :                     n->newname = (yyvsp[0].str);
   42737             :                     n->missing_ok = false;
   42738             :                     (yyval.node) = (Node *) n;
   42739             :                 }
   42740             : #line 42741 "gram.c"
   42741           6 :     break;
   42742             : 
   42743           6 :   case 1301: /* RenameStmt: ALTER FOREIGN TABLE IF_P EXISTS relation_expr RENAME TO name  */
   42744             : #line 9693 "gram.y"
   42745             :                                 {
   42746             :                     RenameStmt *n = makeNode(RenameStmt);
   42747             : 
   42748             :                     n->renameType = OBJECT_FOREIGN_TABLE;
   42749             :                     n->relation = (yyvsp[-3].range);
   42750             :                     n->subname = NULL;
   42751             :                     n->newname = (yyvsp[0].str);
   42752             :                     n->missing_ok = true;
   42753             :                     (yyval.node) = (Node *) n;
   42754             :                 }
   42755             : #line 42756 "gram.c"
   42756           6 :     break;
   42757             : 
   42758         238 :   case 1302: /* RenameStmt: ALTER TABLE relation_expr RENAME opt_column name TO name  */
   42759             : #line 9704 "gram.y"
   42760             :                                 {
   42761             :                     RenameStmt *n = makeNode(RenameStmt);
   42762             : 
   42763             :                     n->renameType = OBJECT_COLUMN;
   42764             :                     n->relationType = OBJECT_TABLE;
   42765             :                     n->relation = (yyvsp[-5].range);
   42766             :                     n->subname = (yyvsp[-2].str);
   42767             :                     n->newname = (yyvsp[0].str);
   42768             :                     n->missing_ok = false;
   42769             :                     (yyval.node) = (Node *) n;
   42770             :                 }
   42771             : #line 42772 "gram.c"
   42772         238 :     break;
   42773             : 
   42774          24 :   case 1303: /* RenameStmt: ALTER TABLE IF_P EXISTS relation_expr RENAME opt_column name TO name  */
   42775             : #line 9716 "gram.y"
   42776             :                                 {
   42777             :                     RenameStmt *n = makeNode(RenameStmt);
   42778             : 
   42779             :                     n->renameType = OBJECT_COLUMN;
   42780             :                     n->relationType = OBJECT_TABLE;
   42781             :                     n->relation = (yyvsp[-5].range);
   42782             :                     n->subname = (yyvsp[-2].str);
   42783             :                     n->newname = (yyvsp[0].str);
   42784             :                     n->missing_ok = true;
   42785             :                     (yyval.node) = (Node *) n;
   42786             :                 }
   42787             : #line 42788 "gram.c"
   42788          24 :     break;
   42789             : 
   42790           6 :   case 1304: /* RenameStmt: ALTER VIEW qualified_name RENAME opt_column name TO name  */
   42791             : #line 9728 "gram.y"
   42792             :                                 {
   42793             :                     RenameStmt *n = makeNode(RenameStmt);
   42794             : 
   42795             :                     n->renameType = OBJECT_COLUMN;
   42796             :                     n->relationType = OBJECT_VIEW;
   42797             :                     n->relation = (yyvsp[-5].range);
   42798             :                     n->subname = (yyvsp[-2].str);
   42799             :                     n->newname = (yyvsp[0].str);
   42800             :                     n->missing_ok = false;
   42801             :                     (yyval.node) = (Node *) n;
   42802             :                 }
   42803             : #line 42804 "gram.c"
   42804           6 :     break;
   42805             : 
   42806           0 :   case 1305: /* RenameStmt: ALTER VIEW IF_P EXISTS qualified_name RENAME opt_column name TO name  */
   42807             : #line 9740 "gram.y"
   42808             :                                 {
   42809             :                     RenameStmt *n = makeNode(RenameStmt);
   42810             : 
   42811             :                     n->renameType = OBJECT_COLUMN;
   42812             :                     n->relationType = OBJECT_VIEW;
   42813             :                     n->relation = (yyvsp[-5].range);
   42814             :                     n->subname = (yyvsp[-2].str);
   42815             :                     n->newname = (yyvsp[0].str);
   42816             :                     n->missing_ok = true;
   42817             :                     (yyval.node) = (Node *) n;
   42818             :                 }
   42819             : #line 42820 "gram.c"
   42820           0 :     break;
   42821             : 
   42822           0 :   case 1306: /* RenameStmt: ALTER MATERIALIZED VIEW qualified_name RENAME opt_column name TO name  */
   42823             : #line 9752 "gram.y"
   42824             :                                 {
   42825             :                     RenameStmt *n = makeNode(RenameStmt);
   42826             : 
   42827             :                     n->renameType = OBJECT_COLUMN;
   42828             :                     n->relationType = OBJECT_MATVIEW;
   42829             :                     n->relation = (yyvsp[-5].range);
   42830             :                     n->subname = (yyvsp[-2].str);
   42831             :                     n->newname = (yyvsp[0].str);
   42832             :                     n->missing_ok = false;
   42833             :                     (yyval.node) = (Node *) n;
   42834             :                 }
   42835             : #line 42836 "gram.c"
   42836           0 :     break;
   42837             : 
   42838           0 :   case 1307: /* RenameStmt: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name RENAME opt_column name TO name  */
   42839             : #line 9764 "gram.y"
   42840             :                                 {
   42841             :                     RenameStmt *n = makeNode(RenameStmt);
   42842             : 
   42843             :                     n->renameType = OBJECT_COLUMN;
   42844             :                     n->relationType = OBJECT_MATVIEW;
   42845             :                     n->relation = (yyvsp[-5].range);
   42846             :                     n->subname = (yyvsp[-2].str);
   42847             :                     n->newname = (yyvsp[0].str);
   42848             :                     n->missing_ok = true;
   42849             :                     (yyval.node) = (Node *) n;
   42850             :                 }
   42851             : #line 42852 "gram.c"
   42852           0 :     break;
   42853             : 
   42854          66 :   case 1308: /* RenameStmt: ALTER TABLE relation_expr RENAME CONSTRAINT name TO name  */
   42855             : #line 9776 "gram.y"
   42856             :                                 {
   42857             :                     RenameStmt *n = makeNode(RenameStmt);
   42858             : 
   42859             :                     n->renameType = OBJECT_TABCONSTRAINT;
   42860             :                     n->relation = (yyvsp[-5].range);
   42861             :                     n->subname = (yyvsp[-2].str);
   42862             :                     n->newname = (yyvsp[0].str);
   42863             :                     n->missing_ok = false;
   42864             :                     (yyval.node) = (Node *) n;
   42865             :                 }
   42866             : #line 42867 "gram.c"
   42867          66 :     break;
   42868             : 
   42869           6 :   case 1309: /* RenameStmt: ALTER TABLE IF_P EXISTS relation_expr RENAME CONSTRAINT name TO name  */
   42870             : #line 9787 "gram.y"
   42871             :                                 {
   42872             :                     RenameStmt *n = makeNode(RenameStmt);
   42873             : 
   42874             :                     n->renameType = OBJECT_TABCONSTRAINT;
   42875             :                     n->relation = (yyvsp[-5].range);
   42876             :                     n->subname = (yyvsp[-2].str);
   42877             :                     n->newname = (yyvsp[0].str);
   42878             :                     n->missing_ok = true;
   42879             :                     (yyval.node) = (Node *) n;
   42880             :                 }
   42881             : #line 42882 "gram.c"
   42882           6 :     break;
   42883             : 
   42884           6 :   case 1310: /* RenameStmt: ALTER FOREIGN TABLE relation_expr RENAME opt_column name TO name  */
   42885             : #line 9798 "gram.y"
   42886             :                                 {
   42887             :                     RenameStmt *n = makeNode(RenameStmt);
   42888             : 
   42889             :                     n->renameType = OBJECT_COLUMN;
   42890             :                     n->relationType = OBJECT_FOREIGN_TABLE;
   42891             :                     n->relation = (yyvsp[-5].range);
   42892             :                     n->subname = (yyvsp[-2].str);
   42893             :                     n->newname = (yyvsp[0].str);
   42894             :                     n->missing_ok = false;
   42895             :                     (yyval.node) = (Node *) n;
   42896             :                 }
   42897             : #line 42898 "gram.c"
   42898           6 :     break;
   42899             : 
   42900           6 :   case 1311: /* RenameStmt: ALTER FOREIGN TABLE IF_P EXISTS relation_expr RENAME opt_column name TO name  */
   42901             : #line 9810 "gram.y"
   42902             :                                 {
   42903             :                     RenameStmt *n = makeNode(RenameStmt);
   42904             : 
   42905             :                     n->renameType = OBJECT_COLUMN;
   42906             :                     n->relationType = OBJECT_FOREIGN_TABLE;
   42907             :                     n->relation = (yyvsp[-5].range);
   42908             :                     n->subname = (yyvsp[-2].str);
   42909             :                     n->newname = (yyvsp[0].str);
   42910             :                     n->missing_ok = true;
   42911             :                     (yyval.node) = (Node *) n;
   42912             :                 }
   42913             : #line 42914 "gram.c"
   42914           6 :     break;
   42915             : 
   42916          34 :   case 1312: /* RenameStmt: ALTER RULE name ON qualified_name RENAME TO name  */
   42917             : #line 9822 "gram.y"
   42918             :                                 {
   42919             :                     RenameStmt *n = makeNode(RenameStmt);
   42920             : 
   42921             :                     n->renameType = OBJECT_RULE;
   42922             :                     n->relation = (yyvsp[-3].range);
   42923             :                     n->subname = (yyvsp[-5].str);
   42924             :                     n->newname = (yyvsp[0].str);
   42925             :                     n->missing_ok = false;
   42926             :                     (yyval.node) = (Node *) n;
   42927             :                 }
   42928             : #line 42929 "gram.c"
   42929          34 :     break;
   42930             : 
   42931          40 :   case 1313: /* RenameStmt: ALTER TRIGGER name ON qualified_name RENAME TO name  */
   42932             : #line 9833 "gram.y"
   42933             :                                 {
   42934             :                     RenameStmt *n = makeNode(RenameStmt);
   42935             : 
   42936             :                     n->renameType = OBJECT_TRIGGER;
   42937             :                     n->relation = (yyvsp[-3].range);
   42938             :                     n->subname = (yyvsp[-5].str);
   42939             :                     n->newname = (yyvsp[0].str);
   42940             :                     n->missing_ok = false;
   42941             :                     (yyval.node) = (Node *) n;
   42942             :                 }
   42943             : #line 42944 "gram.c"
   42944          40 :     break;
   42945             : 
   42946          12 :   case 1314: /* RenameStmt: ALTER EVENT TRIGGER name RENAME TO name  */
   42947             : #line 9844 "gram.y"
   42948             :                                 {
   42949             :                     RenameStmt *n = makeNode(RenameStmt);
   42950             : 
   42951             :                     n->renameType = OBJECT_EVENT_TRIGGER;
   42952             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   42953             :                     n->newname = (yyvsp[0].str);
   42954             :                     (yyval.node) = (Node *) n;
   42955             :                 }
   42956             : #line 42957 "gram.c"
   42957          12 :     break;
   42958             : 
   42959          30 :   case 1315: /* RenameStmt: ALTER ROLE RoleId RENAME TO RoleId  */
   42960             : #line 9853 "gram.y"
   42961             :                                 {
   42962             :                     RenameStmt *n = makeNode(RenameStmt);
   42963             : 
   42964             :                     n->renameType = OBJECT_ROLE;
   42965             :                     n->subname = (yyvsp[-3].str);
   42966             :                     n->newname = (yyvsp[0].str);
   42967             :                     n->missing_ok = false;
   42968             :                     (yyval.node) = (Node *) n;
   42969             :                 }
   42970             : #line 42971 "gram.c"
   42971          30 :     break;
   42972             : 
   42973           0 :   case 1316: /* RenameStmt: ALTER USER RoleId RENAME TO RoleId  */
   42974             : #line 9863 "gram.y"
   42975             :                                 {
   42976             :                     RenameStmt *n = makeNode(RenameStmt);
   42977             : 
   42978             :                     n->renameType = OBJECT_ROLE;
   42979             :                     n->subname = (yyvsp[-3].str);
   42980             :                     n->newname = (yyvsp[0].str);
   42981             :                     n->missing_ok = false;
   42982             :                     (yyval.node) = (Node *) n;
   42983             :                 }
   42984             : #line 42985 "gram.c"
   42985           0 :     break;
   42986             : 
   42987           6 :   case 1317: /* RenameStmt: ALTER TABLESPACE name RENAME TO name  */
   42988             : #line 9873 "gram.y"
   42989             :                                 {
   42990             :                     RenameStmt *n = makeNode(RenameStmt);
   42991             : 
   42992             :                     n->renameType = OBJECT_TABLESPACE;
   42993             :                     n->subname = (yyvsp[-3].str);
   42994             :                     n->newname = (yyvsp[0].str);
   42995             :                     n->missing_ok = false;
   42996             :                     (yyval.node) = (Node *) n;
   42997             :                 }
   42998             : #line 42999 "gram.c"
   42999           6 :     break;
   43000             : 
   43001          30 :   case 1318: /* RenameStmt: ALTER STATISTICS any_name RENAME TO name  */
   43002             : #line 9883 "gram.y"
   43003             :                                 {
   43004             :                     RenameStmt *n = makeNode(RenameStmt);
   43005             : 
   43006             :                     n->renameType = OBJECT_STATISTIC_EXT;
   43007             :                     n->object = (Node *) (yyvsp[-3].list);
   43008             :                     n->newname = (yyvsp[0].str);
   43009             :                     n->missing_ok = false;
   43010             :                     (yyval.node) = (Node *) n;
   43011             :                 }
   43012             : #line 43013 "gram.c"
   43013          30 :     break;
   43014             : 
   43015          12 :   case 1319: /* RenameStmt: ALTER TEXT_P SEARCH PARSER any_name RENAME TO name  */
   43016             : #line 9893 "gram.y"
   43017             :                                 {
   43018             :                     RenameStmt *n = makeNode(RenameStmt);
   43019             : 
   43020             :                     n->renameType = OBJECT_TSPARSER;
   43021             :                     n->object = (Node *) (yyvsp[-3].list);
   43022             :                     n->newname = (yyvsp[0].str);
   43023             :                     n->missing_ok = false;
   43024             :                     (yyval.node) = (Node *) n;
   43025             :                 }
   43026             : #line 43027 "gram.c"
   43027          12 :     break;
   43028             : 
   43029          24 :   case 1320: /* RenameStmt: ALTER TEXT_P SEARCH DICTIONARY any_name RENAME TO name  */
   43030             : #line 9903 "gram.y"
   43031             :                                 {
   43032             :                     RenameStmt *n = makeNode(RenameStmt);
   43033             : 
   43034             :                     n->renameType = OBJECT_TSDICTIONARY;
   43035             :                     n->object = (Node *) (yyvsp[-3].list);
   43036             :                     n->newname = (yyvsp[0].str);
   43037             :                     n->missing_ok = false;
   43038             :                     (yyval.node) = (Node *) n;
   43039             :                 }
   43040             : #line 43041 "gram.c"
   43041          24 :     break;
   43042             : 
   43043          12 :   case 1321: /* RenameStmt: ALTER TEXT_P SEARCH TEMPLATE any_name RENAME TO name  */
   43044             : #line 9913 "gram.y"
   43045             :                                 {
   43046             :                     RenameStmt *n = makeNode(RenameStmt);
   43047             : 
   43048             :                     n->renameType = OBJECT_TSTEMPLATE;
   43049             :                     n->object = (Node *) (yyvsp[-3].list);
   43050             :                     n->newname = (yyvsp[0].str);
   43051             :                     n->missing_ok = false;
   43052             :                     (yyval.node) = (Node *) n;
   43053             :                 }
   43054             : #line 43055 "gram.c"
   43055          12 :     break;
   43056             : 
   43057          24 :   case 1322: /* RenameStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name RENAME TO name  */
   43058             : #line 9923 "gram.y"
   43059             :                                 {
   43060             :                     RenameStmt *n = makeNode(RenameStmt);
   43061             : 
   43062             :                     n->renameType = OBJECT_TSCONFIGURATION;
   43063             :                     n->object = (Node *) (yyvsp[-3].list);
   43064             :                     n->newname = (yyvsp[0].str);
   43065             :                     n->missing_ok = false;
   43066             :                     (yyval.node) = (Node *) n;
   43067             :                 }
   43068             : #line 43069 "gram.c"
   43069          24 :     break;
   43070             : 
   43071          26 :   case 1323: /* RenameStmt: ALTER TYPE_P any_name RENAME TO name  */
   43072             : #line 9933 "gram.y"
   43073             :                                 {
   43074             :                     RenameStmt *n = makeNode(RenameStmt);
   43075             : 
   43076             :                     n->renameType = OBJECT_TYPE;
   43077             :                     n->object = (Node *) (yyvsp[-3].list);
   43078             :                     n->newname = (yyvsp[0].str);
   43079             :                     n->missing_ok = false;
   43080             :                     (yyval.node) = (Node *) n;
   43081             :                 }
   43082             : #line 43083 "gram.c"
   43083          26 :     break;
   43084             : 
   43085          24 :   case 1324: /* RenameStmt: ALTER TYPE_P any_name RENAME ATTRIBUTE name TO name opt_drop_behavior  */
   43086             : #line 9943 "gram.y"
   43087             :                                 {
   43088             :                     RenameStmt *n = makeNode(RenameStmt);
   43089             : 
   43090             :                     n->renameType = OBJECT_ATTRIBUTE;
   43091             :                     n->relationType = OBJECT_TYPE;
   43092             :                     n->relation = makeRangeVarFromAnyName((yyvsp[-6].list), (yylsp[-6]), yyscanner);
   43093             :                     n->subname = (yyvsp[-3].str);
   43094             :                     n->newname = (yyvsp[-1].str);
   43095             :                     n->behavior = (yyvsp[0].dbehavior);
   43096             :                     n->missing_ok = false;
   43097             :                     (yyval.node) = (Node *) n;
   43098             :                 }
   43099             : #line 43100 "gram.c"
   43100          24 :     break;
   43101             : 
   43102         148 :   case 1327: /* opt_set_data: SET DATA_P  */
   43103             : #line 9961 "gram.y"
   43104             :                                                                                 { (yyval.ival) = 1; }
   43105             : #line 43106 "gram.c"
   43106         148 :     break;
   43107             : 
   43108         772 :   case 1328: /* opt_set_data: %empty  */
   43109             : #line 9962 "gram.y"
   43110             :                                                                                                 { (yyval.ival) = 0; }
   43111             : #line 43112 "gram.c"
   43112         772 :     break;
   43113             : 
   43114          12 :   case 1329: /* AlterObjectDependsStmt: ALTER FUNCTION function_with_argtypes opt_no DEPENDS ON EXTENSION name  */
   43115             : #line 9973 "gram.y"
   43116             :                                 {
   43117             :                     AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
   43118             : 
   43119             :                     n->objectType = OBJECT_FUNCTION;
   43120             :                     n->object = (Node *) (yyvsp[-5].objwithargs);
   43121             :                     n->extname = makeString((yyvsp[0].str));
   43122             :                     n->remove = (yyvsp[-4].boolean);
   43123             :                     (yyval.node) = (Node *) n;
   43124             :                 }
   43125             : #line 43126 "gram.c"
   43126          12 :     break;
   43127             : 
   43128           0 :   case 1330: /* AlterObjectDependsStmt: ALTER PROCEDURE function_with_argtypes opt_no DEPENDS ON EXTENSION name  */
   43129             : #line 9983 "gram.y"
   43130             :                                 {
   43131             :                     AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
   43132             : 
   43133             :                     n->objectType = OBJECT_PROCEDURE;
   43134             :                     n->object = (Node *) (yyvsp[-5].objwithargs);
   43135             :                     n->extname = makeString((yyvsp[0].str));
   43136             :                     n->remove = (yyvsp[-4].boolean);
   43137             :                     (yyval.node) = (Node *) n;
   43138             :                 }
   43139             : #line 43140 "gram.c"
   43140           0 :     break;
   43141             : 
   43142           0 :   case 1331: /* AlterObjectDependsStmt: ALTER ROUTINE function_with_argtypes opt_no DEPENDS ON EXTENSION name  */
   43143             : #line 9993 "gram.y"
   43144             :                                 {
   43145             :                     AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
   43146             : 
   43147             :                     n->objectType = OBJECT_ROUTINE;
   43148             :                     n->object = (Node *) (yyvsp[-5].objwithargs);
   43149             :                     n->extname = makeString((yyvsp[0].str));
   43150             :                     n->remove = (yyvsp[-4].boolean);
   43151             :                     (yyval.node) = (Node *) n;
   43152             :                 }
   43153             : #line 43154 "gram.c"
   43154           0 :     break;
   43155             : 
   43156          10 :   case 1332: /* AlterObjectDependsStmt: ALTER TRIGGER name ON qualified_name opt_no DEPENDS ON EXTENSION name  */
   43157             : #line 10003 "gram.y"
   43158             :                                 {
   43159             :                     AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
   43160             : 
   43161             :                     n->objectType = OBJECT_TRIGGER;
   43162             :                     n->relation = (yyvsp[-5].range);
   43163             :                     n->object = (Node *) list_make1(makeString((yyvsp[-7].str)));
   43164             :                     n->extname = makeString((yyvsp[0].str));
   43165             :                     n->remove = (yyvsp[-4].boolean);
   43166             :                     (yyval.node) = (Node *) n;
   43167             :                 }
   43168             : #line 43169 "gram.c"
   43169          10 :     break;
   43170             : 
   43171          10 :   case 1333: /* AlterObjectDependsStmt: ALTER MATERIALIZED VIEW qualified_name opt_no DEPENDS ON EXTENSION name  */
   43172             : #line 10014 "gram.y"
   43173             :                                 {
   43174             :                     AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
   43175             : 
   43176             :                     n->objectType = OBJECT_MATVIEW;
   43177             :                     n->relation = (yyvsp[-5].range);
   43178             :                     n->extname = makeString((yyvsp[0].str));
   43179             :                     n->remove = (yyvsp[-4].boolean);
   43180             :                     (yyval.node) = (Node *) n;
   43181             :                 }
   43182             : #line 43183 "gram.c"
   43183          10 :     break;
   43184             : 
   43185          14 :   case 1334: /* AlterObjectDependsStmt: ALTER INDEX qualified_name opt_no DEPENDS ON EXTENSION name  */
   43186             : #line 10024 "gram.y"
   43187             :                                 {
   43188             :                     AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
   43189             : 
   43190             :                     n->objectType = OBJECT_INDEX;
   43191             :                     n->relation = (yyvsp[-5].range);
   43192             :                     n->extname = makeString((yyvsp[0].str));
   43193             :                     n->remove = (yyvsp[-4].boolean);
   43194             :                     (yyval.node) = (Node *) n;
   43195             :                 }
   43196             : #line 43197 "gram.c"
   43197          14 :     break;
   43198             : 
   43199           8 :   case 1335: /* opt_no: NO  */
   43200             : #line 10035 "gram.y"
   43201             :                                                 { (yyval.boolean) = true; }
   43202             : #line 43203 "gram.c"
   43203           8 :     break;
   43204             : 
   43205          38 :   case 1336: /* opt_no: %empty  */
   43206             : #line 10036 "gram.y"
   43207             :                                         { (yyval.boolean) = false;  }
   43208             : #line 43209 "gram.c"
   43209          38 :     break;
   43210             : 
   43211          24 :   case 1337: /* AlterObjectSchemaStmt: ALTER AGGREGATE aggregate_with_argtypes SET SCHEMA name  */
   43212             : #line 10047 "gram.y"
   43213             :                                 {
   43214             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43215             : 
   43216             :                     n->objectType = OBJECT_AGGREGATE;
   43217             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   43218             :                     n->newschema = (yyvsp[0].str);
   43219             :                     n->missing_ok = false;
   43220             :                     (yyval.node) = (Node *) n;
   43221             :                 }
   43222             : #line 43223 "gram.c"
   43223          24 :     break;
   43224             : 
   43225           6 :   case 1338: /* AlterObjectSchemaStmt: ALTER COLLATION any_name SET SCHEMA name  */
   43226             : #line 10057 "gram.y"
   43227             :                                 {
   43228             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43229             : 
   43230             :                     n->objectType = OBJECT_COLLATION;
   43231             :                     n->object = (Node *) (yyvsp[-3].list);
   43232             :                     n->newschema = (yyvsp[0].str);
   43233             :                     n->missing_ok = false;
   43234             :                     (yyval.node) = (Node *) n;
   43235             :                 }
   43236             : #line 43237 "gram.c"
   43237           6 :     break;
   43238             : 
   43239          24 :   case 1339: /* AlterObjectSchemaStmt: ALTER CONVERSION_P any_name SET SCHEMA name  */
   43240             : #line 10067 "gram.y"
   43241             :                                 {
   43242             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43243             : 
   43244             :                     n->objectType = OBJECT_CONVERSION;
   43245             :                     n->object = (Node *) (yyvsp[-3].list);
   43246             :                     n->newschema = (yyvsp[0].str);
   43247             :                     n->missing_ok = false;
   43248             :                     (yyval.node) = (Node *) n;
   43249             :                 }
   43250             : #line 43251 "gram.c"
   43251          24 :     break;
   43252             : 
   43253           6 :   case 1340: /* AlterObjectSchemaStmt: ALTER DOMAIN_P any_name SET SCHEMA name  */
   43254             : #line 10077 "gram.y"
   43255             :                                 {
   43256             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43257             : 
   43258             :                     n->objectType = OBJECT_DOMAIN;
   43259             :                     n->object = (Node *) (yyvsp[-3].list);
   43260             :                     n->newschema = (yyvsp[0].str);
   43261             :                     n->missing_ok = false;
   43262             :                     (yyval.node) = (Node *) n;
   43263             :                 }
   43264             : #line 43265 "gram.c"
   43265           6 :     break;
   43266             : 
   43267          10 :   case 1341: /* AlterObjectSchemaStmt: ALTER EXTENSION name SET SCHEMA name  */
   43268             : #line 10087 "gram.y"
   43269             :                                 {
   43270             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43271             : 
   43272             :                     n->objectType = OBJECT_EXTENSION;
   43273             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   43274             :                     n->newschema = (yyvsp[0].str);
   43275             :                     n->missing_ok = false;
   43276             :                     (yyval.node) = (Node *) n;
   43277             :                 }
   43278             : #line 43279 "gram.c"
   43279          10 :     break;
   43280             : 
   43281          42 :   case 1342: /* AlterObjectSchemaStmt: ALTER FUNCTION function_with_argtypes SET SCHEMA name  */
   43282             : #line 10097 "gram.y"
   43283             :                                 {
   43284             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43285             : 
   43286             :                     n->objectType = OBJECT_FUNCTION;
   43287             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   43288             :                     n->newschema = (yyvsp[0].str);
   43289             :                     n->missing_ok = false;
   43290             :                     (yyval.node) = (Node *) n;
   43291             :                 }
   43292             : #line 43293 "gram.c"
   43293          42 :     break;
   43294             : 
   43295          18 :   case 1343: /* AlterObjectSchemaStmt: ALTER OPERATOR operator_with_argtypes SET SCHEMA name  */
   43296             : #line 10107 "gram.y"
   43297             :                                 {
   43298             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43299             : 
   43300             :                     n->objectType = OBJECT_OPERATOR;
   43301             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   43302             :                     n->newschema = (yyvsp[0].str);
   43303             :                     n->missing_ok = false;
   43304             :                     (yyval.node) = (Node *) n;
   43305             :                 }
   43306             : #line 43307 "gram.c"
   43307          18 :     break;
   43308             : 
   43309          24 :   case 1344: /* AlterObjectSchemaStmt: ALTER OPERATOR CLASS any_name USING name SET SCHEMA name  */
   43310             : #line 10117 "gram.y"
   43311             :                                 {
   43312             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43313             : 
   43314             :                     n->objectType = OBJECT_OPCLASS;
   43315             :                     n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
   43316             :                     n->newschema = (yyvsp[0].str);
   43317             :                     n->missing_ok = false;
   43318             :                     (yyval.node) = (Node *) n;
   43319             :                 }
   43320             : #line 43321 "gram.c"
   43321          24 :     break;
   43322             : 
   43323          24 :   case 1345: /* AlterObjectSchemaStmt: ALTER OPERATOR FAMILY any_name USING name SET SCHEMA name  */
   43324             : #line 10127 "gram.y"
   43325             :                                 {
   43326             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43327             : 
   43328             :                     n->objectType = OBJECT_OPFAMILY;
   43329             :                     n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
   43330             :                     n->newschema = (yyvsp[0].str);
   43331             :                     n->missing_ok = false;
   43332             :                     (yyval.node) = (Node *) n;
   43333             :                 }
   43334             : #line 43335 "gram.c"
   43335          24 :     break;
   43336             : 
   43337           0 :   case 1346: /* AlterObjectSchemaStmt: ALTER PROCEDURE function_with_argtypes SET SCHEMA name  */
   43338             : #line 10137 "gram.y"
   43339             :                                 {
   43340             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43341             : 
   43342             :                     n->objectType = OBJECT_PROCEDURE;
   43343             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   43344             :                     n->newschema = (yyvsp[0].str);
   43345             :                     n->missing_ok = false;
   43346             :                     (yyval.node) = (Node *) n;
   43347             :                 }
   43348             : #line 43349 "gram.c"
   43349           0 :     break;
   43350             : 
   43351           0 :   case 1347: /* AlterObjectSchemaStmt: ALTER ROUTINE function_with_argtypes SET SCHEMA name  */
   43352             : #line 10147 "gram.y"
   43353             :                                 {
   43354             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43355             : 
   43356             :                     n->objectType = OBJECT_ROUTINE;
   43357             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   43358             :                     n->newschema = (yyvsp[0].str);
   43359             :                     n->missing_ok = false;
   43360             :                     (yyval.node) = (Node *) n;
   43361             :                 }
   43362             : #line 43363 "gram.c"
   43363           0 :     break;
   43364             : 
   43365          66 :   case 1348: /* AlterObjectSchemaStmt: ALTER TABLE relation_expr SET SCHEMA name  */
   43366             : #line 10157 "gram.y"
   43367             :                                 {
   43368             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43369             : 
   43370             :                     n->objectType = OBJECT_TABLE;
   43371             :                     n->relation = (yyvsp[-3].range);
   43372             :                     n->newschema = (yyvsp[0].str);
   43373             :                     n->missing_ok = false;
   43374             :                     (yyval.node) = (Node *) n;
   43375             :                 }
   43376             : #line 43377 "gram.c"
   43377          66 :     break;
   43378             : 
   43379          12 :   case 1349: /* AlterObjectSchemaStmt: ALTER TABLE IF_P EXISTS relation_expr SET SCHEMA name  */
   43380             : #line 10167 "gram.y"
   43381             :                                 {
   43382             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43383             : 
   43384             :                     n->objectType = OBJECT_TABLE;
   43385             :                     n->relation = (yyvsp[-3].range);
   43386             :                     n->newschema = (yyvsp[0].str);
   43387             :                     n->missing_ok = true;
   43388             :                     (yyval.node) = (Node *) n;
   43389             :                 }
   43390             : #line 43391 "gram.c"
   43391          12 :     break;
   43392             : 
   43393          18 :   case 1350: /* AlterObjectSchemaStmt: ALTER STATISTICS any_name SET SCHEMA name  */
   43394             : #line 10177 "gram.y"
   43395             :                                 {
   43396             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43397             : 
   43398             :                     n->objectType = OBJECT_STATISTIC_EXT;
   43399             :                     n->object = (Node *) (yyvsp[-3].list);
   43400             :                     n->newschema = (yyvsp[0].str);
   43401             :                     n->missing_ok = false;
   43402             :                     (yyval.node) = (Node *) n;
   43403             :                 }
   43404             : #line 43405 "gram.c"
   43405          18 :     break;
   43406             : 
   43407          18 :   case 1351: /* AlterObjectSchemaStmt: ALTER TEXT_P SEARCH PARSER any_name SET SCHEMA name  */
   43408             : #line 10187 "gram.y"
   43409             :                                 {
   43410             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43411             : 
   43412             :                     n->objectType = OBJECT_TSPARSER;
   43413             :                     n->object = (Node *) (yyvsp[-3].list);
   43414             :                     n->newschema = (yyvsp[0].str);
   43415             :                     n->missing_ok = false;
   43416             :                     (yyval.node) = (Node *) n;
   43417             :                 }
   43418             : #line 43419 "gram.c"
   43419          18 :     break;
   43420             : 
   43421          24 :   case 1352: /* AlterObjectSchemaStmt: ALTER TEXT_P SEARCH DICTIONARY any_name SET SCHEMA name  */
   43422             : #line 10197 "gram.y"
   43423             :                                 {
   43424             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43425             : 
   43426             :                     n->objectType = OBJECT_TSDICTIONARY;
   43427             :                     n->object = (Node *) (yyvsp[-3].list);
   43428             :                     n->newschema = (yyvsp[0].str);
   43429             :                     n->missing_ok = false;
   43430             :                     (yyval.node) = (Node *) n;
   43431             :                 }
   43432             : #line 43433 "gram.c"
   43433          24 :     break;
   43434             : 
   43435          18 :   case 1353: /* AlterObjectSchemaStmt: ALTER TEXT_P SEARCH TEMPLATE any_name SET SCHEMA name  */
   43436             : #line 10207 "gram.y"
   43437             :                                 {
   43438             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43439             : 
   43440             :                     n->objectType = OBJECT_TSTEMPLATE;
   43441             :                     n->object = (Node *) (yyvsp[-3].list);
   43442             :                     n->newschema = (yyvsp[0].str);
   43443             :                     n->missing_ok = false;
   43444             :                     (yyval.node) = (Node *) n;
   43445             :                 }
   43446             : #line 43447 "gram.c"
   43447          18 :     break;
   43448             : 
   43449          24 :   case 1354: /* AlterObjectSchemaStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name SET SCHEMA name  */
   43450             : #line 10217 "gram.y"
   43451             :                                 {
   43452             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43453             : 
   43454             :                     n->objectType = OBJECT_TSCONFIGURATION;
   43455             :                     n->object = (Node *) (yyvsp[-3].list);
   43456             :                     n->newschema = (yyvsp[0].str);
   43457             :                     n->missing_ok = false;
   43458             :                     (yyval.node) = (Node *) n;
   43459             :                 }
   43460             : #line 43461 "gram.c"
   43461          24 :     break;
   43462             : 
   43463           8 :   case 1355: /* AlterObjectSchemaStmt: ALTER SEQUENCE qualified_name SET SCHEMA name  */
   43464             : #line 10227 "gram.y"
   43465             :                                 {
   43466             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43467             : 
   43468             :                     n->objectType = OBJECT_SEQUENCE;
   43469             :                     n->relation = (yyvsp[-3].range);
   43470             :                     n->newschema = (yyvsp[0].str);
   43471             :                     n->missing_ok = false;
   43472             :                     (yyval.node) = (Node *) n;
   43473             :                 }
   43474             : #line 43475 "gram.c"
   43475           8 :     break;
   43476             : 
   43477           0 :   case 1356: /* AlterObjectSchemaStmt: ALTER SEQUENCE IF_P EXISTS qualified_name SET SCHEMA name  */
   43478             : #line 10237 "gram.y"
   43479             :                                 {
   43480             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43481             : 
   43482             :                     n->objectType = OBJECT_SEQUENCE;
   43483             :                     n->relation = (yyvsp[-3].range);
   43484             :                     n->newschema = (yyvsp[0].str);
   43485             :                     n->missing_ok = true;
   43486             :                     (yyval.node) = (Node *) n;
   43487             :                 }
   43488             : #line 43489 "gram.c"
   43489           0 :     break;
   43490             : 
   43491           0 :   case 1357: /* AlterObjectSchemaStmt: ALTER VIEW qualified_name SET SCHEMA name  */
   43492             : #line 10247 "gram.y"
   43493             :                                 {
   43494             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43495             : 
   43496             :                     n->objectType = OBJECT_VIEW;
   43497             :                     n->relation = (yyvsp[-3].range);
   43498             :                     n->newschema = (yyvsp[0].str);
   43499             :                     n->missing_ok = false;
   43500             :                     (yyval.node) = (Node *) n;
   43501             :                 }
   43502             : #line 43503 "gram.c"
   43503           0 :     break;
   43504             : 
   43505           0 :   case 1358: /* AlterObjectSchemaStmt: ALTER VIEW IF_P EXISTS qualified_name SET SCHEMA name  */
   43506             : #line 10257 "gram.y"
   43507             :                                 {
   43508             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43509             : 
   43510             :                     n->objectType = OBJECT_VIEW;
   43511             :                     n->relation = (yyvsp[-3].range);
   43512             :                     n->newschema = (yyvsp[0].str);
   43513             :                     n->missing_ok = true;
   43514             :                     (yyval.node) = (Node *) n;
   43515             :                 }
   43516             : #line 43517 "gram.c"
   43517           0 :     break;
   43518             : 
   43519           6 :   case 1359: /* AlterObjectSchemaStmt: ALTER MATERIALIZED VIEW qualified_name SET SCHEMA name  */
   43520             : #line 10267 "gram.y"
   43521             :                                 {
   43522             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43523             : 
   43524             :                     n->objectType = OBJECT_MATVIEW;
   43525             :                     n->relation = (yyvsp[-3].range);
   43526             :                     n->newschema = (yyvsp[0].str);
   43527             :                     n->missing_ok = false;
   43528             :                     (yyval.node) = (Node *) n;
   43529             :                 }
   43530             : #line 43531 "gram.c"
   43531           6 :     break;
   43532             : 
   43533           0 :   case 1360: /* AlterObjectSchemaStmt: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name SET SCHEMA name  */
   43534             : #line 10277 "gram.y"
   43535             :                                 {
   43536             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43537             : 
   43538             :                     n->objectType = OBJECT_MATVIEW;
   43539             :                     n->relation = (yyvsp[-3].range);
   43540             :                     n->newschema = (yyvsp[0].str);
   43541             :                     n->missing_ok = true;
   43542             :                     (yyval.node) = (Node *) n;
   43543             :                 }
   43544             : #line 43545 "gram.c"
   43545           0 :     break;
   43546             : 
   43547           6 :   case 1361: /* AlterObjectSchemaStmt: ALTER FOREIGN TABLE relation_expr SET SCHEMA name  */
   43548             : #line 10287 "gram.y"
   43549             :                                 {
   43550             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43551             : 
   43552             :                     n->objectType = OBJECT_FOREIGN_TABLE;
   43553             :                     n->relation = (yyvsp[-3].range);
   43554             :                     n->newschema = (yyvsp[0].str);
   43555             :                     n->missing_ok = false;
   43556             :                     (yyval.node) = (Node *) n;
   43557             :                 }
   43558             : #line 43559 "gram.c"
   43559           6 :     break;
   43560             : 
   43561           6 :   case 1362: /* AlterObjectSchemaStmt: ALTER FOREIGN TABLE IF_P EXISTS relation_expr SET SCHEMA name  */
   43562             : #line 10297 "gram.y"
   43563             :                                 {
   43564             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43565             : 
   43566             :                     n->objectType = OBJECT_FOREIGN_TABLE;
   43567             :                     n->relation = (yyvsp[-3].range);
   43568             :                     n->newschema = (yyvsp[0].str);
   43569             :                     n->missing_ok = true;
   43570             :                     (yyval.node) = (Node *) n;
   43571             :                 }
   43572             : #line 43573 "gram.c"
   43573           6 :     break;
   43574             : 
   43575          12 :   case 1363: /* AlterObjectSchemaStmt: ALTER TYPE_P any_name SET SCHEMA name  */
   43576             : #line 10307 "gram.y"
   43577             :                                 {
   43578             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43579             : 
   43580             :                     n->objectType = OBJECT_TYPE;
   43581             :                     n->object = (Node *) (yyvsp[-3].list);
   43582             :                     n->newschema = (yyvsp[0].str);
   43583             :                     n->missing_ok = false;
   43584             :                     (yyval.node) = (Node *) n;
   43585             :                 }
   43586             : #line 43587 "gram.c"
   43587          12 :     break;
   43588             : 
   43589         602 :   case 1364: /* AlterOperatorStmt: ALTER OPERATOR operator_with_argtypes SET '(' operator_def_list ')'  */
   43590             : #line 10326 "gram.y"
   43591             :                                 {
   43592             :                     AlterOperatorStmt *n = makeNode(AlterOperatorStmt);
   43593             : 
   43594             :                     n->opername = (yyvsp[-4].objwithargs);
   43595             :                     n->options = (yyvsp[-1].list);
   43596             :                     (yyval.node) = (Node *) n;
   43597             :                 }
   43598             : #line 43599 "gram.c"
   43599         602 :     break;
   43600             : 
   43601         662 :   case 1365: /* operator_def_list: operator_def_elem  */
   43602             : #line 10335 "gram.y"
   43603             :                                                                                                         { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   43604             : #line 43605 "gram.c"
   43605         662 :     break;
   43606             : 
   43607         506 :   case 1366: /* operator_def_list: operator_def_list ',' operator_def_elem  */
   43608             : #line 10336 "gram.y"
   43609             :                                                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
   43610             : #line 43611 "gram.c"
   43611         506 :     break;
   43612             : 
   43613          30 :   case 1367: /* operator_def_elem: ColLabel '=' NONE  */
   43614             : #line 10340 "gram.y"
   43615             :                                                 { (yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL, (yylsp[-2])); }
   43616             : #line 43617 "gram.c"
   43617          30 :     break;
   43618             : 
   43619        1110 :   case 1368: /* operator_def_elem: ColLabel '=' operator_def_arg  */
   43620             : #line 10342 "gram.y"
   43621             :                                                 { (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2])); }
   43622             : #line 43623 "gram.c"
   43623        1110 :     break;
   43624             : 
   43625          28 :   case 1369: /* operator_def_elem: ColLabel  */
   43626             : #line 10344 "gram.y"
   43627             :                                                 { (yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0])); }
   43628             : #line 43629 "gram.c"
   43629          28 :     break;
   43630             : 
   43631        1032 :   case 1370: /* operator_def_arg: func_type  */
   43632             : #line 10349 "gram.y"
   43633             :                                                                                 { (yyval.node) = (Node *) (yyvsp[0].typnam); }
   43634             : #line 43635 "gram.c"
   43635        1032 :     break;
   43636             : 
   43637          24 :   case 1371: /* operator_def_arg: reserved_keyword  */
   43638             : #line 10350 "gram.y"
   43639             :                                                                         { (yyval.node) = (Node *) makeString(pstrdup((yyvsp[0].keyword))); }
   43640             : #line 43641 "gram.c"
   43641          24 :     break;
   43642             : 
   43643          54 :   case 1372: /* operator_def_arg: qual_all_Op  */
   43644             : #line 10351 "gram.y"
   43645             :                                                                         { (yyval.node) = (Node *) (yyvsp[0].list); }
   43646             : #line 43647 "gram.c"
   43647          54 :     break;
   43648             : 
   43649           0 :   case 1373: /* operator_def_arg: NumericOnly  */
   43650             : #line 10352 "gram.y"
   43651             :                                                                         { (yyval.node) = (Node *) (yyvsp[0].node); }
   43652             : #line 43653 "gram.c"
   43653           0 :     break;
   43654             : 
   43655           0 :   case 1374: /* operator_def_arg: Sconst  */
   43656             : #line 10353 "gram.y"
   43657             :                                                                                 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
   43658             : #line 43659 "gram.c"
   43659           0 :     break;
   43660             : 
   43661          60 :   case 1375: /* AlterTypeStmt: ALTER TYPE_P any_name SET '(' operator_def_list ')'  */
   43662             : #line 10366 "gram.y"
   43663             :                                 {
   43664             :                     AlterTypeStmt *n = makeNode(AlterTypeStmt);
   43665             : 
   43666             :                     n->typeName = (yyvsp[-4].list);
   43667             :                     n->options = (yyvsp[-1].list);
   43668             :                     (yyval.node) = (Node *) n;
   43669             :                 }
   43670             : #line 43671 "gram.c"
   43671          60 :     break;
   43672             : 
   43673         142 :   case 1376: /* AlterOwnerStmt: ALTER AGGREGATE aggregate_with_argtypes OWNER TO RoleSpec  */
   43674             : #line 10382 "gram.y"
   43675             :                                 {
   43676             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43677             : 
   43678             :                     n->objectType = OBJECT_AGGREGATE;
   43679             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   43680             :                     n->newowner = (yyvsp[0].rolespec);
   43681             :                     (yyval.node) = (Node *) n;
   43682             :                 }
   43683             : #line 43684 "gram.c"
   43684         142 :     break;
   43685             : 
   43686          16 :   case 1377: /* AlterOwnerStmt: ALTER COLLATION any_name OWNER TO RoleSpec  */
   43687             : #line 10391 "gram.y"
   43688             :                                 {
   43689             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43690             : 
   43691             :                     n->objectType = OBJECT_COLLATION;
   43692             :                     n->object = (Node *) (yyvsp[-3].list);
   43693             :                     n->newowner = (yyvsp[0].rolespec);
   43694             :                     (yyval.node) = (Node *) n;
   43695             :                 }
   43696             : #line 43697 "gram.c"
   43697          16 :     break;
   43698             : 
   43699          24 :   case 1378: /* AlterOwnerStmt: ALTER CONVERSION_P any_name OWNER TO RoleSpec  */
   43700             : #line 10400 "gram.y"
   43701             :                                 {
   43702             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43703             : 
   43704             :                     n->objectType = OBJECT_CONVERSION;
   43705             :                     n->object = (Node *) (yyvsp[-3].list);
   43706             :                     n->newowner = (yyvsp[0].rolespec);
   43707             :                     (yyval.node) = (Node *) n;
   43708             :                 }
   43709             : #line 43710 "gram.c"
   43710          24 :     break;
   43711             : 
   43712          44 :   case 1379: /* AlterOwnerStmt: ALTER DATABASE name OWNER TO RoleSpec  */
   43713             : #line 10409 "gram.y"
   43714             :                                 {
   43715             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43716             : 
   43717             :                     n->objectType = OBJECT_DATABASE;
   43718             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   43719             :                     n->newowner = (yyvsp[0].rolespec);
   43720             :                     (yyval.node) = (Node *) n;
   43721             :                 }
   43722             : #line 43723 "gram.c"
   43723          44 :     break;
   43724             : 
   43725          38 :   case 1380: /* AlterOwnerStmt: ALTER DOMAIN_P any_name OWNER TO RoleSpec  */
   43726             : #line 10418 "gram.y"
   43727             :                                 {
   43728             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43729             : 
   43730             :                     n->objectType = OBJECT_DOMAIN;
   43731             :                     n->object = (Node *) (yyvsp[-3].list);
   43732             :                     n->newowner = (yyvsp[0].rolespec);
   43733             :                     (yyval.node) = (Node *) n;
   43734             :                 }
   43735             : #line 43736 "gram.c"
   43736          38 :     break;
   43737             : 
   43738         574 :   case 1381: /* AlterOwnerStmt: ALTER FUNCTION function_with_argtypes OWNER TO RoleSpec  */
   43739             : #line 10427 "gram.y"
   43740             :                                 {
   43741             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43742             : 
   43743             :                     n->objectType = OBJECT_FUNCTION;
   43744             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   43745             :                     n->newowner = (yyvsp[0].rolespec);
   43746             :                     (yyval.node) = (Node *) n;
   43747             :                 }
   43748             : #line 43749 "gram.c"
   43749         574 :     break;
   43750             : 
   43751         122 :   case 1382: /* AlterOwnerStmt: ALTER opt_procedural LANGUAGE name OWNER TO RoleSpec  */
   43752             : #line 10436 "gram.y"
   43753             :                                 {
   43754             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43755             : 
   43756             :                     n->objectType = OBJECT_LANGUAGE;
   43757             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   43758             :                     n->newowner = (yyvsp[0].rolespec);
   43759             :                     (yyval.node) = (Node *) n;
   43760             :                 }
   43761             : #line 43762 "gram.c"
   43762         122 :     break;
   43763             : 
   43764          12 :   case 1383: /* AlterOwnerStmt: ALTER LARGE_P OBJECT_P NumericOnly OWNER TO RoleSpec  */
   43765             : #line 10445 "gram.y"
   43766             :                                 {
   43767             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43768             : 
   43769             :                     n->objectType = OBJECT_LARGEOBJECT;
   43770             :                     n->object = (Node *) (yyvsp[-3].node);
   43771             :                     n->newowner = (yyvsp[0].rolespec);
   43772             :                     (yyval.node) = (Node *) n;
   43773             :                 }
   43774             : #line 43775 "gram.c"
   43775          12 :     break;
   43776             : 
   43777          46 :   case 1384: /* AlterOwnerStmt: ALTER OPERATOR operator_with_argtypes OWNER TO RoleSpec  */
   43778             : #line 10454 "gram.y"
   43779             :                                 {
   43780             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43781             : 
   43782             :                     n->objectType = OBJECT_OPERATOR;
   43783             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   43784             :                     n->newowner = (yyvsp[0].rolespec);
   43785             :                     (yyval.node) = (Node *) n;
   43786             :                 }
   43787             : #line 43788 "gram.c"
   43788          46 :     break;
   43789             : 
   43790          54 :   case 1385: /* AlterOwnerStmt: ALTER OPERATOR CLASS any_name USING name OWNER TO RoleSpec  */
   43791             : #line 10463 "gram.y"
   43792             :                                 {
   43793             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43794             : 
   43795             :                     n->objectType = OBJECT_OPCLASS;
   43796             :                     n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
   43797             :                     n->newowner = (yyvsp[0].rolespec);
   43798             :                     (yyval.node) = (Node *) n;
   43799             :                 }
   43800             : #line 43801 "gram.c"
   43801          54 :     break;
   43802             : 
   43803          62 :   case 1386: /* AlterOwnerStmt: ALTER OPERATOR FAMILY any_name USING name OWNER TO RoleSpec  */
   43804             : #line 10472 "gram.y"
   43805             :                                 {
   43806             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43807             : 
   43808             :                     n->objectType = OBJECT_OPFAMILY;
   43809             :                     n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
   43810             :                     n->newowner = (yyvsp[0].rolespec);
   43811             :                     (yyval.node) = (Node *) n;
   43812             :                 }
   43813             : #line 43814 "gram.c"
   43814          62 :     break;
   43815             : 
   43816          18 :   case 1387: /* AlterOwnerStmt: ALTER PROCEDURE function_with_argtypes OWNER TO RoleSpec  */
   43817             : #line 10481 "gram.y"
   43818             :                                 {
   43819             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43820             : 
   43821             :                     n->objectType = OBJECT_PROCEDURE;
   43822             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   43823             :                     n->newowner = (yyvsp[0].rolespec);
   43824             :                     (yyval.node) = (Node *) n;
   43825             :                 }
   43826             : #line 43827 "gram.c"
   43827          18 :     break;
   43828             : 
   43829           0 :   case 1388: /* AlterOwnerStmt: ALTER ROUTINE function_with_argtypes OWNER TO RoleSpec  */
   43830             : #line 10490 "gram.y"
   43831             :                                 {
   43832             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43833             : 
   43834             :                     n->objectType = OBJECT_ROUTINE;
   43835             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   43836             :                     n->newowner = (yyvsp[0].rolespec);
   43837             :                     (yyval.node) = (Node *) n;
   43838             :                 }
   43839             : #line 43840 "gram.c"
   43840           0 :     break;
   43841             : 
   43842          52 :   case 1389: /* AlterOwnerStmt: ALTER SCHEMA name OWNER TO RoleSpec  */
   43843             : #line 10499 "gram.y"
   43844             :                                 {
   43845             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43846             : 
   43847             :                     n->objectType = OBJECT_SCHEMA;
   43848             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   43849             :                     n->newowner = (yyvsp[0].rolespec);
   43850             :                     (yyval.node) = (Node *) n;
   43851             :                 }
   43852             : #line 43853 "gram.c"
   43853          52 :     break;
   43854             : 
   43855          80 :   case 1390: /* AlterOwnerStmt: ALTER TYPE_P any_name OWNER TO RoleSpec  */
   43856             : #line 10508 "gram.y"
   43857             :                                 {
   43858             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43859             : 
   43860             :                     n->objectType = OBJECT_TYPE;
   43861             :                     n->object = (Node *) (yyvsp[-3].list);
   43862             :                     n->newowner = (yyvsp[0].rolespec);
   43863             :                     (yyval.node) = (Node *) n;
   43864             :                 }
   43865             : #line 43866 "gram.c"
   43866          80 :     break;
   43867             : 
   43868           6 :   case 1391: /* AlterOwnerStmt: ALTER TABLESPACE name OWNER TO RoleSpec  */
   43869             : #line 10517 "gram.y"
   43870             :                                 {
   43871             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43872             : 
   43873             :                     n->objectType = OBJECT_TABLESPACE;
   43874             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   43875             :                     n->newowner = (yyvsp[0].rolespec);
   43876             :                     (yyval.node) = (Node *) n;
   43877             :                 }
   43878             : #line 43879 "gram.c"
   43879           6 :     break;
   43880             : 
   43881          32 :   case 1392: /* AlterOwnerStmt: ALTER STATISTICS any_name OWNER TO RoleSpec  */
   43882             : #line 10526 "gram.y"
   43883             :                                 {
   43884             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43885             : 
   43886             :                     n->objectType = OBJECT_STATISTIC_EXT;
   43887             :                     n->object = (Node *) (yyvsp[-3].list);
   43888             :                     n->newowner = (yyvsp[0].rolespec);
   43889             :                     (yyval.node) = (Node *) n;
   43890             :                 }
   43891             : #line 43892 "gram.c"
   43892          32 :     break;
   43893             : 
   43894          42 :   case 1393: /* AlterOwnerStmt: ALTER TEXT_P SEARCH DICTIONARY any_name OWNER TO RoleSpec  */
   43895             : #line 10535 "gram.y"
   43896             :                                 {
   43897             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43898             : 
   43899             :                     n->objectType = OBJECT_TSDICTIONARY;
   43900             :                     n->object = (Node *) (yyvsp[-3].list);
   43901             :                     n->newowner = (yyvsp[0].rolespec);
   43902             :                     (yyval.node) = (Node *) n;
   43903             :                 }
   43904             : #line 43905 "gram.c"
   43905          42 :     break;
   43906             : 
   43907          32 :   case 1394: /* AlterOwnerStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name OWNER TO RoleSpec  */
   43908             : #line 10544 "gram.y"
   43909             :                                 {
   43910             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43911             : 
   43912             :                     n->objectType = OBJECT_TSCONFIGURATION;
   43913             :                     n->object = (Node *) (yyvsp[-3].list);
   43914             :                     n->newowner = (yyvsp[0].rolespec);
   43915             :                     (yyval.node) = (Node *) n;
   43916             :                 }
   43917             : #line 43918 "gram.c"
   43918          32 :     break;
   43919             : 
   43920          20 :   case 1395: /* AlterOwnerStmt: ALTER FOREIGN DATA_P WRAPPER name OWNER TO RoleSpec  */
   43921             : #line 10553 "gram.y"
   43922             :                                 {
   43923             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43924             : 
   43925             :                     n->objectType = OBJECT_FDW;
   43926             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   43927             :                     n->newowner = (yyvsp[0].rolespec);
   43928             :                     (yyval.node) = (Node *) n;
   43929             :                 }
   43930             : #line 43931 "gram.c"
   43931          20 :     break;
   43932             : 
   43933          68 :   case 1396: /* AlterOwnerStmt: ALTER SERVER name OWNER TO RoleSpec  */
   43934             : #line 10562 "gram.y"
   43935             :                                 {
   43936             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43937             : 
   43938             :                     n->objectType = OBJECT_FOREIGN_SERVER;
   43939             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   43940             :                     n->newowner = (yyvsp[0].rolespec);
   43941             :                     (yyval.node) = (Node *) n;
   43942             :                 }
   43943             : #line 43944 "gram.c"
   43944          68 :     break;
   43945             : 
   43946          14 :   case 1397: /* AlterOwnerStmt: ALTER EVENT TRIGGER name OWNER TO RoleSpec  */
   43947             : #line 10571 "gram.y"
   43948             :                                 {
   43949             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43950             : 
   43951             :                     n->objectType = OBJECT_EVENT_TRIGGER;
   43952             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   43953             :                     n->newowner = (yyvsp[0].rolespec);
   43954             :                     (yyval.node) = (Node *) n;
   43955             :                 }
   43956             : #line 43957 "gram.c"
   43957          14 :     break;
   43958             : 
   43959          26 :   case 1398: /* AlterOwnerStmt: ALTER PUBLICATION name OWNER TO RoleSpec  */
   43960             : #line 10580 "gram.y"
   43961             :                                 {
   43962             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43963             : 
   43964             :                     n->objectType = OBJECT_PUBLICATION;
   43965             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   43966             :                     n->newowner = (yyvsp[0].rolespec);
   43967             :                     (yyval.node) = (Node *) n;
   43968             :                 }
   43969             : #line 43970 "gram.c"
   43970          26 :     break;
   43971             : 
   43972          18 :   case 1399: /* AlterOwnerStmt: ALTER SUBSCRIPTION name OWNER TO RoleSpec  */
   43973             : #line 10589 "gram.y"
   43974             :                                 {
   43975             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43976             : 
   43977             :                     n->objectType = OBJECT_SUBSCRIPTION;
   43978             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   43979             :                     n->newowner = (yyvsp[0].rolespec);
   43980             :                     (yyval.node) = (Node *) n;
   43981             :                 }
   43982             : #line 43983 "gram.c"
   43983          18 :     break;
   43984             : 
   43985         108 :   case 1400: /* CreatePublicationStmt: CREATE PUBLICATION name opt_definition  */
   43986             : #line 10617 "gram.y"
   43987             :                                 {
   43988             :                     CreatePublicationStmt *n = makeNode(CreatePublicationStmt);
   43989             : 
   43990             :                     n->pubname = (yyvsp[-1].str);
   43991             :                     n->options = (yyvsp[0].list);
   43992             :                     (yyval.node) = (Node *) n;
   43993             :                 }
   43994             : #line 43995 "gram.c"
   43995         108 :     break;
   43996             : 
   43997          62 :   case 1401: /* CreatePublicationStmt: CREATE PUBLICATION name FOR ALL TABLES opt_definition  */
   43998             : #line 10625 "gram.y"
   43999             :                                 {
   44000             :                     CreatePublicationStmt *n = makeNode(CreatePublicationStmt);
   44001             : 
   44002             :                     n->pubname = (yyvsp[-4].str);
   44003             :                     n->options = (yyvsp[0].list);
   44004             :                     n->for_all_tables = true;
   44005             :                     (yyval.node) = (Node *) n;
   44006             :                 }
   44007             : #line 44008 "gram.c"
   44008          62 :     break;
   44009             : 
   44010         550 :   case 1402: /* CreatePublicationStmt: CREATE PUBLICATION name FOR pub_obj_list opt_definition  */
   44011             : #line 10634 "gram.y"
   44012             :                                 {
   44013             :                     CreatePublicationStmt *n = makeNode(CreatePublicationStmt);
   44014             : 
   44015             :                     n->pubname = (yyvsp[-3].str);
   44016             :                     n->options = (yyvsp[0].list);
   44017             :                     n->pubobjects = (List *) (yyvsp[-1].list);
   44018             :                     preprocess_pubobj_list(n->pubobjects, yyscanner);
   44019             :                     (yyval.node) = (Node *) n;
   44020             :                 }
   44021             : #line 44022 "gram.c"
   44022         520 :     break;
   44023             : 
   44024        1158 :   case 1403: /* PublicationObjSpec: TABLE relation_expr opt_column_list OptWhereClause  */
   44025             : #line 10660 "gram.y"
   44026             :                                 {
   44027             :                     (yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
   44028             :                     (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_TABLE;
   44029             :                     (yyval.publicationobjectspec)->pubtable = makeNode(PublicationTable);
   44030             :                     (yyval.publicationobjectspec)->pubtable->relation = (yyvsp[-2].range);
   44031             :                     (yyval.publicationobjectspec)->pubtable->columns = (yyvsp[-1].list);
   44032             :                     (yyval.publicationobjectspec)->pubtable->whereClause = (yyvsp[0].node);
   44033             :                 }
   44034             : #line 44035 "gram.c"
   44035        1158 :     break;
   44036             : 
   44037         332 :   case 1404: /* PublicationObjSpec: TABLES IN_P SCHEMA ColId  */
   44038             : #line 10669 "gram.y"
   44039             :                                 {
   44040             :                     (yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
   44041             :                     (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_TABLES_IN_SCHEMA;
   44042             :                     (yyval.publicationobjectspec)->name = (yyvsp[0].str);
   44043             :                     (yyval.publicationobjectspec)->location = (yylsp[0]);
   44044             :                 }
   44045             : #line 44046 "gram.c"
   44046         332 :     break;
   44047             : 
   44048          18 :   case 1405: /* PublicationObjSpec: TABLES IN_P SCHEMA CURRENT_SCHEMA  */
   44049             : #line 10676 "gram.y"
   44050             :                                 {
   44051             :                     (yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
   44052             :                     (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA;
   44053             :                     (yyval.publicationobjectspec)->location = (yylsp[0]);
   44054             :                 }
   44055             : #line 44056 "gram.c"
   44056          18 :     break;
   44057             : 
   44058         130 :   case 1406: /* PublicationObjSpec: ColId opt_column_list OptWhereClause  */
   44059             : #line 10682 "gram.y"
   44060             :                                 {
   44061             :                     (yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
   44062             :                     (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_CONTINUATION;
   44063             :                     /*
   44064             :                      * If either a row filter or column list is specified, create
   44065             :                      * a PublicationTable object.
   44066             :                      */
   44067             :                     if ((yyvsp[-1].list) || (yyvsp[0].node))
   44068             :                     {
   44069             :                         /*
   44070             :                          * The OptWhereClause must be stored here but it is
   44071             :                          * valid only for tables. For non-table objects, an
   44072             :                          * error will be thrown later via
   44073             :                          * preprocess_pubobj_list().
   44074             :                          */
   44075             :                         (yyval.publicationobjectspec)->pubtable = makeNode(PublicationTable);
   44076             :                         (yyval.publicationobjectspec)->pubtable->relation = makeRangeVar(NULL, (yyvsp[-2].str), (yylsp[-2]));
   44077             :                         (yyval.publicationobjectspec)->pubtable->columns = (yyvsp[-1].list);
   44078             :                         (yyval.publicationobjectspec)->pubtable->whereClause = (yyvsp[0].node);
   44079             :                     }
   44080             :                     else
   44081             :                     {
   44082             :                         (yyval.publicationobjectspec)->name = (yyvsp[-2].str);
   44083             :                     }
   44084             :                     (yyval.publicationobjectspec)->location = (yylsp[-2]);
   44085             :                 }
   44086             : #line 44087 "gram.c"
   44087         130 :     break;
   44088             : 
   44089          32 :   case 1407: /* PublicationObjSpec: ColId indirection opt_column_list OptWhereClause  */
   44090             : #line 10709 "gram.y"
   44091             :                                 {
   44092             :                     (yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
   44093             :                     (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_CONTINUATION;
   44094             :                     (yyval.publicationobjectspec)->pubtable = makeNode(PublicationTable);
   44095             :                     (yyval.publicationobjectspec)->pubtable->relation = makeRangeVarFromQualifiedName((yyvsp[-3].str), (yyvsp[-2].list), (yylsp[-3]), yyscanner);
   44096             :                     (yyval.publicationobjectspec)->pubtable->columns = (yyvsp[-1].list);
   44097             :                     (yyval.publicationobjectspec)->pubtable->whereClause = (yyvsp[0].node);
   44098             :                     (yyval.publicationobjectspec)->location = (yylsp[-3]);
   44099             :                 }
   44100             : #line 44101 "gram.c"
   44101          32 :     break;
   44102             : 
   44103           6 :   case 1408: /* PublicationObjSpec: extended_relation_expr opt_column_list OptWhereClause  */
   44104             : #line 10720 "gram.y"
   44105             :                                 {
   44106             :                     (yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
   44107             :                     (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_CONTINUATION;
   44108             :                     (yyval.publicationobjectspec)->pubtable = makeNode(PublicationTable);
   44109             :                     (yyval.publicationobjectspec)->pubtable->relation = (yyvsp[-2].range);
   44110             :                     (yyval.publicationobjectspec)->pubtable->columns = (yyvsp[-1].list);
   44111             :                     (yyval.publicationobjectspec)->pubtable->whereClause = (yyvsp[0].node);
   44112             :                 }
   44113             : #line 44114 "gram.c"
   44114           6 :     break;
   44115             : 
   44116          18 :   case 1409: /* PublicationObjSpec: CURRENT_SCHEMA  */
   44117             : #line 10729 "gram.y"
   44118             :                                 {
   44119             :                     (yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
   44120             :                     (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_CONTINUATION;
   44121             :                     (yyval.publicationobjectspec)->location = (yylsp[0]);
   44122             :                 }
   44123             : #line 44124 "gram.c"
   44124          18 :     break;
   44125             : 
   44126        1470 :   case 1410: /* pub_obj_list: PublicationObjSpec  */
   44127             : #line 10737 "gram.y"
   44128             :                                         { (yyval.list) = list_make1((yyvsp[0].publicationobjectspec)); }
   44129             : #line 44130 "gram.c"
   44130        1470 :     break;
   44131             : 
   44132         224 :   case 1411: /* pub_obj_list: pub_obj_list ',' PublicationObjSpec  */
   44133             : #line 10739 "gram.y"
   44134             :                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].publicationobjectspec)); }
   44135             : #line 44136 "gram.c"
   44136         224 :     break;
   44137             : 
   44138         110 :   case 1412: /* AlterPublicationStmt: ALTER PUBLICATION name SET definition  */
   44139             : #line 10761 "gram.y"
   44140             :                                 {
   44141             :                     AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
   44142             : 
   44143             :                     n->pubname = (yyvsp[-2].str);
   44144             :                     n->options = (yyvsp[0].list);
   44145             :                     (yyval.node) = (Node *) n;
   44146             :                 }
   44147             : #line 44148 "gram.c"
   44148         110 :     break;
   44149             : 
   44150         332 :   case 1413: /* AlterPublicationStmt: ALTER PUBLICATION name ADD_P pub_obj_list  */
   44151             : #line 10769 "gram.y"
   44152             :                                 {
   44153             :                     AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
   44154             : 
   44155             :                     n->pubname = (yyvsp[-2].str);
   44156             :                     n->pubobjects = (yyvsp[0].list);
   44157             :                     preprocess_pubobj_list(n->pubobjects, yyscanner);
   44158             :                     n->action = AP_AddObjects;
   44159             :                     (yyval.node) = (Node *) n;
   44160             :                 }
   44161             : #line 44162 "gram.c"
   44162         326 :     break;
   44163             : 
   44164         440 :   case 1414: /* AlterPublicationStmt: ALTER PUBLICATION name SET pub_obj_list  */
   44165             : #line 10779 "gram.y"
   44166             :                                 {
   44167             :                     AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
   44168             : 
   44169             :                     n->pubname = (yyvsp[-2].str);
   44170             :                     n->pubobjects = (yyvsp[0].list);
   44171             :                     preprocess_pubobj_list(n->pubobjects, yyscanner);
   44172             :                     n->action = AP_SetObjects;
   44173             :                     (yyval.node) = (Node *) n;
   44174             :                 }
   44175             : #line 44176 "gram.c"
   44176         440 :     break;
   44177             : 
   44178         148 :   case 1415: /* AlterPublicationStmt: ALTER PUBLICATION name DROP pub_obj_list  */
   44179             : #line 10789 "gram.y"
   44180             :                                 {
   44181             :                     AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
   44182             : 
   44183             :                     n->pubname = (yyvsp[-2].str);
   44184             :                     n->pubobjects = (yyvsp[0].list);
   44185             :                     preprocess_pubobj_list(n->pubobjects, yyscanner);
   44186             :                     n->action = AP_DropObjects;
   44187             :                     (yyval.node) = (Node *) n;
   44188             :                 }
   44189             : #line 44190 "gram.c"
   44190         148 :     break;
   44191             : 
   44192         422 :   case 1416: /* CreateSubscriptionStmt: CREATE SUBSCRIPTION name CONNECTION Sconst PUBLICATION name_list opt_definition  */
   44193             : #line 10808 "gram.y"
   44194             :                                 {
   44195             :                     CreateSubscriptionStmt *n =
   44196             :                         makeNode(CreateSubscriptionStmt);
   44197             :                     n->subname = (yyvsp[-5].str);
   44198             :                     n->conninfo = (yyvsp[-3].str);
   44199             :                     n->publication = (yyvsp[-1].list);
   44200             :                     n->options = (yyvsp[0].list);
   44201             :                     (yyval.node) = (Node *) n;
   44202             :                 }
   44203             : #line 44204 "gram.c"
   44204         422 :     break;
   44205             : 
   44206         180 :   case 1417: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name SET definition  */
   44207             : #line 10827 "gram.y"
   44208             :                                 {
   44209             :                     AlterSubscriptionStmt *n =
   44210             :                         makeNode(AlterSubscriptionStmt);
   44211             : 
   44212             :                     n->kind = ALTER_SUBSCRIPTION_OPTIONS;
   44213             :                     n->subname = (yyvsp[-2].str);
   44214             :                     n->options = (yyvsp[0].list);
   44215             :                     (yyval.node) = (Node *) n;
   44216             :                 }
   44217             : #line 44218 "gram.c"
   44218         180 :     break;
   44219             : 
   44220          26 :   case 1418: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name CONNECTION Sconst  */
   44221             : #line 10837 "gram.y"
   44222             :                                 {
   44223             :                     AlterSubscriptionStmt *n =
   44224             :                         makeNode(AlterSubscriptionStmt);
   44225             : 
   44226             :                     n->kind = ALTER_SUBSCRIPTION_CONNECTION;
   44227             :                     n->subname = (yyvsp[-2].str);
   44228             :                     n->conninfo = (yyvsp[0].str);
   44229             :                     (yyval.node) = (Node *) n;
   44230             :                 }
   44231             : #line 44232 "gram.c"
   44232          26 :     break;
   44233             : 
   44234          54 :   case 1419: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name REFRESH PUBLICATION opt_definition  */
   44235             : #line 10847 "gram.y"
   44236             :                                 {
   44237             :                     AlterSubscriptionStmt *n =
   44238             :                         makeNode(AlterSubscriptionStmt);
   44239             : 
   44240             :                     n->kind = ALTER_SUBSCRIPTION_REFRESH;
   44241             :                     n->subname = (yyvsp[-3].str);
   44242             :                     n->options = (yyvsp[0].list);
   44243             :                     (yyval.node) = (Node *) n;
   44244             :                 }
   44245             : #line 44246 "gram.c"
   44246          54 :     break;
   44247             : 
   44248          28 :   case 1420: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name ADD_P PUBLICATION name_list opt_definition  */
   44249             : #line 10857 "gram.y"
   44250             :                                 {
   44251             :                     AlterSubscriptionStmt *n =
   44252             :                         makeNode(AlterSubscriptionStmt);
   44253             : 
   44254             :                     n->kind = ALTER_SUBSCRIPTION_ADD_PUBLICATION;
   44255             :                     n->subname = (yyvsp[-4].str);
   44256             :                     n->publication = (yyvsp[-1].list);
   44257             :                     n->options = (yyvsp[0].list);
   44258             :                     (yyval.node) = (Node *) n;
   44259             :                 }
   44260             : #line 44261 "gram.c"
   44261          28 :     break;
   44262             : 
   44263          26 :   case 1421: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name DROP PUBLICATION name_list opt_definition  */
   44264             : #line 10868 "gram.y"
   44265             :                                 {
   44266             :                     AlterSubscriptionStmt *n =
   44267             :                         makeNode(AlterSubscriptionStmt);
   44268             : 
   44269             :                     n->kind = ALTER_SUBSCRIPTION_DROP_PUBLICATION;
   44270             :                     n->subname = (yyvsp[-4].str);
   44271             :                     n->publication = (yyvsp[-1].list);
   44272             :                     n->options = (yyvsp[0].list);
   44273             :                     (yyval.node) = (Node *) n;
   44274             :                 }
   44275             : #line 44276 "gram.c"
   44276          26 :     break;
   44277             : 
   44278          40 :   case 1422: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name SET PUBLICATION name_list opt_definition  */
   44279             : #line 10879 "gram.y"
   44280             :                                 {
   44281             :                     AlterSubscriptionStmt *n =
   44282             :                         makeNode(AlterSubscriptionStmt);
   44283             : 
   44284             :                     n->kind = ALTER_SUBSCRIPTION_SET_PUBLICATION;
   44285             :                     n->subname = (yyvsp[-4].str);
   44286             :                     n->publication = (yyvsp[-1].list);
   44287             :                     n->options = (yyvsp[0].list);
   44288             :                     (yyval.node) = (Node *) n;
   44289             :                 }
   44290             : #line 44291 "gram.c"
   44291          40 :     break;
   44292             : 
   44293          44 :   case 1423: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name ENABLE_P  */
   44294             : #line 10890 "gram.y"
   44295             :                                 {
   44296             :                     AlterSubscriptionStmt *n =
   44297             :                         makeNode(AlterSubscriptionStmt);
   44298             : 
   44299             :                     n->kind = ALTER_SUBSCRIPTION_ENABLED;
   44300             :                     n->subname = (yyvsp[-1].str);
   44301             :                     n->options = list_make1(makeDefElem("enabled",
   44302             :                                             (Node *) makeBoolean(true), (yylsp[-3])));
   44303             :                     (yyval.node) = (Node *) n;
   44304             :                 }
   44305             : #line 44306 "gram.c"
   44306          44 :     break;
   44307             : 
   44308          26 :   case 1424: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name DISABLE_P  */
   44309             : #line 10901 "gram.y"
   44310             :                                 {
   44311             :                     AlterSubscriptionStmt *n =
   44312             :                         makeNode(AlterSubscriptionStmt);
   44313             : 
   44314             :                     n->kind = ALTER_SUBSCRIPTION_ENABLED;
   44315             :                     n->subname = (yyvsp[-1].str);
   44316             :                     n->options = list_make1(makeDefElem("enabled",
   44317             :                                             (Node *) makeBoolean(false), (yylsp[-3])));
   44318             :                     (yyval.node) = (Node *) n;
   44319             :                 }
   44320             : #line 44321 "gram.c"
   44321          26 :     break;
   44322             : 
   44323          24 :   case 1425: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name SKIP definition  */
   44324             : #line 10912 "gram.y"
   44325             :                                 {
   44326             :                     AlterSubscriptionStmt *n =
   44327             :                         makeNode(AlterSubscriptionStmt);
   44328             : 
   44329             :                     n->kind = ALTER_SUBSCRIPTION_SKIP;
   44330             :                     n->subname = (yyvsp[-2].str);
   44331             :                     n->options = (yyvsp[0].list);
   44332             :                     (yyval.node) = (Node *) n;
   44333             :                 }
   44334             : #line 44335 "gram.c"
   44335          24 :     break;
   44336             : 
   44337         186 :   case 1426: /* DropSubscriptionStmt: DROP SUBSCRIPTION name opt_drop_behavior  */
   44338             : #line 10930 "gram.y"
   44339             :                                 {
   44340             :                     DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt);
   44341             : 
   44342             :                     n->subname = (yyvsp[-1].str);
   44343             :                     n->missing_ok = false;
   44344             :                     n->behavior = (yyvsp[0].dbehavior);
   44345             :                     (yyval.node) = (Node *) n;
   44346             :                 }
   44347             : #line 44348 "gram.c"
   44348         186 :     break;
   44349             : 
   44350           6 :   case 1427: /* DropSubscriptionStmt: DROP SUBSCRIPTION IF_P EXISTS name opt_drop_behavior  */
   44351             : #line 10939 "gram.y"
   44352             :                                 {
   44353             :                     DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt);
   44354             : 
   44355             :                     n->subname = (yyvsp[-1].str);
   44356             :                     n->missing_ok = true;
   44357             :                     n->behavior = (yyvsp[0].dbehavior);
   44358             :                     (yyval.node) = (Node *) n;
   44359             :                 }
   44360             : #line 44361 "gram.c"
   44361           6 :     break;
   44362             : 
   44363        1034 :   case 1428: /* RuleStmt: CREATE opt_or_replace RULE name AS ON event TO qualified_name where_clause DO opt_instead RuleActionList  */
   44364             : #line 10958 "gram.y"
   44365             :                                 {
   44366             :                     RuleStmt   *n = makeNode(RuleStmt);
   44367             : 
   44368             :                     n->replace = (yyvsp[-11].boolean);
   44369             :                     n->relation = (yyvsp[-4].range);
   44370             :                     n->rulename = (yyvsp[-9].str);
   44371             :                     n->whereClause = (yyvsp[-3].node);
   44372             :                     n->event = (yyvsp[-6].ival);
   44373             :                     n->instead = (yyvsp[-1].boolean);
   44374             :                     n->actions = (yyvsp[0].list);
   44375             :                     (yyval.node) = (Node *) n;
   44376             :                 }
   44377             : #line 44378 "gram.c"
   44378        1034 :     break;
   44379             : 
   44380         142 :   case 1429: /* RuleActionList: NOTHING  */
   44381             : #line 10973 "gram.y"
   44382             :                                                                                                 { (yyval.list) = NIL; }
   44383             : #line 44384 "gram.c"
   44384         142 :     break;
   44385             : 
   44386         846 :   case 1430: /* RuleActionList: RuleActionStmt  */
   44387             : #line 10974 "gram.y"
   44388             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   44389             : #line 44390 "gram.c"
   44390         846 :     break;
   44391             : 
   44392          46 :   case 1431: /* RuleActionList: '(' RuleActionMulti ')'  */
   44393             : #line 10975 "gram.y"
   44394             :                                                                                 { (yyval.list) = (yyvsp[-1].list); }
   44395             : #line 44396 "gram.c"
   44396          46 :     break;
   44397             : 
   44398          62 :   case 1432: /* RuleActionMulti: RuleActionMulti ';' RuleActionStmtOrEmpty  */
   44399             : #line 10981 "gram.y"
   44400             :                                 { if ((yyvsp[0].node) != NULL)
   44401             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
   44402             :                   else
   44403             :                     (yyval.list) = (yyvsp[-2].list);
   44404             :                 }
   44405             : #line 44406 "gram.c"
   44406          62 :     break;
   44407             : 
   44408          46 :   case 1433: /* RuleActionMulti: RuleActionStmtOrEmpty  */
   44409             : #line 10987 "gram.y"
   44410             :                                 { if ((yyvsp[0].node) != NULL)
   44411             :                     (yyval.list) = list_make1((yyvsp[0].node));
   44412             :                   else
   44413             :                     (yyval.list) = NIL;
   44414             :                 }
   44415             : #line 44416 "gram.c"
   44416          46 :     break;
   44417             : 
   44418          92 :   case 1439: /* RuleActionStmtOrEmpty: RuleActionStmt  */
   44419             : #line 11003 "gram.y"
   44420             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   44421             : #line 44422 "gram.c"
   44422          92 :     break;
   44423             : 
   44424          16 :   case 1440: /* RuleActionStmtOrEmpty: %empty  */
   44425             : #line 11004 "gram.y"
   44426             :                                                                                                 { (yyval.node) = NULL; }
   44427             : #line 44428 "gram.c"
   44428          16 :     break;
   44429             : 
   44430          18 :   case 1441: /* event: SELECT  */
   44431             : #line 11007 "gram.y"
   44432             :                                                                                         { (yyval.ival) = CMD_SELECT; }
   44433             : #line 44434 "gram.c"
   44434          18 :     break;
   44435             : 
   44436         386 :   case 1442: /* event: UPDATE  */
   44437             : #line 11008 "gram.y"
   44438             :                                                                                                 { (yyval.ival) = CMD_UPDATE; }
   44439             : #line 44440 "gram.c"
   44440         386 :     break;
   44441             : 
   44442         158 :   case 1443: /* event: DELETE_P  */
   44443             : #line 11009 "gram.y"
   44444             :                                                                                                 { (yyval.ival) = CMD_DELETE; }
   44445             : #line 44446 "gram.c"
   44446         158 :     break;
   44447             : 
   44448         472 :   case 1444: /* event: INSERT  */
   44449             : #line 11010 "gram.y"
   44450             :                                                                                                 { (yyval.ival) = CMD_INSERT; }
   44451             : #line 44452 "gram.c"
   44452         472 :     break;
   44453             : 
   44454         714 :   case 1445: /* opt_instead: INSTEAD  */
   44455             : #line 11014 "gram.y"
   44456             :                                                                                                 { (yyval.boolean) = true; }
   44457             : #line 44458 "gram.c"
   44458         714 :     break;
   44459             : 
   44460         156 :   case 1446: /* opt_instead: ALSO  */
   44461             : #line 11015 "gram.y"
   44462             :                                                                                                 { (yyval.boolean) = false; }
   44463             : #line 44464 "gram.c"
   44464         156 :     break;
   44465             : 
   44466         164 :   case 1447: /* opt_instead: %empty  */
   44467             : #line 11016 "gram.y"
   44468             :                                                                                                 { (yyval.boolean) = false; }
   44469             : #line 44470 "gram.c"
   44470         164 :     break;
   44471             : 
   44472         122 :   case 1448: /* NotifyStmt: NOTIFY ColId notify_payload  */
   44473             : #line 11029 "gram.y"
   44474             :                                 {
   44475             :                     NotifyStmt *n = makeNode(NotifyStmt);
   44476             : 
   44477             :                     n->conditionname = (yyvsp[-1].str);
   44478             :                     n->payload = (yyvsp[0].str);
   44479             :                     (yyval.node) = (Node *) n;
   44480             :                 }
   44481             : #line 44482 "gram.c"
   44482         122 :     break;
   44483             : 
   44484          62 :   case 1449: /* notify_payload: ',' Sconst  */
   44485             : #line 11039 "gram.y"
   44486             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   44487             : #line 44488 "gram.c"
   44488          62 :     break;
   44489             : 
   44490          60 :   case 1450: /* notify_payload: %empty  */
   44491             : #line 11040 "gram.y"
   44492             :                                                                                         { (yyval.str) = NULL; }
   44493             : #line 44494 "gram.c"
   44494          60 :     break;
   44495             : 
   44496          74 :   case 1451: /* ListenStmt: LISTEN ColId  */
   44497             : #line 11044 "gram.y"
   44498             :                                 {
   44499             :                     ListenStmt *n = makeNode(ListenStmt);
   44500             : 
   44501             :                     n->conditionname = (yyvsp[0].str);
   44502             :                     (yyval.node) = (Node *) n;
   44503             :                 }
   44504             : #line 44505 "gram.c"
   44505          74 :     break;
   44506             : 
   44507           6 :   case 1452: /* UnlistenStmt: UNLISTEN ColId  */
   44508             : #line 11054 "gram.y"
   44509             :                                 {
   44510             :                     UnlistenStmt *n = makeNode(UnlistenStmt);
   44511             : 
   44512             :                     n->conditionname = (yyvsp[0].str);
   44513             :                     (yyval.node) = (Node *) n;
   44514             :                 }
   44515             : #line 44516 "gram.c"
   44516           6 :     break;
   44517             : 
   44518          32 :   case 1453: /* UnlistenStmt: UNLISTEN '*'  */
   44519             : #line 11061 "gram.y"
   44520             :                                 {
   44521             :                     UnlistenStmt *n = makeNode(UnlistenStmt);
   44522             : 
   44523             :                     n->conditionname = NULL;
   44524             :                     (yyval.node) = (Node *) n;
   44525             :                 }
   44526             : #line 44527 "gram.c"
   44527          32 :     break;
   44528             : 
   44529         204 :   case 1454: /* TransactionStmt: ABORT_P opt_transaction opt_transaction_chain  */
   44530             : #line 11081 "gram.y"
   44531             :                                 {
   44532             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44533             : 
   44534             :                     n->kind = TRANS_STMT_ROLLBACK;
   44535             :                     n->options = NIL;
   44536             :                     n->chain = (yyvsp[0].boolean);
   44537             :                     n->location = -1;
   44538             :                     (yyval.node) = (Node *) n;
   44539             :                 }
   44540             : #line 44541 "gram.c"
   44541         204 :     break;
   44542             : 
   44543        1578 :   case 1455: /* TransactionStmt: START TRANSACTION transaction_mode_list_or_empty  */
   44544             : #line 11091 "gram.y"
   44545             :                                 {
   44546             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44547             : 
   44548             :                     n->kind = TRANS_STMT_START;
   44549             :                     n->options = (yyvsp[0].list);
   44550             :                     n->location = -1;
   44551             :                     (yyval.node) = (Node *) n;
   44552             :                 }
   44553             : #line 44554 "gram.c"
   44554        1578 :     break;
   44555             : 
   44556       11436 :   case 1456: /* TransactionStmt: COMMIT opt_transaction opt_transaction_chain  */
   44557             : #line 11100 "gram.y"
   44558             :                                 {
   44559             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44560             : 
   44561             :                     n->kind = TRANS_STMT_COMMIT;
   44562             :                     n->options = NIL;
   44563             :                     n->chain = (yyvsp[0].boolean);
   44564             :                     n->location = -1;
   44565             :                     (yyval.node) = (Node *) n;
   44566             :                 }
   44567             : #line 44568 "gram.c"
   44568       11436 :     break;
   44569             : 
   44570        2364 :   case 1457: /* TransactionStmt: ROLLBACK opt_transaction opt_transaction_chain  */
   44571             : #line 11110 "gram.y"
   44572             :                                 {
   44573             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44574             : 
   44575             :                     n->kind = TRANS_STMT_ROLLBACK;
   44576             :                     n->options = NIL;
   44577             :                     n->chain = (yyvsp[0].boolean);
   44578             :                     n->location = -1;
   44579             :                     (yyval.node) = (Node *) n;
   44580             :                 }
   44581             : #line 44582 "gram.c"
   44582        2364 :     break;
   44583             : 
   44584        1986 :   case 1458: /* TransactionStmt: SAVEPOINT ColId  */
   44585             : #line 11120 "gram.y"
   44586             :                                 {
   44587             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44588             : 
   44589             :                     n->kind = TRANS_STMT_SAVEPOINT;
   44590             :                     n->savepoint_name = (yyvsp[0].str);
   44591             :                     n->location = (yylsp[0]);
   44592             :                     (yyval.node) = (Node *) n;
   44593             :                 }
   44594             : #line 44595 "gram.c"
   44595        1986 :     break;
   44596             : 
   44597         208 :   case 1459: /* TransactionStmt: RELEASE SAVEPOINT ColId  */
   44598             : #line 11129 "gram.y"
   44599             :                                 {
   44600             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44601             : 
   44602             :                     n->kind = TRANS_STMT_RELEASE;
   44603             :                     n->savepoint_name = (yyvsp[0].str);
   44604             :                     n->location = (yylsp[0]);
   44605             :                     (yyval.node) = (Node *) n;
   44606             :                 }
   44607             : #line 44608 "gram.c"
   44608         208 :     break;
   44609             : 
   44610          86 :   case 1460: /* TransactionStmt: RELEASE ColId  */
   44611             : #line 11138 "gram.y"
   44612             :                                 {
   44613             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44614             : 
   44615             :                     n->kind = TRANS_STMT_RELEASE;
   44616             :                     n->savepoint_name = (yyvsp[0].str);
   44617             :                     n->location = (yylsp[0]);
   44618             :                     (yyval.node) = (Node *) n;
   44619             :                 }
   44620             : #line 44621 "gram.c"
   44621          86 :     break;
   44622             : 
   44623         218 :   case 1461: /* TransactionStmt: ROLLBACK opt_transaction TO SAVEPOINT ColId  */
   44624             : #line 11147 "gram.y"
   44625             :                                 {
   44626             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44627             : 
   44628             :                     n->kind = TRANS_STMT_ROLLBACK_TO;
   44629             :                     n->savepoint_name = (yyvsp[0].str);
   44630             :                     n->location = (yylsp[0]);
   44631             :                     (yyval.node) = (Node *) n;
   44632             :                 }
   44633             : #line 44634 "gram.c"
   44634         218 :     break;
   44635             : 
   44636         494 :   case 1462: /* TransactionStmt: ROLLBACK opt_transaction TO ColId  */
   44637             : #line 11156 "gram.y"
   44638             :                                 {
   44639             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44640             : 
   44641             :                     n->kind = TRANS_STMT_ROLLBACK_TO;
   44642             :                     n->savepoint_name = (yyvsp[0].str);
   44643             :                     n->location = (yylsp[0]);
   44644             :                     (yyval.node) = (Node *) n;
   44645             :                 }
   44646             : #line 44647 "gram.c"
   44647         494 :     break;
   44648             : 
   44649         836 :   case 1463: /* TransactionStmt: PREPARE TRANSACTION Sconst  */
   44650             : #line 11165 "gram.y"
   44651             :                                 {
   44652             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44653             : 
   44654             :                     n->kind = TRANS_STMT_PREPARE;
   44655             :                     n->gid = (yyvsp[0].str);
   44656             :                     n->location = (yylsp[0]);
   44657             :                     (yyval.node) = (Node *) n;
   44658             :                 }
   44659             : #line 44660 "gram.c"
   44660         836 :     break;
   44661             : 
   44662         682 :   case 1464: /* TransactionStmt: COMMIT PREPARED Sconst  */
   44663             : #line 11174 "gram.y"
   44664             :                                 {
   44665             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44666             : 
   44667             :                     n->kind = TRANS_STMT_COMMIT_PREPARED;
   44668             :                     n->gid = (yyvsp[0].str);
   44669             :                     n->location = (yylsp[0]);
   44670             :                     (yyval.node) = (Node *) n;
   44671             :                 }
   44672             : #line 44673 "gram.c"
   44673         682 :     break;
   44674             : 
   44675          74 :   case 1465: /* TransactionStmt: ROLLBACK PREPARED Sconst  */
   44676             : #line 11183 "gram.y"
   44677             :                                 {
   44678             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44679             : 
   44680             :                     n->kind = TRANS_STMT_ROLLBACK_PREPARED;
   44681             :                     n->gid = (yyvsp[0].str);
   44682             :                     n->location = (yylsp[0]);
   44683             :                     (yyval.node) = (Node *) n;
   44684             :                 }
   44685             : #line 44686 "gram.c"
   44686          74 :     break;
   44687             : 
   44688       13908 :   case 1466: /* TransactionStmtLegacy: BEGIN_P opt_transaction transaction_mode_list_or_empty  */
   44689             : #line 11195 "gram.y"
   44690             :                                 {
   44691             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44692             : 
   44693             :                     n->kind = TRANS_STMT_BEGIN;
   44694             :                     n->options = (yyvsp[0].list);
   44695             :                     n->location = -1;
   44696             :                     (yyval.node) = (Node *) n;
   44697             :                 }
   44698             : #line 44699 "gram.c"
   44699       13908 :     break;
   44700             : 
   44701         360 :   case 1467: /* TransactionStmtLegacy: END_P opt_transaction opt_transaction_chain  */
   44702             : #line 11204 "gram.y"
   44703             :                                 {
   44704             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44705             : 
   44706             :                     n->kind = TRANS_STMT_COMMIT;
   44707             :                     n->options = NIL;
   44708             :                     n->chain = (yyvsp[0].boolean);
   44709             :                     n->location = -1;
   44710             :                     (yyval.node) = (Node *) n;
   44711             :                 }
   44712             : #line 44713 "gram.c"
   44713         360 :     break;
   44714             : 
   44715        6562 :   case 1471: /* transaction_mode_item: ISOLATION LEVEL iso_level  */
   44716             : #line 11222 "gram.y"
   44717             :                                         { (yyval.defelt) = makeDefElem("transaction_isolation",
   44718             :                                        makeStringConst((yyvsp[0].str), (yylsp[0])), (yylsp[-2])); }
   44719             : #line 44720 "gram.c"
   44720        6562 :     break;
   44721             : 
   44722        1290 :   case 1472: /* transaction_mode_item: READ ONLY  */
   44723             : #line 11225 "gram.y"
   44724             :                                         { (yyval.defelt) = makeDefElem("transaction_read_only",
   44725             :                                        makeIntConst(true, (yylsp[-1])), (yylsp[-1])); }
   44726             : #line 44727 "gram.c"
   44727        1290 :     break;
   44728             : 
   44729          88 :   case 1473: /* transaction_mode_item: READ WRITE  */
   44730             : #line 11228 "gram.y"
   44731             :                                         { (yyval.defelt) = makeDefElem("transaction_read_only",
   44732             :                                        makeIntConst(false, (yylsp[-1])), (yylsp[-1])); }
   44733             : #line 44734 "gram.c"
   44734          88 :     break;
   44735             : 
   44736          44 :   case 1474: /* transaction_mode_item: DEFERRABLE  */
   44737             : #line 11231 "gram.y"
   44738             :                                         { (yyval.defelt) = makeDefElem("transaction_deferrable",
   44739             :                                        makeIntConst(true, (yylsp[0])), (yylsp[0])); }
   44740             : #line 44741 "gram.c"
   44741          44 :     break;
   44742             : 
   44743          10 :   case 1475: /* transaction_mode_item: NOT DEFERRABLE  */
   44744             : #line 11234 "gram.y"
   44745             :                                         { (yyval.defelt) = makeDefElem("transaction_deferrable",
   44746             :                                        makeIntConst(false, (yylsp[-1])), (yylsp[-1])); }
   44747             : #line 44748 "gram.c"
   44748          10 :     break;
   44749             : 
   44750        6772 :   case 1476: /* transaction_mode_list: transaction_mode_item  */
   44751             : #line 11241 "gram.y"
   44752             :                                         { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   44753             : #line 44754 "gram.c"
   44754        6772 :     break;
   44755             : 
   44756         870 :   case 1477: /* transaction_mode_list: transaction_mode_list ',' transaction_mode_item  */
   44757             : #line 11243 "gram.y"
   44758             :                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
   44759             : #line 44760 "gram.c"
   44760         870 :     break;
   44761             : 
   44762         352 :   case 1478: /* transaction_mode_list: transaction_mode_list transaction_mode_item  */
   44763             : #line 11245 "gram.y"
   44764             :                                         { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   44765             : #line 44766 "gram.c"
   44766         352 :     break;
   44767             : 
   44768        9242 :   case 1480: /* transaction_mode_list_or_empty: %empty  */
   44769             : #line 11251 "gram.y"
   44770             :                                         { (yyval.list) = NIL; }
   44771             : #line 44772 "gram.c"
   44772        9242 :     break;
   44773             : 
   44774         120 :   case 1481: /* opt_transaction_chain: AND CHAIN  */
   44775             : #line 11255 "gram.y"
   44776             :                                                 { (yyval.boolean) = true; }
   44777             : #line 44778 "gram.c"
   44778         120 :     break;
   44779             : 
   44780           2 :   case 1482: /* opt_transaction_chain: AND NO CHAIN  */
   44781             : #line 11256 "gram.y"
   44782             :                                         { (yyval.boolean) = false; }
   44783             : #line 44784 "gram.c"
   44784           2 :     break;
   44785             : 
   44786       14242 :   case 1483: /* opt_transaction_chain: %empty  */
   44787             : #line 11257 "gram.y"
   44788             :                                         { (yyval.boolean) = false; }
   44789             : #line 44790 "gram.c"
   44790       14242 :     break;
   44791             : 
   44792       13392 :   case 1484: /* ViewStmt: CREATE OptTemp VIEW qualified_name opt_column_list opt_reloptions AS SelectStmt opt_check_option  */
   44793             : #line 11271 "gram.y"
   44794             :                                 {
   44795             :                     ViewStmt   *n = makeNode(ViewStmt);
   44796             : 
   44797             :                     n->view = (yyvsp[-5].range);
   44798             :                     n->view->relpersistence = (yyvsp[-7].ival);
   44799             :                     n->aliases = (yyvsp[-4].list);
   44800             :                     n->query = (yyvsp[-1].node);
   44801             :                     n->replace = false;
   44802             :                     n->options = (yyvsp[-3].list);
   44803             :                     n->withCheckOption = (yyvsp[0].ival);
   44804             :                     (yyval.node) = (Node *) n;
   44805             :                 }
   44806             : #line 44807 "gram.c"
   44807       13392 :     break;
   44808             : 
   44809         244 :   case 1485: /* ViewStmt: CREATE OR REPLACE OptTemp VIEW qualified_name opt_column_list opt_reloptions AS SelectStmt opt_check_option  */
   44810             : #line 11285 "gram.y"
   44811             :                                 {
   44812             :                     ViewStmt   *n = makeNode(ViewStmt);
   44813             : 
   44814             :                     n->view = (yyvsp[-5].range);
   44815             :                     n->view->relpersistence = (yyvsp[-7].ival);
   44816             :                     n->aliases = (yyvsp[-4].list);
   44817             :                     n->query = (yyvsp[-1].node);
   44818             :                     n->replace = true;
   44819             :                     n->options = (yyvsp[-3].list);
   44820             :                     n->withCheckOption = (yyvsp[0].ival);
   44821             :                     (yyval.node) = (Node *) n;
   44822             :                 }
   44823             : #line 44824 "gram.c"
   44824         244 :     break;
   44825             : 
   44826           8 :   case 1486: /* ViewStmt: CREATE OptTemp RECURSIVE VIEW qualified_name '(' columnList ')' opt_reloptions AS SelectStmt opt_check_option  */
   44827             : #line 11299 "gram.y"
   44828             :                                 {
   44829             :                     ViewStmt   *n = makeNode(ViewStmt);
   44830             : 
   44831             :                     n->view = (yyvsp[-7].range);
   44832             :                     n->view->relpersistence = (yyvsp[-10].ival);
   44833             :                     n->aliases = (yyvsp[-5].list);
   44834             :                     n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[-1].node));
   44835             :                     n->replace = false;
   44836             :                     n->options = (yyvsp[-3].list);
   44837             :                     n->withCheckOption = (yyvsp[0].ival);
   44838             :                     if (n->withCheckOption != NO_CHECK_OPTION)
   44839             :                         ereport(ERROR,
   44840             :                                 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   44841             :                                  errmsg("WITH CHECK OPTION not supported on recursive views"),
   44842             :                                  parser_errposition((yylsp[0]))));
   44843             :                     (yyval.node) = (Node *) n;
   44844             :                 }
   44845             : #line 44846 "gram.c"
   44846           8 :     break;
   44847             : 
   44848           6 :   case 1487: /* ViewStmt: CREATE OR REPLACE OptTemp RECURSIVE VIEW qualified_name '(' columnList ')' opt_reloptions AS SelectStmt opt_check_option  */
   44849             : #line 11318 "gram.y"
   44850             :                                 {
   44851             :                     ViewStmt   *n = makeNode(ViewStmt);
   44852             : 
   44853             :                     n->view = (yyvsp[-7].range);
   44854             :                     n->view->relpersistence = (yyvsp[-10].ival);
   44855             :                     n->aliases = (yyvsp[-5].list);
   44856             :                     n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[-1].node));
   44857             :                     n->replace = true;
   44858             :                     n->options = (yyvsp[-3].list);
   44859             :                     n->withCheckOption = (yyvsp[0].ival);
   44860             :                     if (n->withCheckOption != NO_CHECK_OPTION)
   44861             :                         ereport(ERROR,
   44862             :                                 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   44863             :                                  errmsg("WITH CHECK OPTION not supported on recursive views"),
   44864             :                                  parser_errposition((yylsp[0]))));
   44865             :                     (yyval.node) = (Node *) n;
   44866             :                 }
   44867             : #line 44868 "gram.c"
   44868           6 :     break;
   44869             : 
   44870          90 :   case 1488: /* opt_check_option: WITH CHECK OPTION  */
   44871             : #line 11338 "gram.y"
   44872             :                                                                 { (yyval.ival) = CASCADED_CHECK_OPTION; }
   44873             : #line 44874 "gram.c"
   44874          90 :     break;
   44875             : 
   44876           6 :   case 1489: /* opt_check_option: WITH CASCADED CHECK OPTION  */
   44877             : #line 11339 "gram.y"
   44878             :                                                 { (yyval.ival) = CASCADED_CHECK_OPTION; }
   44879             : #line 44880 "gram.c"
   44880           6 :     break;
   44881             : 
   44882          24 :   case 1490: /* opt_check_option: WITH LOCAL CHECK OPTION  */
   44883             : #line 11340 "gram.y"
   44884             :                                                         { (yyval.ival) = LOCAL_CHECK_OPTION; }
   44885             : #line 44886 "gram.c"
   44886          24 :     break;
   44887             : 
   44888       13530 :   case 1491: /* opt_check_option: %empty  */
   44889             : #line 11341 "gram.y"
   44890             :                                                                 { (yyval.ival) = NO_CHECK_OPTION; }
   44891             : #line 44892 "gram.c"
   44892       13530 :     break;
   44893             : 
   44894          58 :   case 1492: /* LoadStmt: LOAD file_name  */
   44895             : #line 11352 "gram.y"
   44896             :                                 {
   44897             :                     LoadStmt   *n = makeNode(LoadStmt);
   44898             : 
   44899             :                     n->filename = (yyvsp[0].str);
   44900             :                     (yyval.node) = (Node *) n;
   44901             :                 }
   44902             : #line 44903 "gram.c"
   44903          58 :     break;
   44904             : 
   44905         636 :   case 1493: /* CreatedbStmt: CREATE DATABASE name opt_with createdb_opt_list  */
   44906             : #line 11369 "gram.y"
   44907             :                                 {
   44908             :                     CreatedbStmt *n = makeNode(CreatedbStmt);
   44909             : 
   44910             :                     n->dbname = (yyvsp[-2].str);
   44911             :                     n->options = (yyvsp[0].list);
   44912             :                     (yyval.node) = (Node *) n;
   44913             :                 }
   44914             : #line 44915 "gram.c"
   44915         636 :     break;
   44916             : 
   44917         486 :   case 1494: /* createdb_opt_list: createdb_opt_items  */
   44918             : #line 11379 "gram.y"
   44919             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   44920             : #line 44921 "gram.c"
   44921         486 :     break;
   44922             : 
   44923         174 :   case 1495: /* createdb_opt_list: %empty  */
   44924             : #line 11380 "gram.y"
   44925             :                                                                                         { (yyval.list) = NIL; }
   44926             : #line 44927 "gram.c"
   44927         174 :     break;
   44928             : 
   44929         486 :   case 1496: /* createdb_opt_items: createdb_opt_item  */
   44930             : #line 11384 "gram.y"
   44931             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   44932             : #line 44933 "gram.c"
   44933         486 :     break;
   44934             : 
   44935         634 :   case 1497: /* createdb_opt_items: createdb_opt_items createdb_opt_item  */
   44936             : #line 11385 "gram.y"
   44937             :                                                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   44938             : #line 44939 "gram.c"
   44939         634 :     break;
   44940             : 
   44941         184 :   case 1498: /* createdb_opt_item: createdb_opt_name opt_equal NumericOnly  */
   44942             : #line 11390 "gram.y"
   44943             :                                 {
   44944             :                     (yyval.defelt) = makeDefElem((yyvsp[-2].str), (yyvsp[0].node), (yylsp[-2]));
   44945             :                 }
   44946             : #line 44947 "gram.c"
   44947         184 :     break;
   44948             : 
   44949         936 :   case 1499: /* createdb_opt_item: createdb_opt_name opt_equal opt_boolean_or_string  */
   44950             : #line 11394 "gram.y"
   44951             :                                 {
   44952             :                     (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) makeString((yyvsp[0].str)), (yylsp[-2]));
   44953             :                 }
   44954             : #line 44955 "gram.c"
   44955         936 :     break;
   44956             : 
   44957           0 :   case 1500: /* createdb_opt_item: createdb_opt_name opt_equal DEFAULT  */
   44958             : #line 11398 "gram.y"
   44959             :                                 {
   44960             :                     (yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL, (yylsp[-2]));
   44961             :                 }
   44962             : #line 44963 "gram.c"
   44963           0 :     break;
   44964             : 
   44965         764 :   case 1501: /* createdb_opt_name: IDENT  */
   44966             : #line 11415 "gram.y"
   44967             :                                                                                 { (yyval.str) = (yyvsp[0].str); }
   44968             : #line 44969 "gram.c"
   44969         764 :     break;
   44970             : 
   44971           2 :   case 1502: /* createdb_opt_name: CONNECTION LIMIT  */
   44972             : #line 11416 "gram.y"
   44973             :                                                                         { (yyval.str) = pstrdup("connection_limit"); }
   44974             : #line 44975 "gram.c"
   44975           2 :     break;
   44976             : 
   44977          60 :   case 1503: /* createdb_opt_name: ENCODING  */
   44978             : #line 11417 "gram.y"
   44979             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   44980             : #line 44981 "gram.c"
   44981          60 :     break;
   44982             : 
   44983           0 :   case 1504: /* createdb_opt_name: LOCATION  */
   44984             : #line 11418 "gram.y"
   44985             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   44986             : #line 44987 "gram.c"
   44987           0 :     break;
   44988             : 
   44989           2 :   case 1505: /* createdb_opt_name: OWNER  */
   44990             : #line 11419 "gram.y"
   44991             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   44992             : #line 44993 "gram.c"
   44993           2 :     break;
   44994             : 
   44995          16 :   case 1506: /* createdb_opt_name: TABLESPACE  */
   44996             : #line 11420 "gram.y"
   44997             :                                                                         { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   44998             : #line 44999 "gram.c"
   44999          16 :     break;
   45000             : 
   45001         276 :   case 1507: /* createdb_opt_name: TEMPLATE  */
   45002             : #line 11421 "gram.y"
   45003             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   45004             : #line 45005 "gram.c"
   45005         276 :     break;
   45006             : 
   45007           0 :   case 1510: /* AlterDatabaseStmt: ALTER DATABASE name WITH createdb_opt_list  */
   45008             : #line 11441 "gram.y"
   45009             :                                  {
   45010             :                     AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
   45011             : 
   45012             :                     n->dbname = (yyvsp[-2].str);
   45013             :                     n->options = (yyvsp[0].list);
   45014             :                     (yyval.node) = (Node *) n;
   45015             :                  }
   45016             : #line 45017 "gram.c"
   45017           0 :     break;
   45018             : 
   45019          24 :   case 1511: /* AlterDatabaseStmt: ALTER DATABASE name createdb_opt_list  */
   45020             : #line 11449 "gram.y"
   45021             :                                  {
   45022             :                     AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
   45023             : 
   45024             :                     n->dbname = (yyvsp[-1].str);
   45025             :                     n->options = (yyvsp[0].list);
   45026             :                     (yyval.node) = (Node *) n;
   45027             :                  }
   45028             : #line 45029 "gram.c"
   45029          24 :     break;
   45030             : 
   45031          10 :   case 1512: /* AlterDatabaseStmt: ALTER DATABASE name SET TABLESPACE name  */
   45032             : #line 11457 "gram.y"
   45033             :                                  {
   45034             :                     AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
   45035             : 
   45036             :                     n->dbname = (yyvsp[-3].str);
   45037             :                     n->options = list_make1(makeDefElem("tablespace",
   45038             :                                                         (Node *) makeString((yyvsp[0].str)), (yylsp[0])));
   45039             :                     (yyval.node) = (Node *) n;
   45040             :                  }
   45041             : #line 45042 "gram.c"
   45042          10 :     break;
   45043             : 
   45044           6 :   case 1513: /* AlterDatabaseStmt: ALTER DATABASE name REFRESH COLLATION VERSION_P  */
   45045             : #line 11466 "gram.y"
   45046             :                                  {
   45047             :                     AlterDatabaseRefreshCollStmt *n = makeNode(AlterDatabaseRefreshCollStmt);
   45048             : 
   45049             :                     n->dbname = (yyvsp[-3].str);
   45050             :                     (yyval.node) = (Node *) n;
   45051             :                  }
   45052             : #line 45053 "gram.c"
   45053           6 :     break;
   45054             : 
   45055        1058 :   case 1514: /* AlterDatabaseSetStmt: ALTER DATABASE name SetResetClause  */
   45056             : #line 11476 "gram.y"
   45057             :                                 {
   45058             :                     AlterDatabaseSetStmt *n = makeNode(AlterDatabaseSetStmt);
   45059             : 
   45060             :                     n->dbname = (yyvsp[-1].str);
   45061             :                     n->setstmt = (yyvsp[0].vsetstmt);
   45062             :                     (yyval.node) = (Node *) n;
   45063             :                 }
   45064             : #line 45065 "gram.c"
   45065        1058 :     break;
   45066             : 
   45067          64 :   case 1515: /* DropdbStmt: DROP DATABASE name  */
   45068             : #line 11494 "gram.y"
   45069             :                                 {
   45070             :                     DropdbStmt *n = makeNode(DropdbStmt);
   45071             : 
   45072             :                     n->dbname = (yyvsp[0].str);
   45073             :                     n->missing_ok = false;
   45074             :                     n->options = NULL;
   45075             :                     (yyval.node) = (Node *) n;
   45076             :                 }
   45077             : #line 45078 "gram.c"
   45078          64 :     break;
   45079             : 
   45080           4 :   case 1516: /* DropdbStmt: DROP DATABASE IF_P EXISTS name  */
   45081             : #line 11503 "gram.y"
   45082             :                                 {
   45083             :                     DropdbStmt *n = makeNode(DropdbStmt);
   45084             : 
   45085             :                     n->dbname = (yyvsp[0].str);
   45086             :                     n->missing_ok = true;
   45087             :                     n->options = NULL;
   45088             :                     (yyval.node) = (Node *) n;
   45089             :                 }
   45090             : #line 45091 "gram.c"
   45091           4 :     break;
   45092             : 
   45093          14 :   case 1517: /* DropdbStmt: DROP DATABASE name opt_with '(' drop_option_list ')'  */
   45094             : #line 11512 "gram.y"
   45095             :                                 {
   45096             :                     DropdbStmt *n = makeNode(DropdbStmt);
   45097             : 
   45098             :                     n->dbname = (yyvsp[-4].str);
   45099             :                     n->missing_ok = false;
   45100             :                     n->options = (yyvsp[-1].list);
   45101             :                     (yyval.node) = (Node *) n;
   45102             :                 }
   45103             : #line 45104 "gram.c"
   45104          14 :     break;
   45105             : 
   45106          12 :   case 1518: /* DropdbStmt: DROP DATABASE IF_P EXISTS name opt_with '(' drop_option_list ')'  */
   45107             : #line 11521 "gram.y"
   45108             :                                 {
   45109             :                     DropdbStmt *n = makeNode(DropdbStmt);
   45110             : 
   45111             :                     n->dbname = (yyvsp[-4].str);
   45112             :                     n->missing_ok = true;
   45113             :                     n->options = (yyvsp[-1].list);
   45114             :                     (yyval.node) = (Node *) n;
   45115             :                 }
   45116             : #line 45117 "gram.c"
   45117          12 :     break;
   45118             : 
   45119          26 :   case 1519: /* drop_option_list: drop_option  */
   45120             : #line 11533 "gram.y"
   45121             :                                 {
   45122             :                     (yyval.list) = list_make1((Node *) (yyvsp[0].defelt));
   45123             :                 }
   45124             : #line 45125 "gram.c"
   45125          26 :     break;
   45126             : 
   45127           0 :   case 1520: /* drop_option_list: drop_option_list ',' drop_option  */
   45128             : #line 11537 "gram.y"
   45129             :                                 {
   45130             :                     (yyval.list) = lappend((yyvsp[-2].list), (Node *) (yyvsp[0].defelt));
   45131             :                 }
   45132             : #line 45133 "gram.c"
   45133           0 :     break;
   45134             : 
   45135          26 :   case 1521: /* drop_option: FORCE  */
   45136             : #line 11548 "gram.y"
   45137             :                                 {
   45138             :                     (yyval.defelt) = makeDefElem("force", NULL, (yylsp[0]));
   45139             :                 }
   45140             : #line 45141 "gram.c"
   45141          26 :     break;
   45142             : 
   45143           6 :   case 1522: /* AlterCollationStmt: ALTER COLLATION any_name REFRESH VERSION_P  */
   45144             : #line 11560 "gram.y"
   45145             :                                 {
   45146             :                     AlterCollationStmt *n = makeNode(AlterCollationStmt);
   45147             : 
   45148             :                     n->collname = (yyvsp[-2].list);
   45149             :                     (yyval.node) = (Node *) n;
   45150             :                 }
   45151             : #line 45152 "gram.c"
   45152           6 :     break;
   45153             : 
   45154         106 :   case 1523: /* AlterSystemStmt: ALTER SYSTEM_P SET generic_set  */
   45155             : #line 11578 "gram.y"
   45156             :                                 {
   45157             :                     AlterSystemStmt *n = makeNode(AlterSystemStmt);
   45158             : 
   45159             :                     n->setstmt = (yyvsp[0].vsetstmt);
   45160             :                     (yyval.node) = (Node *) n;
   45161             :                 }
   45162             : #line 45163 "gram.c"
   45163         106 :     break;
   45164             : 
   45165          48 :   case 1524: /* AlterSystemStmt: ALTER SYSTEM_P RESET generic_reset  */
   45166             : #line 11585 "gram.y"
   45167             :                                 {
   45168             :                     AlterSystemStmt *n = makeNode(AlterSystemStmt);
   45169             : 
   45170             :                     n->setstmt = (yyvsp[0].vsetstmt);
   45171             :                     (yyval.node) = (Node *) n;
   45172             :                 }
   45173             : #line 45174 "gram.c"
   45174          48 :     break;
   45175             : 
   45176        1162 :   case 1525: /* CreateDomainStmt: CREATE DOMAIN_P any_name opt_as Typename ColQualList  */
   45177             : #line 11602 "gram.y"
   45178             :                                 {
   45179             :                     CreateDomainStmt *n = makeNode(CreateDomainStmt);
   45180             : 
   45181             :                     n->domainname = (yyvsp[-3].list);
   45182             :                     n->typeName = (yyvsp[-1].typnam);
   45183             :                     SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
   45184             :                                      yyscanner);
   45185             :                     (yyval.node) = (Node *) n;
   45186             :                 }
   45187             : #line 45188 "gram.c"
   45188        1162 :     break;
   45189             : 
   45190          14 :   case 1526: /* AlterDomainStmt: ALTER DOMAIN_P any_name alter_column_default  */
   45191             : #line 11616 "gram.y"
   45192             :                                 {
   45193             :                     AlterDomainStmt *n = makeNode(AlterDomainStmt);
   45194             : 
   45195             :                     n->subtype = 'T';
   45196             :                     n->typeName = (yyvsp[-1].list);
   45197             :                     n->def = (yyvsp[0].node);
   45198             :                     (yyval.node) = (Node *) n;
   45199             :                 }
   45200             : #line 45201 "gram.c"
   45201          14 :     break;
   45202             : 
   45203          12 :   case 1527: /* AlterDomainStmt: ALTER DOMAIN_P any_name DROP NOT NULL_P  */
   45204             : #line 11626 "gram.y"
   45205             :                                 {
   45206             :                     AlterDomainStmt *n = makeNode(AlterDomainStmt);
   45207             : 
   45208             :                     n->subtype = 'N';
   45209             :                     n->typeName = (yyvsp[-3].list);
   45210             :                     (yyval.node) = (Node *) n;
   45211             :                 }
   45212             : #line 45213 "gram.c"
   45213          12 :     break;
   45214             : 
   45215          24 :   case 1528: /* AlterDomainStmt: ALTER DOMAIN_P any_name SET NOT NULL_P  */
   45216             : #line 11635 "gram.y"
   45217             :                                 {
   45218             :                     AlterDomainStmt *n = makeNode(AlterDomainStmt);
   45219             : 
   45220             :                     n->subtype = 'O';
   45221             :                     n->typeName = (yyvsp[-3].list);
   45222             :                     (yyval.node) = (Node *) n;
   45223             :                 }
   45224             : #line 45225 "gram.c"
   45225          24 :     break;
   45226             : 
   45227         168 :   case 1529: /* AlterDomainStmt: ALTER DOMAIN_P any_name ADD_P DomainConstraint  */
   45228             : #line 11644 "gram.y"
   45229             :                                 {
   45230             :                     AlterDomainStmt *n = makeNode(AlterDomainStmt);
   45231             : 
   45232             :                     n->subtype = 'C';
   45233             :                     n->typeName = (yyvsp[-2].list);
   45234             :                     n->def = (yyvsp[0].node);
   45235             :                     (yyval.node) = (Node *) n;
   45236             :                 }
   45237             : #line 45238 "gram.c"
   45238         168 :     break;
   45239             : 
   45240          48 :   case 1530: /* AlterDomainStmt: ALTER DOMAIN_P any_name DROP CONSTRAINT name opt_drop_behavior  */
   45241             : #line 11654 "gram.y"
   45242             :                                 {
   45243             :                     AlterDomainStmt *n = makeNode(AlterDomainStmt);
   45244             : 
   45245             :                     n->subtype = 'X';
   45246             :                     n->typeName = (yyvsp[-4].list);
   45247             :                     n->name = (yyvsp[-1].str);
   45248             :                     n->behavior = (yyvsp[0].dbehavior);
   45249             :                     n->missing_ok = false;
   45250             :                     (yyval.node) = (Node *) n;
   45251             :                 }
   45252             : #line 45253 "gram.c"
   45253          48 :     break;
   45254             : 
   45255           6 :   case 1531: /* AlterDomainStmt: ALTER DOMAIN_P any_name DROP CONSTRAINT IF_P EXISTS name opt_drop_behavior  */
   45256             : #line 11666 "gram.y"
   45257             :                                 {
   45258             :                     AlterDomainStmt *n = makeNode(AlterDomainStmt);
   45259             : 
   45260             :                     n->subtype = 'X';
   45261             :                     n->typeName = (yyvsp[-6].list);
   45262             :                     n->name = (yyvsp[-1].str);
   45263             :                     n->behavior = (yyvsp[0].dbehavior);
   45264             :                     n->missing_ok = true;
   45265             :                     (yyval.node) = (Node *) n;
   45266             :                 }
   45267             : #line 45268 "gram.c"
   45268           6 :     break;
   45269             : 
   45270          12 :   case 1532: /* AlterDomainStmt: ALTER DOMAIN_P any_name VALIDATE CONSTRAINT name  */
   45271             : #line 11678 "gram.y"
   45272             :                                 {
   45273             :                     AlterDomainStmt *n = makeNode(AlterDomainStmt);
   45274             : 
   45275             :                     n->subtype = 'V';
   45276             :                     n->typeName = (yyvsp[-3].list);
   45277             :                     n->name = (yyvsp[0].str);
   45278             :                     (yyval.node) = (Node *) n;
   45279             :                 }
   45280             : #line 45281 "gram.c"
   45281          12 :     break;
   45282             : 
   45283          40 :   case 1535: /* AlterTSDictionaryStmt: ALTER TEXT_P SEARCH DICTIONARY any_name definition  */
   45284             : #line 11701 "gram.y"
   45285             :                                 {
   45286             :                     AlterTSDictionaryStmt *n = makeNode(AlterTSDictionaryStmt);
   45287             : 
   45288             :                     n->dictname = (yyvsp[-1].list);
   45289             :                     n->options = (yyvsp[0].list);
   45290             :                     (yyval.node) = (Node *) n;
   45291             :                 }
   45292             : #line 45293 "gram.c"
   45293          40 :     break;
   45294             : 
   45295        6550 :   case 1536: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name ADD_P MAPPING FOR name_list any_with any_name_list  */
   45296             : #line 11712 "gram.y"
   45297             :                                 {
   45298             :                     AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
   45299             : 
   45300             :                     n->kind = ALTER_TSCONFIG_ADD_MAPPING;
   45301             :                     n->cfgname = (yyvsp[-6].list);
   45302             :                     n->tokentype = (yyvsp[-2].list);
   45303             :                     n->dicts = (yyvsp[0].list);
   45304             :                     n->override = false;
   45305             :                     n->replace = false;
   45306             :                     (yyval.node) = (Node *) n;
   45307             :                 }
   45308             : #line 45309 "gram.c"
   45309        6550 :     break;
   45310             : 
   45311          26 :   case 1537: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING FOR name_list any_with any_name_list  */
   45312             : #line 11724 "gram.y"
   45313             :                                 {
   45314             :                     AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
   45315             : 
   45316             :                     n->kind = ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN;
   45317             :                     n->cfgname = (yyvsp[-6].list);
   45318             :                     n->tokentype = (yyvsp[-2].list);
   45319             :                     n->dicts = (yyvsp[0].list);
   45320             :                     n->override = true;
   45321             :                     n->replace = false;
   45322             :                     (yyval.node) = (Node *) n;
   45323             :                 }
   45324             : #line 45325 "gram.c"
   45325          26 :     break;
   45326             : 
   45327          18 :   case 1538: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING REPLACE any_name any_with any_name  */
   45328             : #line 11736 "gram.y"
   45329             :                                 {
   45330             :                     AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
   45331             : 
   45332             :                     n->kind = ALTER_TSCONFIG_REPLACE_DICT;
   45333             :                     n->cfgname = (yyvsp[-6].list);
   45334             :                     n->tokentype = NIL;
   45335             :                     n->dicts = list_make2((yyvsp[-2].list),(yyvsp[0].list));
   45336             :                     n->override = false;
   45337             :                     n->replace = true;
   45338             :                     (yyval.node) = (Node *) n;
   45339             :                 }
   45340             : #line 45341 "gram.c"
   45341          18 :     break;
   45342             : 
   45343           0 :   case 1539: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING FOR name_list REPLACE any_name any_with any_name  */
   45344             : #line 11748 "gram.y"
   45345             :                                 {
   45346             :                     AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
   45347             : 
   45348             :                     n->kind = ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN;
   45349             :                     n->cfgname = (yyvsp[-8].list);
   45350             :                     n->tokentype = (yyvsp[-4].list);
   45351             :                     n->dicts = list_make2((yyvsp[-2].list),(yyvsp[0].list));
   45352             :                     n->override = false;
   45353             :                     n->replace = true;
   45354             :                     (yyval.node) = (Node *) n;
   45355             :                 }
   45356             : #line 45357 "gram.c"
   45357           0 :     break;
   45358             : 
   45359          18 :   case 1540: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name DROP MAPPING FOR name_list  */
   45360             : #line 11760 "gram.y"
   45361             :                                 {
   45362             :                     AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
   45363             : 
   45364             :                     n->kind = ALTER_TSCONFIG_DROP_MAPPING;
   45365             :                     n->cfgname = (yyvsp[-4].list);
   45366             :                     n->tokentype = (yyvsp[0].list);
   45367             :                     n->missing_ok = false;
   45368             :                     (yyval.node) = (Node *) n;
   45369             :                 }
   45370             : #line 45371 "gram.c"
   45371          18 :     break;
   45372             : 
   45373          12 :   case 1541: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name DROP MAPPING IF_P EXISTS FOR name_list  */
   45374             : #line 11770 "gram.y"
   45375             :                                 {
   45376             :                     AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
   45377             : 
   45378             :                     n->kind = ALTER_TSCONFIG_DROP_MAPPING;
   45379             :                     n->cfgname = (yyvsp[-6].list);
   45380             :                     n->tokentype = (yyvsp[0].list);
   45381             :                     n->missing_ok = true;
   45382             :                     (yyval.node) = (Node *) n;
   45383             :                 }
   45384             : #line 45385 "gram.c"
   45385          12 :     break;
   45386             : 
   45387          64 :   case 1544: /* CreateConversionStmt: CREATE opt_default CONVERSION_P any_name FOR Sconst TO Sconst FROM any_name  */
   45388             : #line 11799 "gram.y"
   45389             :                         {
   45390             :                 CreateConversionStmt *n = makeNode(CreateConversionStmt);
   45391             : 
   45392             :                 n->conversion_name = (yyvsp[-6].list);
   45393             :                 n->for_encoding_name = (yyvsp[-4].str);
   45394             :                 n->to_encoding_name = (yyvsp[-2].str);
   45395             :                 n->func_name = (yyvsp[0].list);
   45396             :                 n->def = (yyvsp[-8].boolean);
   45397             :                 (yyval.node) = (Node *) n;
   45398             :             }
   45399             : #line 45400 "gram.c"
   45400          64 :     break;
   45401             : 
   45402           0 :   case 1545: /* ClusterStmt: CLUSTER '(' utility_option_list ')' qualified_name cluster_index_specification  */
   45403             : #line 11822 "gram.y"
   45404             :                                 {
   45405             :                     ClusterStmt *n = makeNode(ClusterStmt);
   45406             : 
   45407             :                     n->relation = (yyvsp[-1].range);
   45408             :                     n->indexname = (yyvsp[0].str);
   45409             :                     n->params = (yyvsp[-3].list);
   45410             :                     (yyval.node) = (Node *) n;
   45411             :                 }
   45412             : #line 45413 "gram.c"
   45413           0 :     break;
   45414             : 
   45415           0 :   case 1546: /* ClusterStmt: CLUSTER '(' utility_option_list ')'  */
   45416             : #line 11831 "gram.y"
   45417             :                                 {
   45418             :                     ClusterStmt *n = makeNode(ClusterStmt);
   45419             : 
   45420             :                     n->relation = NULL;
   45421             :                     n->indexname = NULL;
   45422             :                     n->params = (yyvsp[-1].list);
   45423             :                     (yyval.node) = (Node *) n;
   45424             :                 }
   45425             : #line 45426 "gram.c"
   45426           0 :     break;
   45427             : 
   45428         190 :   case 1547: /* ClusterStmt: CLUSTER opt_verbose qualified_name cluster_index_specification  */
   45429             : #line 11841 "gram.y"
   45430             :                                 {
   45431             :                     ClusterStmt *n = makeNode(ClusterStmt);
   45432             : 
   45433             :                     n->relation = (yyvsp[-1].range);
   45434             :                     n->indexname = (yyvsp[0].str);
   45435             :                     n->params = NIL;
   45436             :                     if ((yyvsp[-2].boolean))
   45437             :                         n->params = lappend(n->params, makeDefElem("verbose", NULL, (yylsp[-2])));
   45438             :                     (yyval.node) = (Node *) n;
   45439             :                 }
   45440             : #line 45441 "gram.c"
   45441         190 :     break;
   45442             : 
   45443          30 :   case 1548: /* ClusterStmt: CLUSTER opt_verbose  */
   45444             : #line 11853 "gram.y"
   45445             :                                 {
   45446             :                     ClusterStmt *n = makeNode(ClusterStmt);
   45447             : 
   45448             :                     n->relation = NULL;
   45449             :                     n->indexname = NULL;
   45450             :                     n->params = NIL;
   45451             :                     if ((yyvsp[0].boolean))
   45452             :                         n->params = lappend(n->params, makeDefElem("verbose", NULL, (yylsp[0])));
   45453             :                     (yyval.node) = (Node *) n;
   45454             :                 }
   45455             : #line 45456 "gram.c"
   45456          30 :     break;
   45457             : 
   45458          18 :   case 1549: /* ClusterStmt: CLUSTER opt_verbose name ON qualified_name  */
   45459             : #line 11865 "gram.y"
   45460             :                                 {
   45461             :                     ClusterStmt *n = makeNode(ClusterStmt);
   45462             : 
   45463             :                     n->relation = (yyvsp[0].range);
   45464             :                     n->indexname = (yyvsp[-2].str);
   45465             :                     n->params = NIL;
   45466             :                     if ((yyvsp[-3].boolean))
   45467             :                         n->params = lappend(n->params, makeDefElem("verbose", NULL, (yylsp[-3])));
   45468             :                     (yyval.node) = (Node *) n;
   45469             :                 }
   45470             : #line 45471 "gram.c"
   45471          18 :     break;
   45472             : 
   45473         156 :   case 1550: /* cluster_index_specification: USING name  */
   45474             : #line 11878 "gram.y"
   45475             :                                                                 { (yyval.str) = (yyvsp[0].str); }
   45476             : #line 45477 "gram.c"
   45477         156 :     break;
   45478             : 
   45479          34 :   case 1551: /* cluster_index_specification: %empty  */
   45480             : #line 11879 "gram.y"
   45481             :                                                                 { (yyval.str) = NULL; }
   45482             : #line 45483 "gram.c"
   45483          34 :     break;
   45484             : 
   45485        1052 :   case 1552: /* VacuumStmt: VACUUM opt_full opt_freeze opt_verbose opt_analyze opt_vacuum_relation_list  */
   45486             : #line 11892 "gram.y"
   45487             :                                 {
   45488             :                     VacuumStmt *n = makeNode(VacuumStmt);
   45489             : 
   45490             :                     n->options = NIL;
   45491             :                     if ((yyvsp[-4].boolean))
   45492             :                         n->options = lappend(n->options,
   45493             :                                              makeDefElem("full", NULL, (yylsp[-4])));
   45494             :                     if ((yyvsp[-3].boolean))
   45495             :                         n->options = lappend(n->options,
   45496             :                                              makeDefElem("freeze", NULL, (yylsp[-3])));
   45497             :                     if ((yyvsp[-2].boolean))
   45498             :                         n->options = lappend(n->options,
   45499             :                                              makeDefElem("verbose", NULL, (yylsp[-2])));
   45500             :                     if ((yyvsp[-1].boolean))
   45501             :                         n->options = lappend(n->options,
   45502             :                                              makeDefElem("analyze", NULL, (yylsp[-1])));
   45503             :                     n->rels = (yyvsp[0].list);
   45504             :                     n->is_vacuumcmd = true;
   45505             :                     (yyval.node) = (Node *) n;
   45506             :                 }
   45507             : #line 45508 "gram.c"
   45508        1052 :     break;
   45509             : 
   45510        4954 :   case 1553: /* VacuumStmt: VACUUM '(' utility_option_list ')' opt_vacuum_relation_list  */
   45511             : #line 11913 "gram.y"
   45512             :                                 {
   45513             :                     VacuumStmt *n = makeNode(VacuumStmt);
   45514             : 
   45515             :                     n->options = (yyvsp[-2].list);
   45516             :                     n->rels = (yyvsp[0].list);
   45517             :                     n->is_vacuumcmd = true;
   45518             :                     (yyval.node) = (Node *) n;
   45519             :                 }
   45520             : #line 45521 "gram.c"
   45521        4954 :     break;
   45522             : 
   45523        4258 :   case 1554: /* AnalyzeStmt: analyze_keyword opt_verbose opt_vacuum_relation_list  */
   45524             : #line 11924 "gram.y"
   45525             :                                 {
   45526             :                     VacuumStmt *n = makeNode(VacuumStmt);
   45527             : 
   45528             :                     n->options = NIL;
   45529             :                     if ((yyvsp[-1].boolean))
   45530             :                         n->options = lappend(n->options,
   45531             :                                              makeDefElem("verbose", NULL, (yylsp[-1])));
   45532             :                     n->rels = (yyvsp[0].list);
   45533             :                     n->is_vacuumcmd = false;
   45534             :                     (yyval.node) = (Node *) n;
   45535             :                 }
   45536             : #line 45537 "gram.c"
   45537        4258 :     break;
   45538             : 
   45539         186 :   case 1555: /* AnalyzeStmt: analyze_keyword '(' utility_option_list ')' opt_vacuum_relation_list  */
   45540             : #line 11936 "gram.y"
   45541             :                                 {
   45542             :                     VacuumStmt *n = makeNode(VacuumStmt);
   45543             : 
   45544             :                     n->options = (yyvsp[-2].list);
   45545             :                     n->rels = (yyvsp[0].list);
   45546             :                     n->is_vacuumcmd = false;
   45547             :                     (yyval.node) = (Node *) n;
   45548             :                 }
   45549             : #line 45550 "gram.c"
   45550         186 :     break;
   45551             : 
   45552       17536 :   case 1556: /* utility_option_list: utility_option_elem  */
   45553             : #line 11948 "gram.y"
   45554             :                                 {
   45555             :                     (yyval.list) = list_make1((yyvsp[0].defelt));
   45556             :                 }
   45557             : #line 45558 "gram.c"
   45558       17536 :     break;
   45559             : 
   45560        8136 :   case 1557: /* utility_option_list: utility_option_list ',' utility_option_elem  */
   45561             : #line 11952 "gram.y"
   45562             :                                 {
   45563             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
   45564             :                 }
   45565             : #line 45566 "gram.c"
   45566        8136 :     break;
   45567             : 
   45568       25672 :   case 1560: /* utility_option_elem: utility_option_name utility_option_arg  */
   45569             : #line 11964 "gram.y"
   45570             :                                 {
   45571             :                     (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
   45572             :                 }
   45573             : #line 45574 "gram.c"
   45574       25672 :     break;
   45575             : 
   45576       23418 :   case 1561: /* utility_option_name: NonReservedWord  */
   45577             : #line 11970 "gram.y"
   45578             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   45579             : #line 45580 "gram.c"
   45580       23418 :     break;
   45581             : 
   45582        2112 :   case 1562: /* utility_option_name: analyze_keyword  */
   45583             : #line 11971 "gram.y"
   45584             :                                                                                         { (yyval.str) = "analyze"; }
   45585             : #line 45586 "gram.c"
   45586        2112 :     break;
   45587             : 
   45588         148 :   case 1563: /* utility_option_name: FORMAT_LA  */
   45589             : #line 11972 "gram.y"
   45590             :                                                                                                 { (yyval.str) = "format"; }
   45591             : #line 45592 "gram.c"
   45592         148 :     break;
   45593             : 
   45594       14580 :   case 1564: /* utility_option_arg: opt_boolean_or_string  */
   45595             : #line 11976 "gram.y"
   45596             :                                                                                 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
   45597             : #line 45598 "gram.c"
   45598       14580 :     break;
   45599             : 
   45600         368 :   case 1565: /* utility_option_arg: NumericOnly  */
   45601             : #line 11977 "gram.y"
   45602             :                                                                                         { (yyval.node) = (Node *) (yyvsp[0].node); }
   45603             : #line 45604 "gram.c"
   45604         368 :     break;
   45605             : 
   45606       10724 :   case 1566: /* utility_option_arg: %empty  */
   45607             : #line 11978 "gram.y"
   45608             :                                                                                         { (yyval.node) = NULL; }
   45609             : #line 45610 "gram.c"
   45610       10724 :     break;
   45611             : 
   45612         278 :   case 1567: /* opt_analyze: analyze_keyword  */
   45613             : #line 11982 "gram.y"
   45614             :                                                                                         { (yyval.boolean) = true; }
   45615             : #line 45616 "gram.c"
   45616         278 :     break;
   45617             : 
   45618         774 :   case 1568: /* opt_analyze: %empty  */
   45619             : #line 11983 "gram.y"
   45620             :                                                                                                 { (yyval.boolean) = false; }
   45621             : #line 45622 "gram.c"
   45622         774 :     break;
   45623             : 
   45624          32 :   case 1569: /* opt_verbose: VERBOSE  */
   45625             : #line 11987 "gram.y"
   45626             :                                                                                                 { (yyval.boolean) = true; }
   45627             : #line 45628 "gram.c"
   45628          32 :     break;
   45629             : 
   45630        7808 :   case 1570: /* opt_verbose: %empty  */
   45631             : #line 11988 "gram.y"
   45632             :                                                                                                 { (yyval.boolean) = false; }
   45633             : #line 45634 "gram.c"
   45634        7808 :     break;
   45635             : 
   45636         116 :   case 1571: /* opt_full: FULL  */
   45637             : #line 11991 "gram.y"
   45638             :                                                                                         { (yyval.boolean) = true; }
   45639             : #line 45640 "gram.c"
   45640         116 :     break;
   45641             : 
   45642         936 :   case 1572: /* opt_full: %empty  */
   45643             : #line 11992 "gram.y"
   45644             :                                                                                                 { (yyval.boolean) = false; }
   45645             : #line 45646 "gram.c"
   45646         936 :     break;
   45647             : 
   45648         142 :   case 1573: /* opt_freeze: FREEZE  */
   45649             : #line 11995 "gram.y"
   45650             :                                                                                         { (yyval.boolean) = true; }
   45651             : #line 45652 "gram.c"
   45652         142 :     break;
   45653             : 
   45654         910 :   case 1574: /* opt_freeze: %empty  */
   45655             : #line 11996 "gram.y"
   45656             :                                                                                                 { (yyval.boolean) = false; }
   45657             : #line 45658 "gram.c"
   45658         910 :     break;
   45659             : 
   45660        2444 :   case 1575: /* opt_name_list: '(' name_list ')'  */
   45661             : #line 12000 "gram.y"
   45662             :                                                                                         { (yyval.list) = (yyvsp[-1].list); }
   45663             : #line 45664 "gram.c"
   45664        2444 :     break;
   45665             : 
   45666       12330 :   case 1576: /* opt_name_list: %empty  */
   45667             : #line 12001 "gram.y"
   45668             :                                                                                                 { (yyval.list) = NIL; }
   45669             : #line 45670 "gram.c"
   45670       12330 :     break;
   45671             : 
   45672       10306 :   case 1577: /* vacuum_relation: qualified_name opt_name_list  */
   45673             : #line 12006 "gram.y"
   45674             :                                 {
   45675             :                     (yyval.node) = (Node *) makeVacuumRelation((yyvsp[-1].range), InvalidOid, (yyvsp[0].list));
   45676             :                 }
   45677             : #line 45678 "gram.c"
   45678       10306 :     break;
   45679             : 
   45680       10158 :   case 1578: /* vacuum_relation_list: vacuum_relation  */
   45681             : #line 12013 "gram.y"
   45682             :                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   45683             : #line 45684 "gram.c"
   45684       10158 :     break;
   45685             : 
   45686         148 :   case 1579: /* vacuum_relation_list: vacuum_relation_list ',' vacuum_relation  */
   45687             : #line 12015 "gram.y"
   45688             :                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   45689             : #line 45690 "gram.c"
   45690         148 :     break;
   45691             : 
   45692       10158 :   case 1580: /* opt_vacuum_relation_list: vacuum_relation_list  */
   45693             : #line 12019 "gram.y"
   45694             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   45695             : #line 45696 "gram.c"
   45696       10158 :     break;
   45697             : 
   45698         292 :   case 1581: /* opt_vacuum_relation_list: %empty  */
   45699             : #line 12020 "gram.y"
   45700             :                                                                                                 { (yyval.list) = NIL; }
   45701             : #line 45702 "gram.c"
   45702         292 :     break;
   45703             : 
   45704        7630 :   case 1582: /* ExplainStmt: EXPLAIN ExplainableStmt  */
   45705             : #line 12034 "gram.y"
   45706             :                                 {
   45707             :                     ExplainStmt *n = makeNode(ExplainStmt);
   45708             : 
   45709             :                     n->query = (yyvsp[0].node);
   45710             :                     n->options = NIL;
   45711             :                     (yyval.node) = (Node *) n;
   45712             :                 }
   45713             : #line 45714 "gram.c"
   45714        7630 :     break;
   45715             : 
   45716        2292 :   case 1583: /* ExplainStmt: EXPLAIN analyze_keyword opt_verbose ExplainableStmt  */
   45717             : #line 12042 "gram.y"
   45718             :                                 {
   45719             :                     ExplainStmt *n = makeNode(ExplainStmt);
   45720             : 
   45721             :                     n->query = (yyvsp[0].node);
   45722             :                     n->options = list_make1(makeDefElem("analyze", NULL, (yylsp[-2])));
   45723             :                     if ((yyvsp[-1].boolean))
   45724             :                         n->options = lappend(n->options,
   45725             :                                              makeDefElem("verbose", NULL, (yylsp[-1])));
   45726             :                     (yyval.node) = (Node *) n;
   45727             :                 }
   45728             : #line 45729 "gram.c"
   45729        2292 :     break;
   45730             : 
   45731           0 :   case 1584: /* ExplainStmt: EXPLAIN VERBOSE ExplainableStmt  */
   45732             : #line 12053 "gram.y"
   45733             :                                 {
   45734             :                     ExplainStmt *n = makeNode(ExplainStmt);
   45735             : 
   45736             :                     n->query = (yyvsp[0].node);
   45737             :                     n->options = list_make1(makeDefElem("verbose", NULL, (yylsp[-1])));
   45738             :                     (yyval.node) = (Node *) n;
   45739             :                 }
   45740             : #line 45741 "gram.c"
   45741           0 :     break;
   45742             : 
   45743       12240 :   case 1585: /* ExplainStmt: EXPLAIN '(' utility_option_list ')' ExplainableStmt  */
   45744             : #line 12061 "gram.y"
   45745             :                                 {
   45746             :                     ExplainStmt *n = makeNode(ExplainStmt);
   45747             : 
   45748             :                     n->query = (yyvsp[0].node);
   45749             :                     n->options = (yyvsp[-2].list);
   45750             :                     (yyval.node) = (Node *) n;
   45751             :                 }
   45752             : #line 45753 "gram.c"
   45753       12240 :     break;
   45754             : 
   45755        1668 :   case 1596: /* PrepareStmt: PREPARE name prep_type_clause AS PreparableStmt  */
   45756             : #line 12091 "gram.y"
   45757             :                                 {
   45758             :                     PrepareStmt *n = makeNode(PrepareStmt);
   45759             : 
   45760             :                     n->name = (yyvsp[-3].str);
   45761             :                     n->argtypes = (yyvsp[-2].list);
   45762             :                     n->query = (yyvsp[0].node);
   45763             :                     (yyval.node) = (Node *) n;
   45764             :                 }
   45765             : #line 45766 "gram.c"
   45766        1668 :     break;
   45767             : 
   45768        1398 :   case 1597: /* prep_type_clause: '(' type_list ')'  */
   45769             : #line 12101 "gram.y"
   45770             :                                                         { (yyval.list) = (yyvsp[-1].list); }
   45771             : #line 45772 "gram.c"
   45772        1398 :     break;
   45773             : 
   45774         276 :   case 1598: /* prep_type_clause: %empty  */
   45775             : #line 12102 "gram.y"
   45776             :                                                                         { (yyval.list) = NIL; }
   45777             : #line 45778 "gram.c"
   45778         276 :     break;
   45779             : 
   45780       11688 :   case 1604: /* ExecuteStmt: EXECUTE name execute_param_clause  */
   45781             : #line 12121 "gram.y"
   45782             :                                 {
   45783             :                     ExecuteStmt *n = makeNode(ExecuteStmt);
   45784             : 
   45785             :                     n->name = (yyvsp[-1].str);
   45786             :                     n->params = (yyvsp[0].list);
   45787             :                     (yyval.node) = (Node *) n;
   45788             :                 }
   45789             : #line 45790 "gram.c"
   45790       11688 :     break;
   45791             : 
   45792          72 :   case 1605: /* ExecuteStmt: CREATE OptTemp TABLE create_as_target AS EXECUTE name execute_param_clause opt_with_data  */
   45793             : #line 12130 "gram.y"
   45794             :                                 {
   45795             :                     CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
   45796             :                     ExecuteStmt *n = makeNode(ExecuteStmt);
   45797             : 
   45798             :                     n->name = (yyvsp[-2].str);
   45799             :                     n->params = (yyvsp[-1].list);
   45800             :                     ctas->query = (Node *) n;
   45801             :                     ctas->into = (yyvsp[-5].into);
   45802             :                     ctas->objtype = OBJECT_TABLE;
   45803             :                     ctas->is_select_into = false;
   45804             :                     ctas->if_not_exists = false;
   45805             :                     /* cram additional flags into the IntoClause */
   45806             :                     (yyvsp[-5].into)->rel->relpersistence = (yyvsp[-7].ival);
   45807             :                     (yyvsp[-5].into)->skipData = !((yyvsp[0].boolean));
   45808             :                     (yyval.node) = (Node *) ctas;
   45809             :                 }
   45810             : #line 45811 "gram.c"
   45811          72 :     break;
   45812             : 
   45813          12 :   case 1606: /* ExecuteStmt: CREATE OptTemp TABLE IF_P NOT EXISTS create_as_target AS EXECUTE name execute_param_clause opt_with_data  */
   45814             : #line 12148 "gram.y"
   45815             :                                 {
   45816             :                     CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
   45817             :                     ExecuteStmt *n = makeNode(ExecuteStmt);
   45818             : 
   45819             :                     n->name = (yyvsp[-2].str);
   45820             :                     n->params = (yyvsp[-1].list);
   45821             :                     ctas->query = (Node *) n;
   45822             :                     ctas->into = (yyvsp[-5].into);
   45823             :                     ctas->objtype = OBJECT_TABLE;
   45824             :                     ctas->is_select_into = false;
   45825             :                     ctas->if_not_exists = true;
   45826             :                     /* cram additional flags into the IntoClause */
   45827             :                     (yyvsp[-5].into)->rel->relpersistence = (yyvsp[-10].ival);
   45828             :                     (yyvsp[-5].into)->skipData = !((yyvsp[0].boolean));
   45829             :                     (yyval.node) = (Node *) ctas;
   45830             :                 }
   45831             : #line 45832 "gram.c"
   45832          12 :     break;
   45833             : 
   45834       10694 :   case 1607: /* execute_param_clause: '(' expr_list ')'  */
   45835             : #line 12166 "gram.y"
   45836             :                                                                 { (yyval.list) = (yyvsp[-1].list); }
   45837             : #line 45838 "gram.c"
   45838       10694 :     break;
   45839             : 
   45840        1078 :   case 1608: /* execute_param_clause: %empty  */
   45841             : #line 12167 "gram.y"
   45842             :                                                                                         { (yyval.list) = NIL; }
   45843             : #line 45844 "gram.c"
   45844        1078 :     break;
   45845             : 
   45846        3964 :   case 1609: /* DeallocateStmt: DEALLOCATE name  */
   45847             : #line 12178 "gram.y"
   45848             :                                         {
   45849             :                         DeallocateStmt *n = makeNode(DeallocateStmt);
   45850             : 
   45851             :                         n->name = (yyvsp[0].str);
   45852             :                         n->isall = false;
   45853             :                         n->location = (yylsp[0]);
   45854             :                         (yyval.node) = (Node *) n;
   45855             :                     }
   45856             : #line 45857 "gram.c"
   45857        3964 :     break;
   45858             : 
   45859          20 :   case 1610: /* DeallocateStmt: DEALLOCATE PREPARE name  */
   45860             : #line 12187 "gram.y"
   45861             :                                         {
   45862             :                         DeallocateStmt *n = makeNode(DeallocateStmt);
   45863             : 
   45864             :                         n->name = (yyvsp[0].str);
   45865             :                         n->isall = false;
   45866             :                         n->location = (yylsp[0]);
   45867             :                         (yyval.node) = (Node *) n;
   45868             :                     }
   45869             : #line 45870 "gram.c"
   45870          20 :     break;
   45871             : 
   45872          48 :   case 1611: /* DeallocateStmt: DEALLOCATE ALL  */
   45873             : #line 12196 "gram.y"
   45874             :                                         {
   45875             :                         DeallocateStmt *n = makeNode(DeallocateStmt);
   45876             : 
   45877             :                         n->name = NULL;
   45878             :                         n->isall = true;
   45879             :                         n->location = -1;
   45880             :                         (yyval.node) = (Node *) n;
   45881             :                     }
   45882             : #line 45883 "gram.c"
   45883          48 :     break;
   45884             : 
   45885           2 :   case 1612: /* DeallocateStmt: DEALLOCATE PREPARE ALL  */
   45886             : #line 12205 "gram.y"
   45887             :                                         {
   45888             :                         DeallocateStmt *n = makeNode(DeallocateStmt);
   45889             : 
   45890             :                         n->name = NULL;
   45891             :                         n->isall = true;
   45892             :                         n->location = -1;
   45893             :                         (yyval.node) = (Node *) n;
   45894             :                     }
   45895             : #line 45896 "gram.c"
   45896           2 :     break;
   45897             : 
   45898       72490 :   case 1613: /* InsertStmt: opt_with_clause INSERT INTO insert_target insert_rest opt_on_conflict returning_clause  */
   45899             : #line 12225 "gram.y"
   45900             :                                 {
   45901             :                     (yyvsp[-2].istmt)->relation = (yyvsp[-3].range);
   45902             :                     (yyvsp[-2].istmt)->onConflictClause = (yyvsp[-1].onconflict);
   45903             :                     (yyvsp[-2].istmt)->returningList = (yyvsp[0].list);
   45904             :                     (yyvsp[-2].istmt)->withClause = (yyvsp[-6].with);
   45905             :                     (yyval.node) = (Node *) (yyvsp[-2].istmt);
   45906             :                 }
   45907             : #line 45908 "gram.c"
   45908       72490 :     break;
   45909             : 
   45910       72364 :   case 1614: /* insert_target: qualified_name  */
   45911             : #line 12242 "gram.y"
   45912             :                                 {
   45913             :                     (yyval.range) = (yyvsp[0].range);
   45914             :                 }
   45915             : #line 45916 "gram.c"
   45916       72364 :     break;
   45917             : 
   45918         126 :   case 1615: /* insert_target: qualified_name AS ColId  */
   45919             : #line 12246 "gram.y"
   45920             :                                 {
   45921             :                     (yyvsp[-2].range)->alias = makeAlias((yyvsp[0].str), NIL);
   45922             :                     (yyval.range) = (yyvsp[-2].range);
   45923             :                 }
   45924             : #line 45925 "gram.c"
   45925         126 :     break;
   45926             : 
   45927       48524 :   case 1616: /* insert_rest: SelectStmt  */
   45928             : #line 12254 "gram.y"
   45929             :                                 {
   45930             :                     (yyval.istmt) = makeNode(InsertStmt);
   45931             :                     (yyval.istmt)->cols = NIL;
   45932             :                     (yyval.istmt)->selectStmt = (yyvsp[0].node);
   45933             :                 }
   45934             : #line 45935 "gram.c"
   45935       48524 :     break;
   45936             : 
   45937          96 :   case 1617: /* insert_rest: OVERRIDING override_kind VALUE_P SelectStmt  */
   45938             : #line 12260 "gram.y"
   45939             :                                 {
   45940             :                     (yyval.istmt) = makeNode(InsertStmt);
   45941             :                     (yyval.istmt)->cols = NIL;
   45942             :                     (yyval.istmt)->override = (yyvsp[-2].ival);
   45943             :                     (yyval.istmt)->selectStmt = (yyvsp[0].node);
   45944             :                 }
   45945             : #line 45946 "gram.c"
   45946          96 :     break;
   45947             : 
   45948       13104 :   case 1618: /* insert_rest: '(' insert_column_list ')' SelectStmt  */
   45949             : #line 12267 "gram.y"
   45950             :                                 {
   45951             :                     (yyval.istmt) = makeNode(InsertStmt);
   45952             :                     (yyval.istmt)->cols = (yyvsp[-2].list);
   45953             :                     (yyval.istmt)->selectStmt = (yyvsp[0].node);
   45954             :                 }
   45955             : #line 45956 "gram.c"
   45956       13104 :     break;
   45957             : 
   45958           0 :   case 1619: /* insert_rest: '(' insert_column_list ')' OVERRIDING override_kind VALUE_P SelectStmt  */
   45959             : #line 12273 "gram.y"
   45960             :                                 {
   45961             :                     (yyval.istmt) = makeNode(InsertStmt);
   45962             :                     (yyval.istmt)->cols = (yyvsp[-5].list);
   45963             :                     (yyval.istmt)->override = (yyvsp[-2].ival);
   45964             :                     (yyval.istmt)->selectStmt = (yyvsp[0].node);
   45965             :                 }
   45966             : #line 45967 "gram.c"
   45967           0 :     break;
   45968             : 
   45969       10766 :   case 1620: /* insert_rest: DEFAULT VALUES  */
   45970             : #line 12280 "gram.y"
   45971             :                                 {
   45972             :                     (yyval.istmt) = makeNode(InsertStmt);
   45973             :                     (yyval.istmt)->cols = NIL;
   45974             :                     (yyval.istmt)->selectStmt = NULL;
   45975             :                 }
   45976             : #line 45977 "gram.c"
   45977       10766 :     break;
   45978             : 
   45979          66 :   case 1621: /* override_kind: USER  */
   45980             : #line 12288 "gram.y"
   45981             :                                         { (yyval.ival) = OVERRIDING_USER_VALUE; }
   45982             : #line 45983 "gram.c"
   45983          66 :     break;
   45984             : 
   45985          60 :   case 1622: /* override_kind: SYSTEM_P  */
   45986             : #line 12289 "gram.y"
   45987             :                                         { (yyval.ival) = OVERRIDING_SYSTEM_VALUE; }
   45988             : #line 45989 "gram.c"
   45989          60 :     break;
   45990             : 
   45991       13386 :   case 1623: /* insert_column_list: insert_column_item  */
   45992             : #line 12294 "gram.y"
   45993             :                                         { (yyval.list) = list_make1((yyvsp[0].target)); }
   45994             : #line 45995 "gram.c"
   45995       13386 :     break;
   45996             : 
   45997       15070 :   case 1624: /* insert_column_list: insert_column_list ',' insert_column_item  */
   45998             : #line 12296 "gram.y"
   45999             :                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
   46000             : #line 46001 "gram.c"
   46001       15070 :     break;
   46002             : 
   46003       28456 :   case 1625: /* insert_column_item: ColId opt_indirection  */
   46004             : #line 12301 "gram.y"
   46005             :                                 {
   46006             :                     (yyval.target) = makeNode(ResTarget);
   46007             :                     (yyval.target)->name = (yyvsp[-1].str);
   46008             :                     (yyval.target)->indirection = check_indirection((yyvsp[0].list), yyscanner);
   46009             :                     (yyval.target)->val = NULL;
   46010             :                     (yyval.target)->location = (yylsp[-1]);
   46011             :                 }
   46012             : #line 46013 "gram.c"
   46013       28456 :     break;
   46014             : 
   46015        1150 :   case 1626: /* opt_on_conflict: ON CONFLICT opt_conf_expr DO UPDATE SET set_clause_list where_clause  */
   46016             : #line 12312 "gram.y"
   46017             :                                 {
   46018             :                     (yyval.onconflict) = makeNode(OnConflictClause);
   46019             :                     (yyval.onconflict)->action = ONCONFLICT_UPDATE;
   46020             :                     (yyval.onconflict)->infer = (yyvsp[-5].infer);
   46021             :                     (yyval.onconflict)->targetList = (yyvsp[-1].list);
   46022             :                     (yyval.onconflict)->whereClause = (yyvsp[0].node);
   46023             :                     (yyval.onconflict)->location = (yylsp[-7]);
   46024             :                 }
   46025             : #line 46026 "gram.c"
   46026        1150 :     break;
   46027             : 
   46028         322 :   case 1627: /* opt_on_conflict: ON CONFLICT opt_conf_expr DO NOTHING  */
   46029             : #line 12322 "gram.y"
   46030             :                                 {
   46031             :                     (yyval.onconflict) = makeNode(OnConflictClause);
   46032             :                     (yyval.onconflict)->action = ONCONFLICT_NOTHING;
   46033             :                     (yyval.onconflict)->infer = (yyvsp[-2].infer);
   46034             :                     (yyval.onconflict)->targetList = NIL;
   46035             :                     (yyval.onconflict)->whereClause = NULL;
   46036             :                     (yyval.onconflict)->location = (yylsp[-4]);
   46037             :                 }
   46038             : #line 46039 "gram.c"
   46039         322 :     break;
   46040             : 
   46041       71018 :   case 1628: /* opt_on_conflict: %empty  */
   46042             : #line 12331 "gram.y"
   46043             :                                 {
   46044             :                     (yyval.onconflict) = NULL;
   46045             :                 }
   46046             : #line 46047 "gram.c"
   46047       71018 :     break;
   46048             : 
   46049        1262 :   case 1629: /* opt_conf_expr: '(' index_params ')' where_clause  */
   46050             : #line 12338 "gram.y"
   46051             :                                 {
   46052             :                     (yyval.infer) = makeNode(InferClause);
   46053             :                     (yyval.infer)->indexElems = (yyvsp[-2].list);
   46054             :                     (yyval.infer)->whereClause = (yyvsp[0].node);
   46055             :                     (yyval.infer)->conname = NULL;
   46056             :                     (yyval.infer)->location = (yylsp[-3]);
   46057             :                 }
   46058             : #line 46059 "gram.c"
   46059        1262 :     break;
   46060             : 
   46061          48 :   case 1630: /* opt_conf_expr: ON CONSTRAINT name  */
   46062             : #line 12347 "gram.y"
   46063             :                                 {
   46064             :                     (yyval.infer) = makeNode(InferClause);
   46065             :                     (yyval.infer)->indexElems = NIL;
   46066             :                     (yyval.infer)->whereClause = NULL;
   46067             :                     (yyval.infer)->conname = (yyvsp[0].str);
   46068             :                     (yyval.infer)->location = (yylsp[-2]);
   46069             :                 }
   46070             : #line 46071 "gram.c"
   46071          48 :     break;
   46072             : 
   46073         162 :   case 1631: /* opt_conf_expr: %empty  */
   46074             : #line 12355 "gram.y"
   46075             :                                 {
   46076             :                     (yyval.infer) = NULL;
   46077             :                 }
   46078             : #line 46079 "gram.c"
   46079         162 :     break;
   46080             : 
   46081        2670 :   case 1632: /* returning_clause: RETURNING target_list  */
   46082             : #line 12361 "gram.y"
   46083             :                                                         { (yyval.list) = (yyvsp[0].list); }
   46084             : #line 46085 "gram.c"
   46085        2670 :     break;
   46086             : 
   46087       89664 :   case 1633: /* returning_clause: %empty  */
   46088             : #line 12362 "gram.y"
   46089             :                                                                 { (yyval.list) = NIL; }
   46090             : #line 46091 "gram.c"
   46091       89664 :     break;
   46092             : 
   46093        4488 :   case 1634: /* DeleteStmt: opt_with_clause DELETE_P FROM relation_expr_opt_alias using_clause where_or_current_clause returning_clause  */
   46094             : #line 12375 "gram.y"
   46095             :                                 {
   46096             :                     DeleteStmt *n = makeNode(DeleteStmt);
   46097             : 
   46098             :                     n->relation = (yyvsp[-3].range);
   46099             :                     n->usingClause = (yyvsp[-2].list);
   46100             :                     n->whereClause = (yyvsp[-1].node);
   46101             :                     n->returningList = (yyvsp[0].list);
   46102             :                     n->withClause = (yyvsp[-6].with);
   46103             :                     (yyval.node) = (Node *) n;
   46104             :                 }
   46105             : #line 46106 "gram.c"
   46106        4488 :     break;
   46107             : 
   46108         108 :   case 1635: /* using_clause: USING from_list  */
   46109             : #line 12388 "gram.y"
   46110             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   46111             : #line 46112 "gram.c"
   46112         108 :     break;
   46113             : 
   46114        4380 :   case 1636: /* using_clause: %empty  */
   46115             : #line 12389 "gram.y"
   46116             :                                                                                                 { (yyval.list) = NIL; }
   46117             : #line 46118 "gram.c"
   46118        4380 :     break;
   46119             : 
   46120        1080 :   case 1637: /* LockStmt: LOCK_P opt_table relation_expr_list opt_lock opt_nowait  */
   46121             : #line 12401 "gram.y"
   46122             :                                 {
   46123             :                     LockStmt   *n = makeNode(LockStmt);
   46124             : 
   46125             :                     n->relations = (yyvsp[-2].list);
   46126             :                     n->mode = (yyvsp[-1].ival);
   46127             :                     n->nowait = (yyvsp[0].boolean);
   46128             :                     (yyval.node) = (Node *) n;
   46129             :                 }
   46130             : #line 46131 "gram.c"
   46131        1080 :     break;
   46132             : 
   46133         988 :   case 1638: /* opt_lock: IN_P lock_type MODE  */
   46134             : #line 12411 "gram.y"
   46135             :                                                                 { (yyval.ival) = (yyvsp[-1].ival); }
   46136             : #line 46137 "gram.c"
   46137         988 :     break;
   46138             : 
   46139          92 :   case 1639: /* opt_lock: %empty  */
   46140             : #line 12412 "gram.y"
   46141             :                                                                                 { (yyval.ival) = AccessExclusiveLock; }
   46142             : #line 46143 "gram.c"
   46143          92 :     break;
   46144             : 
   46145         498 :   case 1640: /* lock_type: ACCESS SHARE  */
   46146             : #line 12415 "gram.y"
   46147             :                                                                 { (yyval.ival) = AccessShareLock; }
   46148             : #line 46149 "gram.c"
   46149         498 :     break;
   46150             : 
   46151          14 :   case 1641: /* lock_type: ROW SHARE  */
   46152             : #line 12416 "gram.y"
   46153             :                                                                                 { (yyval.ival) = RowShareLock; }
   46154             : #line 46155 "gram.c"
   46155          14 :     break;
   46156             : 
   46157          88 :   case 1642: /* lock_type: ROW EXCLUSIVE  */
   46158             : #line 12417 "gram.y"
   46159             :                                                                         { (yyval.ival) = RowExclusiveLock; }
   46160             : #line 46161 "gram.c"
   46161          88 :     break;
   46162             : 
   46163          66 :   case 1643: /* lock_type: SHARE UPDATE EXCLUSIVE  */
   46164             : #line 12418 "gram.y"
   46165             :                                                                 { (yyval.ival) = ShareUpdateExclusiveLock; }
   46166             : #line 46167 "gram.c"
   46167          66 :     break;
   46168             : 
   46169          80 :   case 1644: /* lock_type: SHARE  */
   46170             : #line 12419 "gram.y"
   46171             :                                                                                 { (yyval.ival) = ShareLock; }
   46172             : #line 46173 "gram.c"
   46173          80 :     break;
   46174             : 
   46175          14 :   case 1645: /* lock_type: SHARE ROW EXCLUSIVE  */
   46176             : #line 12420 "gram.y"
   46177             :                                                                 { (yyval.ival) = ShareRowExclusiveLock; }
   46178             : #line 46179 "gram.c"
   46179          14 :     break;
   46180             : 
   46181         102 :   case 1646: /* lock_type: EXCLUSIVE  */
   46182             : #line 12421 "gram.y"
   46183             :                                                                                 { (yyval.ival) = ExclusiveLock; }
   46184             : #line 46185 "gram.c"
   46185         102 :     break;
   46186             : 
   46187         126 :   case 1647: /* lock_type: ACCESS EXCLUSIVE  */
   46188             : #line 12422 "gram.y"
   46189             :                                                                         { (yyval.ival) = AccessExclusiveLock; }
   46190             : #line 46191 "gram.c"
   46191         126 :     break;
   46192             : 
   46193         286 :   case 1648: /* opt_nowait: NOWAIT  */
   46194             : #line 12425 "gram.y"
   46195             :                                                                         { (yyval.boolean) = true; }
   46196             : #line 46197 "gram.c"
   46197         286 :     break;
   46198             : 
   46199         824 :   case 1649: /* opt_nowait: %empty  */
   46200             : #line 12426 "gram.y"
   46201             :                                                                                 { (yyval.boolean) = false; }
   46202             : #line 46203 "gram.c"
   46203         824 :     break;
   46204             : 
   46205          50 :   case 1650: /* opt_nowait_or_skip: NOWAIT  */
   46206             : #line 12430 "gram.y"
   46207             :                                                                                 { (yyval.ival) = LockWaitError; }
   46208             : #line 46209 "gram.c"
   46209          50 :     break;
   46210             : 
   46211         190 :   case 1651: /* opt_nowait_or_skip: SKIP LOCKED  */
   46212             : #line 12431 "gram.y"
   46213             :                                                                         { (yyval.ival) = LockWaitSkip; }
   46214             : #line 46215 "gram.c"
   46215         190 :     break;
   46216             : 
   46217        4842 :   case 1652: /* opt_nowait_or_skip: %empty  */
   46218             : #line 12432 "gram.y"
   46219             :                                                                                 { (yyval.ival) = LockWaitBlock; }
   46220             : #line 46221 "gram.c"
   46221        4842 :     break;
   46222             : 
   46223       13430 :   case 1653: /* UpdateStmt: opt_with_clause UPDATE relation_expr_opt_alias SET set_clause_list from_clause where_or_current_clause returning_clause  */
   46224             : #line 12448 "gram.y"
   46225             :                                 {
   46226             :                     UpdateStmt *n = makeNode(UpdateStmt);
   46227             : 
   46228             :                     n->relation = (yyvsp[-5].range);
   46229             :                     n->targetList = (yyvsp[-3].list);
   46230             :                     n->fromClause = (yyvsp[-2].list);
   46231             :                     n->whereClause = (yyvsp[-1].node);
   46232             :                     n->returningList = (yyvsp[0].list);
   46233             :                     n->withClause = (yyvsp[-7].with);
   46234             :                     (yyval.node) = (Node *) n;
   46235             :                 }
   46236             : #line 46237 "gram.c"
   46237       13430 :     break;
   46238             : 
   46239       16082 :   case 1654: /* set_clause_list: set_clause  */
   46240             : #line 12462 "gram.y"
   46241             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   46242             : #line 46243 "gram.c"
   46243       16082 :     break;
   46244             : 
   46245        3702 :   case 1655: /* set_clause_list: set_clause_list ',' set_clause  */
   46246             : #line 12463 "gram.y"
   46247             :                                                                 { (yyval.list) = list_concat((yyvsp[-2].list),(yyvsp[0].list)); }
   46248             : #line 46249 "gram.c"
   46249        3702 :     break;
   46250             : 
   46251       19600 :   case 1656: /* set_clause: set_target '=' a_expr  */
   46252             : #line 12468 "gram.y"
   46253             :                                 {
   46254             :                     (yyvsp[-2].target)->val = (Node *) (yyvsp[0].node);
   46255             :                     (yyval.list) = list_make1((yyvsp[-2].target));
   46256             :                 }
   46257             : #line 46258 "gram.c"
   46258       19600 :     break;
   46259             : 
   46260         184 :   case 1657: /* set_clause: '(' set_target_list ')' '=' a_expr  */
   46261             : #line 12473 "gram.y"
   46262             :                                 {
   46263             :                     int         ncolumns = list_length((yyvsp[-3].list));
   46264             :                     int         i = 1;
   46265             :                     ListCell   *col_cell;
   46266             : 
   46267             :                     /* Create a MultiAssignRef source for each target */
   46268             :                     foreach(col_cell, (yyvsp[-3].list))
   46269             :                     {
   46270             :                         ResTarget  *res_col = (ResTarget *) lfirst(col_cell);
   46271             :                         MultiAssignRef *r = makeNode(MultiAssignRef);
   46272             : 
   46273             :                         r->source = (Node *) (yyvsp[0].node);
   46274             :                         r->colno = i;
   46275             :                         r->ncolumns = ncolumns;
   46276             :                         res_col->val = (Node *) r;
   46277             :                         i++;
   46278             :                     }
   46279             : 
   46280             :                     (yyval.list) = (yyvsp[-3].list);
   46281             :                 }
   46282             : #line 46283 "gram.c"
   46283         184 :     break;
   46284             : 
   46285       19990 :   case 1658: /* set_target: ColId opt_indirection  */
   46286             : #line 12497 "gram.y"
   46287             :                                 {
   46288             :                     (yyval.target) = makeNode(ResTarget);
   46289             :                     (yyval.target)->name = (yyvsp[-1].str);
   46290             :                     (yyval.target)->indirection = check_indirection((yyvsp[0].list), yyscanner);
   46291             :                     (yyval.target)->val = NULL;  /* upper production sets this */
   46292             :                     (yyval.target)->location = (yylsp[-1]);
   46293             :                 }
   46294             : #line 46295 "gram.c"
   46295       19990 :     break;
   46296             : 
   46297         190 :   case 1659: /* set_target_list: set_target  */
   46298             : #line 12507 "gram.y"
   46299             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].target)); }
   46300             : #line 46301 "gram.c"
   46301         190 :     break;
   46302             : 
   46303         200 :   case 1660: /* set_target_list: set_target_list ',' set_target  */
   46304             : #line 12508 "gram.y"
   46305             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].target)); }
   46306             : #line 46307 "gram.c"
   46307         200 :     break;
   46308             : 
   46309        1926 :   case 1661: /* MergeStmt: opt_with_clause MERGE INTO relation_expr_opt_alias USING table_ref ON a_expr merge_when_list returning_clause  */
   46310             : #line 12525 "gram.y"
   46311             :                                 {
   46312             :                     MergeStmt  *m = makeNode(MergeStmt);
   46313             : 
   46314             :                     m->withClause = (yyvsp[-9].with);
   46315             :                     m->relation = (yyvsp[-6].range);
   46316             :                     m->sourceRelation = (yyvsp[-4].node);
   46317             :                     m->joinCondition = (yyvsp[-2].node);
   46318             :                     m->mergeWhenClauses = (yyvsp[-1].list);
   46319             :                     m->returningList = (yyvsp[0].list);
   46320             : 
   46321             :                     (yyval.node) = (Node *) m;
   46322             :                 }
   46323             : #line 46324 "gram.c"
   46324        1926 :     break;
   46325             : 
   46326        1926 :   case 1662: /* merge_when_list: merge_when_clause  */
   46327             : #line 12540 "gram.y"
   46328             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   46329             : #line 46330 "gram.c"
   46330        1926 :     break;
   46331             : 
   46332        1118 :   case 1663: /* merge_when_list: merge_when_list merge_when_clause  */
   46333             : #line 12541 "gram.y"
   46334             :                                                                         { (yyval.list) = lappend((yyvsp[-1].list),(yyvsp[0].node)); }
   46335             : #line 46336 "gram.c"
   46336        1118 :     break;
   46337             : 
   46338        1502 :   case 1664: /* merge_when_clause: merge_when_tgt_matched opt_merge_when_condition THEN merge_update  */
   46339             : #line 12552 "gram.y"
   46340             :                                 {
   46341             :                     (yyvsp[0].mergewhen)->matchKind = (yyvsp[-3].mergematch);
   46342             :                     (yyvsp[0].mergewhen)->condition = (yyvsp[-2].node);
   46343             : 
   46344             :                     (yyval.node) = (Node *) (yyvsp[0].mergewhen);
   46345             :                 }
   46346             : #line 46347 "gram.c"
   46347        1502 :     break;
   46348             : 
   46349         470 :   case 1665: /* merge_when_clause: merge_when_tgt_matched opt_merge_when_condition THEN merge_delete  */
   46350             : #line 12559 "gram.y"
   46351             :                                 {
   46352             :                     (yyvsp[0].mergewhen)->matchKind = (yyvsp[-3].mergematch);
   46353             :                     (yyvsp[0].mergewhen)->condition = (yyvsp[-2].node);
   46354             : 
   46355             :                     (yyval.node) = (Node *) (yyvsp[0].mergewhen);
   46356             :                 }
   46357             : #line 46358 "gram.c"
   46358         470 :     break;
   46359             : 
   46360        1012 :   case 1666: /* merge_when_clause: merge_when_tgt_not_matched opt_merge_when_condition THEN merge_insert  */
   46361             : #line 12566 "gram.y"
   46362             :                                 {
   46363             :                     (yyvsp[0].mergewhen)->matchKind = (yyvsp[-3].mergematch);
   46364             :                     (yyvsp[0].mergewhen)->condition = (yyvsp[-2].node);
   46365             : 
   46366             :                     (yyval.node) = (Node *) (yyvsp[0].mergewhen);
   46367             :                 }
   46368             : #line 46369 "gram.c"
   46369        1012 :     break;
   46370             : 
   46371          46 :   case 1667: /* merge_when_clause: merge_when_tgt_matched opt_merge_when_condition THEN DO NOTHING  */
   46372             : #line 12573 "gram.y"
   46373             :                                 {
   46374             :                     MergeWhenClause *m = makeNode(MergeWhenClause);
   46375             : 
   46376             :                     m->matchKind = (yyvsp[-4].mergematch);
   46377             :                     m->commandType = CMD_NOTHING;
   46378             :                     m->condition = (yyvsp[-3].node);
   46379             : 
   46380             :                     (yyval.node) = (Node *) m;
   46381             :                 }
   46382             : #line 46383 "gram.c"
   46383          46 :     break;
   46384             : 
   46385          14 :   case 1668: /* merge_when_clause: merge_when_tgt_not_matched opt_merge_when_condition THEN DO NOTHING  */
   46386             : #line 12583 "gram.y"
   46387             :                                 {
   46388             :                     MergeWhenClause *m = makeNode(MergeWhenClause);
   46389             : 
   46390             :                     m->matchKind = (yyvsp[-4].mergematch);
   46391             :                     m->commandType = CMD_NOTHING;
   46392             :                     m->condition = (yyvsp[-3].node);
   46393             : 
   46394             :                     (yyval.node) = (Node *) m;
   46395             :                 }
   46396             : #line 46397 "gram.c"
   46397          14 :     break;
   46398             : 
   46399        1868 :   case 1669: /* merge_when_tgt_matched: WHEN MATCHED  */
   46400             : #line 12595 "gram.y"
   46401             :                                                                         { (yyval.mergematch) = MERGE_WHEN_MATCHED; }
   46402             : #line 46403 "gram.c"
   46403        1868 :     break;
   46404             : 
   46405         168 :   case 1670: /* merge_when_tgt_matched: WHEN NOT MATCHED BY SOURCE  */
   46406             : #line 12596 "gram.y"
   46407             :                                                         { (yyval.mergematch) = MERGE_WHEN_NOT_MATCHED_BY_SOURCE; }
   46408             : #line 46409 "gram.c"
   46409         168 :     break;
   46410             : 
   46411        1032 :   case 1671: /* merge_when_tgt_not_matched: WHEN NOT MATCHED  */
   46412             : #line 12600 "gram.y"
   46413             :                                                                         { (yyval.mergematch) = MERGE_WHEN_NOT_MATCHED_BY_TARGET; }
   46414             : #line 46415 "gram.c"
   46415        1032 :     break;
   46416             : 
   46417          18 :   case 1672: /* merge_when_tgt_not_matched: WHEN NOT MATCHED BY TARGET  */
   46418             : #line 12601 "gram.y"
   46419             :                                                         { (yyval.mergematch) = MERGE_WHEN_NOT_MATCHED_BY_TARGET; }
   46420             : #line 46421 "gram.c"
   46421          18 :     break;
   46422             : 
   46423         802 :   case 1673: /* opt_merge_when_condition: AND a_expr  */
   46424             : #line 12605 "gram.y"
   46425             :                                                                 { (yyval.node) = (yyvsp[0].node); }
   46426             : #line 46427 "gram.c"
   46427         802 :     break;
   46428             : 
   46429        2284 :   case 1674: /* opt_merge_when_condition: %empty  */
   46430             : #line 12606 "gram.y"
   46431             :                                                                         { (yyval.node) = NULL; }
   46432             : #line 46433 "gram.c"
   46433        2284 :     break;
   46434             : 
   46435        1502 :   case 1675: /* merge_update: UPDATE SET set_clause_list  */
   46436             : #line 12611 "gram.y"
   46437             :                                 {
   46438             :                     MergeWhenClause *n = makeNode(MergeWhenClause);
   46439             :                     n->commandType = CMD_UPDATE;
   46440             :                     n->override = OVERRIDING_NOT_SET;
   46441             :                     n->targetList = (yyvsp[0].list);
   46442             :                     n->values = NIL;
   46443             : 
   46444             :                     (yyval.mergewhen) = n;
   46445             :                 }
   46446             : #line 46447 "gram.c"
   46447        1502 :     break;
   46448             : 
   46449         470 :   case 1676: /* merge_delete: DELETE_P  */
   46450             : #line 12624 "gram.y"
   46451             :                                 {
   46452             :                     MergeWhenClause *n = makeNode(MergeWhenClause);
   46453             :                     n->commandType = CMD_DELETE;
   46454             :                     n->override = OVERRIDING_NOT_SET;
   46455             :                     n->targetList = NIL;
   46456             :                     n->values = NIL;
   46457             : 
   46458             :                     (yyval.mergewhen) = n;
   46459             :                 }
   46460             : #line 46461 "gram.c"
   46461         470 :     break;
   46462             : 
   46463         694 :   case 1677: /* merge_insert: INSERT merge_values_clause  */
   46464             : #line 12637 "gram.y"
   46465             :                                 {
   46466             :                     MergeWhenClause *n = makeNode(MergeWhenClause);
   46467             :                     n->commandType = CMD_INSERT;
   46468             :                     n->override = OVERRIDING_NOT_SET;
   46469             :                     n->targetList = NIL;
   46470             :                     n->values = (yyvsp[0].list);
   46471             :                     (yyval.mergewhen) = n;
   46472             :                 }
   46473             : #line 46474 "gram.c"
   46474         694 :     break;
   46475             : 
   46476           0 :   case 1678: /* merge_insert: INSERT OVERRIDING override_kind VALUE_P merge_values_clause  */
   46477             : #line 12646 "gram.y"
   46478             :                                 {
   46479             :                     MergeWhenClause *n = makeNode(MergeWhenClause);
   46480             :                     n->commandType = CMD_INSERT;
   46481             :                     n->override = (yyvsp[-2].ival);
   46482             :                     n->targetList = NIL;
   46483             :                     n->values = (yyvsp[0].list);
   46484             :                     (yyval.mergewhen) = n;
   46485             :                 }
   46486             : #line 46487 "gram.c"
   46487           0 :     break;
   46488             : 
   46489         252 :   case 1679: /* merge_insert: INSERT '(' insert_column_list ')' merge_values_clause  */
   46490             : #line 12655 "gram.y"
   46491             :                                 {
   46492             :                     MergeWhenClause *n = makeNode(MergeWhenClause);
   46493             :                     n->commandType = CMD_INSERT;
   46494             :                     n->override = OVERRIDING_NOT_SET;
   46495             :                     n->targetList = (yyvsp[-2].list);
   46496             :                     n->values = (yyvsp[0].list);
   46497             :                     (yyval.mergewhen) = n;
   46498             :                 }
   46499             : #line 46500 "gram.c"
   46500         252 :     break;
   46501             : 
   46502          30 :   case 1680: /* merge_insert: INSERT '(' insert_column_list ')' OVERRIDING override_kind VALUE_P merge_values_clause  */
   46503             : #line 12664 "gram.y"
   46504             :                                 {
   46505             :                     MergeWhenClause *n = makeNode(MergeWhenClause);
   46506             :                     n->commandType = CMD_INSERT;
   46507             :                     n->override = (yyvsp[-2].ival);
   46508             :                     n->targetList = (yyvsp[-5].list);
   46509             :                     n->values = (yyvsp[0].list);
   46510             :                     (yyval.mergewhen) = n;
   46511             :                 }
   46512             : #line 46513 "gram.c"
   46513          30 :     break;
   46514             : 
   46515          36 :   case 1681: /* merge_insert: INSERT DEFAULT VALUES  */
   46516             : #line 12673 "gram.y"
   46517             :                                 {
   46518             :                     MergeWhenClause *n = makeNode(MergeWhenClause);
   46519             :                     n->commandType = CMD_INSERT;
   46520             :                     n->override = OVERRIDING_NOT_SET;
   46521             :                     n->targetList = NIL;
   46522             :                     n->values = NIL;
   46523             :                     (yyval.mergewhen) = n;
   46524             :                 }
   46525             : #line 46526 "gram.c"
   46526          36 :     break;
   46527             : 
   46528         976 :   case 1682: /* merge_values_clause: VALUES '(' expr_list ')'  */
   46529             : #line 12685 "gram.y"
   46530             :                                 {
   46531             :                     (yyval.list) = (yyvsp[-1].list);
   46532             :                 }
   46533             : #line 46534 "gram.c"
   46534         976 :     break;
   46535             : 
   46536        2728 :   case 1683: /* DeclareCursorStmt: DECLARE cursor_name cursor_options CURSOR opt_hold FOR SelectStmt  */
   46537             : #line 12697 "gram.y"
   46538             :                                 {
   46539             :                     DeclareCursorStmt *n = makeNode(DeclareCursorStmt);
   46540             : 
   46541             :                     n->portalname = (yyvsp[-5].str);
   46542             :                     /* currently we always set FAST_PLAN option */
   46543             :                     n->options = (yyvsp[-4].ival) | (yyvsp[-2].ival) | CURSOR_OPT_FAST_PLAN;
   46544             :                     n->query = (yyvsp[0].node);
   46545             :                     (yyval.node) = (Node *) n;
   46546             :                 }
   46547             : #line 46548 "gram.c"
   46548        2728 :     break;
   46549             : 
   46550       10770 :   case 1684: /* cursor_name: name  */
   46551             : #line 12708 "gram.y"
   46552             :                                                                 { (yyval.str) = (yyvsp[0].str); }
   46553             : #line 46554 "gram.c"
   46554       10770 :     break;
   46555             : 
   46556        2728 :   case 1685: /* cursor_options: %empty  */
   46557             : #line 12711 "gram.y"
   46558             :                                                                 { (yyval.ival) = 0; }
   46559             : #line 46560 "gram.c"
   46560        2728 :     break;
   46561             : 
   46562          24 :   case 1686: /* cursor_options: cursor_options NO SCROLL  */
   46563             : #line 12712 "gram.y"
   46564             :                                                                 { (yyval.ival) = (yyvsp[-2].ival) | CURSOR_OPT_NO_SCROLL; }
   46565             : #line 46566 "gram.c"
   46566          24 :     break;
   46567             : 
   46568         240 :   case 1687: /* cursor_options: cursor_options SCROLL  */
   46569             : #line 12713 "gram.y"
   46570             :                                                                 { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_SCROLL; }
   46571             : #line 46572 "gram.c"
   46572         240 :     break;
   46573             : 
   46574          14 :   case 1688: /* cursor_options: cursor_options BINARY  */
   46575             : #line 12714 "gram.y"
   46576             :                                                                 { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_BINARY; }
   46577             : #line 46578 "gram.c"
   46578          14 :     break;
   46579             : 
   46580           0 :   case 1689: /* cursor_options: cursor_options ASENSITIVE  */
   46581             : #line 12715 "gram.y"
   46582             :                                                                 { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_ASENSITIVE; }
   46583             : #line 46584 "gram.c"
   46584           0 :     break;
   46585             : 
   46586           6 :   case 1690: /* cursor_options: cursor_options INSENSITIVE  */
   46587             : #line 12716 "gram.y"
   46588             :                                                         { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_INSENSITIVE; }
   46589             : #line 46590 "gram.c"
   46590           6 :     break;
   46591             : 
   46592        2630 :   case 1691: /* opt_hold: %empty  */
   46593             : #line 12719 "gram.y"
   46594             :                                                                 { (yyval.ival) = 0; }
   46595             : #line 46596 "gram.c"
   46596        2630 :     break;
   46597             : 
   46598          92 :   case 1692: /* opt_hold: WITH HOLD  */
   46599             : #line 12720 "gram.y"
   46600             :                                                                                 { (yyval.ival) = CURSOR_OPT_HOLD; }
   46601             : #line 46602 "gram.c"
   46602          92 :     break;
   46603             : 
   46604           6 :   case 1693: /* opt_hold: WITHOUT HOLD  */
   46605             : #line 12721 "gram.y"
   46606             :                                                                         { (yyval.ival) = 0; }
   46607             : #line 46608 "gram.c"
   46608           6 :     break;
   46609             : 
   46610       52256 :   case 1696: /* select_with_parens: '(' select_no_parens ')'  */
   46611             : #line 12774 "gram.y"
   46612             :                                                                                 { (yyval.node) = (yyvsp[-1].node); }
   46613             : #line 46614 "gram.c"
   46614       52256 :     break;
   46615             : 
   46616         150 :   case 1697: /* select_with_parens: '(' select_with_parens ')'  */
   46617             : #line 12775 "gram.y"
   46618             :                                                                         { (yyval.node) = (yyvsp[-1].node); }
   46619             : #line 46620 "gram.c"
   46620         150 :     break;
   46621             : 
   46622      398552 :   case 1698: /* select_no_parens: simple_select  */
   46623             : #line 12790 "gram.y"
   46624             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   46625             : #line 46626 "gram.c"
   46626      398552 :     break;
   46627             : 
   46628       54894 :   case 1699: /* select_no_parens: select_clause sort_clause  */
   46629             : #line 12792 "gram.y"
   46630             :                                 {
   46631             :                     insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
   46632             :                                         NULL, NULL,
   46633             :                                         yyscanner);
   46634             :                     (yyval.node) = (yyvsp[-1].node);
   46635             :                 }
   46636             : #line 46637 "gram.c"
   46637       54894 :     break;
   46638             : 
   46639        4638 :   case 1700: /* select_no_parens: select_clause opt_sort_clause for_locking_clause opt_select_limit  */
   46640             : #line 12799 "gram.y"
   46641             :                                 {
   46642             :                     insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
   46643             :                                         (yyvsp[0].selectlimit),
   46644             :                                         NULL,
   46645             :                                         yyscanner);
   46646             :                     (yyval.node) = (yyvsp[-3].node);
   46647             :                 }
   46648             : #line 46649 "gram.c"
   46649        4638 :     break;
   46650             : 
   46651        4630 :   case 1701: /* select_no_parens: select_clause opt_sort_clause select_limit opt_for_locking_clause  */
   46652             : #line 12807 "gram.y"
   46653             :                                 {
   46654             :                     insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
   46655             :                                         (yyvsp[-1].selectlimit),
   46656             :                                         NULL,
   46657             :                                         yyscanner);
   46658             :                     (yyval.node) = (yyvsp[-3].node);
   46659             :                 }
   46660             : #line 46661 "gram.c"
   46661        4618 :     break;
   46662             : 
   46663        1860 :   case 1702: /* select_no_parens: with_clause select_clause  */
   46664             : #line 12815 "gram.y"
   46665             :                                 {
   46666             :                     insertSelectOptions((SelectStmt *) (yyvsp[0].node), NULL, NIL,
   46667             :                                         NULL,
   46668             :                                         (yyvsp[-1].with),
   46669             :                                         yyscanner);
   46670             :                     (yyval.node) = (yyvsp[0].node);
   46671             :                 }
   46672             : #line 46673 "gram.c"
   46673        1860 :     break;
   46674             : 
   46675         484 :   case 1703: /* select_no_parens: with_clause select_clause sort_clause  */
   46676             : #line 12823 "gram.y"
   46677             :                                 {
   46678             :                     insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
   46679             :                                         NULL,
   46680             :                                         (yyvsp[-2].with),
   46681             :                                         yyscanner);
   46682             :                     (yyval.node) = (yyvsp[-1].node);
   46683             :                 }
   46684             : #line 46685 "gram.c"
   46685         484 :     break;
   46686             : 
   46687           6 :   case 1704: /* select_no_parens: with_clause select_clause opt_sort_clause for_locking_clause opt_select_limit  */
   46688             : #line 12831 "gram.y"
   46689             :                                 {
   46690             :                     insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
   46691             :                                         (yyvsp[0].selectlimit),
   46692             :                                         (yyvsp[-4].with),
   46693             :                                         yyscanner);
   46694             :                     (yyval.node) = (yyvsp[-3].node);
   46695             :                 }
   46696             : #line 46697 "gram.c"
   46697           6 :     break;
   46698             : 
   46699          64 :   case 1705: /* select_no_parens: with_clause select_clause opt_sort_clause select_limit opt_for_locking_clause  */
   46700             : #line 12839 "gram.y"
   46701             :                                 {
   46702             :                     insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
   46703             :                                         (yyvsp[-1].selectlimit),
   46704             :                                         (yyvsp[-4].with),
   46705             :                                         yyscanner);
   46706             :                     (yyval.node) = (yyvsp[-3].node);
   46707             :                 }
   46708             : #line 46709 "gram.c"
   46709          64 :     break;
   46710             : 
   46711       94320 :   case 1706: /* select_clause: simple_select  */
   46712             : #line 12849 "gram.y"
   46713             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   46714             : #line 46715 "gram.c"
   46715       94320 :     break;
   46716             : 
   46717         472 :   case 1707: /* select_clause: select_with_parens  */
   46718             : #line 12850 "gram.y"
   46719             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   46720             : #line 46721 "gram.c"
   46721         472 :     break;
   46722             : 
   46723      414914 :   case 1708: /* simple_select: SELECT opt_all_clause opt_target_list into_clause from_clause where_clause group_clause having_clause window_clause  */
   46724             : #line 12885 "gram.y"
   46725             :                                 {
   46726             :                     SelectStmt *n = makeNode(SelectStmt);
   46727             : 
   46728             :                     n->targetList = (yyvsp[-6].list);
   46729             :                     n->intoClause = (yyvsp[-5].into);
   46730             :                     n->fromClause = (yyvsp[-4].list);
   46731             :                     n->whereClause = (yyvsp[-3].node);
   46732             :                     n->groupClause = ((yyvsp[-2].groupclause))->list;
   46733             :                     n->groupDistinct = ((yyvsp[-2].groupclause))->distinct;
   46734             :                     n->havingClause = (yyvsp[-1].node);
   46735             :                     n->windowClause = (yyvsp[0].list);
   46736             :                     (yyval.node) = (Node *) n;
   46737             :                 }
   46738             : #line 46739 "gram.c"
   46739      414914 :     break;
   46740             : 
   46741        3030 :   case 1709: /* simple_select: SELECT distinct_clause target_list into_clause from_clause where_clause group_clause having_clause window_clause  */
   46742             : #line 12901 "gram.y"
   46743             :                                 {
   46744             :                     SelectStmt *n = makeNode(SelectStmt);
   46745             : 
   46746             :                     n->distinctClause = (yyvsp[-7].list);
   46747             :                     n->targetList = (yyvsp[-6].list);
   46748             :                     n->intoClause = (yyvsp[-5].into);
   46749             :                     n->fromClause = (yyvsp[-4].list);
   46750             :                     n->whereClause = (yyvsp[-3].node);
   46751             :                     n->groupClause = ((yyvsp[-2].groupclause))->list;
   46752             :                     n->groupDistinct = ((yyvsp[-2].groupclause))->distinct;
   46753             :                     n->havingClause = (yyvsp[-1].node);
   46754             :                     n->windowClause = (yyvsp[0].list);
   46755             :                     (yyval.node) = (Node *) n;
   46756             :                 }
   46757             : #line 46758 "gram.c"
   46758        3030 :     break;
   46759             : 
   46760       60590 :   case 1710: /* simple_select: values_clause  */
   46761             : #line 12915 "gram.y"
   46762             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   46763             : #line 46764 "gram.c"
   46764       60590 :     break;
   46765             : 
   46766         236 :   case 1711: /* simple_select: TABLE relation_expr  */
   46767             : #line 12917 "gram.y"
   46768             :                                 {
   46769             :                     /* same as SELECT * FROM relation_expr */
   46770             :                     ColumnRef  *cr = makeNode(ColumnRef);
   46771             :                     ResTarget  *rt = makeNode(ResTarget);
   46772             :                     SelectStmt *n = makeNode(SelectStmt);
   46773             : 
   46774             :                     cr->fields = list_make1(makeNode(A_Star));
   46775             :                     cr->location = -1;
   46776             : 
   46777             :                     rt->name = NULL;
   46778             :                     rt->indirection = NIL;
   46779             :                     rt->val = (Node *) cr;
   46780             :                     rt->location = -1;
   46781             : 
   46782             :                     n->targetList = list_make1(rt);
   46783             :                     n->fromClause = list_make1((yyvsp[0].range));
   46784             :                     (yyval.node) = (Node *) n;
   46785             :                 }
   46786             : #line 46787 "gram.c"
   46787         236 :     break;
   46788             : 
   46789       13422 :   case 1712: /* simple_select: select_clause UNION set_quantifier select_clause  */
   46790             : #line 12936 "gram.y"
   46791             :                                 {
   46792             :                     (yyval.node) = makeSetOp(SETOP_UNION, (yyvsp[-1].setquantifier) == SET_QUANTIFIER_ALL, (yyvsp[-3].node), (yyvsp[0].node));
   46793             :                 }
   46794             : #line 46795 "gram.c"
   46795       13422 :     break;
   46796             : 
   46797         240 :   case 1713: /* simple_select: select_clause INTERSECT set_quantifier select_clause  */
   46798             : #line 12940 "gram.y"
   46799             :                                 {
   46800             :                     (yyval.node) = makeSetOp(SETOP_INTERSECT, (yyvsp[-1].setquantifier) == SET_QUANTIFIER_ALL, (yyvsp[-3].node), (yyvsp[0].node));
   46801             :                 }
   46802             : #line 46803 "gram.c"
   46803         240 :     break;
   46804             : 
   46805         440 :   case 1714: /* simple_select: select_clause EXCEPT set_quantifier select_clause  */
   46806             : #line 12944 "gram.y"
   46807             :                                 {
   46808             :                     (yyval.node) = makeSetOp(SETOP_EXCEPT, (yyvsp[-1].setquantifier) == SET_QUANTIFIER_ALL, (yyvsp[-3].node), (yyvsp[0].node));
   46809             :                 }
   46810             : #line 46811 "gram.c"
   46811         440 :     break;
   46812             : 
   46813        1706 :   case 1715: /* with_clause: WITH cte_list  */
   46814             : #line 12959 "gram.y"
   46815             :                         {
   46816             :                 (yyval.with) = makeNode(WithClause);
   46817             :                 (yyval.with)->ctes = (yyvsp[0].list);
   46818             :                 (yyval.with)->recursive = false;
   46819             :                 (yyval.with)->location = (yylsp[-1]);
   46820             :             }
   46821             : #line 46822 "gram.c"
   46822        1706 :     break;
   46823             : 
   46824           6 :   case 1716: /* with_clause: WITH_LA cte_list  */
   46825             : #line 12966 "gram.y"
   46826             :                         {
   46827             :                 (yyval.with) = makeNode(WithClause);
   46828             :                 (yyval.with)->ctes = (yyvsp[0].list);
   46829             :                 (yyval.with)->recursive = false;
   46830             :                 (yyval.with)->location = (yylsp[-1]);
   46831             :             }
   46832             : #line 46833 "gram.c"
   46833           6 :     break;
   46834             : 
   46835        1092 :   case 1717: /* with_clause: WITH RECURSIVE cte_list  */
   46836             : #line 12973 "gram.y"
   46837             :                         {
   46838             :                 (yyval.with) = makeNode(WithClause);
   46839             :                 (yyval.with)->ctes = (yyvsp[0].list);
   46840             :                 (yyval.with)->recursive = true;
   46841             :                 (yyval.with)->location = (yylsp[-2]);
   46842             :             }
   46843             : #line 46844 "gram.c"
   46844        1092 :     break;
   46845             : 
   46846        2804 :   case 1718: /* cte_list: common_table_expr  */
   46847             : #line 12982 "gram.y"
   46848             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   46849             : #line 46850 "gram.c"
   46850        2804 :     break;
   46851             : 
   46852        1074 :   case 1719: /* cte_list: cte_list ',' common_table_expr  */
   46853             : #line 12983 "gram.y"
   46854             :                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   46855             : #line 46856 "gram.c"
   46856        1074 :     break;
   46857             : 
   46858        3878 :   case 1720: /* common_table_expr: name opt_name_list AS opt_materialized '(' PreparableStmt ')' opt_search_clause opt_cycle_clause  */
   46859             : #line 12987 "gram.y"
   46860             :                         {
   46861             :                 CommonTableExpr *n = makeNode(CommonTableExpr);
   46862             : 
   46863             :                 n->ctename = (yyvsp[-8].str);
   46864             :                 n->aliascolnames = (yyvsp[-7].list);
   46865             :                 n->ctematerialized = (yyvsp[-5].ival);
   46866             :                 n->ctequery = (yyvsp[-3].node);
   46867             :                 n->search_clause = castNode(CTESearchClause, (yyvsp[-1].node));
   46868             :                 n->cycle_clause = castNode(CTECycleClause, (yyvsp[0].node));
   46869             :                 n->location = (yylsp[-8]);
   46870             :                 (yyval.node) = (Node *) n;
   46871             :             }
   46872             : #line 46873 "gram.c"
   46873        3878 :     break;
   46874             : 
   46875         166 :   case 1721: /* opt_materialized: MATERIALIZED  */
   46876             : #line 13002 "gram.y"
   46877             :                                                                                 { (yyval.ival) = CTEMaterializeAlways; }
   46878             : #line 46879 "gram.c"
   46879         166 :     break;
   46880             : 
   46881          48 :   case 1722: /* opt_materialized: NOT MATERIALIZED  */
   46882             : #line 13003 "gram.y"
   46883             :                                                                                 { (yyval.ival) = CTEMaterializeNever; }
   46884             : #line 46885 "gram.c"
   46885          48 :     break;
   46886             : 
   46887        3664 :   case 1723: /* opt_materialized: %empty  */
   46888             : #line 13004 "gram.y"
   46889             :                                                                                         { (yyval.ival) = CTEMaterializeDefault; }
   46890             : #line 46891 "gram.c"
   46891        3664 :     break;
   46892             : 
   46893          90 :   case 1724: /* opt_search_clause: SEARCH DEPTH FIRST_P BY columnList SET ColId  */
   46894             : #line 13009 "gram.y"
   46895             :                         {
   46896             :                 CTESearchClause *n = makeNode(CTESearchClause);
   46897             : 
   46898             :                 n->search_col_list = (yyvsp[-2].list);
   46899             :                 n->search_breadth_first = false;
   46900             :                 n->search_seq_column = (yyvsp[0].str);
   46901             :                 n->location = (yylsp[-6]);
   46902             :                 (yyval.node) = (Node *) n;
   46903             :             }
   46904             : #line 46905 "gram.c"
   46905          90 :     break;
   46906             : 
   46907          36 :   case 1725: /* opt_search_clause: SEARCH BREADTH FIRST_P BY columnList SET ColId  */
   46908             : #line 13019 "gram.y"
   46909             :                         {
   46910             :                 CTESearchClause *n = makeNode(CTESearchClause);
   46911             : 
   46912             :                 n->search_col_list = (yyvsp[-2].list);
   46913             :                 n->search_breadth_first = true;
   46914             :                 n->search_seq_column = (yyvsp[0].str);
   46915             :                 n->location = (yylsp[-6]);
   46916             :                 (yyval.node) = (Node *) n;
   46917             :             }
   46918             : #line 46919 "gram.c"
   46919          36 :     break;
   46920             : 
   46921        3752 :   case 1726: /* opt_search_clause: %empty  */
   46922             : #line 13029 "gram.y"
   46923             :                         {
   46924             :                 (yyval.node) = NULL;
   46925             :             }
   46926             : #line 46927 "gram.c"
   46927        3752 :     break;
   46928             : 
   46929          66 :   case 1727: /* opt_cycle_clause: CYCLE columnList SET ColId TO AexprConst DEFAULT AexprConst USING ColId  */
   46930             : #line 13036 "gram.y"
   46931             :                         {
   46932             :                 CTECycleClause *n = makeNode(CTECycleClause);
   46933             : 
   46934             :                 n->cycle_col_list = (yyvsp[-8].list);
   46935             :                 n->cycle_mark_column = (yyvsp[-6].str);
   46936             :                 n->cycle_mark_value = (yyvsp[-4].node);
   46937             :                 n->cycle_mark_default = (yyvsp[-2].node);
   46938             :                 n->cycle_path_column = (yyvsp[0].str);
   46939             :                 n->location = (yylsp[-9]);
   46940             :                 (yyval.node) = (Node *) n;
   46941             :             }
   46942             : #line 46943 "gram.c"
   46943          66 :     break;
   46944             : 
   46945          60 :   case 1728: /* opt_cycle_clause: CYCLE columnList SET ColId USING ColId  */
   46946             : #line 13048 "gram.y"
   46947             :                         {
   46948             :                 CTECycleClause *n = makeNode(CTECycleClause);
   46949             : 
   46950             :                 n->cycle_col_list = (yyvsp[-4].list);
   46951             :                 n->cycle_mark_column = (yyvsp[-2].str);
   46952             :                 n->cycle_mark_value = makeBoolAConst(true, -1);
   46953             :                 n->cycle_mark_default = makeBoolAConst(false, -1);
   46954             :                 n->cycle_path_column = (yyvsp[0].str);
   46955             :                 n->location = (yylsp[-5]);
   46956             :                 (yyval.node) = (Node *) n;
   46957             :             }
   46958             : #line 46959 "gram.c"
   46959          60 :     break;
   46960             : 
   46961        3752 :   case 1729: /* opt_cycle_clause: %empty  */
   46962             : #line 13060 "gram.y"
   46963             :                         {
   46964             :                 (yyval.node) = NULL;
   46965             :             }
   46966             : #line 46967 "gram.c"
   46967        3752 :     break;
   46968             : 
   46969         390 :   case 1730: /* opt_with_clause: with_clause  */
   46970             : #line 13066 "gram.y"
   46971             :                                                                                         { (yyval.with) = (yyvsp[0].with); }
   46972             : #line 46973 "gram.c"
   46973         390 :     break;
   46974             : 
   46975       92054 :   case 1731: /* opt_with_clause: %empty  */
   46976             : #line 13067 "gram.y"
   46977             :                                                                                         { (yyval.with) = NULL; }
   46978             : #line 46979 "gram.c"
   46979       92054 :     break;
   46980             : 
   46981         132 :   case 1732: /* into_clause: INTO OptTempTableName  */
   46982             : #line 13072 "gram.y"
   46983             :                                 {
   46984             :                     (yyval.into) = makeNode(IntoClause);
   46985             :                     (yyval.into)->rel = (yyvsp[0].range);
   46986             :                     (yyval.into)->colNames = NIL;
   46987             :                     (yyval.into)->options = NIL;
   46988             :                     (yyval.into)->onCommit = ONCOMMIT_NOOP;
   46989             :                     (yyval.into)->tableSpaceName = NULL;
   46990             :                     (yyval.into)->viewQuery = NULL;
   46991             :                     (yyval.into)->skipData = false;
   46992             :                 }
   46993             : #line 46994 "gram.c"
   46994         132 :     break;
   46995             : 
   46996      417830 :   case 1733: /* into_clause: %empty  */
   46997             : #line 13083 "gram.y"
   46998             :                                 { (yyval.into) = NULL; }
   46999             : #line 47000 "gram.c"
   47000      417830 :     break;
   47001             : 
   47002           0 :   case 1734: /* OptTempTableName: TEMPORARY opt_table qualified_name  */
   47003             : #line 13092 "gram.y"
   47004             :                                 {
   47005             :                     (yyval.range) = (yyvsp[0].range);
   47006             :                     (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
   47007             :                 }
   47008             : #line 47009 "gram.c"
   47009           0 :     break;
   47010             : 
   47011           6 :   case 1735: /* OptTempTableName: TEMP opt_table qualified_name  */
   47012             : #line 13097 "gram.y"
   47013             :                                 {
   47014             :                     (yyval.range) = (yyvsp[0].range);
   47015             :                     (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
   47016             :                 }
   47017             : #line 47018 "gram.c"
   47018           6 :     break;
   47019             : 
   47020           0 :   case 1736: /* OptTempTableName: LOCAL TEMPORARY opt_table qualified_name  */
   47021             : #line 13102 "gram.y"
   47022             :                                 {
   47023             :                     (yyval.range) = (yyvsp[0].range);
   47024             :                     (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
   47025             :                 }
   47026             : #line 47027 "gram.c"
   47027           0 :     break;
   47028             : 
   47029           0 :   case 1737: /* OptTempTableName: LOCAL TEMP opt_table qualified_name  */
   47030             : #line 13107 "gram.y"
   47031             :                                 {
   47032             :                     (yyval.range) = (yyvsp[0].range);
   47033             :                     (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
   47034             :                 }
   47035             : #line 47036 "gram.c"
   47036           0 :     break;
   47037             : 
   47038           0 :   case 1738: /* OptTempTableName: GLOBAL TEMPORARY opt_table qualified_name  */
   47039             : #line 13112 "gram.y"
   47040             :                                 {
   47041             :                     ereport(WARNING,
   47042             :                             (errmsg("GLOBAL is deprecated in temporary table creation"),
   47043             :                              parser_errposition((yylsp[-3]))));
   47044             :                     (yyval.range) = (yyvsp[0].range);
   47045             :                     (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
   47046             :                 }
   47047             : #line 47048 "gram.c"
   47048           0 :     break;
   47049             : 
   47050           0 :   case 1739: /* OptTempTableName: GLOBAL TEMP opt_table qualified_name  */
   47051             : #line 13120 "gram.y"
   47052             :                                 {
   47053             :                     ereport(WARNING,
   47054             :                             (errmsg("GLOBAL is deprecated in temporary table creation"),
   47055             :                              parser_errposition((yylsp[-3]))));
   47056             :                     (yyval.range) = (yyvsp[0].range);
   47057             :                     (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
   47058             :                 }
   47059             : #line 47060 "gram.c"
   47060           0 :     break;
   47061             : 
   47062           0 :   case 1740: /* OptTempTableName: UNLOGGED opt_table qualified_name  */
   47063             : #line 13128 "gram.y"
   47064             :                                 {
   47065             :                     (yyval.range) = (yyvsp[0].range);
   47066             :                     (yyval.range)->relpersistence = RELPERSISTENCE_UNLOGGED;
   47067             :                 }
   47068             : #line 47069 "gram.c"
   47069           0 :     break;
   47070             : 
   47071          30 :   case 1741: /* OptTempTableName: TABLE qualified_name  */
   47072             : #line 13133 "gram.y"
   47073             :                                 {
   47074             :                     (yyval.range) = (yyvsp[0].range);
   47075             :                     (yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
   47076             :                 }
   47077             : #line 47078 "gram.c"
   47078          30 :     break;
   47079             : 
   47080          96 :   case 1742: /* OptTempTableName: qualified_name  */
   47081             : #line 13138 "gram.y"
   47082             :                                 {
   47083             :                     (yyval.range) = (yyvsp[0].range);
   47084             :                     (yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
   47085             :                 }
   47086             : #line 47087 "gram.c"
   47087          96 :     break;
   47088             : 
   47089        6506 :   case 1745: /* set_quantifier: ALL  */
   47090             : #line 13149 "gram.y"
   47091             :                                                                                                         { (yyval.setquantifier) = SET_QUANTIFIER_ALL; }
   47092             : #line 47093 "gram.c"
   47093        6506 :     break;
   47094             : 
   47095          32 :   case 1746: /* set_quantifier: DISTINCT  */
   47096             : #line 13150 "gram.y"
   47097             :                                                                                                 { (yyval.setquantifier) = SET_QUANTIFIER_DISTINCT; }
   47098             : #line 47099 "gram.c"
   47099          32 :     break;
   47100             : 
   47101       11770 :   case 1747: /* set_quantifier: %empty  */
   47102             : #line 13151 "gram.y"
   47103             :                                                                                                 { (yyval.setquantifier) = SET_QUANTIFIER_DEFAULT; }
   47104             : #line 47105 "gram.c"
   47105       11770 :     break;
   47106             : 
   47107        2858 :   case 1748: /* distinct_clause: DISTINCT  */
   47108             : #line 13158 "gram.y"
   47109             :                                                                                                 { (yyval.list) = list_make1(NIL); }
   47110             : #line 47111 "gram.c"
   47111        2858 :     break;
   47112             : 
   47113         178 :   case 1749: /* distinct_clause: DISTINCT ON '(' expr_list ')'  */
   47114             : #line 13159 "gram.y"
   47115             :                                                                         { (yyval.list) = (yyvsp[-1].list); }
   47116             : #line 47117 "gram.c"
   47117         178 :     break;
   47118             : 
   47119           0 :   case 1752: /* opt_distinct_clause: distinct_clause  */
   47120             : #line 13168 "gram.y"
   47121             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   47122             : #line 47123 "gram.c"
   47123           0 :     break;
   47124             : 
   47125       36770 :   case 1753: /* opt_distinct_clause: opt_all_clause  */
   47126             : #line 13169 "gram.y"
   47127             :                                                                                         { (yyval.list) = NIL; }
   47128             : #line 47129 "gram.c"
   47129       36770 :     break;
   47130             : 
   47131        6526 :   case 1754: /* opt_sort_clause: sort_clause  */
   47132             : #line 13173 "gram.y"
   47133             :                                                                                                 { (yyval.list) = (yyvsp[0].list); }
   47134             : #line 47135 "gram.c"
   47135        6526 :     break;
   47136             : 
   47137      324642 :   case 1755: /* opt_sort_clause: %empty  */
   47138             : #line 13174 "gram.y"
   47139             :                                                                                                 { (yyval.list) = NIL; }
   47140             : #line 47141 "gram.c"
   47141      324642 :     break;
   47142             : 
   47143       62252 :   case 1756: /* sort_clause: ORDER BY sortby_list  */
   47144             : #line 13178 "gram.y"
   47145             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   47146             : #line 47147 "gram.c"
   47147       62252 :     break;
   47148             : 
   47149       62270 :   case 1757: /* sortby_list: sortby  */
   47150             : #line 13182 "gram.y"
   47151             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].sortby)); }
   47152             : #line 47153 "gram.c"
   47153       62270 :     break;
   47154             : 
   47155       24484 :   case 1758: /* sortby_list: sortby_list ',' sortby  */
   47156             : #line 13183 "gram.y"
   47157             :                                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].sortby)); }
   47158             : #line 47159 "gram.c"
   47159       24484 :     break;
   47160             : 
   47161         220 :   case 1759: /* sortby: a_expr USING qual_all_Op opt_nulls_order  */
   47162             : #line 13187 "gram.y"
   47163             :                                 {
   47164             :                     (yyval.sortby) = makeNode(SortBy);
   47165             :                     (yyval.sortby)->node = (yyvsp[-3].node);
   47166             :                     (yyval.sortby)->sortby_dir = SORTBY_USING;
   47167             :                     (yyval.sortby)->sortby_nulls = (yyvsp[0].ival);
   47168             :                     (yyval.sortby)->useOp = (yyvsp[-1].list);
   47169             :                     (yyval.sortby)->location = (yylsp[-1]);
   47170             :                 }
   47171             : #line 47172 "gram.c"
   47172         220 :     break;
   47173             : 
   47174       86534 :   case 1760: /* sortby: a_expr opt_asc_desc opt_nulls_order  */
   47175             : #line 13196 "gram.y"
   47176             :                                 {
   47177             :                     (yyval.sortby) = makeNode(SortBy);
   47178             :                     (yyval.sortby)->node = (yyvsp[-2].node);
   47179             :                     (yyval.sortby)->sortby_dir = (yyvsp[-1].ival);
   47180             :                     (yyval.sortby)->sortby_nulls = (yyvsp[0].ival);
   47181             :                     (yyval.sortby)->useOp = NIL;
   47182             :                     (yyval.sortby)->location = -1;       /* no operator */
   47183             :                 }
   47184             : #line 47185 "gram.c"
   47185       86534 :     break;
   47186             : 
   47187         168 :   case 1761: /* select_limit: limit_clause offset_clause  */
   47188             : #line 13209 "gram.y"
   47189             :                                 {
   47190             :                     (yyval.selectlimit) = (yyvsp[-1].selectlimit);
   47191             :                     ((yyval.selectlimit))->limitOffset = (yyvsp[0].node);
   47192             :                 }
   47193             : #line 47194 "gram.c"
   47194         168 :     break;
   47195             : 
   47196         214 :   case 1762: /* select_limit: offset_clause limit_clause  */
   47197             : #line 13214 "gram.y"
   47198             :                                 {
   47199             :                     (yyval.selectlimit) = (yyvsp[0].selectlimit);
   47200             :                     ((yyval.selectlimit))->limitOffset = (yyvsp[-1].node);
   47201             :                 }
   47202             : #line 47203 "gram.c"
   47203         214 :     break;
   47204             : 
   47205        4104 :   case 1763: /* select_limit: limit_clause  */
   47206             : #line 13219 "gram.y"
   47207             :                                 {
   47208             :                     (yyval.selectlimit) = (yyvsp[0].selectlimit);
   47209             :                 }
   47210             : #line 47211 "gram.c"
   47211        4104 :     break;
   47212             : 
   47213         398 :   case 1764: /* select_limit: offset_clause  */
   47214             : #line 13223 "gram.y"
   47215             :                                 {
   47216             :                     SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
   47217             : 
   47218             :                     n->limitOffset = (yyvsp[0].node);
   47219             :                     n->limitCount = NULL;
   47220             :                     n->limitOption = LIMIT_OPTION_COUNT;
   47221             :                     (yyval.selectlimit) = n;
   47222             :                 }
   47223             : #line 47224 "gram.c"
   47224         398 :     break;
   47225             : 
   47226         190 :   case 1765: /* opt_select_limit: select_limit  */
   47227             : #line 13234 "gram.y"
   47228             :                                                                                 { (yyval.selectlimit) = (yyvsp[0].selectlimit); }
   47229             : #line 47230 "gram.c"
   47230         190 :     break;
   47231             : 
   47232       41224 :   case 1766: /* opt_select_limit: %empty  */
   47233             : #line 13235 "gram.y"
   47234             :                                                                                 { (yyval.selectlimit) = NULL; }
   47235             : #line 47236 "gram.c"
   47236       41224 :     break;
   47237             : 
   47238        4406 :   case 1767: /* limit_clause: LIMIT select_limit_value  */
   47239             : #line 13240 "gram.y"
   47240             :                                 {
   47241             :                     SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
   47242             : 
   47243             :                     n->limitOffset = NULL;
   47244             :                     n->limitCount = (yyvsp[0].node);
   47245             :                     n->limitOption = LIMIT_OPTION_COUNT;
   47246             :                     (yyval.selectlimit) = n;
   47247             :                 }
   47248             : #line 47249 "gram.c"
   47249        4406 :     break;
   47250             : 
   47251           0 :   case 1768: /* limit_clause: LIMIT select_limit_value ',' select_offset_value  */
   47252             : #line 13249 "gram.y"
   47253             :                                 {
   47254             :                     /* Disabled because it was too confusing, bjm 2002-02-18 */
   47255             :                     ereport(ERROR,
   47256             :                             (errcode(ERRCODE_SYNTAX_ERROR),
   47257             :                              errmsg("LIMIT #,# syntax is not supported"),
   47258             :                              errhint("Use separate LIMIT and OFFSET clauses."),
   47259             :                              parser_errposition((yylsp[-3]))));
   47260             :                 }
   47261             : #line 47262 "gram.c"
   47262             :     break;
   47263             : 
   47264          20 :   case 1769: /* limit_clause: FETCH first_or_next select_fetch_first_value row_or_rows ONLY  */
   47265             : #line 13265 "gram.y"
   47266             :                                 {
   47267             :                     SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
   47268             : 
   47269             :                     n->limitOffset = NULL;
   47270             :                     n->limitCount = (yyvsp[-2].node);
   47271             :                     n->limitOption = LIMIT_OPTION_COUNT;
   47272             :                     (yyval.selectlimit) = n;
   47273             :                 }
   47274             : #line 47275 "gram.c"
   47275          20 :     break;
   47276             : 
   47277          54 :   case 1770: /* limit_clause: FETCH first_or_next select_fetch_first_value row_or_rows WITH TIES  */
   47278             : #line 13274 "gram.y"
   47279             :                                 {
   47280             :                     SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
   47281             : 
   47282             :                     n->limitOffset = NULL;
   47283             :                     n->limitCount = (yyvsp[-3].node);
   47284             :                     n->limitOption = LIMIT_OPTION_WITH_TIES;
   47285             :                     (yyval.selectlimit) = n;
   47286             :                 }
   47287             : #line 47288 "gram.c"
   47288          54 :     break;
   47289             : 
   47290           0 :   case 1771: /* limit_clause: FETCH first_or_next row_or_rows ONLY  */
   47291             : #line 13283 "gram.y"
   47292             :                                 {
   47293             :                     SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
   47294             : 
   47295             :                     n->limitOffset = NULL;
   47296             :                     n->limitCount = makeIntConst(1, -1);
   47297             :                     n->limitOption = LIMIT_OPTION_COUNT;
   47298             :                     (yyval.selectlimit) = n;
   47299             :                 }
   47300             : #line 47301 "gram.c"
   47301           0 :     break;
   47302             : 
   47303           6 :   case 1772: /* limit_clause: FETCH first_or_next row_or_rows WITH TIES  */
   47304             : #line 13292 "gram.y"
   47305             :                                 {
   47306             :                     SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
   47307             : 
   47308             :                     n->limitOffset = NULL;
   47309             :                     n->limitCount = makeIntConst(1, -1);
   47310             :                     n->limitOption = LIMIT_OPTION_WITH_TIES;
   47311             :                     (yyval.selectlimit) = n;
   47312             :                 }
   47313             : #line 47314 "gram.c"
   47314           6 :     break;
   47315             : 
   47316         780 :   case 1773: /* offset_clause: OFFSET select_offset_value  */
   47317             : #line 13304 "gram.y"
   47318             :                                 { (yyval.node) = (yyvsp[0].node); }
   47319             : #line 47320 "gram.c"
   47320         780 :     break;
   47321             : 
   47322           0 :   case 1774: /* offset_clause: OFFSET select_fetch_first_value row_or_rows  */
   47323             : #line 13307 "gram.y"
   47324             :                                 { (yyval.node) = (yyvsp[-1].node); }
   47325             : #line 47326 "gram.c"
   47326           0 :     break;
   47327             : 
   47328        4404 :   case 1775: /* select_limit_value: a_expr  */
   47329             : #line 13311 "gram.y"
   47330             :                                                                                                 { (yyval.node) = (yyvsp[0].node); }
   47331             : #line 47332 "gram.c"
   47332        4404 :     break;
   47333             : 
   47334           2 :   case 1776: /* select_limit_value: ALL  */
   47335             : #line 13313 "gram.y"
   47336             :                                 {
   47337             :                     /* LIMIT ALL is represented as a NULL constant */
   47338             :                     (yyval.node) = makeNullAConst((yylsp[0]));
   47339             :                 }
   47340             : #line 47341 "gram.c"
   47341           2 :     break;
   47342             : 
   47343         780 :   case 1777: /* select_offset_value: a_expr  */
   47344             : #line 13320 "gram.y"
   47345             :                                                                                                 { (yyval.node) = (yyvsp[0].node); }
   47346             : #line 47347 "gram.c"
   47347         780 :     break;
   47348             : 
   47349          74 :   case 1778: /* select_fetch_first_value: c_expr  */
   47350             : #line 13340 "gram.y"
   47351             :                                                                                                 { (yyval.node) = (yyvsp[0].node); }
   47352             : #line 47353 "gram.c"
   47353          74 :     break;
   47354             : 
   47355           0 :   case 1779: /* select_fetch_first_value: '+' I_or_F_const  */
   47356             : #line 13342 "gram.y"
   47357             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
   47358             : #line 47359 "gram.c"
   47359           0 :     break;
   47360             : 
   47361           0 :   case 1780: /* select_fetch_first_value: '-' I_or_F_const  */
   47362             : #line 13344 "gram.y"
   47363             :                                 { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
   47364             : #line 47365 "gram.c"
   47365           0 :     break;
   47366             : 
   47367           0 :   case 1781: /* I_or_F_const: Iconst  */
   47368             : #line 13348 "gram.y"
   47369             :                                                                                                 { (yyval.node) = makeIntConst((yyvsp[0].ival),(yylsp[0])); }
   47370             : #line 47371 "gram.c"
   47371           0 :     break;
   47372             : 
   47373           0 :   case 1782: /* I_or_F_const: FCONST  */
   47374             : #line 13349 "gram.y"
   47375             :                                                                                                 { (yyval.node) = makeFloatConst((yyvsp[0].str),(yylsp[0])); }
   47376             : #line 47377 "gram.c"
   47377           0 :     break;
   47378             : 
   47379          32 :   case 1783: /* row_or_rows: ROW  */
   47380             : #line 13353 "gram.y"
   47381             :                                                                                         { (yyval.ival) = 0; }
   47382             : #line 47383 "gram.c"
   47383          32 :     break;
   47384             : 
   47385          48 :   case 1784: /* row_or_rows: ROWS  */
   47386             : #line 13354 "gram.y"
   47387             :                                                                                                 { (yyval.ival) = 0; }
   47388             : #line 47389 "gram.c"
   47389          48 :     break;
   47390             : 
   47391          80 :   case 1785: /* first_or_next: FIRST_P  */
   47392             : #line 13357 "gram.y"
   47393             :                                                                                 { (yyval.ival) = 0; }
   47394             : #line 47395 "gram.c"
   47395          80 :     break;
   47396             : 
   47397           0 :   case 1786: /* first_or_next: NEXT  */
   47398             : #line 13358 "gram.y"
   47399             :                                                                                                 { (yyval.ival) = 0; }
   47400             : #line 47401 "gram.c"
   47401           0 :     break;
   47402             : 
   47403        4194 :   case 1787: /* group_clause: GROUP_P BY set_quantifier group_by_list  */
   47404             : #line 13384 "gram.y"
   47405             :                                 {
   47406             :                     GroupClause *n = (GroupClause *) palloc(sizeof(GroupClause));
   47407             : 
   47408             :                     n->distinct = (yyvsp[-1].setquantifier) == SET_QUANTIFIER_DISTINCT;
   47409             :                     n->list = (yyvsp[0].list);
   47410             :                     (yyval.groupclause) = n;
   47411             :                 }
   47412             : #line 47413 "gram.c"
   47413        4194 :     break;
   47414             : 
   47415      450520 :   case 1788: /* group_clause: %empty  */
   47416             : #line 13392 "gram.y"
   47417             :                                 {
   47418             :                     GroupClause *n = (GroupClause *) palloc(sizeof(GroupClause));
   47419             : 
   47420             :                     n->distinct = false;
   47421             :                     n->list = NIL;
   47422             :                     (yyval.groupclause) = n;
   47423             :                 }
   47424             : #line 47425 "gram.c"
   47425      450520 :     break;
   47426             : 
   47427        4684 :   case 1789: /* group_by_list: group_by_item  */
   47428             : #line 13402 "gram.y"
   47429             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   47430             : #line 47431 "gram.c"
   47431        4684 :     break;
   47432             : 
   47433        2730 :   case 1790: /* group_by_list: group_by_list ',' group_by_item  */
   47434             : #line 13403 "gram.y"
   47435             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].node)); }
   47436             : #line 47437 "gram.c"
   47437        2730 :     break;
   47438             : 
   47439        6268 :   case 1791: /* group_by_item: a_expr  */
   47440             : #line 13407 "gram.y"
   47441             :                                                                                                 { (yyval.node) = (yyvsp[0].node); }
   47442             : #line 47443 "gram.c"
   47443        6268 :     break;
   47444             : 
   47445         222 :   case 1792: /* group_by_item: empty_grouping_set  */
   47446             : #line 13408 "gram.y"
   47447             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   47448             : #line 47449 "gram.c"
   47449         222 :     break;
   47450             : 
   47451         184 :   case 1793: /* group_by_item: cube_clause  */
   47452             : #line 13409 "gram.y"
   47453             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   47454             : #line 47455 "gram.c"
   47455         184 :     break;
   47456             : 
   47457         250 :   case 1794: /* group_by_item: rollup_clause  */
   47458             : #line 13410 "gram.y"
   47459             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   47460             : #line 47461 "gram.c"
   47461         250 :     break;
   47462             : 
   47463         490 :   case 1795: /* group_by_item: grouping_sets_clause  */
   47464             : #line 13411 "gram.y"
   47465             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   47466             : #line 47467 "gram.c"
   47467         490 :     break;
   47468             : 
   47469         222 :   case 1796: /* empty_grouping_set: '(' ')'  */
   47470             : #line 13416 "gram.y"
   47471             :                                 {
   47472             :                     (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_EMPTY, NIL, (yylsp[-1]));
   47473             :                 }
   47474             : #line 47475 "gram.c"
   47475         222 :     break;
   47476             : 
   47477         250 :   case 1797: /* rollup_clause: ROLLUP '(' expr_list ')'  */
   47478             : #line 13429 "gram.y"
   47479             :                                 {
   47480             :                     (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_ROLLUP, (yyvsp[-1].list), (yylsp[-3]));
   47481             :                 }
   47482             : #line 47483 "gram.c"
   47483         250 :     break;
   47484             : 
   47485         184 :   case 1798: /* cube_clause: CUBE '(' expr_list ')'  */
   47486             : #line 13436 "gram.y"
   47487             :                                 {
   47488             :                     (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_CUBE, (yyvsp[-1].list), (yylsp[-3]));
   47489             :                 }
   47490             : #line 47491 "gram.c"
   47491         184 :     break;
   47492             : 
   47493         490 :   case 1799: /* grouping_sets_clause: GROUPING SETS '(' group_by_list ')'  */
   47494             : #line 13443 "gram.y"
   47495             :                                 {
   47496             :                     (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_SETS, (yyvsp[-1].list), (yylsp[-4]));
   47497             :                 }
   47498             : #line 47499 "gram.c"
   47499         490 :     break;
   47500             : 
   47501         776 :   case 1800: /* having_clause: HAVING a_expr  */
   47502             : #line 13449 "gram.y"
   47503             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   47504             : #line 47505 "gram.c"
   47505         776 :     break;
   47506             : 
   47507      453938 :   case 1801: /* having_clause: %empty  */
   47508             : #line 13450 "gram.y"
   47509             :                                                                                                 { (yyval.node) = NULL; }
   47510             : #line 47511 "gram.c"
   47511      453938 :     break;
   47512             : 
   47513        4984 :   case 1802: /* for_locking_clause: for_locking_items  */
   47514             : #line 13454 "gram.y"
   47515             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   47516             : #line 47517 "gram.c"
   47517        4984 :     break;
   47518             : 
   47519           0 :   case 1803: /* for_locking_clause: FOR READ ONLY  */
   47520             : #line 13455 "gram.y"
   47521             :                                                                                         { (yyval.list) = NIL; }
   47522             : #line 47523 "gram.c"
   47523           0 :     break;
   47524             : 
   47525         340 :   case 1804: /* opt_for_locking_clause: for_locking_clause  */
   47526             : #line 13459 "gram.y"
   47527             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   47528             : #line 47529 "gram.c"
   47529         340 :     break;
   47530             : 
   47531       41124 :   case 1805: /* opt_for_locking_clause: %empty  */
   47532             : #line 13460 "gram.y"
   47533             :                                                                                         { (yyval.list) = NIL; }
   47534             : #line 47535 "gram.c"
   47535       41124 :     break;
   47536             : 
   47537        4984 :   case 1806: /* for_locking_items: for_locking_item  */
   47538             : #line 13464 "gram.y"
   47539             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   47540             : #line 47541 "gram.c"
   47541        4984 :     break;
   47542             : 
   47543          98 :   case 1807: /* for_locking_items: for_locking_items for_locking_item  */
   47544             : #line 13465 "gram.y"
   47545             :                                                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
   47546             : #line 47547 "gram.c"
   47547          98 :     break;
   47548             : 
   47549        5082 :   case 1808: /* for_locking_item: for_locking_strength locked_rels_list opt_nowait_or_skip  */
   47550             : #line 13470 "gram.y"
   47551             :                                 {
   47552             :                     LockingClause *n = makeNode(LockingClause);
   47553             : 
   47554             :                     n->lockedRels = (yyvsp[-1].list);
   47555             :                     n->strength = (yyvsp[-2].ival);
   47556             :                     n->waitPolicy = (yyvsp[0].ival);
   47557             :                     (yyval.node) = (Node *) n;
   47558             :                 }
   47559             : #line 47560 "gram.c"
   47560        5082 :     break;
   47561             : 
   47562        1456 :   case 1809: /* for_locking_strength: FOR UPDATE  */
   47563             : #line 13481 "gram.y"
   47564             :                                                                                         { (yyval.ival) = LCS_FORUPDATE; }
   47565             : #line 47566 "gram.c"
   47566        1456 :     break;
   47567             : 
   47568          66 :   case 1810: /* for_locking_strength: FOR NO KEY UPDATE  */
   47569             : #line 13482 "gram.y"
   47570             :                                                                                 { (yyval.ival) = LCS_FORNOKEYUPDATE; }
   47571             : #line 47572 "gram.c"
   47572          66 :     break;
   47573             : 
   47574         214 :   case 1811: /* for_locking_strength: FOR SHARE  */
   47575             : #line 13483 "gram.y"
   47576             :                                                                                         { (yyval.ival) = LCS_FORSHARE; }
   47577             : #line 47578 "gram.c"
   47578         214 :     break;
   47579             : 
   47580        3346 :   case 1812: /* for_locking_strength: FOR KEY SHARE  */
   47581             : #line 13484 "gram.y"
   47582             :                                                                                 { (yyval.ival) = LCS_FORKEYSHARE; }
   47583             : #line 47584 "gram.c"
   47584        3346 :     break;
   47585             : 
   47586        3352 :   case 1813: /* locked_rels_list: OF qualified_name_list  */
   47587             : #line 13488 "gram.y"
   47588             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   47589             : #line 47590 "gram.c"
   47590        3352 :     break;
   47591             : 
   47592        1730 :   case 1814: /* locked_rels_list: %empty  */
   47593             : #line 13489 "gram.y"
   47594             :                                                                                         { (yyval.list) = NIL; }
   47595             : #line 47596 "gram.c"
   47596        1730 :     break;
   47597             : 
   47598       60590 :   case 1815: /* values_clause: VALUES '(' expr_list ')'  */
   47599             : #line 13500 "gram.y"
   47600             :                                 {
   47601             :                     SelectStmt *n = makeNode(SelectStmt);
   47602             : 
   47603             :                     n->valuesLists = list_make1((yyvsp[-1].list));
   47604             :                     (yyval.node) = (Node *) n;
   47605             :                 }
   47606             : #line 47607 "gram.c"
   47607       60590 :     break;
   47608             : 
   47609       24366 :   case 1816: /* values_clause: values_clause ',' '(' expr_list ')'  */
   47610             : #line 13507 "gram.y"
   47611             :                                 {
   47612             :                     SelectStmt *n = (SelectStmt *) (yyvsp[-4].node);
   47613             : 
   47614             :                     n->valuesLists = lappend(n->valuesLists, (yyvsp[-1].list));
   47615             :                     (yyval.node) = (Node *) n;
   47616             :                 }
   47617             : #line 47618 "gram.c"
   47618       24366 :     break;
   47619             : 
   47620      269804 :   case 1817: /* from_clause: FROM from_list  */
   47621             : #line 13525 "gram.y"
   47622             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   47623             : #line 47624 "gram.c"
   47624      269804 :     break;
   47625             : 
   47626      198340 :   case 1818: /* from_clause: %empty  */
   47627             : #line 13526 "gram.y"
   47628             :                                                                                                 { (yyval.list) = NIL; }
   47629             : #line 47630 "gram.c"
   47630      198340 :     break;
   47631             : 
   47632      270472 :   case 1819: /* from_list: table_ref  */
   47633             : #line 13530 "gram.y"
   47634             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   47635             : #line 47636 "gram.c"
   47636      270472 :     break;
   47637             : 
   47638       52630 :   case 1820: /* from_list: from_list ',' table_ref  */
   47639             : #line 13531 "gram.y"
   47640             :                                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   47641             : #line 47642 "gram.c"
   47642       52630 :     break;
   47643             : 
   47644      344944 :   case 1821: /* table_ref: relation_expr opt_alias_clause  */
   47645             : #line 13538 "gram.y"
   47646             :                                 {
   47647             :                     (yyvsp[-1].range)->alias = (yyvsp[0].alias);
   47648             :                     (yyval.node) = (Node *) (yyvsp[-1].range);
   47649             :                 }
   47650             : #line 47651 "gram.c"
   47651      344944 :     break;
   47652             : 
   47653         254 :   case 1822: /* table_ref: relation_expr opt_alias_clause tablesample_clause  */
   47654             : #line 13543 "gram.y"
   47655             :                                 {
   47656             :                     RangeTableSample *n = (RangeTableSample *) (yyvsp[0].node);
   47657             : 
   47658             :                     (yyvsp[-2].range)->alias = (yyvsp[-1].alias);
   47659             :                     /* relation_expr goes inside the RangeTableSample node */
   47660             :                     n->relation = (Node *) (yyvsp[-2].range);
   47661             :                     (yyval.node) = (Node *) n;
   47662             :                 }
   47663             : #line 47664 "gram.c"
   47664         254 :     break;
   47665             : 
   47666       38380 :   case 1823: /* table_ref: func_table func_alias_clause  */
   47667             : #line 13552 "gram.y"
   47668             :                                 {
   47669             :                     RangeFunction *n = (RangeFunction *) (yyvsp[-1].node);
   47670             : 
   47671             :                     n->alias = linitial((yyvsp[0].list));
   47672             :                     n->coldeflist = lsecond((yyvsp[0].list));
   47673             :                     (yyval.node) = (Node *) n;
   47674             :                 }
   47675             : #line 47676 "gram.c"
   47676       38380 :     break;
   47677             : 
   47678        1006 :   case 1824: /* table_ref: LATERAL_P func_table func_alias_clause  */
   47679             : #line 13560 "gram.y"
   47680             :                                 {
   47681             :                     RangeFunction *n = (RangeFunction *) (yyvsp[-1].node);
   47682             : 
   47683             :                     n->lateral = true;
   47684             :                     n->alias = linitial((yyvsp[0].list));
   47685             :                     n->coldeflist = lsecond((yyvsp[0].list));
   47686             :                     (yyval.node) = (Node *) n;
   47687             :                 }
   47688             : #line 47689 "gram.c"
   47689        1006 :     break;
   47690             : 
   47691          80 :   case 1825: /* table_ref: xmltable opt_alias_clause  */
   47692             : #line 13569 "gram.y"
   47693             :                                 {
   47694             :                     RangeTableFunc *n = (RangeTableFunc *) (yyvsp[-1].node);
   47695             : 
   47696             :                     n->alias = (yyvsp[0].alias);
   47697             :                     (yyval.node) = (Node *) n;
   47698             :                 }
   47699             : #line 47700 "gram.c"
   47700          80 :     break;
   47701             : 
   47702         140 :   case 1826: /* table_ref: LATERAL_P xmltable opt_alias_clause  */
   47703             : #line 13576 "gram.y"
   47704             :                                 {
   47705             :                     RangeTableFunc *n = (RangeTableFunc *) (yyvsp[-1].node);
   47706             : 
   47707             :                     n->lateral = true;
   47708             :                     n->alias = (yyvsp[0].alias);
   47709             :                     (yyval.node) = (Node *) n;
   47710             :                 }
   47711             : #line 47712 "gram.c"
   47712         140 :     break;
   47713             : 
   47714       12570 :   case 1827: /* table_ref: select_with_parens opt_alias_clause  */
   47715             : #line 13584 "gram.y"
   47716             :                                 {
   47717             :                     RangeSubselect *n = makeNode(RangeSubselect);
   47718             : 
   47719             :                     n->lateral = false;
   47720             :                     n->subquery = (yyvsp[-1].node);
   47721             :                     n->alias = (yyvsp[0].alias);
   47722             :                     (yyval.node) = (Node *) n;
   47723             :                 }
   47724             : #line 47725 "gram.c"
   47725       12570 :     break;
   47726             : 
   47727        1400 :   case 1828: /* table_ref: LATERAL_P select_with_parens opt_alias_clause  */
   47728             : #line 13593 "gram.y"
   47729             :                                 {
   47730             :                     RangeSubselect *n = makeNode(RangeSubselect);
   47731             : 
   47732             :                     n->lateral = true;
   47733             :                     n->subquery = (yyvsp[-1].node);
   47734             :                     n->alias = (yyvsp[0].alias);
   47735             :                     (yyval.node) = (Node *) n;
   47736             :                 }
   47737             : #line 47738 "gram.c"
   47738        1400 :     break;
   47739             : 
   47740       73958 :   case 1829: /* table_ref: joined_table  */
   47741             : #line 13602 "gram.y"
   47742             :                                 {
   47743             :                     (yyval.node) = (Node *) (yyvsp[0].jexpr);
   47744             :                 }
   47745             : #line 47746 "gram.c"
   47746       73958 :     break;
   47747             : 
   47748         174 :   case 1830: /* table_ref: '(' joined_table ')' alias_clause  */
   47749             : #line 13606 "gram.y"
   47750             :                                 {
   47751             :                     (yyvsp[-2].jexpr)->alias = (yyvsp[0].alias);
   47752             :                     (yyval.node) = (Node *) (yyvsp[-2].jexpr);
   47753             :                 }
   47754             : #line 47755 "gram.c"
   47755         174 :     break;
   47756             : 
   47757         428 :   case 1831: /* table_ref: json_table opt_alias_clause  */
   47758             : #line 13611 "gram.y"
   47759             :                                 {
   47760             :                     JsonTable  *jt = castNode(JsonTable, (yyvsp[-1].node));
   47761             : 
   47762             :                     jt->alias = (yyvsp[0].alias);
   47763             :                     (yyval.node) = (Node *) jt;
   47764             :                 }
   47765             : #line 47766 "gram.c"
   47766         428 :     break;
   47767             : 
   47768           0 :   case 1832: /* table_ref: LATERAL_P json_table opt_alias_clause  */
   47769             : #line 13618 "gram.y"
   47770             :                                 {
   47771             :                     JsonTable  *jt = castNode(JsonTable, (yyvsp[-1].node));
   47772             : 
   47773             :                     jt->alias = (yyvsp[0].alias);
   47774             :                     jt->lateral = true;
   47775             :                     (yyval.node) = (Node *) jt;
   47776             :                 }
   47777             : #line 47778 "gram.c"
   47778           0 :     break;
   47779             : 
   47780        3414 :   case 1833: /* joined_table: '(' joined_table ')'  */
   47781             : #line 13647 "gram.y"
   47782             :                                 {
   47783             :                     (yyval.jexpr) = (yyvsp[-1].jexpr);
   47784             :                 }
   47785             : #line 47786 "gram.c"
   47786        3414 :     break;
   47787             : 
   47788         298 :   case 1834: /* joined_table: table_ref CROSS JOIN table_ref  */
   47789             : #line 13651 "gram.y"
   47790             :                                 {
   47791             :                     /* CROSS JOIN is same as unqualified inner join */
   47792             :                     JoinExpr   *n = makeNode(JoinExpr);
   47793             : 
   47794             :                     n->jointype = JOIN_INNER;
   47795             :                     n->isNatural = false;
   47796             :                     n->larg = (yyvsp[-3].node);
   47797             :                     n->rarg = (yyvsp[0].node);
   47798             :                     n->usingClause = NIL;
   47799             :                     n->join_using_alias = NULL;
   47800             :                     n->quals = NULL;
   47801             :                     (yyval.jexpr) = n;
   47802             :                 }
   47803             : #line 47804 "gram.c"
   47804         298 :     break;
   47805             : 
   47806       44634 :   case 1835: /* joined_table: table_ref join_type JOIN table_ref join_qual  */
   47807             : #line 13665 "gram.y"
   47808             :                                 {
   47809             :                     JoinExpr   *n = makeNode(JoinExpr);
   47810             : 
   47811             :                     n->jointype = (yyvsp[-3].jtype);
   47812             :                     n->isNatural = false;
   47813             :                     n->larg = (yyvsp[-4].node);
   47814             :                     n->rarg = (yyvsp[-1].node);
   47815             :                     if ((yyvsp[0].node) != NULL && IsA((yyvsp[0].node), List))
   47816             :                     {
   47817             :                          /* USING clause */
   47818             :                         n->usingClause = linitial_node(List, castNode(List, (yyvsp[0].node)));
   47819             :                         n->join_using_alias = lsecond_node(Alias, castNode(List, (yyvsp[0].node)));
   47820             :                     }
   47821             :                     else
   47822             :                     {
   47823             :                         /* ON clause */
   47824             :                         n->quals = (yyvsp[0].node);
   47825             :                     }
   47826             :                     (yyval.jexpr) = n;
   47827             :                 }
   47828             : #line 47829 "gram.c"
   47829       44634 :     break;
   47830             : 
   47831       28942 :   case 1836: /* joined_table: table_ref JOIN table_ref join_qual  */
   47832             : #line 13686 "gram.y"
   47833             :                                 {
   47834             :                     /* letting join_type reduce to empty doesn't work */
   47835             :                     JoinExpr   *n = makeNode(JoinExpr);
   47836             : 
   47837             :                     n->jointype = JOIN_INNER;
   47838             :                     n->isNatural = false;
   47839             :                     n->larg = (yyvsp[-3].node);
   47840             :                     n->rarg = (yyvsp[-1].node);
   47841             :                     if ((yyvsp[0].node) != NULL && IsA((yyvsp[0].node), List))
   47842             :                     {
   47843             :                         /* USING clause */
   47844             :                         n->usingClause = linitial_node(List, castNode(List, (yyvsp[0].node)));
   47845             :                         n->join_using_alias = lsecond_node(Alias, castNode(List, (yyvsp[0].node)));
   47846             :                     }
   47847             :                     else
   47848             :                     {
   47849             :                         /* ON clause */
   47850             :                         n->quals = (yyvsp[0].node);
   47851             :                     }
   47852             :                     (yyval.jexpr) = n;
   47853             :                 }
   47854             : #line 47855 "gram.c"
   47855       28942 :     break;
   47856             : 
   47857          78 :   case 1837: /* joined_table: table_ref NATURAL join_type JOIN table_ref  */
   47858             : #line 13708 "gram.y"
   47859             :                                 {
   47860             :                     JoinExpr   *n = makeNode(JoinExpr);
   47861             : 
   47862             :                     n->jointype = (yyvsp[-2].jtype);
   47863             :                     n->isNatural = true;
   47864             :                     n->larg = (yyvsp[-4].node);
   47865             :                     n->rarg = (yyvsp[0].node);
   47866             :                     n->usingClause = NIL; /* figure out which columns later... */
   47867             :                     n->join_using_alias = NULL;
   47868             :                     n->quals = NULL; /* fill later */
   47869             :                     (yyval.jexpr) = n;
   47870             :                 }
   47871             : #line 47872 "gram.c"
   47872          78 :     break;
   47873             : 
   47874         180 :   case 1838: /* joined_table: table_ref NATURAL JOIN table_ref  */
   47875             : #line 13721 "gram.y"
   47876             :                                 {
   47877             :                     /* letting join_type reduce to empty doesn't work */
   47878             :                     JoinExpr   *n = makeNode(JoinExpr);
   47879             : 
   47880             :                     n->jointype = JOIN_INNER;
   47881             :                     n->isNatural = true;
   47882             :                     n->larg = (yyvsp[-3].node);
   47883             :                     n->rarg = (yyvsp[0].node);
   47884             :                     n->usingClause = NIL; /* figure out which columns later... */
   47885             :                     n->join_using_alias = NULL;
   47886             :                     n->quals = NULL; /* fill later */
   47887             :                     (yyval.jexpr) = n;
   47888             :                 }
   47889             : #line 47890 "gram.c"
   47890         180 :     break;
   47891             : 
   47892        5424 :   case 1839: /* alias_clause: AS ColId '(' name_list ')'  */
   47893             : #line 13738 "gram.y"
   47894             :                                 {
   47895             :                     (yyval.alias) = makeNode(Alias);
   47896             :                     (yyval.alias)->aliasname = (yyvsp[-3].str);
   47897             :                     (yyval.alias)->colnames = (yyvsp[-1].list);
   47898             :                 }
   47899             : #line 47900 "gram.c"
   47900        5424 :     break;
   47901             : 
   47902       11642 :   case 1840: /* alias_clause: AS ColId  */
   47903             : #line 13744 "gram.y"
   47904             :                                 {
   47905             :                     (yyval.alias) = makeNode(Alias);
   47906             :                     (yyval.alias)->aliasname = (yyvsp[0].str);
   47907             :                 }
   47908             : #line 47909 "gram.c"
   47909       11642 :     break;
   47910             : 
   47911        5436 :   case 1841: /* alias_clause: ColId '(' name_list ')'  */
   47912             : #line 13749 "gram.y"
   47913             :                                 {
   47914             :                     (yyval.alias) = makeNode(Alias);
   47915             :                     (yyval.alias)->aliasname = (yyvsp[-3].str);
   47916             :                     (yyval.alias)->colnames = (yyvsp[-1].list);
   47917             :                 }
   47918             : #line 47919 "gram.c"
   47919        5436 :     break;
   47920             : 
   47921      225294 :   case 1842: /* alias_clause: ColId  */
   47922             : #line 13755 "gram.y"
   47923             :                                 {
   47924             :                     (yyval.alias) = makeNode(Alias);
   47925             :                     (yyval.alias)->aliasname = (yyvsp[0].str);
   47926             :                 }
   47927             : #line 47928 "gram.c"
   47928      225294 :     break;
   47929             : 
   47930      221888 :   case 1843: /* opt_alias_clause: alias_clause  */
   47931             : #line 13761 "gram.y"
   47932             :                                                                         { (yyval.alias) = (yyvsp[0].alias); }
   47933             : #line 47934 "gram.c"
   47934      221888 :     break;
   47935             : 
   47936      137928 :   case 1844: /* opt_alias_clause: %empty  */
   47937             : #line 13762 "gram.y"
   47938             :                                                                                                 { (yyval.alias) = NULL; }
   47939             : #line 47940 "gram.c"
   47940      137928 :     break;
   47941             : 
   47942          84 :   case 1845: /* opt_alias_clause_for_join_using: AS ColId  */
   47943             : #line 13773 "gram.y"
   47944             :                                 {
   47945             :                     (yyval.alias) = makeNode(Alias);
   47946             :                     (yyval.alias)->aliasname = (yyvsp[0].str);
   47947             :                     /* the column name list will be inserted later */
   47948             :                 }
   47949             : #line 47950 "gram.c"
   47950          84 :     break;
   47951             : 
   47952        1110 :   case 1846: /* opt_alias_clause_for_join_using: %empty  */
   47953             : #line 13778 "gram.y"
   47954             :                                                                                                 { (yyval.alias) = NULL; }
   47955             : #line 47956 "gram.c"
   47956        1110 :     break;
   47957             : 
   47958       25734 :   case 1847: /* func_alias_clause: alias_clause  */
   47959             : #line 13787 "gram.y"
   47960             :                                 {
   47961             :                     (yyval.list) = list_make2((yyvsp[0].alias), NIL);
   47962             :                 }
   47963             : #line 47964 "gram.c"
   47964       25734 :     break;
   47965             : 
   47966         110 :   case 1848: /* func_alias_clause: AS '(' TableFuncElementList ')'  */
   47967             : #line 13791 "gram.y"
   47968             :                                 {
   47969             :                     (yyval.list) = list_make2(NULL, (yyvsp[-1].list));
   47970             :                 }
   47971             : #line 47972 "gram.c"
   47972         110 :     break;
   47973             : 
   47974         586 :   case 1849: /* func_alias_clause: AS ColId '(' TableFuncElementList ')'  */
   47975             : #line 13795 "gram.y"
   47976             :                                 {
   47977             :                     Alias      *a = makeNode(Alias);
   47978             : 
   47979             :                     a->aliasname = (yyvsp[-3].str);
   47980             :                     (yyval.list) = list_make2(a, (yyvsp[-1].list));
   47981             :                 }
   47982             : #line 47983 "gram.c"
   47983         586 :     break;
   47984             : 
   47985          50 :   case 1850: /* func_alias_clause: ColId '(' TableFuncElementList ')'  */
   47986             : #line 13802 "gram.y"
   47987             :                                 {
   47988             :                     Alias      *a = makeNode(Alias);
   47989             : 
   47990             :                     a->aliasname = (yyvsp[-3].str);
   47991             :                     (yyval.list) = list_make2(a, (yyvsp[-1].list));
   47992             :                 }
   47993             : #line 47994 "gram.c"
   47994          50 :     break;
   47995             : 
   47996       12906 :   case 1851: /* func_alias_clause: %empty  */
   47997             : #line 13809 "gram.y"
   47998             :                                 {
   47999             :                     (yyval.list) = list_make2(NULL, NIL);
   48000             :                 }
   48001             : #line 48002 "gram.c"
   48002       12906 :     break;
   48003             : 
   48004        1018 :   case 1852: /* join_type: FULL opt_outer  */
   48005             : #line 13814 "gram.y"
   48006             :                                                                                 { (yyval.jtype) = JOIN_FULL; }
   48007             : #line 48008 "gram.c"
   48008        1018 :     break;
   48009             : 
   48010       39586 :   case 1853: /* join_type: LEFT opt_outer  */
   48011             : #line 13815 "gram.y"
   48012             :                                                                                         { (yyval.jtype) = JOIN_LEFT; }
   48013             : #line 48014 "gram.c"
   48014       39586 :     break;
   48015             : 
   48016         344 :   case 1854: /* join_type: RIGHT opt_outer  */
   48017             : #line 13816 "gram.y"
   48018             :                                                                                         { (yyval.jtype) = JOIN_RIGHT; }
   48019             : #line 48020 "gram.c"
   48020         344 :     break;
   48021             : 
   48022        3764 :   case 1855: /* join_type: INNER_P  */
   48023             : #line 13817 "gram.y"
   48024             :                                                                                                 { (yyval.jtype) = JOIN_INNER; }
   48025             : #line 48026 "gram.c"
   48026        3764 :     break;
   48027             : 
   48028        1194 :   case 1858: /* join_qual: USING '(' name_list ')' opt_alias_clause_for_join_using  */
   48029             : #line 13838 "gram.y"
   48030             :                                 {
   48031             :                     (yyval.node) = (Node *) list_make2((yyvsp[-2].list), (yyvsp[0].alias));
   48032             :                 }
   48033             : #line 48034 "gram.c"
   48034        1194 :     break;
   48035             : 
   48036       72382 :   case 1859: /* join_qual: ON a_expr  */
   48037             : #line 13842 "gram.y"
   48038             :                                 {
   48039             :                     (yyval.node) = (yyvsp[0].node);
   48040             :                 }
   48041             : #line 48042 "gram.c"
   48042       72382 :     break;
   48043             : 
   48044      404542 :   case 1860: /* relation_expr: qualified_name  */
   48045             : #line 13850 "gram.y"
   48046             :                                 {
   48047             :                     /* inheritance query, implicitly */
   48048             :                     (yyval.range) = (yyvsp[0].range);
   48049             :                     (yyval.range)->inh = true;
   48050             :                     (yyval.range)->alias = NULL;
   48051             :                 }
   48052             : #line 48053 "gram.c"
   48053      404542 :     break;
   48054             : 
   48055        6960 :   case 1861: /* relation_expr: extended_relation_expr  */
   48056             : #line 13857 "gram.y"
   48057             :                                 {
   48058             :                     (yyval.range) = (yyvsp[0].range);
   48059             :                 }
   48060             : #line 48061 "gram.c"
   48061        6960 :     break;
   48062             : 
   48063         204 :   case 1862: /* extended_relation_expr: qualified_name '*'  */
   48064             : #line 13864 "gram.y"
   48065             :                                 {
   48066             :                     /* inheritance query, explicitly */
   48067             :                     (yyval.range) = (yyvsp[-1].range);
   48068             :                     (yyval.range)->inh = true;
   48069             :                     (yyval.range)->alias = NULL;
   48070             :                 }
   48071             : #line 48072 "gram.c"
   48072         204 :     break;
   48073             : 
   48074        6762 :   case 1863: /* extended_relation_expr: ONLY qualified_name  */
   48075             : #line 13871 "gram.y"
   48076             :                                 {
   48077             :                     /* no inheritance */
   48078             :                     (yyval.range) = (yyvsp[0].range);
   48079             :                     (yyval.range)->inh = false;
   48080             :                     (yyval.range)->alias = NULL;
   48081             :                 }
   48082             : #line 48083 "gram.c"
   48083        6762 :     break;
   48084             : 
   48085           0 :   case 1864: /* extended_relation_expr: ONLY '(' qualified_name ')'  */
   48086             : #line 13878 "gram.y"
   48087             :                                 {
   48088             :                     /* no inheritance, SQL99-style syntax */
   48089             :                     (yyval.range) = (yyvsp[-1].range);
   48090             :                     (yyval.range)->inh = false;
   48091             :                     (yyval.range)->alias = NULL;
   48092             :                 }
   48093             : #line 48094 "gram.c"
   48094           0 :     break;
   48095             : 
   48096        2554 :   case 1865: /* relation_expr_list: relation_expr  */
   48097             : #line 13888 "gram.y"
   48098             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].range)); }
   48099             : #line 48100 "gram.c"
   48100        2554 :     break;
   48101             : 
   48102        9512 :   case 1866: /* relation_expr_list: relation_expr_list ',' relation_expr  */
   48103             : #line 13889 "gram.y"
   48104             :                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
   48105             : #line 48106 "gram.c"
   48106        9512 :     break;
   48107             : 
   48108       17724 :   case 1867: /* relation_expr_opt_alias: relation_expr  */
   48109             : #line 13903 "gram.y"
   48110             :                                 {
   48111             :                     (yyval.range) = (yyvsp[0].range);
   48112             :                 }
   48113             : #line 48114 "gram.c"
   48114       17724 :     break;
   48115             : 
   48116        2096 :   case 1868: /* relation_expr_opt_alias: relation_expr ColId  */
   48117             : #line 13907 "gram.y"
   48118             :                                 {
   48119             :                     Alias      *alias = makeNode(Alias);
   48120             : 
   48121             :                     alias->aliasname = (yyvsp[0].str);
   48122             :                     (yyvsp[-1].range)->alias = alias;
   48123             :                     (yyval.range) = (yyvsp[-1].range);
   48124             :                 }
   48125             : #line 48126 "gram.c"
   48126        2096 :     break;
   48127             : 
   48128          78 :   case 1869: /* relation_expr_opt_alias: relation_expr AS ColId  */
   48129             : #line 13915 "gram.y"
   48130             :                                 {
   48131             :                     Alias      *alias = makeNode(Alias);
   48132             : 
   48133             :                     alias->aliasname = (yyvsp[0].str);
   48134             :                     (yyvsp[-2].range)->alias = alias;
   48135             :                     (yyval.range) = (yyvsp[-2].range);
   48136             :                 }
   48137             : #line 48138 "gram.c"
   48138          78 :     break;
   48139             : 
   48140         254 :   case 1870: /* tablesample_clause: TABLESAMPLE func_name '(' expr_list ')' opt_repeatable_clause  */
   48141             : #line 13929 "gram.y"
   48142             :                                 {
   48143             :                     RangeTableSample *n = makeNode(RangeTableSample);
   48144             : 
   48145             :                     /* n->relation will be filled in later */
   48146             :                     n->method = (yyvsp[-4].list);
   48147             :                     n->args = (yyvsp[-2].list);
   48148             :                     n->repeatable = (yyvsp[0].node);
   48149             :                     n->location = (yylsp[-4]);
   48150             :                     (yyval.node) = (Node *) n;
   48151             :                 }
   48152             : #line 48153 "gram.c"
   48153         254 :     break;
   48154             : 
   48155         108 :   case 1871: /* opt_repeatable_clause: REPEATABLE '(' a_expr ')'  */
   48156             : #line 13942 "gram.y"
   48157             :                                                         { (yyval.node) = (Node *) (yyvsp[-1].node); }
   48158             : #line 48159 "gram.c"
   48159         108 :     break;
   48160             : 
   48161         146 :   case 1872: /* opt_repeatable_clause: %empty  */
   48162             : #line 13943 "gram.y"
   48163             :                                                                         { (yyval.node) = NULL; }
   48164             : #line 48165 "gram.c"
   48165         146 :     break;
   48166             : 
   48167       39260 :   case 1873: /* func_table: func_expr_windowless opt_ordinality  */
   48168             : #line 13959 "gram.y"
   48169             :                                 {
   48170             :                     RangeFunction *n = makeNode(RangeFunction);
   48171             : 
   48172             :                     n->lateral = false;
   48173             :                     n->ordinality = (yyvsp[0].boolean);
   48174             :                     n->is_rowsfrom = false;
   48175             :                     n->functions = list_make1(list_make2((yyvsp[-1].node), NIL));
   48176             :                     /* alias and coldeflist are set by table_ref production */
   48177             :                     (yyval.node) = (Node *) n;
   48178             :                 }
   48179             : #line 48180 "gram.c"
   48180       39260 :     break;
   48181             : 
   48182         132 :   case 1874: /* func_table: ROWS FROM '(' rowsfrom_list ')' opt_ordinality  */
   48183             : #line 13970 "gram.y"
   48184             :                                 {
   48185             :                     RangeFunction *n = makeNode(RangeFunction);
   48186             : 
   48187             :                     n->lateral = false;
   48188             :                     n->ordinality = (yyvsp[0].boolean);
   48189             :                     n->is_rowsfrom = true;
   48190             :                     n->functions = (yyvsp[-2].list);
   48191             :                     /* alias and coldeflist are set by table_ref production */
   48192             :                     (yyval.node) = (Node *) n;
   48193             :                 }
   48194             : #line 48195 "gram.c"
   48195         132 :     break;
   48196             : 
   48197         318 :   case 1875: /* rowsfrom_item: func_expr_windowless opt_col_def_list  */
   48198             : #line 13983 "gram.y"
   48199             :                                 { (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].list)); }
   48200             : #line 48201 "gram.c"
   48201         318 :     break;
   48202             : 
   48203         132 :   case 1876: /* rowsfrom_list: rowsfrom_item  */
   48204             : #line 13987 "gram.y"
   48205             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].list)); }
   48206             : #line 48207 "gram.c"
   48207         132 :     break;
   48208             : 
   48209         186 :   case 1877: /* rowsfrom_list: rowsfrom_list ',' rowsfrom_item  */
   48210             : #line 13988 "gram.y"
   48211             :                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
   48212             : #line 48213 "gram.c"
   48213         186 :     break;
   48214             : 
   48215          54 :   case 1878: /* opt_col_def_list: AS '(' TableFuncElementList ')'  */
   48216             : #line 13991 "gram.y"
   48217             :                                                         { (yyval.list) = (yyvsp[-1].list); }
   48218             : #line 48219 "gram.c"
   48219          54 :     break;
   48220             : 
   48221         264 :   case 1879: /* opt_col_def_list: %empty  */
   48222             : #line 13992 "gram.y"
   48223             :                                                                                                 { (yyval.list) = NIL; }
   48224             : #line 48225 "gram.c"
   48225         264 :     break;
   48226             : 
   48227         762 :   case 1880: /* opt_ordinality: WITH_LA ORDINALITY  */
   48228             : #line 13995 "gram.y"
   48229             :                                                                         { (yyval.boolean) = true; }
   48230             : #line 48231 "gram.c"
   48231         762 :     break;
   48232             : 
   48233       38630 :   case 1881: /* opt_ordinality: %empty  */
   48234             : #line 13996 "gram.y"
   48235             :                                                                                                 { (yyval.boolean) = false; }
   48236             : #line 48237 "gram.c"
   48237       38630 :     break;
   48238             : 
   48239      180046 :   case 1882: /* where_clause: WHERE a_expr  */
   48240             : #line 14001 "gram.y"
   48241             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   48242             : #line 48243 "gram.c"
   48243      180046 :     break;
   48244             : 
   48245      293532 :   case 1883: /* where_clause: %empty  */
   48246             : #line 14002 "gram.y"
   48247             :                                                                                                 { (yyval.node) = NULL; }
   48248             : #line 48249 "gram.c"
   48249      293532 :     break;
   48250             : 
   48251       12894 :   case 1884: /* where_or_current_clause: WHERE a_expr  */
   48252             : #line 14007 "gram.y"
   48253             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   48254             : #line 48255 "gram.c"
   48255       12894 :     break;
   48256             : 
   48257         254 :   case 1885: /* where_or_current_clause: WHERE CURRENT_P OF cursor_name  */
   48258             : #line 14009 "gram.y"
   48259             :                                 {
   48260             :                     CurrentOfExpr *n = makeNode(CurrentOfExpr);
   48261             : 
   48262             :                     /* cvarno is filled in by parse analysis */
   48263             :                     n->cursor_name = (yyvsp[0].str);
   48264             :                     n->cursor_param = 0;
   48265             :                     (yyval.node) = (Node *) n;
   48266             :                 }
   48267             : #line 48268 "gram.c"
   48268         254 :     break;
   48269             : 
   48270        4770 :   case 1886: /* where_or_current_clause: %empty  */
   48271             : #line 14017 "gram.y"
   48272             :                                                                                                 { (yyval.node) = NULL; }
   48273             : #line 48274 "gram.c"
   48274        4770 :     break;
   48275             : 
   48276         684 :   case 1887: /* OptTableFuncElementList: TableFuncElementList  */
   48277             : #line 14022 "gram.y"
   48278             :                                                                         { (yyval.list) = (yyvsp[0].list); }
   48279             : #line 48280 "gram.c"
   48280         684 :     break;
   48281             : 
   48282           6 :   case 1888: /* OptTableFuncElementList: %empty  */
   48283             : #line 14023 "gram.y"
   48284             :                                                                                         { (yyval.list) = NIL; }
   48285             : #line 48286 "gram.c"
   48286           6 :     break;
   48287             : 
   48288        1484 :   case 1889: /* TableFuncElementList: TableFuncElement  */
   48289             : #line 14028 "gram.y"
   48290             :                                 {
   48291             :                     (yyval.list) = list_make1((yyvsp[0].node));
   48292             :                 }
   48293             : #line 48294 "gram.c"
   48294        1484 :     break;
   48295             : 
   48296        1978 :   case 1890: /* TableFuncElementList: TableFuncElementList ',' TableFuncElement  */
   48297             : #line 14032 "gram.y"
   48298             :                                 {
   48299             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
   48300             :                 }
   48301             : #line 48302 "gram.c"
   48302        1978 :     break;
   48303             : 
   48304        3526 :   case 1891: /* TableFuncElement: ColId Typename opt_collate_clause  */
   48305             : #line 14038 "gram.y"
   48306             :                                 {
   48307             :                     ColumnDef *n = makeNode(ColumnDef);
   48308             : 
   48309             :                     n->colname = (yyvsp[-2].str);
   48310             :                     n->typeName = (yyvsp[-1].typnam);
   48311             :                     n->inhcount = 0;
   48312             :                     n->is_local = true;
   48313             :                     n->is_not_null = false;
   48314             :                     n->is_from_type = false;
   48315             :                     n->storage = 0;
   48316             :                     n->raw_default = NULL;
   48317             :                     n->cooked_default = NULL;
   48318             :                     n->collClause = (CollateClause *) (yyvsp[0].node);
   48319             :                     n->collOid = InvalidOid;
   48320             :                     n->constraints = NIL;
   48321             :                     n->location = (yylsp[-2]);
   48322             :                     (yyval.node) = (Node *) n;
   48323             :                 }
   48324             : #line 48325 "gram.c"
   48325        3526 :     break;
   48326             : 
   48327         200 :   case 1892: /* xmltable: XMLTABLE '(' c_expr xmlexists_argument COLUMNS xmltable_column_list ')'  */
   48328             : #line 14063 "gram.y"
   48329             :                                 {
   48330             :                     RangeTableFunc *n = makeNode(RangeTableFunc);
   48331             : 
   48332             :                     n->rowexpr = (yyvsp[-4].node);
   48333             :                     n->docexpr = (yyvsp[-3].node);
   48334             :                     n->columns = (yyvsp[-1].list);
   48335             :                     n->namespaces = NIL;
   48336             :                     n->location = (yylsp[-6]);
   48337             :                     (yyval.node) = (Node *) n;
   48338             :                 }
   48339             : #line 48340 "gram.c"
   48340         200 :     break;
   48341             : 
   48342          20 :   case 1893: /* xmltable: XMLTABLE '(' XMLNAMESPACES '(' xml_namespace_list ')' ',' c_expr xmlexists_argument COLUMNS xmltable_column_list ')'  */
   48343             : #line 14075 "gram.y"
   48344             :                                 {
   48345             :                     RangeTableFunc *n = makeNode(RangeTableFunc);
   48346             : 
   48347             :                     n->rowexpr = (yyvsp[-4].node);
   48348             :                     n->docexpr = (yyvsp[-3].node);
   48349             :                     n->columns = (yyvsp[-1].list);
   48350             :                     n->namespaces = (yyvsp[-7].list);
   48351             :                     n->location = (yylsp[-11]);
   48352             :                     (yyval.node) = (Node *) n;
   48353             :                 }
   48354             : #line 48355 "gram.c"
   48355          20 :     break;
   48356             : 
   48357         220 :   case 1894: /* xmltable_column_list: xmltable_column_el  */
   48358             : #line 14087 "gram.y"
   48359             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   48360             : #line 48361 "gram.c"
   48361         220 :     break;
   48362             : 
   48363         530 :   case 1895: /* xmltable_column_list: xmltable_column_list ',' xmltable_column_el  */
   48364             : #line 14088 "gram.y"
   48365             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   48366             : #line 48367 "gram.c"
   48367         530 :     break;
   48368             : 
   48369         198 :   case 1896: /* xmltable_column_el: ColId Typename  */
   48370             : #line 14093 "gram.y"
   48371             :                                 {
   48372             :                     RangeTableFuncCol *fc = makeNode(RangeTableFuncCol);
   48373             : 
   48374             :                     fc->colname = (yyvsp[-1].str);
   48375             :                     fc->for_ordinality = false;
   48376             :                     fc->typeName = (yyvsp[0].typnam);
   48377             :                     fc->is_not_null = false;
   48378             :                     fc->colexpr = NULL;
   48379             :                     fc->coldefexpr = NULL;
   48380             :                     fc->location = (yylsp[-1]);
   48381             : 
   48382             :                     (yyval.node) = (Node *) fc;
   48383             :                 }
   48384             : #line 48385 "gram.c"
   48385         198 :     break;
   48386             : 
   48387         490 :   case 1897: /* xmltable_column_el: ColId Typename xmltable_column_option_list  */
   48388             : #line 14107 "gram.y"
   48389             :                                 {
   48390             :                     RangeTableFuncCol *fc = makeNode(RangeTableFuncCol);
   48391             :                     ListCell   *option;
   48392             :                     bool        nullability_seen = false;
   48393             : 
   48394             :                     fc->colname = (yyvsp[-2].str);
   48395             :                     fc->typeName = (yyvsp[-1].typnam);
   48396             :                     fc->for_ordinality = false;
   48397             :                     fc->is_not_null = false;
   48398             :                     fc->colexpr = NULL;
   48399             :                     fc->coldefexpr = NULL;
   48400             :                     fc->location = (yylsp[-2]);
   48401             : 
   48402             :                     foreach(option, (yyvsp[0].list))
   48403             :                     {
   48404             :                         DefElem   *defel = (DefElem *) lfirst(option);
   48405             : 
   48406             :                         if (strcmp(defel->defname, "default") == 0)
   48407             :                         {
   48408             :                             if (fc->coldefexpr != NULL)
   48409             :                                 ereport(ERROR,
   48410             :                                         (errcode(ERRCODE_SYNTAX_ERROR),
   48411             :                                          errmsg("only one DEFAULT value is allowed"),
   48412             :                                          parser_errposition(defel->location)));
   48413             :                             fc->coldefexpr = defel->arg;
   48414             :                         }
   48415             :                         else if (strcmp(defel->defname, "path") == 0)
   48416             :                         {
   48417             :                             if (fc->colexpr != NULL)
   48418             :                                 ereport(ERROR,
   48419             :                                         (errcode(ERRCODE_SYNTAX_ERROR),
   48420             :                                          errmsg("only one PATH value per column is allowed"),
   48421             :                                          parser_errposition(defel->location)));
   48422             :                             fc->colexpr = defel->arg;
   48423             :                         }
   48424             :                         else if (strcmp(defel->defname, "is_not_null") == 0)
   48425             :                         {
   48426             :                             if (nullability_seen)
   48427             :                                 ereport(ERROR,
   48428             :                                         (errcode(ERRCODE_SYNTAX_ERROR),
   48429             :                                          errmsg("conflicting or redundant NULL / NOT NULL declarations for column \"%s\"", fc->colname),
   48430             :                                          parser_errposition(defel->location)));
   48431             :                             fc->is_not_null = boolVal(defel->arg);
   48432             :                             nullability_seen = true;
   48433             :                         }
   48434             :                         else
   48435             :                         {
   48436             :                             ereport(ERROR,
   48437             :                                     (errcode(ERRCODE_SYNTAX_ERROR),
   48438             :                                      errmsg("unrecognized column option \"%s\"",
   48439             :                                             defel->defname),
   48440             :                                      parser_errposition(defel->location)));
   48441             :                         }
   48442             :                     }
   48443             :                     (yyval.node) = (Node *) fc;
   48444             :                 }
   48445             : #line 48446 "gram.c"
   48446         490 :     break;
   48447             : 
   48448          62 :   case 1898: /* xmltable_column_el: ColId FOR ORDINALITY  */
   48449             : #line 14164 "gram.y"
   48450             :                                 {
   48451             :                     RangeTableFuncCol *fc = makeNode(RangeTableFuncCol);
   48452             : 
   48453             :                     fc->colname = (yyvsp[-2].str);
   48454             :                     fc->for_ordinality = true;
   48455             :                     /* other fields are ignored, initialized by makeNode */
   48456             :                     fc->location = (yylsp[-2]);
   48457             : 
   48458             :                     (yyval.node) = (Node *) fc;
   48459             :                 }
   48460             : #line 48461 "gram.c"
   48461          62 :     break;
   48462             : 
   48463         490 :   case 1899: /* xmltable_column_option_list: xmltable_column_option_el  */
   48464             : #line 14178 "gram.y"
   48465             :                                 { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   48466             : #line 48467 "gram.c"
   48467         490 :     break;
   48468             : 
   48469         112 :   case 1900: /* xmltable_column_option_list: xmltable_column_option_list xmltable_column_option_el  */
   48470             : #line 14180 "gram.y"
   48471             :                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   48472             : #line 48473 "gram.c"
   48473         112 :     break;
   48474             : 
   48475           0 :   case 1901: /* xmltable_column_option_el: IDENT b_expr  */
   48476             : #line 14185 "gram.y"
   48477             :                                 { (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1])); }
   48478             : #line 48479 "gram.c"
   48479           0 :     break;
   48480             : 
   48481          56 :   case 1902: /* xmltable_column_option_el: DEFAULT b_expr  */
   48482             : #line 14187 "gram.y"
   48483             :                                 { (yyval.defelt) = makeDefElem("default", (yyvsp[0].node), (yylsp[-1])); }
   48484             : #line 48485 "gram.c"
   48485          56 :     break;
   48486             : 
   48487          56 :   case 1903: /* xmltable_column_option_el: NOT NULL_P  */
   48488             : #line 14189 "gram.y"
   48489             :                                 { (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeBoolean(true), (yylsp[-1])); }
   48490             : #line 48491 "gram.c"
   48491          56 :     break;
   48492             : 
   48493           0 :   case 1904: /* xmltable_column_option_el: NULL_P  */
   48494             : #line 14191 "gram.y"
   48495             :                                 { (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeBoolean(false), (yylsp[0])); }
   48496             : #line 48497 "gram.c"
   48497           0 :     break;
   48498             : 
   48499         490 :   case 1905: /* xmltable_column_option_el: PATH b_expr  */
   48500             : #line 14193 "gram.y"
   48501             :                                 { (yyval.defelt) = makeDefElem("path", (yyvsp[0].node), (yylsp[-1])); }
   48502             : #line 48503 "gram.c"
   48503         490 :     break;
   48504             : 
   48505          20 :   case 1906: /* xml_namespace_list: xml_namespace_el  */
   48506             : #line 14198 "gram.y"
   48507             :                                 { (yyval.list) = list_make1((yyvsp[0].target)); }
   48508             : #line 48509 "gram.c"
   48509          20 :     break;
   48510             : 
   48511           0 :   case 1907: /* xml_namespace_list: xml_namespace_list ',' xml_namespace_el  */
   48512             : #line 14200 "gram.y"
   48513             :                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
   48514             : #line 48515 "gram.c"
   48515           0 :     break;
   48516             : 
   48517          14 :   case 1908: /* xml_namespace_el: b_expr AS ColLabel  */
   48518             : #line 14205 "gram.y"
   48519             :                                 {
   48520             :                     (yyval.target) = makeNode(ResTarget);
   48521             :                     (yyval.target)->name = (yyvsp[0].str);
   48522             :                     (yyval.target)->indirection = NIL;
   48523             :                     (yyval.target)->val = (yyvsp[-2].node);
   48524             :                     (yyval.target)->location = (yylsp[-2]);
   48525             :                 }
   48526             : #line 48527 "gram.c"
   48527          14 :     break;
   48528             : 
   48529           6 :   case 1909: /* xml_namespace_el: DEFAULT b_expr  */
   48530             : #line 14213 "gram.y"
   48531             :                                 {
   48532             :                     (yyval.target) = makeNode(ResTarget);
   48533             :                     (yyval.target)->name = NULL;
   48534             :                     (yyval.target)->indirection = NIL;
   48535             :                     (yyval.target)->val = (yyvsp[0].node);
   48536             :                     (yyval.target)->location = (yylsp[-1]);
   48537             :                 }
   48538             : #line 48539 "gram.c"
   48539           6 :     break;
   48540             : 
   48541         434 :   case 1910: /* 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 ')'  */
   48542             : #line 14229 "gram.y"
   48543             :                                 {
   48544             :                     JsonTable *n = makeNode(JsonTable);
   48545             :                     char      *pathstring;
   48546             : 
   48547             :                     n->context_item = (JsonValueExpr *) (yyvsp[-10].node);
   48548             :                     if (!IsA((yyvsp[-8].node), A_Const) ||
   48549             :                         castNode(A_Const, (yyvsp[-8].node))->val.node.type != T_String)
   48550             :                         ereport(ERROR,
   48551             :                                 errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   48552             :                                 errmsg("only string constants are supported in JSON_TABLE path specification"),
   48553             :                                 parser_errposition((yylsp[-8])));
   48554             :                     pathstring = castNode(A_Const, (yyvsp[-8].node))->val.sval.sval;
   48555             :                     n->pathspec = makeJsonTablePathSpec(pathstring, (yyvsp[-7].str), (yylsp[-8]), (yylsp[-7]));
   48556             :                     n->passing = (yyvsp[-6].list);
   48557             :                     n->columns = (yyvsp[-3].list);
   48558             :                     n->on_error = (JsonBehavior *) (yyvsp[-1].node);
   48559             :                     n->location = (yylsp[-12]);
   48560             :                     (yyval.node) = (Node *) n;
   48561             :                 }
   48562             : #line 48563 "gram.c"
   48563         428 :     break;
   48564             : 
   48565          62 :   case 1911: /* json_table_path_name_opt: AS name  */
   48566             : #line 14251 "gram.y"
   48567             :                                                 { (yyval.str) = (yyvsp[0].str); }
   48568             : #line 48569 "gram.c"
   48569          62 :     break;
   48570             : 
   48571         378 :   case 1912: /* json_table_path_name_opt: %empty  */
   48572             : #line 14252 "gram.y"
   48573             :                                         { (yyval.str) = NULL; }
   48574             : #line 48575 "gram.c"
   48575         378 :     break;
   48576             : 
   48577         724 :   case 1913: /* json_table_column_definition_list: json_table_column_definition  */
   48578             : #line 14257 "gram.y"
   48579             :                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   48580             : #line 48581 "gram.c"
   48581         724 :     break;
   48582             : 
   48583         528 :   case 1914: /* json_table_column_definition_list: json_table_column_definition_list ',' json_table_column_definition  */
   48584             : #line 14259 "gram.y"
   48585             :                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   48586             : #line 48587 "gram.c"
   48587         528 :     break;
   48588             : 
   48589          84 :   case 1915: /* json_table_column_definition: ColId FOR ORDINALITY  */
   48590             : #line 14264 "gram.y"
   48591             :                                 {
   48592             :                     JsonTableColumn *n = makeNode(JsonTableColumn);
   48593             : 
   48594             :                     n->coltype = JTC_FOR_ORDINALITY;
   48595             :                     n->name = (yyvsp[-2].str);
   48596             :                     n->location = (yylsp[-2]);
   48597             :                     (yyval.node) = (Node *) n;
   48598             :                 }
   48599             : #line 48600 "gram.c"
   48600          84 :     break;
   48601             : 
   48602         686 :   case 1916: /* json_table_column_definition: ColId Typename json_table_column_path_clause_opt json_wrapper_behavior json_quotes_clause_opt json_behavior_clause_opt  */
   48603             : #line 14277 "gram.y"
   48604             :                                 {
   48605             :                     JsonTableColumn *n = makeNode(JsonTableColumn);
   48606             : 
   48607             :                     n->coltype = JTC_REGULAR;
   48608             :                     n->name = (yyvsp[-5].str);
   48609             :                     n->typeName = (yyvsp[-4].typnam);
   48610             :                     n->format = makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1);
   48611             :                     n->pathspec = (JsonTablePathSpec *) (yyvsp[-3].node);
   48612             :                     n->wrapper = (yyvsp[-2].ival);
   48613             :                     n->quotes = (yyvsp[-1].ival);
   48614             :                     n->on_empty = (JsonBehavior *) linitial((yyvsp[0].list));
   48615             :                     n->on_error = (JsonBehavior *) lsecond((yyvsp[0].list));
   48616             :                     n->location = (yylsp[-5]);
   48617             :                     (yyval.node) = (Node *) n;
   48618             :                 }
   48619             : #line 48620 "gram.c"
   48620         686 :     break;
   48621             : 
   48622         108 :   case 1917: /* 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  */
   48623             : #line 14297 "gram.y"
   48624             :                                 {
   48625             :                     JsonTableColumn *n = makeNode(JsonTableColumn);
   48626             : 
   48627             :                     n->coltype = JTC_FORMATTED;
   48628             :                     n->name = (yyvsp[-6].str);
   48629             :                     n->typeName = (yyvsp[-5].typnam);
   48630             :                     n->format = (JsonFormat *) (yyvsp[-4].node);
   48631             :                     n->pathspec = (JsonTablePathSpec *) (yyvsp[-3].node);
   48632             :                     n->wrapper = (yyvsp[-2].ival);
   48633             :                     n->quotes = (yyvsp[-1].ival);
   48634             :                     n->on_empty = (JsonBehavior *) linitial((yyvsp[0].list));
   48635             :                     n->on_error = (JsonBehavior *) lsecond((yyvsp[0].list));
   48636             :                     n->location = (yylsp[-6]);
   48637             :                     (yyval.node) = (Node *) n;
   48638             :                 }
   48639             : #line 48640 "gram.c"
   48640         108 :     break;
   48641             : 
   48642          84 :   case 1918: /* json_table_column_definition: ColId Typename EXISTS json_table_column_path_clause_opt json_behavior_clause_opt  */
   48643             : #line 14315 "gram.y"
   48644             :                                 {
   48645             :                     JsonTableColumn *n = makeNode(JsonTableColumn);
   48646             : 
   48647             :                     n->coltype = JTC_EXISTS;
   48648             :                     n->name = (yyvsp[-4].str);
   48649             :                     n->typeName = (yyvsp[-3].typnam);
   48650             :                     n->format = makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1);
   48651             :                     n->wrapper = JSW_NONE;
   48652             :                     n->quotes = JS_QUOTES_UNSPEC;
   48653             :                     n->pathspec = (JsonTablePathSpec *) (yyvsp[-1].node);
   48654             :                     n->on_empty = (JsonBehavior *) linitial((yyvsp[0].list));
   48655             :                     n->on_error = (JsonBehavior *) lsecond((yyvsp[0].list));
   48656             :                     n->location = (yylsp[-4]);
   48657             :                     (yyval.node) = (Node *) n;
   48658             :                 }
   48659             : #line 48660 "gram.c"
   48660          84 :     break;
   48661             : 
   48662         144 :   case 1919: /* json_table_column_definition: NESTED path_opt Sconst COLUMNS '(' json_table_column_definition_list ')'  */
   48663             : #line 14332 "gram.y"
   48664             :                                 {
   48665             :                     JsonTableColumn *n = makeNode(JsonTableColumn);
   48666             : 
   48667             :                     n->coltype = JTC_NESTED;
   48668             :                     n->pathspec = (JsonTablePathSpec *)
   48669             :                         makeJsonTablePathSpec((yyvsp[-4].str), NULL, (yylsp[-4]), -1);
   48670             :                     n->columns = (yyvsp[-1].list);
   48671             :                     n->location = (yylsp[-6]);
   48672             :                     (yyval.node) = (Node *) n;
   48673             :                 }
   48674             : #line 48675 "gram.c"
   48675         144 :     break;
   48676             : 
   48677         146 :   case 1920: /* json_table_column_definition: NESTED path_opt Sconst AS name COLUMNS '(' json_table_column_definition_list ')'  */
   48678             : #line 14344 "gram.y"
   48679             :                                 {
   48680             :                     JsonTableColumn *n = makeNode(JsonTableColumn);
   48681             : 
   48682             :                     n->coltype = JTC_NESTED;
   48683             :                     n->pathspec = (JsonTablePathSpec *)
   48684             :                         makeJsonTablePathSpec((yyvsp[-6].str), (yyvsp[-4].str), (yylsp[-6]), (yylsp[-4]));
   48685             :                     n->columns = (yyvsp[-1].list);
   48686             :                     n->location = (yylsp[-8]);
   48687             :                     (yyval.node) = (Node *) n;
   48688             :                 }
   48689             : #line 48690 "gram.c"
   48690         146 :     break;
   48691             : 
   48692         756 :   case 1923: /* json_table_column_path_clause_opt: PATH Sconst  */
   48693             : #line 14363 "gram.y"
   48694             :                                 { (yyval.node) = (Node *) makeJsonTablePathSpec((yyvsp[0].str), NULL, (yylsp[0]), -1); }
   48695             : #line 48696 "gram.c"
   48696         756 :     break;
   48697             : 
   48698         122 :   case 1924: /* json_table_column_path_clause_opt: %empty  */
   48699             : #line 14365 "gram.y"
   48700             :                                 { (yyval.node) = NULL; }
   48701             : #line 48702 "gram.c"
   48702         122 :     break;
   48703             : 
   48704      410836 :   case 1925: /* Typename: SimpleTypename opt_array_bounds  */
   48705             : #line 14379 "gram.y"
   48706             :                                 {
   48707             :                     (yyval.typnam) = (yyvsp[-1].typnam);
   48708             :                     (yyval.typnam)->arrayBounds = (yyvsp[0].list);
   48709             :                 }
   48710             : #line 48711 "gram.c"
   48711      410836 :     break;
   48712             : 
   48713        1890 :   case 1926: /* Typename: SETOF SimpleTypename opt_array_bounds  */
   48714             : #line 14384 "gram.y"
   48715             :                                 {
   48716             :                     (yyval.typnam) = (yyvsp[-1].typnam);
   48717             :                     (yyval.typnam)->arrayBounds = (yyvsp[0].list);
   48718             :                     (yyval.typnam)->setof = true;
   48719             :                 }
   48720             : #line 48721 "gram.c"
   48721        1890 :     break;
   48722             : 
   48723           6 :   case 1927: /* Typename: SimpleTypename ARRAY '[' Iconst ']'  */
   48724             : #line 14391 "gram.y"
   48725             :                                 {
   48726             :                     (yyval.typnam) = (yyvsp[-4].typnam);
   48727             :                     (yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
   48728             :                 }
   48729             : #line 48730 "gram.c"
   48730           6 :     break;
   48731             : 
   48732           0 :   case 1928: /* Typename: SETOF SimpleTypename ARRAY '[' Iconst ']'  */
   48733             : #line 14396 "gram.y"
   48734             :                                 {
   48735             :                     (yyval.typnam) = (yyvsp[-4].typnam);
   48736             :                     (yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
   48737             :                     (yyval.typnam)->setof = true;
   48738             :                 }
   48739             : #line 48740 "gram.c"
   48740           0 :     break;
   48741             : 
   48742           0 :   case 1929: /* Typename: SimpleTypename ARRAY  */
   48743             : #line 14402 "gram.y"
   48744             :                                 {
   48745             :                     (yyval.typnam) = (yyvsp[-1].typnam);
   48746             :                     (yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
   48747             :                 }
   48748             : #line 48749 "gram.c"
   48749           0 :     break;
   48750             : 
   48751           0 :   case 1930: /* Typename: SETOF SimpleTypename ARRAY  */
   48752             : #line 14407 "gram.y"
   48753             :                                 {
   48754             :                     (yyval.typnam) = (yyvsp[-1].typnam);
   48755             :                     (yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
   48756             :                     (yyval.typnam)->setof = true;
   48757             :                 }
   48758             : #line 48759 "gram.c"
   48759           0 :     break;
   48760             : 
   48761       11506 :   case 1931: /* opt_array_bounds: opt_array_bounds '[' ']'  */
   48762             : #line 14416 "gram.y"
   48763             :                                         {  (yyval.list) = lappend((yyvsp[-2].list), makeInteger(-1)); }
   48764             : #line 48765 "gram.c"
   48765       11506 :     break;
   48766             : 
   48767          62 :   case 1932: /* opt_array_bounds: opt_array_bounds '[' Iconst ']'  */
   48768             : #line 14418 "gram.y"
   48769             :                                         {  (yyval.list) = lappend((yyvsp[-3].list), makeInteger((yyvsp[-1].ival))); }
   48770             : #line 48771 "gram.c"
   48771          62 :     break;
   48772             : 
   48773      412726 :   case 1933: /* opt_array_bounds: %empty  */
   48774             : #line 14420 "gram.y"
   48775             :                                         {  (yyval.list) = NIL; }
   48776             : #line 48777 "gram.c"
   48777      412726 :     break;
   48778             : 
   48779      329258 :   case 1934: /* SimpleTypename: GenericType  */
   48780             : #line 14424 "gram.y"
   48781             :                                                                                                 { (yyval.typnam) = (yyvsp[0].typnam); }
   48782             : #line 48783 "gram.c"
   48783      329258 :     break;
   48784             : 
   48785       69678 :   case 1935: /* SimpleTypename: Numeric  */
   48786             : #line 14425 "gram.y"
   48787             :                                                                                                 { (yyval.typnam) = (yyvsp[0].typnam); }
   48788             : #line 48789 "gram.c"
   48789       69678 :     break;
   48790             : 
   48791        1854 :   case 1936: /* SimpleTypename: Bit  */
   48792             : #line 14426 "gram.y"
   48793             :                                                                                                 { (yyval.typnam) = (yyvsp[0].typnam); }
   48794             : #line 48795 "gram.c"
   48795        1854 :     break;
   48796             : 
   48797        3086 :   case 1937: /* SimpleTypename: Character  */
   48798             : #line 14427 "gram.y"
   48799             :                                                                                                 { (yyval.typnam) = (yyvsp[0].typnam); }
   48800             : #line 48801 "gram.c"
   48801        3086 :     break;
   48802             : 
   48803        4288 :   case 1938: /* SimpleTypename: ConstDatetime  */
   48804             : #line 14428 "gram.y"
   48805             :                                                                                         { (yyval.typnam) = (yyvsp[0].typnam); }
   48806             : #line 48807 "gram.c"
   48807        4288 :     break;
   48808             : 
   48809        3308 :   case 1939: /* SimpleTypename: ConstInterval opt_interval  */
   48810             : #line 14430 "gram.y"
   48811             :                                 {
   48812             :                     (yyval.typnam) = (yyvsp[-1].typnam);
   48813             :                     (yyval.typnam)->typmods = (yyvsp[0].list);
   48814             :                 }
   48815             : #line 48816 "gram.c"
   48816        3308 :     break;
   48817             : 
   48818           0 :   case 1940: /* SimpleTypename: ConstInterval '(' Iconst ')'  */
   48819             : #line 14435 "gram.y"
   48820             :                                 {
   48821             :                     (yyval.typnam) = (yyvsp[-3].typnam);
   48822             :                     (yyval.typnam)->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
   48823             :                                              makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
   48824             :                 }
   48825             : #line 48826 "gram.c"
   48826           0 :     break;
   48827             : 
   48828        1640 :   case 1941: /* SimpleTypename: JsonType  */
   48829             : #line 14440 "gram.y"
   48830             :                                                                                                 { (yyval.typnam) = (yyvsp[0].typnam); }
   48831             : #line 48832 "gram.c"
   48832        1640 :     break;
   48833             : 
   48834          78 :   case 1942: /* ConstTypename: Numeric  */
   48835             : #line 14455 "gram.y"
   48836             :                                                                                                 { (yyval.typnam) = (yyvsp[0].typnam); }
   48837             : #line 48838 "gram.c"
   48838          78 :     break;
   48839             : 
   48840           0 :   case 1943: /* ConstTypename: ConstBit  */
   48841             : #line 14456 "gram.y"
   48842             :                                                                                                 { (yyval.typnam) = (yyvsp[0].typnam); }
   48843             : #line 48844 "gram.c"
   48844           0 :     break;
   48845             : 
   48846          34 :   case 1944: /* ConstTypename: ConstCharacter  */
   48847             : #line 14457 "gram.y"
   48848             :                                                                                         { (yyval.typnam) = (yyvsp[0].typnam); }
   48849             : #line 48850 "gram.c"
   48850          34 :     break;
   48851             : 
   48852        2534 :   case 1945: /* ConstTypename: ConstDatetime  */
   48853             : #line 14458 "gram.y"
   48854             :                                                                                         { (yyval.typnam) = (yyvsp[0].typnam); }
   48855             : #line 48856 "gram.c"
   48856        2534 :     break;
   48857             : 
   48858         264 :   case 1946: /* ConstTypename: JsonType  */
   48859             : #line 14459 "gram.y"
   48860             :                                                                                                 { (yyval.typnam) = (yyvsp[0].typnam); }
   48861             : #line 48862 "gram.c"
   48862         264 :     break;
   48863             : 
   48864      244700 :   case 1947: /* GenericType: type_function_name opt_type_modifiers  */
   48865             : #line 14471 "gram.y"
   48866             :                                 {
   48867             :                     (yyval.typnam) = makeTypeName((yyvsp[-1].str));
   48868             :                     (yyval.typnam)->typmods = (yyvsp[0].list);
   48869             :                     (yyval.typnam)->location = (yylsp[-1]);
   48870             :                 }
   48871             : #line 48872 "gram.c"
   48872      244700 :     break;
   48873             : 
   48874       84558 :   case 1948: /* GenericType: type_function_name attrs opt_type_modifiers  */
   48875             : #line 14477 "gram.y"
   48876             :                                 {
   48877             :                     (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-2].str)), (yyvsp[-1].list)));
   48878             :                     (yyval.typnam)->typmods = (yyvsp[0].list);
   48879             :                     (yyval.typnam)->location = (yylsp[-2]);
   48880             :                 }
   48881             : #line 48882 "gram.c"
   48882       84558 :     break;
   48883             : 
   48884        1342 :   case 1949: /* opt_type_modifiers: '(' expr_list ')'  */
   48885             : #line 14484 "gram.y"
   48886             :                                                                 { (yyval.list) = (yyvsp[-1].list); }
   48887             : #line 48888 "gram.c"
   48888        1342 :     break;
   48889             : 
   48890      333686 :   case 1950: /* opt_type_modifiers: %empty  */
   48891             : #line 14485 "gram.y"
   48892             :                                                                                         { (yyval.list) = NIL; }
   48893             : #line 48894 "gram.c"
   48894      333686 :     break;
   48895             : 
   48896       34710 :   case 1951: /* Numeric: INT_P  */
   48897             : #line 14492 "gram.y"
   48898             :                                 {
   48899             :                     (yyval.typnam) = SystemTypeName("int4");
   48900             :                     (yyval.typnam)->location = (yylsp[0]);
   48901             :                 }
   48902             : #line 48903 "gram.c"
   48903       34710 :     break;
   48904             : 
   48905       12958 :   case 1952: /* Numeric: INTEGER  */
   48906             : #line 14497 "gram.y"
   48907             :                                 {
   48908             :                     (yyval.typnam) = SystemTypeName("int4");
   48909             :                     (yyval.typnam)->location = (yylsp[0]);
   48910             :                 }
   48911             : #line 48912 "gram.c"
   48912       12958 :     break;
   48913             : 
   48914        1134 :   case 1953: /* Numeric: SMALLINT  */
   48915             : #line 14502 "gram.y"
   48916             :                                 {
   48917             :                     (yyval.typnam) = SystemTypeName("int2");
   48918             :                     (yyval.typnam)->location = (yylsp[0]);
   48919             :                 }
   48920             : #line 48921 "gram.c"
   48921        1134 :     break;
   48922             : 
   48923        4160 :   case 1954: /* Numeric: BIGINT  */
   48924             : #line 14507 "gram.y"
   48925             :                                 {
   48926             :                     (yyval.typnam) = SystemTypeName("int8");
   48927             :                     (yyval.typnam)->location = (yylsp[0]);
   48928             :                 }
   48929             : #line 48930 "gram.c"
   48930        4160 :     break;
   48931             : 
   48932         368 :   case 1955: /* Numeric: REAL  */
   48933             : #line 14512 "gram.y"
   48934             :                                 {
   48935             :                     (yyval.typnam) = SystemTypeName("float4");
   48936             :                     (yyval.typnam)->location = (yylsp[0]);
   48937             :                 }
   48938             : #line 48939 "gram.c"
   48939         368 :     break;
   48940             : 
   48941         482 :   case 1956: /* Numeric: FLOAT_P opt_float  */
   48942             : #line 14517 "gram.y"
   48943             :                                 {
   48944             :                     (yyval.typnam) = (yyvsp[0].typnam);
   48945             :                     (yyval.typnam)->location = (yylsp[-1]);
   48946             :                 }
   48947             : #line 48948 "gram.c"
   48948         482 :     break;
   48949             : 
   48950         488 :   case 1957: /* Numeric: DOUBLE_P PRECISION  */
   48951             : #line 14522 "gram.y"
   48952             :                                 {
   48953             :                     (yyval.typnam) = SystemTypeName("float8");
   48954             :                     (yyval.typnam)->location = (yylsp[-1]);
   48955             :                 }
   48956             : #line 48957 "gram.c"
   48957         488 :     break;
   48958             : 
   48959          36 :   case 1958: /* Numeric: DECIMAL_P opt_type_modifiers  */
   48960             : #line 14527 "gram.y"
   48961             :                                 {
   48962             :                     (yyval.typnam) = SystemTypeName("numeric");
   48963             :                     (yyval.typnam)->typmods = (yyvsp[0].list);
   48964             :                     (yyval.typnam)->location = (yylsp[-1]);
   48965             :                 }
   48966             : #line 48967 "gram.c"
   48967          36 :     break;
   48968             : 
   48969           0 :   case 1959: /* Numeric: DEC opt_type_modifiers  */
   48970             : #line 14533 "gram.y"
   48971             :                                 {
   48972             :                     (yyval.typnam) = SystemTypeName("numeric");
   48973             :                     (yyval.typnam)->typmods = (yyvsp[0].list);
   48974             :                     (yyval.typnam)->location = (yylsp[-1]);
   48975             :                 }
   48976             : #line 48977 "gram.c"
   48977           0 :     break;
   48978             : 
   48979        5734 :   case 1960: /* Numeric: NUMERIC opt_type_modifiers  */
   48980             : #line 14539 "gram.y"
   48981             :                                 {
   48982             :                     (yyval.typnam) = SystemTypeName("numeric");
   48983             :                     (yyval.typnam)->typmods = (yyvsp[0].list);
   48984             :                     (yyval.typnam)->location = (yylsp[-1]);
   48985             :                 }
   48986             : #line 48987 "gram.c"
   48987        5734 :     break;
   48988             : 
   48989        9686 :   case 1961: /* Numeric: BOOLEAN_P  */
   48990             : #line 14545 "gram.y"
   48991             :                                 {
   48992             :                     (yyval.typnam) = SystemTypeName("bool");
   48993             :                     (yyval.typnam)->location = (yylsp[0]);
   48994             :                 }
   48995             : #line 48996 "gram.c"
   48996        9686 :     break;
   48997             : 
   48998           2 :   case 1962: /* opt_float: '(' Iconst ')'  */
   48999             : #line 14552 "gram.y"
   49000             :                                 {
   49001             :                     /*
   49002             :                      * Check FLOAT() precision limits assuming IEEE floating
   49003             :                      * types - thomas 1997-09-18
   49004             :                      */
   49005             :                     if ((yyvsp[-1].ival) < 1)
   49006             :                         ereport(ERROR,
   49007             :                                 (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
   49008             :                                  errmsg("precision for type float must be at least 1 bit"),
   49009             :                                  parser_errposition((yylsp[-1]))));
   49010             :                     else if ((yyvsp[-1].ival) <= 24)
   49011             :                         (yyval.typnam) = SystemTypeName("float4");
   49012             :                     else if ((yyvsp[-1].ival) <= 53)
   49013             :                         (yyval.typnam) = SystemTypeName("float8");
   49014             :                     else
   49015             :                         ereport(ERROR,
   49016             :                                 (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
   49017             :                                  errmsg("precision for type float must be less than 54 bits"),
   49018             :                                  parser_errposition((yylsp[-1]))));
   49019             :                 }
   49020             : #line 49021 "gram.c"
   49021           2 :     break;
   49022             : 
   49023         480 :   case 1963: /* opt_float: %empty  */
   49024             : #line 14573 "gram.y"
   49025             :                                 {
   49026             :                     (yyval.typnam) = SystemTypeName("float8");
   49027             :                 }
   49028             : #line 49029 "gram.c"
   49029         480 :     break;
   49030             : 
   49031        1666 :   case 1964: /* Bit: BitWithLength  */
   49032             : #line 14583 "gram.y"
   49033             :                                 {
   49034             :                     (yyval.typnam) = (yyvsp[0].typnam);
   49035             :                 }
   49036             : #line 49037 "gram.c"
   49037        1666 :     break;
   49038             : 
   49039         188 :   case 1965: /* Bit: BitWithoutLength  */
   49040             : #line 14587 "gram.y"
   49041             :                                 {
   49042             :                     (yyval.typnam) = (yyvsp[0].typnam);
   49043             :                 }
   49044             : #line 49045 "gram.c"
   49045         188 :     break;
   49046             : 
   49047           0 :   case 1966: /* ConstBit: BitWithLength  */
   49048             : #line 14595 "gram.y"
   49049             :                                 {
   49050             :                     (yyval.typnam) = (yyvsp[0].typnam);
   49051             :                 }
   49052             : #line 49053 "gram.c"
   49053           0 :     break;
   49054             : 
   49055           0 :   case 1967: /* ConstBit: BitWithoutLength  */
   49056             : #line 14599 "gram.y"
   49057             :                                 {
   49058             :                     (yyval.typnam) = (yyvsp[0].typnam);
   49059             :                     (yyval.typnam)->typmods = NIL;
   49060             :                 }
   49061             : #line 49062 "gram.c"
   49062           0 :     break;
   49063             : 
   49064        1666 :   case 1968: /* BitWithLength: BIT opt_varying '(' expr_list ')'  */
   49065             : #line 14607 "gram.y"
   49066             :                                 {
   49067             :                     char *typname;
   49068             : 
   49069             :                     typname = (yyvsp[-3].boolean) ? "varbit" : "bit";
   49070             :                     (yyval.typnam) = SystemTypeName(typname);
   49071             :                     (yyval.typnam)->typmods = (yyvsp[-1].list);
   49072             :                     (yyval.typnam)->location = (yylsp[-4]);
   49073             :                 }
   49074             : #line 49075 "gram.c"
   49075        1666 :     break;
   49076             : 
   49077         188 :   case 1969: /* BitWithoutLength: BIT opt_varying  */
   49078             : #line 14619 "gram.y"
   49079             :                                 {
   49080             :                     /* bit defaults to bit(1), varbit to no limit */
   49081             :                     if ((yyvsp[0].boolean))
   49082             :                     {
   49083             :                         (yyval.typnam) = SystemTypeName("varbit");
   49084             :                     }
   49085             :                     else
   49086             :                     {
   49087             :                         (yyval.typnam) = SystemTypeName("bit");
   49088             :                         (yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
   49089             :                     }
   49090             :                     (yyval.typnam)->location = (yylsp[-1]);
   49091             :                 }
   49092             : #line 49093 "gram.c"
   49093         188 :     break;
   49094             : 
   49095        1890 :   case 1970: /* Character: CharacterWithLength  */
   49096             : #line 14640 "gram.y"
   49097             :                                 {
   49098             :                     (yyval.typnam) = (yyvsp[0].typnam);
   49099             :                 }
   49100             : #line 49101 "gram.c"
   49101        1890 :     break;
   49102             : 
   49103        1196 :   case 1971: /* Character: CharacterWithoutLength  */
   49104             : #line 14644 "gram.y"
   49105             :                                 {
   49106             :                     (yyval.typnam) = (yyvsp[0].typnam);
   49107             :                 }
   49108             : #line 49109 "gram.c"
   49109        1196 :     break;
   49110             : 
   49111          12 :   case 1972: /* ConstCharacter: CharacterWithLength  */
   49112             : #line 14650 "gram.y"
   49113             :                                 {
   49114             :                     (yyval.typnam) = (yyvsp[0].typnam);
   49115             :                 }
   49116             : #line 49117 "gram.c"
   49117          12 :     break;
   49118             : 
   49119          22 :   case 1973: /* ConstCharacter: CharacterWithoutLength  */
   49120             : #line 14654 "gram.y"
   49121             :                                 {
   49122             :                     /* Length was not specified so allow to be unrestricted.
   49123             :                      * This handles problems with fixed-length (bpchar) strings
   49124             :                      * which in column definitions must default to a length
   49125             :                      * of one, but should not be constrained if the length
   49126             :                      * was not specified.
   49127             :                      */
   49128             :                     (yyval.typnam) = (yyvsp[0].typnam);
   49129             :                     (yyval.typnam)->typmods = NIL;
   49130             :                 }
   49131             : #line 49132 "gram.c"
   49132          22 :     break;
   49133             : 
   49134        1902 :   case 1974: /* CharacterWithLength: character '(' Iconst ')'  */
   49135             : #line 14667 "gram.y"
   49136             :                                 {
   49137             :                     (yyval.typnam) = SystemTypeName((yyvsp[-3].str));
   49138             :                     (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
   49139             :                     (yyval.typnam)->location = (yylsp[-3]);
   49140             :                 }
   49141             : #line 49142 "gram.c"
   49142        1902 :     break;
   49143             : 
   49144        1218 :   case 1975: /* CharacterWithoutLength: character  */
   49145             : #line 14675 "gram.y"
   49146             :                                 {
   49147             :                     (yyval.typnam) = SystemTypeName((yyvsp[0].str));
   49148             :                     /* char defaults to char(1), varchar to no limit */
   49149             :                     if (strcmp((yyvsp[0].str), "bpchar") == 0)
   49150             :                         (yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
   49151             :                     (yyval.typnam)->location = (yylsp[0]);
   49152             :                 }
   49153             : #line 49154 "gram.c"
   49154        1218 :     break;
   49155             : 
   49156         500 :   case 1976: /* character: CHARACTER opt_varying  */
   49157             : #line 14685 "gram.y"
   49158             :                                                                                 { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
   49159             : #line 49160 "gram.c"
   49160         500 :     break;
   49161             : 
   49162        1110 :   case 1977: /* character: CHAR_P opt_varying  */
   49163             : #line 14687 "gram.y"
   49164             :                                                                                 { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
   49165             : #line 49166 "gram.c"
   49166        1110 :     break;
   49167             : 
   49168        1506 :   case 1978: /* character: VARCHAR  */
   49169             : #line 14689 "gram.y"
   49170             :                                                                                 { (yyval.str) = "varchar"; }
   49171             : #line 49172 "gram.c"
   49172        1506 :     break;
   49173             : 
   49174           0 :   case 1979: /* character: NATIONAL CHARACTER opt_varying  */
   49175             : #line 14691 "gram.y"
   49176             :                                                                                 { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
   49177             : #line 49178 "gram.c"
   49178           0 :     break;
   49179             : 
   49180           0 :   case 1980: /* character: NATIONAL CHAR_P opt_varying  */
   49181             : #line 14693 "gram.y"
   49182             :                                                                                 { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
   49183             : #line 49184 "gram.c"
   49184           0 :     break;
   49185             : 
   49186           4 :   case 1981: /* character: NCHAR opt_varying  */
   49187             : #line 14695 "gram.y"
   49188             :                                                                                 { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
   49189             : #line 49190 "gram.c"
   49190           4 :     break;
   49191             : 
   49192         398 :   case 1982: /* opt_varying: VARYING  */
   49193             : #line 14699 "gram.y"
   49194             :                                                                                                 { (yyval.boolean) = true; }
   49195             : #line 49196 "gram.c"
   49196         398 :     break;
   49197             : 
   49198        3070 :   case 1983: /* opt_varying: %empty  */
   49199             : #line 14700 "gram.y"
   49200             :                                                                                                 { (yyval.boolean) = false; }
   49201             : #line 49202 "gram.c"
   49202        3070 :     break;
   49203             : 
   49204         114 :   case 1984: /* ConstDatetime: TIMESTAMP '(' Iconst ')' opt_timezone  */
   49205             : #line 14708 "gram.y"
   49206             :                                 {
   49207             :                     if ((yyvsp[0].boolean))
   49208             :                         (yyval.typnam) = SystemTypeName("timestamptz");
   49209             :                     else
   49210             :                         (yyval.typnam) = SystemTypeName("timestamp");
   49211             :                     (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
   49212             :                     (yyval.typnam)->location = (yylsp[-4]);
   49213             :                 }
   49214             : #line 49215 "gram.c"
   49215         114 :     break;
   49216             : 
   49217        4610 :   case 1985: /* ConstDatetime: TIMESTAMP opt_timezone  */
   49218             : #line 14717 "gram.y"
   49219             :                                 {
   49220             :                     if ((yyvsp[0].boolean))
   49221             :                         (yyval.typnam) = SystemTypeName("timestamptz");
   49222             :                     else
   49223             :                         (yyval.typnam) = SystemTypeName("timestamp");
   49224             :                     (yyval.typnam)->location = (yylsp[-1]);
   49225             :                 }
   49226             : #line 49227 "gram.c"
   49227        4610 :     break;
   49228             : 
   49229          22 :   case 1986: /* ConstDatetime: TIME '(' Iconst ')' opt_timezone  */
   49230             : #line 14725 "gram.y"
   49231             :                                 {
   49232             :                     if ((yyvsp[0].boolean))
   49233             :                         (yyval.typnam) = SystemTypeName("timetz");
   49234             :                     else
   49235             :                         (yyval.typnam) = SystemTypeName("time");
   49236             :                     (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
   49237             :                     (yyval.typnam)->location = (yylsp[-4]);
   49238             :                 }
   49239             : #line 49240 "gram.c"
   49240          22 :     break;
   49241             : 
   49242        2076 :   case 1987: /* ConstDatetime: TIME opt_timezone  */
   49243             : #line 14734 "gram.y"
   49244             :                                 {
   49245             :                     if ((yyvsp[0].boolean))
   49246             :                         (yyval.typnam) = SystemTypeName("timetz");
   49247             :                     else
   49248             :                         (yyval.typnam) = SystemTypeName("time");
   49249             :                     (yyval.typnam)->location = (yylsp[-1]);
   49250             :                 }
   49251             : #line 49252 "gram.c"
   49252        2076 :     break;
   49253             : 
   49254        6552 :   case 1988: /* ConstInterval: INTERVAL  */
   49255             : #line 14745 "gram.y"
   49256             :                                 {
   49257             :                     (yyval.typnam) = SystemTypeName("interval");
   49258             :                     (yyval.typnam)->location = (yylsp[0]);
   49259             :                 }
   49260             : #line 49261 "gram.c"
   49261        6552 :     break;
   49262             : 
   49263        1668 :   case 1989: /* opt_timezone: WITH_LA TIME ZONE  */
   49264             : #line 14752 "gram.y"
   49265             :                                                                                         { (yyval.boolean) = true; }
   49266             : #line 49267 "gram.c"
   49267        1668 :     break;
   49268             : 
   49269         508 :   case 1990: /* opt_timezone: WITHOUT_LA TIME ZONE  */
   49270             : #line 14753 "gram.y"
   49271             :                                                                                 { (yyval.boolean) = false; }
   49272             : #line 49273 "gram.c"
   49273         508 :     break;
   49274             : 
   49275        4646 :   case 1991: /* opt_timezone: %empty  */
   49276             : #line 14754 "gram.y"
   49277             :                                                                                                 { (yyval.boolean) = false; }
   49278             : #line 49279 "gram.c"
   49279        4646 :     break;
   49280             : 
   49281          12 :   case 1992: /* opt_interval: YEAR_P  */
   49282             : #line 14759 "gram.y"
   49283             :                                 { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[0]))); }
   49284             : #line 49285 "gram.c"
   49285          12 :     break;
   49286             : 
   49287          18 :   case 1993: /* opt_interval: MONTH_P  */
   49288             : #line 14761 "gram.y"
   49289             :                                 { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[0]))); }
   49290             : #line 49291 "gram.c"
   49291          18 :     break;
   49292             : 
   49293          18 :   case 1994: /* opt_interval: DAY_P  */
   49294             : #line 14763 "gram.y"
   49295             :                                 { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[0]))); }
   49296             : #line 49297 "gram.c"
   49297          18 :     break;
   49298             : 
   49299          12 :   case 1995: /* opt_interval: HOUR_P  */
   49300             : #line 14765 "gram.y"
   49301             :                                 { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[0]))); }
   49302             : #line 49303 "gram.c"
   49303          12 :     break;
   49304             : 
   49305          12 :   case 1996: /* opt_interval: MINUTE_P  */
   49306             : #line 14767 "gram.y"
   49307             :                                 { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[0]))); }
   49308             : #line 49309 "gram.c"
   49309          12 :     break;
   49310             : 
   49311          36 :   case 1997: /* opt_interval: interval_second  */
   49312             : #line 14769 "gram.y"
   49313             :                                 { (yyval.list) = (yyvsp[0].list); }
   49314             : #line 49315 "gram.c"
   49315          36 :     break;
   49316             : 
   49317          18 :   case 1998: /* opt_interval: YEAR_P TO MONTH_P  */
   49318             : #line 14771 "gram.y"
   49319             :                                 {
   49320             :                     (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR) |
   49321             :                                                  INTERVAL_MASK(MONTH), (yylsp[-2])));
   49322             :                 }
   49323             : #line 49324 "gram.c"
   49324          18 :     break;
   49325             : 
   49326          24 :   case 1999: /* opt_interval: DAY_P TO HOUR_P  */
   49327             : #line 14776 "gram.y"
   49328             :                                 {
   49329             :                     (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
   49330             :                                                  INTERVAL_MASK(HOUR), (yylsp[-2])));
   49331             :                 }
   49332             : #line 49333 "gram.c"
   49333          24 :     break;
   49334             : 
   49335          24 :   case 2000: /* opt_interval: DAY_P TO MINUTE_P  */
   49336             : #line 14781 "gram.y"
   49337             :                                 {
   49338             :                     (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
   49339             :                                                  INTERVAL_MASK(HOUR) |
   49340             :                                                  INTERVAL_MASK(MINUTE), (yylsp[-2])));
   49341             :                 }
   49342             : #line 49343 "gram.c"
   49343          24 :     break;
   49344             : 
   49345          48 :   case 2001: /* opt_interval: DAY_P TO interval_second  */
   49346             : #line 14787 "gram.y"
   49347             :                                 {
   49348             :                     (yyval.list) = (yyvsp[0].list);
   49349             :                     linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(DAY) |
   49350             :                                                 INTERVAL_MASK(HOUR) |
   49351             :                                                 INTERVAL_MASK(MINUTE) |
   49352             :                                                 INTERVAL_MASK(SECOND), (yylsp[-2]));
   49353             :                 }
   49354             : #line 49355 "gram.c"
   49355          48 :     break;
   49356             : 
   49357          18 :   case 2002: /* opt_interval: HOUR_P TO MINUTE_P  */
   49358             : #line 14795 "gram.y"
   49359             :                                 {
   49360             :                     (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR) |
   49361             :                                                  INTERVAL_MASK(MINUTE), (yylsp[-2])));
   49362             :                 }
   49363             : #line 49364 "gram.c"
   49364          18 :     break;
   49365             : 
   49366          36 :   case 2003: /* opt_interval: HOUR_P TO interval_second  */
   49367             : #line 14800 "gram.y"
   49368             :                                 {
   49369             :                     (yyval.list) = (yyvsp[0].list);
   49370             :                     linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(HOUR) |
   49371             :                                                 INTERVAL_MASK(MINUTE) |
   49372             :                                                 INTERVAL_MASK(SECOND), (yylsp[-2]));
   49373             :                 }
   49374             : #line 49375 "gram.c"
   49375          36 :     break;
   49376             : 
   49377          66 :   case 2004: /* opt_interval: MINUTE_P TO interval_second  */
   49378             : #line 14807 "gram.y"
   49379             :                                 {
   49380             :                     (yyval.list) = (yyvsp[0].list);
   49381             :                     linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(MINUTE) |
   49382             :                                                 INTERVAL_MASK(SECOND), (yylsp[-2]));
   49383             :                 }
   49384             : #line 49385 "gram.c"
   49385          66 :     break;
   49386             : 
   49387        6198 :   case 2005: /* opt_interval: %empty  */
   49388             : #line 14813 "gram.y"
   49389             :                                 { (yyval.list) = NIL; }
   49390             : #line 49391 "gram.c"
   49391        6198 :     break;
   49392             : 
   49393         102 :   case 2006: /* interval_second: SECOND_P  */
   49394             : #line 14818 "gram.y"
   49395             :                                 {
   49396             :                     (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[0])));
   49397             :                 }
   49398             : #line 49399 "gram.c"
   49399         102 :     break;
   49400             : 
   49401          84 :   case 2007: /* interval_second: SECOND_P '(' Iconst ')'  */
   49402             : #line 14822 "gram.y"
   49403             :                                 {
   49404             :                     (yyval.list) = list_make2(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[-3])),
   49405             :                                     makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
   49406             :                 }
   49407             : #line 49408 "gram.c"
   49408          84 :     break;
   49409             : 
   49410        1904 :   case 2008: /* JsonType: JSON  */
   49411             : #line 14830 "gram.y"
   49412             :                                 {
   49413             :                     (yyval.typnam) = SystemTypeName("json");
   49414             :                     (yyval.typnam)->location = (yylsp[0]);
   49415             :                 }
   49416             : #line 49417 "gram.c"
   49417        1904 :     break;
   49418             : 
   49419     3300338 :   case 2009: /* a_expr: c_expr  */
   49420             : #line 14864 "gram.y"
   49421             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   49422             : #line 49423 "gram.c"
   49423     3300338 :     break;
   49424             : 
   49425      174546 :   case 2010: /* a_expr: a_expr TYPECAST Typename  */
   49426             : #line 14866 "gram.y"
   49427             :                                         { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
   49428             : #line 49429 "gram.c"
   49429      174546 :     break;
   49430             : 
   49431        7746 :   case 2011: /* a_expr: a_expr COLLATE any_name  */
   49432             : #line 14868 "gram.y"
   49433             :                                 {
   49434             :                     CollateClause *n = makeNode(CollateClause);
   49435             : 
   49436             :                     n->arg = (yyvsp[-2].node);
   49437             :                     n->collname = (yyvsp[0].list);
   49438             :                     n->location = (yylsp[-1]);
   49439             :                     (yyval.node) = (Node *) n;
   49440             :                 }
   49441             : #line 49442 "gram.c"
   49442        7746 :     break;
   49443             : 
   49444         396 :   case 2012: /* a_expr: a_expr AT TIME ZONE a_expr  */
   49445             : #line 14877 "gram.y"
   49446             :                                 {
   49447             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"),
   49448             :                                                list_make2((yyvsp[0].node), (yyvsp[-4].node)),
   49449             :                                                COERCE_SQL_SYNTAX,
   49450             :                                                (yylsp[-3]));
   49451             :                 }
   49452             : #line 49453 "gram.c"
   49453         396 :     break;
   49454             : 
   49455          42 :   case 2013: /* a_expr: a_expr AT LOCAL  */
   49456             : #line 14884 "gram.y"
   49457             :                                 {
   49458             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"),
   49459             :                                                list_make1((yyvsp[-2].node)),
   49460             :                                                COERCE_SQL_SYNTAX,
   49461             :                                                -1);
   49462             :                 }
   49463             : #line 49464 "gram.c"
   49464          42 :     break;
   49465             : 
   49466          12 :   case 2014: /* a_expr: '+' a_expr  */
   49467             : #line 14900 "gram.y"
   49468             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
   49469             : #line 49470 "gram.c"
   49470          12 :     break;
   49471             : 
   49472       27112 :   case 2015: /* a_expr: '-' a_expr  */
   49473             : #line 14902 "gram.y"
   49474             :                                 { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
   49475             : #line 49476 "gram.c"
   49476       27112 :     break;
   49477             : 
   49478       12962 :   case 2016: /* a_expr: a_expr '+' a_expr  */
   49479             : #line 14904 "gram.y"
   49480             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49481             : #line 49482 "gram.c"
   49482       12962 :     break;
   49483             : 
   49484        4106 :   case 2017: /* a_expr: a_expr '-' a_expr  */
   49485             : #line 14906 "gram.y"
   49486             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49487             : #line 49488 "gram.c"
   49488        4106 :     break;
   49489             : 
   49490        8542 :   case 2018: /* a_expr: a_expr '*' a_expr  */
   49491             : #line 14908 "gram.y"
   49492             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49493             : #line 49494 "gram.c"
   49494        8542 :     break;
   49495             : 
   49496        3810 :   case 2019: /* a_expr: a_expr '/' a_expr  */
   49497             : #line 14910 "gram.y"
   49498             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49499             : #line 49500 "gram.c"
   49500        3810 :     break;
   49501             : 
   49502        2596 :   case 2020: /* a_expr: a_expr '%' a_expr  */
   49503             : #line 14912 "gram.y"
   49504             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49505             : #line 49506 "gram.c"
   49506        2596 :     break;
   49507             : 
   49508         456 :   case 2021: /* a_expr: a_expr '^' a_expr  */
   49509             : #line 14914 "gram.y"
   49510             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49511             : #line 49512 "gram.c"
   49512         456 :     break;
   49513             : 
   49514       22932 :   case 2022: /* a_expr: a_expr '<' a_expr  */
   49515             : #line 14916 "gram.y"
   49516             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49517             : #line 49518 "gram.c"
   49518       22932 :     break;
   49519             : 
   49520       32348 :   case 2023: /* a_expr: a_expr '>' a_expr  */
   49521             : #line 14918 "gram.y"
   49522             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49523             : #line 49524 "gram.c"
   49524       32348 :     break;
   49525             : 
   49526      337920 :   case 2024: /* a_expr: a_expr '=' a_expr  */
   49527             : #line 14920 "gram.y"
   49528             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49529             : #line 49530 "gram.c"
   49530      337920 :     break;
   49531             : 
   49532        4742 :   case 2025: /* a_expr: a_expr LESS_EQUALS a_expr  */
   49533             : #line 14922 "gram.y"
   49534             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49535             : #line 49536 "gram.c"
   49536        4742 :     break;
   49537             : 
   49538        4856 :   case 2026: /* a_expr: a_expr GREATER_EQUALS a_expr  */
   49539             : #line 14924 "gram.y"
   49540             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49541             : #line 49542 "gram.c"
   49542        4856 :     break;
   49543             : 
   49544       36602 :   case 2027: /* a_expr: a_expr NOT_EQUALS a_expr  */
   49545             : #line 14926 "gram.y"
   49546             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49547             : #line 49548 "gram.c"
   49548       36602 :     break;
   49549             : 
   49550       54004 :   case 2028: /* a_expr: a_expr qual_Op a_expr  */
   49551             : #line 14929 "gram.y"
   49552             :                                 { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49553             : #line 49554 "gram.c"
   49554       54004 :     break;
   49555             : 
   49556         192 :   case 2029: /* a_expr: qual_Op a_expr  */
   49557             : #line 14931 "gram.y"
   49558             :                                 { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
   49559             : #line 49560 "gram.c"
   49560         192 :     break;
   49561             : 
   49562      198900 :   case 2030: /* a_expr: a_expr AND a_expr  */
   49563             : #line 14934 "gram.y"
   49564             :                                 { (yyval.node) = makeAndExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49565             : #line 49566 "gram.c"
   49566      198900 :     break;
   49567             : 
   49568       14590 :   case 2031: /* a_expr: a_expr OR a_expr  */
   49569             : #line 14936 "gram.y"
   49570             :                                 { (yyval.node) = makeOrExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49571             : #line 49572 "gram.c"
   49572       14590 :     break;
   49573             : 
   49574       13790 :   case 2032: /* a_expr: NOT a_expr  */
   49575             : #line 14938 "gram.y"
   49576             :                                 { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
   49577             : #line 49578 "gram.c"
   49578       13790 :     break;
   49579             : 
   49580           0 :   case 2033: /* a_expr: NOT_LA a_expr  */
   49581             : #line 14940 "gram.y"
   49582             :                                 { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
   49583             : #line 49584 "gram.c"
   49584           0 :     break;
   49585             : 
   49586        1792 :   case 2034: /* a_expr: a_expr LIKE a_expr  */
   49587             : #line 14943 "gram.y"
   49588             :                                 {
   49589             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
   49590             :                                                    (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
   49591             :                 }
   49592             : #line 49593 "gram.c"
   49593        1792 :     break;
   49594             : 
   49595          96 :   case 2035: /* a_expr: a_expr LIKE a_expr ESCAPE a_expr  */
   49596             : #line 14948 "gram.y"
   49597             :                                 {
   49598             :                     FuncCall   *n = makeFuncCall(SystemFuncName("like_escape"),
   49599             :                                                  list_make2((yyvsp[-2].node), (yyvsp[0].node)),
   49600             :                                                  COERCE_EXPLICIT_CALL,
   49601             :                                                  (yylsp[-3]));
   49602             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
   49603             :                                                    (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
   49604             :                 }
   49605             : #line 49606 "gram.c"
   49606          96 :     break;
   49607             : 
   49608         198 :   case 2036: /* a_expr: a_expr NOT_LA LIKE a_expr  */
   49609             : #line 14957 "gram.y"
   49610             :                                 {
   49611             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
   49612             :                                                    (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
   49613             :                 }
   49614             : #line 49615 "gram.c"
   49615         198 :     break;
   49616             : 
   49617          96 :   case 2037: /* a_expr: a_expr NOT_LA LIKE a_expr ESCAPE a_expr  */
   49618             : #line 14962 "gram.y"
   49619             :                                 {
   49620             :                     FuncCall   *n = makeFuncCall(SystemFuncName("like_escape"),
   49621             :                                                  list_make2((yyvsp[-2].node), (yyvsp[0].node)),
   49622             :                                                  COERCE_EXPLICIT_CALL,
   49623             :                                                  (yylsp[-4]));
   49624             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
   49625             :                                                    (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
   49626             :                 }
   49627             : #line 49628 "gram.c"
   49628          96 :     break;
   49629             : 
   49630         174 :   case 2038: /* a_expr: a_expr ILIKE a_expr  */
   49631             : #line 14971 "gram.y"
   49632             :                                 {
   49633             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
   49634             :                                                    (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
   49635             :                 }
   49636             : #line 49637 "gram.c"
   49637         174 :     break;
   49638             : 
   49639           0 :   case 2039: /* a_expr: a_expr ILIKE a_expr ESCAPE a_expr  */
   49640             : #line 14976 "gram.y"
   49641             :                                 {
   49642             :                     FuncCall   *n = makeFuncCall(SystemFuncName("like_escape"),
   49643             :                                                  list_make2((yyvsp[-2].node), (yyvsp[0].node)),
   49644             :                                                  COERCE_EXPLICIT_CALL,
   49645             :                                                  (yylsp[-3]));
   49646             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
   49647             :                                                    (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
   49648             :                 }
   49649             : #line 49650 "gram.c"
   49650           0 :     break;
   49651             : 
   49652          30 :   case 2040: /* a_expr: a_expr NOT_LA ILIKE a_expr  */
   49653             : #line 14985 "gram.y"
   49654             :                                 {
   49655             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
   49656             :                                                    (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
   49657             :                 }
   49658             : #line 49659 "gram.c"
   49659          30 :     break;
   49660             : 
   49661           0 :   case 2041: /* a_expr: a_expr NOT_LA ILIKE a_expr ESCAPE a_expr  */
   49662             : #line 14990 "gram.y"
   49663             :                                 {
   49664             :                     FuncCall   *n = makeFuncCall(SystemFuncName("like_escape"),
   49665             :                                                  list_make2((yyvsp[-2].node), (yyvsp[0].node)),
   49666             :                                                  COERCE_EXPLICIT_CALL,
   49667             :                                                  (yylsp[-4]));
   49668             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
   49669             :                                                    (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
   49670             :                 }
   49671             : #line 49672 "gram.c"
   49672           0 :     break;
   49673             : 
   49674          40 :   case 2042: /* a_expr: a_expr SIMILAR TO a_expr  */
   49675             : #line 15000 "gram.y"
   49676             :                                 {
   49677             :                     FuncCall   *n = makeFuncCall(SystemFuncName("similar_to_escape"),
   49678             :                                                  list_make1((yyvsp[0].node)),
   49679             :                                                  COERCE_EXPLICIT_CALL,
   49680             :                                                  (yylsp[-2]));
   49681             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
   49682             :                                                    (yyvsp[-3].node), (Node *) n, (yylsp[-2]));
   49683             :                 }
   49684             : #line 49685 "gram.c"
   49685          40 :     break;
   49686             : 
   49687          30 :   case 2043: /* a_expr: a_expr SIMILAR TO a_expr ESCAPE a_expr  */
   49688             : #line 15009 "gram.y"
   49689             :                                 {
   49690             :                     FuncCall   *n = makeFuncCall(SystemFuncName("similar_to_escape"),
   49691             :                                                  list_make2((yyvsp[-2].node), (yyvsp[0].node)),
   49692             :                                                  COERCE_EXPLICIT_CALL,
   49693             :                                                  (yylsp[-4]));
   49694             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
   49695             :                                                    (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
   49696             :                 }
   49697             : #line 49698 "gram.c"
   49698          30 :     break;
   49699             : 
   49700           0 :   case 2044: /* a_expr: a_expr NOT_LA SIMILAR TO a_expr  */
   49701             : #line 15018 "gram.y"
   49702             :                                 {
   49703             :                     FuncCall   *n = makeFuncCall(SystemFuncName("similar_to_escape"),
   49704             :                                                  list_make1((yyvsp[0].node)),
   49705             :                                                  COERCE_EXPLICIT_CALL,
   49706             :                                                  (yylsp[-3]));
   49707             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
   49708             :                                                    (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
   49709             :                 }
   49710             : #line 49711 "gram.c"
   49711           0 :     break;
   49712             : 
   49713           0 :   case 2045: /* a_expr: a_expr NOT_LA SIMILAR TO a_expr ESCAPE a_expr  */
   49714             : #line 15027 "gram.y"
   49715             :                                 {
   49716             :                     FuncCall   *n = makeFuncCall(SystemFuncName("similar_to_escape"),
   49717             :                                                  list_make2((yyvsp[-2].node), (yyvsp[0].node)),
   49718             :                                                  COERCE_EXPLICIT_CALL,
   49719             :                                                  (yylsp[-5]));
   49720             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
   49721             :                                                    (yyvsp[-6].node), (Node *) n, (yylsp[-5]));
   49722             :                 }
   49723             : #line 49724 "gram.c"
   49724           0 :     break;
   49725             : 
   49726        5128 :   case 2046: /* a_expr: a_expr IS NULL_P  */
   49727             : #line 15046 "gram.y"
   49728             :                                 {
   49729             :                     NullTest   *n = makeNode(NullTest);
   49730             : 
   49731             :                     n->arg = (Expr *) (yyvsp[-2].node);
   49732             :                     n->nulltesttype = IS_NULL;
   49733             :                     n->location = (yylsp[-1]);
   49734             :                     (yyval.node) = (Node *) n;
   49735             :                 }
   49736             : #line 49737 "gram.c"
   49737        5128 :     break;
   49738             : 
   49739          96 :   case 2047: /* a_expr: a_expr ISNULL  */
   49740             : #line 15055 "gram.y"
   49741             :                                 {
   49742             :                     NullTest   *n = makeNode(NullTest);
   49743             : 
   49744             :                     n->arg = (Expr *) (yyvsp[-1].node);
   49745             :                     n->nulltesttype = IS_NULL;
   49746             :                     n->location = (yylsp[0]);
   49747             :                     (yyval.node) = (Node *) n;
   49748             :                 }
   49749             : #line 49750 "gram.c"
   49750          96 :     break;
   49751             : 
   49752       11702 :   case 2048: /* a_expr: a_expr IS NOT NULL_P  */
   49753             : #line 15064 "gram.y"
   49754             :                                 {
   49755             :                     NullTest   *n = makeNode(NullTest);
   49756             : 
   49757             :                     n->arg = (Expr *) (yyvsp[-3].node);
   49758             :                     n->nulltesttype = IS_NOT_NULL;
   49759             :                     n->location = (yylsp[-2]);
   49760             :                     (yyval.node) = (Node *) n;
   49761             :                 }
   49762             : #line 49763 "gram.c"
   49763       11702 :     break;
   49764             : 
   49765           6 :   case 2049: /* a_expr: a_expr NOTNULL  */
   49766             : #line 15073 "gram.y"
   49767             :                                 {
   49768             :                     NullTest   *n = makeNode(NullTest);
   49769             : 
   49770             :                     n->arg = (Expr *) (yyvsp[-1].node);
   49771             :                     n->nulltesttype = IS_NOT_NULL;
   49772             :                     n->location = (yylsp[0]);
   49773             :                     (yyval.node) = (Node *) n;
   49774             :                 }
   49775             : #line 49776 "gram.c"
   49776           6 :     break;
   49777             : 
   49778         786 :   case 2050: /* a_expr: row OVERLAPS row  */
   49779             : #line 15082 "gram.y"
   49780             :                                 {
   49781             :                     if (list_length((yyvsp[-2].list)) != 2)
   49782             :                         ereport(ERROR,
   49783             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   49784             :                                  errmsg("wrong number of parameters on left side of OVERLAPS expression"),
   49785             :                                  parser_errposition((yylsp[-2]))));
   49786             :                     if (list_length((yyvsp[0].list)) != 2)
   49787             :                         ereport(ERROR,
   49788             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   49789             :                                  errmsg("wrong number of parameters on right side of OVERLAPS expression"),
   49790             :                                  parser_errposition((yylsp[0]))));
   49791             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlaps"),
   49792             :                                                list_concat((yyvsp[-2].list), (yyvsp[0].list)),
   49793             :                                                COERCE_SQL_SYNTAX,
   49794             :                                                (yylsp[-1]));
   49795             :                 }
   49796             : #line 49797 "gram.c"
   49797         786 :     break;
   49798             : 
   49799         368 :   case 2051: /* a_expr: a_expr IS TRUE_P  */
   49800             : #line 15099 "gram.y"
   49801             :                                 {
   49802             :                     BooleanTest *b = makeNode(BooleanTest);
   49803             : 
   49804             :                     b->arg = (Expr *) (yyvsp[-2].node);
   49805             :                     b->booltesttype = IS_TRUE;
   49806             :                     b->location = (yylsp[-1]);
   49807             :                     (yyval.node) = (Node *) b;
   49808             :                 }
   49809             : #line 49810 "gram.c"
   49810         368 :     break;
   49811             : 
   49812         138 :   case 2052: /* a_expr: a_expr IS NOT TRUE_P  */
   49813             : #line 15108 "gram.y"
   49814             :                                 {
   49815             :                     BooleanTest *b = makeNode(BooleanTest);
   49816             : 
   49817             :                     b->arg = (Expr *) (yyvsp[-3].node);
   49818             :                     b->booltesttype = IS_NOT_TRUE;
   49819             :                     b->location = (yylsp[-2]);
   49820             :                     (yyval.node) = (Node *) b;
   49821             :                 }
   49822             : #line 49823 "gram.c"
   49823         138 :     break;
   49824             : 
   49825         114 :   case 2053: /* a_expr: a_expr IS FALSE_P  */
   49826             : #line 15117 "gram.y"
   49827             :                                 {
   49828             :                     BooleanTest *b = makeNode(BooleanTest);
   49829             : 
   49830             :                     b->arg = (Expr *) (yyvsp[-2].node);
   49831             :                     b->booltesttype = IS_FALSE;
   49832             :                     b->location = (yylsp[-1]);
   49833             :                     (yyval.node) = (Node *) b;
   49834             :                 }
   49835             : #line 49836 "gram.c"
   49836         114 :     break;
   49837             : 
   49838          90 :   case 2054: /* a_expr: a_expr IS NOT FALSE_P  */
   49839             : #line 15126 "gram.y"
   49840             :                                 {
   49841             :                     BooleanTest *b = makeNode(BooleanTest);
   49842             : 
   49843             :                     b->arg = (Expr *) (yyvsp[-3].node);
   49844             :                     b->booltesttype = IS_NOT_FALSE;
   49845             :                     b->location = (yylsp[-2]);
   49846             :                     (yyval.node) = (Node *) b;
   49847             :                 }
   49848             : #line 49849 "gram.c"
   49849          90 :     break;
   49850             : 
   49851          52 :   case 2055: /* a_expr: a_expr IS UNKNOWN  */
   49852             : #line 15135 "gram.y"
   49853             :                                 {
   49854             :                     BooleanTest *b = makeNode(BooleanTest);
   49855             : 
   49856             :                     b->arg = (Expr *) (yyvsp[-2].node);
   49857             :                     b->booltesttype = IS_UNKNOWN;
   49858             :                     b->location = (yylsp[-1]);
   49859             :                     (yyval.node) = (Node *) b;
   49860             :                 }
   49861             : #line 49862 "gram.c"
   49862          52 :     break;
   49863             : 
   49864          48 :   case 2056: /* a_expr: a_expr IS NOT UNKNOWN  */
   49865             : #line 15144 "gram.y"
   49866             :                                 {
   49867             :                     BooleanTest *b = makeNode(BooleanTest);
   49868             : 
   49869             :                     b->arg = (Expr *) (yyvsp[-3].node);
   49870             :                     b->booltesttype = IS_NOT_UNKNOWN;
   49871             :                     b->location = (yylsp[-2]);
   49872             :                     (yyval.node) = (Node *) b;
   49873             :                 }
   49874             : #line 49875 "gram.c"
   49875          48 :     break;
   49876             : 
   49877         868 :   case 2057: /* a_expr: a_expr IS DISTINCT FROM a_expr  */
   49878             : #line 15153 "gram.y"
   49879             :                                 {
   49880             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
   49881             :                 }
   49882             : #line 49883 "gram.c"
   49883         868 :     break;
   49884             : 
   49885          62 :   case 2058: /* a_expr: a_expr IS NOT DISTINCT FROM a_expr  */
   49886             : #line 15157 "gram.y"
   49887             :                                 {
   49888             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
   49889             :                 }
   49890             : #line 49891 "gram.c"
   49891          62 :     break;
   49892             : 
   49893         466 :   case 2059: /* a_expr: a_expr BETWEEN opt_asymmetric b_expr AND a_expr  */
   49894             : #line 15161 "gram.y"
   49895             :                                 {
   49896             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN,
   49897             :                                                    "BETWEEN",
   49898             :                                                    (yyvsp[-5].node),
   49899             :                                                    (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
   49900             :                                                    (yylsp[-4]));
   49901             :                 }
   49902             : #line 49903 "gram.c"
   49903         466 :     break;
   49904             : 
   49905          12 :   case 2060: /* a_expr: a_expr NOT_LA BETWEEN opt_asymmetric b_expr AND a_expr  */
   49906             : #line 15169 "gram.y"
   49907             :                                 {
   49908             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN,
   49909             :                                                    "NOT BETWEEN",
   49910             :                                                    (yyvsp[-6].node),
   49911             :                                                    (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
   49912             :                                                    (yylsp[-5]));
   49913             :                 }
   49914             : #line 49915 "gram.c"
   49915          12 :     break;
   49916             : 
   49917          12 :   case 2061: /* a_expr: a_expr BETWEEN SYMMETRIC b_expr AND a_expr  */
   49918             : #line 15177 "gram.y"
   49919             :                                 {
   49920             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN_SYM,
   49921             :                                                    "BETWEEN SYMMETRIC",
   49922             :                                                    (yyvsp[-5].node),
   49923             :                                                    (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
   49924             :                                                    (yylsp[-4]));
   49925             :                 }
   49926             : #line 49927 "gram.c"
   49927          12 :     break;
   49928             : 
   49929          12 :   case 2062: /* a_expr: a_expr NOT_LA BETWEEN SYMMETRIC b_expr AND a_expr  */
   49930             : #line 15185 "gram.y"
   49931             :                                 {
   49932             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN_SYM,
   49933             :                                                    "NOT BETWEEN SYMMETRIC",
   49934             :                                                    (yyvsp[-6].node),
   49935             :                                                    (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
   49936             :                                                    (yylsp[-5]));
   49937             :                 }
   49938             : #line 49939 "gram.c"
   49939          12 :     break;
   49940             : 
   49941       16896 :   case 2063: /* a_expr: a_expr IN_P in_expr  */
   49942             : #line 15193 "gram.y"
   49943             :                                 {
   49944             :                     /* in_expr returns a SubLink or a list of a_exprs */
   49945             :                     if (IsA((yyvsp[0].node), SubLink))
   49946             :                     {
   49947             :                         /* generate foo = ANY (subquery) */
   49948             :                         SubLink    *n = (SubLink *) (yyvsp[0].node);
   49949             : 
   49950             :                         n->subLinkType = ANY_SUBLINK;
   49951             :                         n->subLinkId = 0;
   49952             :                         n->testexpr = (yyvsp[-2].node);
   49953             :                         n->operName = NIL;       /* show it's IN not = ANY */
   49954             :                         n->location = (yylsp[-1]);
   49955             :                         (yyval.node) = (Node *) n;
   49956             :                     }
   49957             :                     else
   49958             :                     {
   49959             :                         /* generate scalar IN expression */
   49960             :                         (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
   49961             :                     }
   49962             :                 }
   49963             : #line 49964 "gram.c"
   49964       16896 :     break;
   49965             : 
   49966        2186 :   case 2064: /* a_expr: a_expr NOT_LA IN_P in_expr  */
   49967             : #line 15214 "gram.y"
   49968             :                                 {
   49969             :                     /* in_expr returns a SubLink or a list of a_exprs */
   49970             :                     if (IsA((yyvsp[0].node), SubLink))
   49971             :                     {
   49972             :                         /* generate NOT (foo = ANY (subquery)) */
   49973             :                         /* Make an = ANY node */
   49974             :                         SubLink    *n = (SubLink *) (yyvsp[0].node);
   49975             : 
   49976             :                         n->subLinkType = ANY_SUBLINK;
   49977             :                         n->subLinkId = 0;
   49978             :                         n->testexpr = (yyvsp[-3].node);
   49979             :                         n->operName = NIL;       /* show it's IN not = ANY */
   49980             :                         n->location = (yylsp[-2]);
   49981             :                         /* Stick a NOT on top; must have same parse location */
   49982             :                         (yyval.node) = makeNotExpr((Node *) n, (yylsp[-2]));
   49983             :                     }
   49984             :                     else
   49985             :                     {
   49986             :                         /* generate scalar NOT IN expression */
   49987             :                         (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "<>", (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
   49988             :                     }
   49989             :                 }
   49990             : #line 49991 "gram.c"
   49991        2186 :     break;
   49992             : 
   49993         166 :   case 2065: /* a_expr: a_expr subquery_Op sub_type select_with_parens  */
   49994             : #line 15237 "gram.y"
   49995             :                                 {
   49996             :                     SubLink    *n = makeNode(SubLink);
   49997             : 
   49998             :                     n->subLinkType = (yyvsp[-1].ival);
   49999             :                     n->subLinkId = 0;
   50000             :                     n->testexpr = (yyvsp[-3].node);
   50001             :                     n->operName = (yyvsp[-2].list);
   50002             :                     n->subselect = (yyvsp[0].node);
   50003             :                     n->location = (yylsp[-2]);
   50004             :                     (yyval.node) = (Node *) n;
   50005             :                 }
   50006             : #line 50007 "gram.c"
   50007         166 :     break;
   50008             : 
   50009       14742 :   case 2066: /* a_expr: a_expr subquery_Op sub_type '(' a_expr ')'  */
   50010             : #line 15249 "gram.y"
   50011             :                                 {
   50012             :                     if ((yyvsp[-3].ival) == ANY_SUBLINK)
   50013             :                         (yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ANY, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4]));
   50014             :                     else
   50015             :                         (yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ALL, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4]));
   50016             :                 }
   50017             : #line 50018 "gram.c"
   50018       14742 :     break;
   50019             : 
   50020           0 :   case 2067: /* a_expr: UNIQUE opt_unique_null_treatment select_with_parens  */
   50021             : #line 15256 "gram.y"
   50022             :                                 {
   50023             :                     /* Not sure how to get rid of the parentheses
   50024             :                      * but there are lots of shift/reduce errors without them.
   50025             :                      *
   50026             :                      * Should be able to implement this by plopping the entire
   50027             :                      * select into a node, then transforming the target expressions
   50028             :                      * from whatever they are into count(*), and testing the
   50029             :                      * entire result equal to one.
   50030             :                      * But, will probably implement a separate node in the executor.
   50031             :                      */
   50032             :                     ereport(ERROR,
   50033             :                             (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   50034             :                              errmsg("UNIQUE predicate is not yet implemented"),
   50035             :                              parser_errposition((yylsp[-2]))));
   50036             :                 }
   50037             : #line 50038 "gram.c"
   50038             :     break;
   50039             : 
   50040          18 :   case 2068: /* a_expr: a_expr IS DOCUMENT_P  */
   50041             : #line 15272 "gram.y"
   50042             :                                 {
   50043             :                     (yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
   50044             :                                      list_make1((yyvsp[-2].node)), (yylsp[-1]));
   50045             :                 }
   50046             : #line 50047 "gram.c"
   50047          18 :     break;
   50048             : 
   50049          18 :   case 2069: /* a_expr: a_expr IS NOT DOCUMENT_P  */
   50050             : #line 15277 "gram.y"
   50051             :                                 {
   50052             :                     (yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
   50053             :                                                  list_make1((yyvsp[-3].node)), (yylsp[-2])),
   50054             :                                      (yylsp[-2]));
   50055             :                 }
   50056             : #line 50057 "gram.c"
   50057          18 :     break;
   50058             : 
   50059          12 :   case 2070: /* a_expr: a_expr IS NORMALIZED  */
   50060             : #line 15283 "gram.y"
   50061             :                                 {
   50062             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("is_normalized"),
   50063             :                                                list_make1((yyvsp[-2].node)),
   50064             :                                                COERCE_SQL_SYNTAX,
   50065             :                                                (yylsp[-1]));
   50066             :                 }
   50067             : #line 50068 "gram.c"
   50068          12 :     break;
   50069             : 
   50070          36 :   case 2071: /* a_expr: a_expr IS unicode_normal_form NORMALIZED  */
   50071             : #line 15290 "gram.y"
   50072             :                                 {
   50073             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("is_normalized"),
   50074             :                                                list_make2((yyvsp[-3].node), makeStringConst((yyvsp[-1].str), (yylsp[-1]))),
   50075             :                                                COERCE_SQL_SYNTAX,
   50076             :                                                (yylsp[-2]));
   50077             :                 }
   50078             : #line 50079 "gram.c"
   50079          36 :     break;
   50080             : 
   50081           0 :   case 2072: /* a_expr: a_expr IS NOT NORMALIZED  */
   50082             : #line 15297 "gram.y"
   50083             :                                 {
   50084             :                     (yyval.node) = makeNotExpr((Node *) makeFuncCall(SystemFuncName("is_normalized"),
   50085             :                                                            list_make1((yyvsp[-3].node)),
   50086             :                                                            COERCE_SQL_SYNTAX,
   50087             :                                                            (yylsp[-2])),
   50088             :                                      (yylsp[-2]));
   50089             :                 }
   50090             : #line 50091 "gram.c"
   50091           0 :     break;
   50092             : 
   50093           0 :   case 2073: /* a_expr: a_expr IS NOT unicode_normal_form NORMALIZED  */
   50094             : #line 15305 "gram.y"
   50095             :                                 {
   50096             :                     (yyval.node) = makeNotExpr((Node *) makeFuncCall(SystemFuncName("is_normalized"),
   50097             :                                                            list_make2((yyvsp[-4].node), makeStringConst((yyvsp[-1].str), (yylsp[-1]))),
   50098             :                                                            COERCE_SQL_SYNTAX,
   50099             :                                                            (yylsp[-3])),
   50100             :                                      (yylsp[-3]));
   50101             :                 }
   50102             : #line 50103 "gram.c"
   50103           0 :     break;
   50104             : 
   50105         304 :   case 2074: /* a_expr: a_expr IS json_predicate_type_constraint json_key_uniqueness_constraint_opt  */
   50106             : #line 15314 "gram.y"
   50107             :                                 {
   50108             :                     JsonFormat *format = makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1);
   50109             : 
   50110             :                     (yyval.node) = makeJsonIsPredicate((yyvsp[-3].node), format, (yyvsp[-1].ival), (yyvsp[0].boolean), (yylsp[-3]));
   50111             :                 }
   50112             : #line 50113 "gram.c"
   50113         304 :     break;
   50114             : 
   50115          46 :   case 2075: /* a_expr: a_expr IS NOT json_predicate_type_constraint json_key_uniqueness_constraint_opt  */
   50116             : #line 15332 "gram.y"
   50117             :                                 {
   50118             :                     JsonFormat *format = makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1);
   50119             : 
   50120             :                     (yyval.node) = makeNotExpr(makeJsonIsPredicate((yyvsp[-4].node), format, (yyvsp[-1].ival), (yyvsp[0].boolean), (yylsp[-4])), (yylsp[-4]));
   50121             :                 }
   50122             : #line 50123 "gram.c"
   50123          46 :     break;
   50124             : 
   50125        1400 :   case 2076: /* a_expr: DEFAULT  */
   50126             : #line 15349 "gram.y"
   50127             :                                 {
   50128             :                     /*
   50129             :                      * The SQL spec only allows DEFAULT in "contextually typed
   50130             :                      * expressions", but for us, it's easier to allow it in
   50131             :                      * any a_expr and then throw error during parse analysis
   50132             :                      * if it's in an inappropriate context.  This way also
   50133             :                      * lets us say something smarter than "syntax error".
   50134             :                      */
   50135             :                     SetToDefault *n = makeNode(SetToDefault);
   50136             : 
   50137             :                     /* parse analysis will fill in the rest */
   50138             :                     n->location = (yylsp[0]);
   50139             :                     (yyval.node) = (Node *) n;
   50140             :                 }
   50141             : #line 50142 "gram.c"
   50142        1400 :     break;
   50143             : 
   50144        3474 :   case 2077: /* b_expr: c_expr  */
   50145             : #line 15375 "gram.y"
   50146             :                                 { (yyval.node) = (yyvsp[0].node); }
   50147             : #line 50148 "gram.c"
   50148        3474 :     break;
   50149             : 
   50150         134 :   case 2078: /* b_expr: b_expr TYPECAST Typename  */
   50151             : #line 15377 "gram.y"
   50152             :                                 { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
   50153             : #line 50154 "gram.c"
   50154         134 :     break;
   50155             : 
   50156           0 :   case 2079: /* b_expr: '+' b_expr  */
   50157             : #line 15379 "gram.y"
   50158             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
   50159             : #line 50160 "gram.c"
   50160           0 :     break;
   50161             : 
   50162          66 :   case 2080: /* b_expr: '-' b_expr  */
   50163             : #line 15381 "gram.y"
   50164             :                                 { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
   50165             : #line 50166 "gram.c"
   50166          66 :     break;
   50167             : 
   50168          30 :   case 2081: /* b_expr: b_expr '+' b_expr  */
   50169             : #line 15383 "gram.y"
   50170             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   50171             : #line 50172 "gram.c"
   50172          30 :     break;
   50173             : 
   50174          12 :   case 2082: /* b_expr: b_expr '-' b_expr  */
   50175             : #line 15385 "gram.y"
   50176             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   50177             : #line 50178 "gram.c"
   50178          12 :     break;
   50179             : 
   50180          12 :   case 2083: /* b_expr: b_expr '*' b_expr  */
   50181             : #line 15387 "gram.y"
   50182             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   50183             : #line 50184 "gram.c"
   50184          12 :     break;
   50185             : 
   50186           0 :   case 2084: /* b_expr: b_expr '/' b_expr  */
   50187             : #line 15389 "gram.y"
   50188             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   50189             : #line 50190 "gram.c"
   50190           0 :     break;
   50191             : 
   50192           0 :   case 2085: /* b_expr: b_expr '%' b_expr  */
   50193             : #line 15391 "gram.y"
   50194             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   50195             : #line 50196 "gram.c"
   50196           0 :     break;
   50197             : 
   50198           6 :   case 2086: /* b_expr: b_expr '^' b_expr  */
   50199             : #line 15393 "gram.y"
   50200             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   50201             : #line 50202 "gram.c"
   50202           6 :     break;
   50203             : 
   50204           0 :   case 2087: /* b_expr: b_expr '<' b_expr  */
   50205             : #line 15395 "gram.y"
   50206             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   50207             : #line 50208 "gram.c"
   50208           0 :     break;
   50209             : 
   50210           0 :   case 2088: /* b_expr: b_expr '>' b_expr  */
   50211             : #line 15397 "gram.y"
   50212             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   50213             : #line 50214 "gram.c"
   50214           0 :     break;
   50215             : 
   50216           0 :   case 2089: /* b_expr: b_expr '=' b_expr  */
   50217             : #line 15399 "gram.y"
   50218             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   50219             : #line 50220 "gram.c"
   50220           0 :     break;
   50221             : 
   50222           0 :   case 2090: /* b_expr: b_expr LESS_EQUALS b_expr  */
   50223             : #line 15401 "gram.y"
   50224             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   50225             : #line 50226 "gram.c"
   50226           0 :     break;
   50227             : 
   50228           0 :   case 2091: /* b_expr: b_expr GREATER_EQUALS b_expr  */
   50229             : #line 15403 "gram.y"
   50230             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   50231             : #line 50232 "gram.c"
   50232           0 :     break;
   50233             : 
   50234           0 :   case 2092: /* b_expr: b_expr NOT_EQUALS b_expr  */
   50235             : #line 15405 "gram.y"
   50236             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   50237             : #line 50238 "gram.c"
   50238           0 :     break;
   50239             : 
   50240          12 :   case 2093: /* b_expr: b_expr qual_Op b_expr  */
   50241             : #line 15407 "gram.y"
   50242             :                                 { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   50243             : #line 50244 "gram.c"
   50244          12 :     break;
   50245             : 
   50246           0 :   case 2094: /* b_expr: qual_Op b_expr  */
   50247             : #line 15409 "gram.y"
   50248             :                                 { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
   50249             : #line 50250 "gram.c"
   50250           0 :     break;
   50251             : 
   50252           0 :   case 2095: /* b_expr: b_expr IS DISTINCT FROM b_expr  */
   50253             : #line 15411 "gram.y"
   50254             :                                 {
   50255             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
   50256             :                 }
   50257             : #line 50258 "gram.c"
   50258           0 :     break;
   50259             : 
   50260           0 :   case 2096: /* b_expr: b_expr IS NOT DISTINCT FROM b_expr  */
   50261             : #line 15415 "gram.y"
   50262             :                                 {
   50263             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
   50264             :                 }
   50265             : #line 50266 "gram.c"
   50266           0 :     break;
   50267             : 
   50268           0 :   case 2097: /* b_expr: b_expr IS DOCUMENT_P  */
   50269             : #line 15419 "gram.y"
   50270             :                                 {
   50271             :                     (yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
   50272             :                                      list_make1((yyvsp[-2].node)), (yylsp[-1]));
   50273             :                 }
   50274             : #line 50275 "gram.c"
   50275           0 :     break;
   50276             : 
   50277           0 :   case 2098: /* b_expr: b_expr IS NOT DOCUMENT_P  */
   50278             : #line 15424 "gram.y"
   50279             :                                 {
   50280             :                     (yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
   50281             :                                                  list_make1((yyvsp[-3].node)), (yylsp[-2])),
   50282             :                                      (yylsp[-2]));
   50283             :                 }
   50284             : #line 50285 "gram.c"
   50285           0 :     break;
   50286             : 
   50287     1510166 :   case 2099: /* c_expr: columnref  */
   50288             : #line 15439 "gram.y"
   50289             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   50290             : #line 50291 "gram.c"
   50291     1510166 :     break;
   50292             : 
   50293     1100986 :   case 2100: /* c_expr: AexprConst  */
   50294             : #line 15440 "gram.y"
   50295             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   50296             : #line 50297 "gram.c"
   50297     1100986 :     break;
   50298             : 
   50299      142368 :   case 2101: /* c_expr: PARAM opt_indirection  */
   50300             : #line 15442 "gram.y"
   50301             :                                 {
   50302             :                     ParamRef   *p = makeNode(ParamRef);
   50303             : 
   50304             :                     p->number = (yyvsp[-1].ival);
   50305             :                     p->location = (yylsp[-1]);
   50306             :                     if ((yyvsp[0].list))
   50307             :                     {
   50308             :                         A_Indirection *n = makeNode(A_Indirection);
   50309             : 
   50310             :                         n->arg = (Node *) p;
   50311             :                         n->indirection = check_indirection((yyvsp[0].list), yyscanner);
   50312             :                         (yyval.node) = (Node *) n;
   50313             :                     }
   50314             :                     else
   50315             :                         (yyval.node) = (Node *) p;
   50316             :                 }
   50317             : #line 50318 "gram.c"
   50318      142368 :     break;
   50319             : 
   50320       86152 :   case 2102: /* c_expr: '(' a_expr ')' opt_indirection  */
   50321             : #line 15459 "gram.y"
   50322             :                                 {
   50323             :                     if ((yyvsp[0].list))
   50324             :                     {
   50325             :                         A_Indirection *n = makeNode(A_Indirection);
   50326             : 
   50327             :                         n->arg = (yyvsp[-2].node);
   50328             :                         n->indirection = check_indirection((yyvsp[0].list), yyscanner);
   50329             :                         (yyval.node) = (Node *) n;
   50330             :                     }
   50331             :                     else
   50332             :                         (yyval.node) = (yyvsp[-2].node);
   50333             :                 }
   50334             : #line 50335 "gram.c"
   50335       86152 :     break;
   50336             : 
   50337       53734 :   case 2103: /* c_expr: case_expr  */
   50338             : #line 15472 "gram.y"
   50339             :                                 { (yyval.node) = (yyvsp[0].node); }
   50340             : #line 50341 "gram.c"
   50341       53734 :     break;
   50342             : 
   50343      362566 :   case 2104: /* c_expr: func_expr  */
   50344             : #line 15474 "gram.y"
   50345             :                                 { (yyval.node) = (yyvsp[0].node); }
   50346             : #line 50347 "gram.c"
   50347      362566 :     break;
   50348             : 
   50349       22314 :   case 2105: /* c_expr: select_with_parens  */
   50350             : #line 15476 "gram.y"
   50351             :                                 {
   50352             :                     SubLink    *n = makeNode(SubLink);
   50353             : 
   50354             :                     n->subLinkType = EXPR_SUBLINK;
   50355             :                     n->subLinkId = 0;
   50356             :                     n->testexpr = NULL;
   50357             :                     n->operName = NIL;
   50358             :                     n->subselect = (yyvsp[0].node);
   50359             :                     n->location = (yylsp[0]);
   50360             :                     (yyval.node) = (Node *) n;
   50361             :                 }
   50362             : #line 50363 "gram.c"
   50363       22314 :     break;
   50364             : 
   50365          18 :   case 2106: /* c_expr: select_with_parens indirection  */
   50366             : #line 15488 "gram.y"
   50367             :                                 {
   50368             :                     /*
   50369             :                      * Because the select_with_parens nonterminal is designed
   50370             :                      * to "eat" as many levels of parens as possible, the
   50371             :                      * '(' a_expr ')' opt_indirection production above will
   50372             :                      * fail to match a sub-SELECT with indirection decoration;
   50373             :                      * the sub-SELECT won't be regarded as an a_expr as long
   50374             :                      * as there are parens around it.  To support applying
   50375             :                      * subscripting or field selection to a sub-SELECT result,
   50376             :                      * we need this redundant-looking production.
   50377             :                      */
   50378             :                     SubLink    *n = makeNode(SubLink);
   50379             :                     A_Indirection *a = makeNode(A_Indirection);
   50380             : 
   50381             :                     n->subLinkType = EXPR_SUBLINK;
   50382             :                     n->subLinkId = 0;
   50383             :                     n->testexpr = NULL;
   50384             :                     n->operName = NIL;
   50385             :                     n->subselect = (yyvsp[-1].node);
   50386             :                     n->location = (yylsp[-1]);
   50387             :                     a->arg = (Node *) n;
   50388             :                     a->indirection = check_indirection((yyvsp[0].list), yyscanner);
   50389             :                     (yyval.node) = (Node *) a;
   50390             :                 }
   50391             : #line 50392 "gram.c"
   50392          18 :     break;
   50393             : 
   50394        5208 :   case 2107: /* c_expr: EXISTS select_with_parens  */
   50395             : #line 15513 "gram.y"
   50396             :                                 {
   50397             :                     SubLink    *n = makeNode(SubLink);
   50398             : 
   50399             :                     n->subLinkType = EXISTS_SUBLINK;
   50400             :                     n->subLinkId = 0;
   50401             :                     n->testexpr = NULL;
   50402             :                     n->operName = NIL;
   50403             :                     n->subselect = (yyvsp[0].node);
   50404             :                     n->location = (yylsp[-1]);
   50405             :                     (yyval.node) = (Node *) n;
   50406             :                 }
   50407             : #line 50408 "gram.c"
   50408        5208 :     break;
   50409             : 
   50410        7362 :   case 2108: /* c_expr: ARRAY select_with_parens  */
   50411             : #line 15525 "gram.y"
   50412             :                                 {
   50413             :                     SubLink    *n = makeNode(SubLink);
   50414             : 
   50415             :                     n->subLinkType = ARRAY_SUBLINK;
   50416             :                     n->subLinkId = 0;
   50417             :                     n->testexpr = NULL;
   50418             :                     n->operName = NIL;
   50419             :                     n->subselect = (yyvsp[0].node);
   50420             :                     n->location = (yylsp[-1]);
   50421             :                     (yyval.node) = (Node *) n;
   50422             :                 }
   50423             : #line 50424 "gram.c"
   50424        7362 :     break;
   50425             : 
   50426        7362 :   case 2109: /* c_expr: ARRAY array_expr  */
   50427             : #line 15537 "gram.y"
   50428             :                                 {
   50429             :                     A_ArrayExpr *n = castNode(A_ArrayExpr, (yyvsp[0].node));
   50430             : 
   50431             :                     /* point outermost A_ArrayExpr to the ARRAY keyword */
   50432             :                     n->location = (yylsp[-1]);
   50433             :                     (yyval.node) = (Node *) n;
   50434             :                 }
   50435             : #line 50436 "gram.c"
   50436        7362 :     break;
   50437             : 
   50438        3784 :   case 2110: /* c_expr: explicit_row  */
   50439             : #line 15545 "gram.y"
   50440             :                                 {
   50441             :                     RowExpr    *r = makeNode(RowExpr);
   50442             : 
   50443             :                     r->args = (yyvsp[0].list);
   50444             :                     r->row_typeid = InvalidOid;  /* not analyzed yet */
   50445             :                     r->colnames = NIL;   /* to be filled in during analysis */
   50446             :                     r->row_format = COERCE_EXPLICIT_CALL; /* abuse */
   50447             :                     r->location = (yylsp[0]);
   50448             :                     (yyval.node) = (Node *) r;
   50449             :                 }
   50450             : #line 50451 "gram.c"
   50451        3784 :     break;
   50452             : 
   50453        2124 :   case 2111: /* c_expr: implicit_row  */
   50454             : #line 15556 "gram.y"
   50455             :                                 {
   50456             :                     RowExpr    *r = makeNode(RowExpr);
   50457             : 
   50458             :                     r->args = (yyvsp[0].list);
   50459             :                     r->row_typeid = InvalidOid;  /* not analyzed yet */
   50460             :                     r->colnames = NIL;   /* to be filled in during analysis */
   50461             :                     r->row_format = COERCE_IMPLICIT_CAST; /* abuse */
   50462             :                     r->location = (yylsp[0]);
   50463             :                     (yyval.node) = (Node *) r;
   50464             :                 }
   50465             : #line 50466 "gram.c"
   50466        2124 :     break;
   50467             : 
   50468         314 :   case 2112: /* c_expr: GROUPING '(' expr_list ')'  */
   50469             : #line 15567 "gram.y"
   50470             :                           {
   50471             :                   GroupingFunc *g = makeNode(GroupingFunc);
   50472             : 
   50473             :                   g->args = (yyvsp[-1].list);
   50474             :                   g->location = (yylsp[-3]);
   50475             :                   (yyval.node) = (Node *) g;
   50476             :               }
   50477             : #line 50478 "gram.c"
   50478         314 :     break;
   50479             : 
   50480       46644 :   case 2113: /* func_application: func_name '(' ')'  */
   50481             : #line 15577 "gram.y"
   50482             :                                 {
   50483             :                     (yyval.node) = (Node *) makeFuncCall((yyvsp[-2].list), NIL,
   50484             :                                                COERCE_EXPLICIT_CALL,
   50485             :                                                (yylsp[-2]));
   50486             :                 }
   50487             : #line 50488 "gram.c"
   50488       46644 :     break;
   50489             : 
   50490      280838 :   case 2114: /* func_application: func_name '(' func_arg_list opt_sort_clause ')'  */
   50491             : #line 15583 "gram.y"
   50492             :                                 {
   50493             :                     FuncCall   *n = makeFuncCall((yyvsp[-4].list), (yyvsp[-2].list),
   50494             :                                                  COERCE_EXPLICIT_CALL,
   50495             :                                                  (yylsp[-4]));
   50496             : 
   50497             :                     n->agg_order = (yyvsp[-1].list);
   50498             :                     (yyval.node) = (Node *) n;
   50499             :                 }
   50500             : #line 50501 "gram.c"
   50501      280838 :     break;
   50502             : 
   50503         576 :   case 2115: /* func_application: func_name '(' VARIADIC func_arg_expr opt_sort_clause ')'  */
   50504             : #line 15592 "gram.y"
   50505             :                                 {
   50506             :                     FuncCall   *n = makeFuncCall((yyvsp[-5].list), list_make1((yyvsp[-2].node)),
   50507             :                                                  COERCE_EXPLICIT_CALL,
   50508             :                                                  (yylsp[-5]));
   50509             : 
   50510             :                     n->func_variadic = true;
   50511             :                     n->agg_order = (yyvsp[-1].list);
   50512             :                     (yyval.node) = (Node *) n;
   50513             :                 }
   50514             : #line 50515 "gram.c"
   50515         576 :     break;
   50516             : 
   50517         120 :   case 2116: /* func_application: func_name '(' func_arg_list ',' VARIADIC func_arg_expr opt_sort_clause ')'  */
   50518             : #line 15602 "gram.y"
   50519             :                                 {
   50520             :                     FuncCall   *n = makeFuncCall((yyvsp[-7].list), lappend((yyvsp[-5].list), (yyvsp[-2].node)),
   50521             :                                                  COERCE_EXPLICIT_CALL,
   50522             :                                                  (yylsp[-7]));
   50523             : 
   50524             :                     n->func_variadic = true;
   50525             :                     n->agg_order = (yyvsp[-1].list);
   50526             :                     (yyval.node) = (Node *) n;
   50527             :                 }
   50528             : #line 50529 "gram.c"
   50529         120 :     break;
   50530             : 
   50531           0 :   case 2117: /* func_application: func_name '(' ALL func_arg_list opt_sort_clause ')'  */
   50532             : #line 15612 "gram.y"
   50533             :                                 {
   50534             :                     FuncCall   *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-2].list),
   50535             :                                                  COERCE_EXPLICIT_CALL,
   50536             :                                                  (yylsp[-5]));
   50537             : 
   50538             :                     n->agg_order = (yyvsp[-1].list);
   50539             :                     /* Ideally we'd mark the FuncCall node to indicate
   50540             :                      * "must be an aggregate", but there's no provision
   50541             :                      * for that in FuncCall at the moment.
   50542             :                      */
   50543             :                     (yyval.node) = (Node *) n;
   50544             :                 }
   50545             : #line 50546 "gram.c"
   50546           0 :     break;
   50547             : 
   50548         526 :   case 2118: /* func_application: func_name '(' DISTINCT func_arg_list opt_sort_clause ')'  */
   50549             : #line 15625 "gram.y"
   50550             :                                 {
   50551             :                     FuncCall   *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-2].list),
   50552             :                                                  COERCE_EXPLICIT_CALL,
   50553             :                                                  (yylsp[-5]));
   50554             : 
   50555             :                     n->agg_order = (yyvsp[-1].list);
   50556             :                     n->agg_distinct = true;
   50557             :                     (yyval.node) = (Node *) n;
   50558             :                 }
   50559             : #line 50560 "gram.c"
   50560         526 :     break;
   50561             : 
   50562       11980 :   case 2119: /* func_application: func_name '(' '*' ')'  */
   50563             : #line 15635 "gram.y"
   50564             :                                 {
   50565             :                     /*
   50566             :                      * We consider AGGREGATE(*) to invoke a parameterless
   50567             :                      * aggregate.  This does the right thing for COUNT(*),
   50568             :                      * and there are no other aggregates in SQL that accept
   50569             :                      * '*' as parameter.
   50570             :                      *
   50571             :                      * The FuncCall node is also marked agg_star = true,
   50572             :                      * so that later processing can detect what the argument
   50573             :                      * really was.
   50574             :                      */
   50575             :                     FuncCall   *n = makeFuncCall((yyvsp[-3].list), NIL,
   50576             :                                                  COERCE_EXPLICIT_CALL,
   50577             :                                                  (yylsp[-3]));
   50578             : 
   50579             :                     n->agg_star = true;
   50580             :                     (yyval.node) = (Node *) n;
   50581             :                 }
   50582             : #line 50583 "gram.c"
   50583       11980 :     break;
   50584             : 
   50585      300256 :   case 2120: /* func_expr: func_application within_group_clause filter_clause over_clause  */
   50586             : #line 15666 "gram.y"
   50587             :                                 {
   50588             :                     FuncCall   *n = (FuncCall *) (yyvsp[-3].node);
   50589             : 
   50590             :                     /*
   50591             :                      * The order clause for WITHIN GROUP and the one for
   50592             :                      * plain-aggregate ORDER BY share a field, so we have to
   50593             :                      * check here that at most one is present.  We also check
   50594             :                      * for DISTINCT and VARIADIC here to give a better error
   50595             :                      * location.  Other consistency checks are deferred to
   50596             :                      * parse analysis.
   50597             :                      */
   50598             :                     if ((yyvsp[-2].list) != NIL)
   50599             :                     {
   50600             :                         if (n->agg_order != NIL)
   50601             :                             ereport(ERROR,
   50602             :                                     (errcode(ERRCODE_SYNTAX_ERROR),
   50603             :                                      errmsg("cannot use multiple ORDER BY clauses with WITHIN GROUP"),
   50604             :                                      parser_errposition((yylsp[-2]))));
   50605             :                         if (n->agg_distinct)
   50606             :                             ereport(ERROR,
   50607             :                                     (errcode(ERRCODE_SYNTAX_ERROR),
   50608             :                                      errmsg("cannot use DISTINCT with WITHIN GROUP"),
   50609             :                                      parser_errposition((yylsp[-2]))));
   50610             :                         if (n->func_variadic)
   50611             :                             ereport(ERROR,
   50612             :                                     (errcode(ERRCODE_SYNTAX_ERROR),
   50613             :                                      errmsg("cannot use VARIADIC with WITHIN GROUP"),
   50614             :                                      parser_errposition((yylsp[-2]))));
   50615             :                         n->agg_order = (yyvsp[-2].list);
   50616             :                         n->agg_within_group = true;
   50617             :                     }
   50618             :                     n->agg_filter = (yyvsp[-1].node);
   50619             :                     n->over = (yyvsp[0].windef);
   50620             :                     (yyval.node) = (Node *) n;
   50621             :                 }
   50622             : #line 50623 "gram.c"
   50623      300250 :     break;
   50624             : 
   50625         306 :   case 2121: /* func_expr: json_aggregate_func filter_clause over_clause  */
   50626             : #line 15702 "gram.y"
   50627             :                                 {
   50628             :                     JsonAggConstructor *n = IsA((yyvsp[-2].node), JsonObjectAgg) ?
   50629             :                         ((JsonObjectAgg *) (yyvsp[-2].node))->constructor :
   50630             :                         ((JsonArrayAgg *) (yyvsp[-2].node))->constructor;
   50631             : 
   50632             :                     n->agg_filter = (yyvsp[-1].node);
   50633             :                     n->over = (yyvsp[0].windef);
   50634             :                     (yyval.node) = (Node *) (yyvsp[-2].node);
   50635             :                 }
   50636             : #line 50637 "gram.c"
   50637         306 :     break;
   50638             : 
   50639       62010 :   case 2122: /* func_expr: func_expr_common_subexpr  */
   50640             : #line 15712 "gram.y"
   50641             :                                 { (yyval.node) = (yyvsp[0].node); }
   50642             : #line 50643 "gram.c"
   50643       62010 :     break;
   50644             : 
   50645       39894 :   case 2123: /* func_expr_windowless: func_application  */
   50646             : #line 15722 "gram.y"
   50647             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   50648             : #line 50649 "gram.c"
   50649       39894 :     break;
   50650             : 
   50651         402 :   case 2124: /* func_expr_windowless: func_expr_common_subexpr  */
   50652             : #line 15723 "gram.y"
   50653             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   50654             : #line 50655 "gram.c"
   50655         402 :     break;
   50656             : 
   50657           0 :   case 2125: /* func_expr_windowless: json_aggregate_func  */
   50658             : #line 15724 "gram.y"
   50659             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   50660             : #line 50661 "gram.c"
   50661           0 :     break;
   50662             : 
   50663          30 :   case 2126: /* func_expr_common_subexpr: COLLATION FOR '(' a_expr ')'  */
   50664             : #line 15732 "gram.y"
   50665             :                                 {
   50666             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("pg_collation_for"),
   50667             :                                                list_make1((yyvsp[-1].node)),
   50668             :                                                COERCE_SQL_SYNTAX,
   50669             :                                                (yylsp[-4]));
   50670             :                 }
   50671             : #line 50672 "gram.c"
   50672          30 :     break;
   50673             : 
   50674         268 :   case 2127: /* func_expr_common_subexpr: CURRENT_DATE  */
   50675             : #line 15739 "gram.y"
   50676             :                                 {
   50677             :                     (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_DATE, -1, (yylsp[0]));
   50678             :                 }
   50679             : #line 50680 "gram.c"
   50680         268 :     break;
   50681             : 
   50682          24 :   case 2128: /* func_expr_common_subexpr: CURRENT_TIME  */
   50683             : #line 15743 "gram.y"
   50684             :                                 {
   50685             :                     (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME, -1, (yylsp[0]));
   50686             :                 }
   50687             : #line 50688 "gram.c"
   50688          24 :     break;
   50689             : 
   50690          24 :   case 2129: /* func_expr_common_subexpr: CURRENT_TIME '(' Iconst ')'  */
   50691             : #line 15747 "gram.y"
   50692             :                                 {
   50693             :                     (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME_N, (yyvsp[-1].ival), (yylsp[-3]));
   50694             :                 }
   50695             : #line 50696 "gram.c"
   50696          24 :     break;
   50697             : 
   50698         288 :   case 2130: /* func_expr_common_subexpr: CURRENT_TIMESTAMP  */
   50699             : #line 15751 "gram.y"
   50700             :                                 {
   50701             :                     (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP, -1, (yylsp[0]));
   50702             :                 }
   50703             : #line 50704 "gram.c"
   50704         288 :     break;
   50705             : 
   50706         154 :   case 2131: /* func_expr_common_subexpr: CURRENT_TIMESTAMP '(' Iconst ')'  */
   50707             : #line 15755 "gram.y"
   50708             :                                 {
   50709             :                     (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP_N, (yyvsp[-1].ival), (yylsp[-3]));
   50710             :                 }
   50711             : #line 50712 "gram.c"
   50712         154 :     break;
   50713             : 
   50714          24 :   case 2132: /* func_expr_common_subexpr: LOCALTIME  */
   50715             : #line 15759 "gram.y"
   50716             :                                 {
   50717             :                     (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME, -1, (yylsp[0]));
   50718             :                 }
   50719             : #line 50720 "gram.c"
   50720          24 :     break;
   50721             : 
   50722          24 :   case 2133: /* func_expr_common_subexpr: LOCALTIME '(' Iconst ')'  */
   50723             : #line 15763 "gram.y"
   50724             :                                 {
   50725             :                     (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME_N, (yyvsp[-1].ival), (yylsp[-3]));
   50726             :                 }
   50727             : #line 50728 "gram.c"
   50728          24 :     break;
   50729             : 
   50730          36 :   case 2134: /* func_expr_common_subexpr: LOCALTIMESTAMP  */
   50731             : #line 15767 "gram.y"
   50732             :                                 {
   50733             :                     (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP, -1, (yylsp[0]));
   50734             :                 }
   50735             : #line 50736 "gram.c"
   50736          36 :     break;
   50737             : 
   50738          24 :   case 2135: /* func_expr_common_subexpr: LOCALTIMESTAMP '(' Iconst ')'  */
   50739             : #line 15771 "gram.y"
   50740             :                                 {
   50741             :                     (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP_N, (yyvsp[-1].ival), (yylsp[-3]));
   50742             :                 }
   50743             : #line 50744 "gram.c"
   50744          24 :     break;
   50745             : 
   50746          68 :   case 2136: /* func_expr_common_subexpr: CURRENT_ROLE  */
   50747             : #line 15775 "gram.y"
   50748             :                                 {
   50749             :                     (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_ROLE, -1, (yylsp[0]));
   50750             :                 }
   50751             : #line 50752 "gram.c"
   50752          68 :     break;
   50753             : 
   50754         842 :   case 2137: /* func_expr_common_subexpr: CURRENT_USER  */
   50755             : #line 15779 "gram.y"
   50756             :                                 {
   50757             :                     (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_USER, -1, (yylsp[0]));
   50758             :                 }
   50759             : #line 50760 "gram.c"
   50760         842 :     break;
   50761             : 
   50762         546 :   case 2138: /* func_expr_common_subexpr: SESSION_USER  */
   50763             : #line 15783 "gram.y"
   50764             :                                 {
   50765             :                     (yyval.node) = makeSQLValueFunction(SVFOP_SESSION_USER, -1, (yylsp[0]));
   50766             :                 }
   50767             : #line 50768 "gram.c"
   50768         546 :     break;
   50769             : 
   50770          20 :   case 2139: /* func_expr_common_subexpr: SYSTEM_USER  */
   50771             : #line 15787 "gram.y"
   50772             :                                 {
   50773             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("system_user"),
   50774             :                                                NIL,
   50775             :                                                COERCE_SQL_SYNTAX,
   50776             :                                                (yylsp[0]));
   50777             :                 }
   50778             : #line 50779 "gram.c"
   50779          20 :     break;
   50780             : 
   50781          24 :   case 2140: /* func_expr_common_subexpr: USER  */
   50782             : #line 15794 "gram.y"
   50783             :                                 {
   50784             :                     (yyval.node) = makeSQLValueFunction(SVFOP_USER, -1, (yylsp[0]));
   50785             :                 }
   50786             : #line 50787 "gram.c"
   50787          24 :     break;
   50788             : 
   50789          30 :   case 2141: /* func_expr_common_subexpr: CURRENT_CATALOG  */
   50790             : #line 15798 "gram.y"
   50791             :                                 {
   50792             :                     (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_CATALOG, -1, (yylsp[0]));
   50793             :                 }
   50794             : #line 50795 "gram.c"
   50795          30 :     break;
   50796             : 
   50797          30 :   case 2142: /* func_expr_common_subexpr: CURRENT_SCHEMA  */
   50798             : #line 15802 "gram.y"
   50799             :                                 {
   50800             :                     (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_SCHEMA, -1, (yylsp[0]));
   50801             :                 }
   50802             : #line 50803 "gram.c"
   50803          30 :     break;
   50804             : 
   50805       49612 :   case 2143: /* func_expr_common_subexpr: CAST '(' a_expr AS Typename ')'  */
   50806             : #line 15806 "gram.y"
   50807             :                                 { (yyval.node) = makeTypeCast((yyvsp[-3].node), (yyvsp[-1].typnam), (yylsp[-5])); }
   50808             : #line 50809 "gram.c"
   50809       49612 :     break;
   50810             : 
   50811        1200 :   case 2144: /* func_expr_common_subexpr: EXTRACT '(' extract_list ')'  */
   50812             : #line 15808 "gram.y"
   50813             :                                 {
   50814             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("extract"),
   50815             :                                                (yyvsp[-1].list),
   50816             :                                                COERCE_SQL_SYNTAX,
   50817             :                                                (yylsp[-3]));
   50818             :                 }
   50819             : #line 50820 "gram.c"
   50820        1200 :     break;
   50821             : 
   50822          18 :   case 2145: /* func_expr_common_subexpr: NORMALIZE '(' a_expr ')'  */
   50823             : #line 15815 "gram.y"
   50824             :                                 {
   50825             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("normalize"),
   50826             :                                                list_make1((yyvsp[-1].node)),
   50827             :                                                COERCE_SQL_SYNTAX,
   50828             :                                                (yylsp[-3]));
   50829             :                 }
   50830             : #line 50831 "gram.c"
   50831          18 :     break;
   50832             : 
   50833          36 :   case 2146: /* func_expr_common_subexpr: NORMALIZE '(' a_expr ',' unicode_normal_form ')'  */
   50834             : #line 15822 "gram.y"
   50835             :                                 {
   50836             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("normalize"),
   50837             :                                                list_make2((yyvsp[-3].node), makeStringConst((yyvsp[-1].str), (yylsp[-1]))),
   50838             :                                                COERCE_SQL_SYNTAX,
   50839             :                                                (yylsp[-5]));
   50840             :                 }
   50841             : #line 50842 "gram.c"
   50842          36 :     break;
   50843             : 
   50844          82 :   case 2147: /* func_expr_common_subexpr: OVERLAY '(' overlay_list ')'  */
   50845             : #line 15829 "gram.y"
   50846             :                                 {
   50847             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlay"),
   50848             :                                                (yyvsp[-1].list),
   50849             :                                                COERCE_SQL_SYNTAX,
   50850             :                                                (yylsp[-3]));
   50851             :                 }
   50852             : #line 50853 "gram.c"
   50853          82 :     break;
   50854             : 
   50855           0 :   case 2148: /* func_expr_common_subexpr: OVERLAY '(' func_arg_list_opt ')'  */
   50856             : #line 15836 "gram.y"
   50857             :                                 {
   50858             :                     /*
   50859             :                      * allow functions named overlay() to be called without
   50860             :                      * special syntax
   50861             :                      */
   50862             :                     (yyval.node) = (Node *) makeFuncCall(list_make1(makeString("overlay")),
   50863             :                                                (yyvsp[-1].list),
   50864             :                                                COERCE_EXPLICIT_CALL,
   50865             :                                                (yylsp[-3]));
   50866             :                 }
   50867             : #line 50868 "gram.c"
   50868           0 :     break;
   50869             : 
   50870         350 :   case 2149: /* func_expr_common_subexpr: POSITION '(' position_list ')'  */
   50871             : #line 15847 "gram.y"
   50872             :                                 {
   50873             :                     /*
   50874             :                      * position(A in B) is converted to position(B, A)
   50875             :                      *
   50876             :                      * We deliberately don't offer a "plain syntax" option
   50877             :                      * for position(), because the reversal of the arguments
   50878             :                      * creates too much risk of confusion.
   50879             :                      */
   50880             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("position"),
   50881             :                                                (yyvsp[-1].list),
   50882             :                                                COERCE_SQL_SYNTAX,
   50883             :                                                (yylsp[-3]));
   50884             :                 }
   50885             : #line 50886 "gram.c"
   50886         350 :     break;
   50887             : 
   50888         630 :   case 2150: /* func_expr_common_subexpr: SUBSTRING '(' substr_list ')'  */
   50889             : #line 15861 "gram.y"
   50890             :                                 {
   50891             :                     /* substring(A from B for C) is converted to
   50892             :                      * substring(A, B, C) - thomas 2000-11-28
   50893             :                      */
   50894             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("substring"),
   50895             :                                                (yyvsp[-1].list),
   50896             :                                                COERCE_SQL_SYNTAX,
   50897             :                                                (yylsp[-3]));
   50898             :                 }
   50899             : #line 50900 "gram.c"
   50900         630 :     break;
   50901             : 
   50902         188 :   case 2151: /* func_expr_common_subexpr: SUBSTRING '(' func_arg_list_opt ')'  */
   50903             : #line 15871 "gram.y"
   50904             :                                 {
   50905             :                     /*
   50906             :                      * allow functions named substring() to be called without
   50907             :                      * special syntax
   50908             :                      */
   50909             :                     (yyval.node) = (Node *) makeFuncCall(list_make1(makeString("substring")),
   50910             :                                                (yyvsp[-1].list),
   50911             :                                                COERCE_EXPLICIT_CALL,
   50912             :                                                (yylsp[-3]));
   50913             :                 }
   50914             : #line 50915 "gram.c"
   50915         188 :     break;
   50916             : 
   50917           0 :   case 2152: /* func_expr_common_subexpr: TREAT '(' a_expr AS Typename ')'  */
   50918             : #line 15882 "gram.y"
   50919             :                                 {
   50920             :                     /* TREAT(expr AS target) converts expr of a particular type to target,
   50921             :                      * which is defined to be a subtype of the original expression.
   50922             :                      * In SQL99, this is intended for use with structured UDTs,
   50923             :                      * but let's make this a generally useful form allowing stronger
   50924             :                      * coercions than are handled by implicit casting.
   50925             :                      *
   50926             :                      * Convert SystemTypeName() to SystemFuncName() even though
   50927             :                      * at the moment they result in the same thing.
   50928             :                      */
   50929             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName(strVal(llast((yyvsp[-1].typnam)->names))),
   50930             :                                                list_make1((yyvsp[-3].node)),
   50931             :                                                COERCE_EXPLICIT_CALL,
   50932             :                                                (yylsp[-5]));
   50933             :                 }
   50934             : #line 50935 "gram.c"
   50935           0 :     break;
   50936             : 
   50937          12 :   case 2153: /* func_expr_common_subexpr: TRIM '(' BOTH trim_list ')'  */
   50938             : #line 15898 "gram.y"
   50939             :                                 {
   50940             :                     /* various trim expressions are defined in SQL
   50941             :                      * - thomas 1997-07-19
   50942             :                      */
   50943             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"),
   50944             :                                                (yyvsp[-1].list),
   50945             :                                                COERCE_SQL_SYNTAX,
   50946             :                                                (yylsp[-4]));
   50947             :                 }
   50948             : #line 50949 "gram.c"
   50949          12 :     break;
   50950             : 
   50951          24 :   case 2154: /* func_expr_common_subexpr: TRIM '(' LEADING trim_list ')'  */
   50952             : #line 15908 "gram.y"
   50953             :                                 {
   50954             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("ltrim"),
   50955             :                                                (yyvsp[-1].list),
   50956             :                                                COERCE_SQL_SYNTAX,
   50957             :                                                (yylsp[-4]));
   50958             :                 }
   50959             : #line 50960 "gram.c"
   50960          24 :     break;
   50961             : 
   50962         536 :   case 2155: /* func_expr_common_subexpr: TRIM '(' TRAILING trim_list ')'  */
   50963             : #line 15915 "gram.y"
   50964             :                                 {
   50965             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("rtrim"),
   50966             :                                                (yyvsp[-1].list),
   50967             :                                                COERCE_SQL_SYNTAX,
   50968             :                                                (yylsp[-4]));
   50969             :                 }
   50970             : #line 50971 "gram.c"
   50971         536 :     break;
   50972             : 
   50973          98 :   case 2156: /* func_expr_common_subexpr: TRIM '(' trim_list ')'  */
   50974             : #line 15922 "gram.y"
   50975             :                                 {
   50976             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"),
   50977             :                                                (yyvsp[-1].list),
   50978             :                                                COERCE_SQL_SYNTAX,
   50979             :                                                (yylsp[-3]));
   50980             :                 }
   50981             : #line 50982 "gram.c"
   50982          98 :     break;
   50983             : 
   50984         242 :   case 2157: /* func_expr_common_subexpr: NULLIF '(' a_expr ',' a_expr ')'  */
   50985             : #line 15929 "gram.y"
   50986             :                                 {
   50987             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", (yyvsp[-3].node), (yyvsp[-1].node), (yylsp[-5]));
   50988             :                 }
   50989             : #line 50990 "gram.c"
   50990         242 :     break;
   50991             : 
   50992        3042 :   case 2158: /* func_expr_common_subexpr: COALESCE '(' expr_list ')'  */
   50993             : #line 15933 "gram.y"
   50994             :                                 {
   50995             :                     CoalesceExpr *c = makeNode(CoalesceExpr);
   50996             : 
   50997             :                     c->args = (yyvsp[-1].list);
   50998             :                     c->location = (yylsp[-3]);
   50999             :                     (yyval.node) = (Node *) c;
   51000             :                 }
   51001             : #line 51002 "gram.c"
   51002        3042 :     break;
   51003             : 
   51004         140 :   case 2159: /* func_expr_common_subexpr: GREATEST '(' expr_list ')'  */
   51005             : #line 15941 "gram.y"
   51006             :                                 {
   51007             :                     MinMaxExpr *v = makeNode(MinMaxExpr);
   51008             : 
   51009             :                     v->args = (yyvsp[-1].list);
   51010             :                     v->op = IS_GREATEST;
   51011             :                     v->location = (yylsp[-3]);
   51012             :                     (yyval.node) = (Node *) v;
   51013             :                 }
   51014             : #line 51015 "gram.c"
   51015         140 :     break;
   51016             : 
   51017         142 :   case 2160: /* func_expr_common_subexpr: LEAST '(' expr_list ')'  */
   51018             : #line 15950 "gram.y"
   51019             :                                 {
   51020             :                     MinMaxExpr *v = makeNode(MinMaxExpr);
   51021             : 
   51022             :                     v->args = (yyvsp[-1].list);
   51023             :                     v->op = IS_LEAST;
   51024             :                     v->location = (yylsp[-3]);
   51025             :                     (yyval.node) = (Node *) v;
   51026             :                 }
   51027             : #line 51028 "gram.c"
   51028         142 :     break;
   51029             : 
   51030          62 :   case 2161: /* func_expr_common_subexpr: XMLCONCAT '(' expr_list ')'  */
   51031             : #line 15959 "gram.y"
   51032             :                                 {
   51033             :                     (yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[-1].list), (yylsp[-3]));
   51034             :                 }
   51035             : #line 51036 "gram.c"
   51036          62 :     break;
   51037             : 
   51038           6 :   case 2162: /* func_expr_common_subexpr: XMLELEMENT '(' NAME_P ColLabel ')'  */
   51039             : #line 15963 "gram.y"
   51040             :                                 {
   51041             :                     (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-1].str), NIL, NIL, (yylsp[-4]));
   51042             :                 }
   51043             : #line 51044 "gram.c"
   51044           6 :     break;
   51045             : 
   51046          36 :   case 2163: /* func_expr_common_subexpr: XMLELEMENT '(' NAME_P ColLabel ',' xml_attributes ')'  */
   51047             : #line 15967 "gram.y"
   51048             :                                 {
   51049             :                     (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), (yyvsp[-1].list), NIL, (yylsp[-6]));
   51050             :                 }
   51051             : #line 51052 "gram.c"
   51052          36 :     break;
   51053             : 
   51054         116 :   case 2164: /* func_expr_common_subexpr: XMLELEMENT '(' NAME_P ColLabel ',' expr_list ')'  */
   51055             : #line 15971 "gram.y"
   51056             :                                 {
   51057             :                     (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), NIL, (yyvsp[-1].list), (yylsp[-6]));
   51058             :                 }
   51059             : #line 51060 "gram.c"
   51060         116 :     break;
   51061             : 
   51062          20 :   case 2165: /* func_expr_common_subexpr: XMLELEMENT '(' NAME_P ColLabel ',' xml_attributes ',' expr_list ')'  */
   51063             : #line 15975 "gram.y"
   51064             :                                 {
   51065             :                     (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-5].str), (yyvsp[-3].list), (yyvsp[-1].list), (yylsp[-8]));
   51066             :                 }
   51067             : #line 51068 "gram.c"
   51068          20 :     break;
   51069             : 
   51070          54 :   case 2166: /* func_expr_common_subexpr: XMLEXISTS '(' c_expr xmlexists_argument ')'  */
   51071             : #line 15979 "gram.y"
   51072             :                                 {
   51073             :                     /* xmlexists(A PASSING [BY REF] B [BY REF]) is
   51074             :                      * converted to xmlexists(A, B)*/
   51075             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("xmlexists"),
   51076             :                                                list_make2((yyvsp[-2].node), (yyvsp[-1].node)),
   51077             :                                                COERCE_SQL_SYNTAX,
   51078             :                                                (yylsp[-4]));
   51079             :                 }
   51080             : #line 51081 "gram.c"
   51081          54 :     break;
   51082             : 
   51083          32 :   case 2167: /* func_expr_common_subexpr: XMLFOREST '(' xml_attribute_list ')'  */
   51084             : #line 15988 "gram.y"
   51085             :                                 {
   51086             :                     (yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[-1].list), NIL, (yylsp[-3]));
   51087             :                 }
   51088             : #line 51089 "gram.c"
   51089          32 :     break;
   51090             : 
   51091         140 :   case 2168: /* func_expr_common_subexpr: XMLPARSE '(' document_or_content a_expr xml_whitespace_option ')'  */
   51092             : #line 15992 "gram.y"
   51093             :                                 {
   51094             :                     XmlExpr *x = (XmlExpr *)
   51095             :                         makeXmlExpr(IS_XMLPARSE, NULL, NIL,
   51096             :                                     list_make2((yyvsp[-2].node), makeBoolAConst((yyvsp[-1].boolean), -1)),
   51097             :                                     (yylsp[-5]));
   51098             : 
   51099             :                     x->xmloption = (yyvsp[-3].ival);
   51100             :                     (yyval.node) = (Node *) x;
   51101             :                 }
   51102             : #line 51103 "gram.c"
   51103         140 :     break;
   51104             : 
   51105          30 :   case 2169: /* func_expr_common_subexpr: XMLPI '(' NAME_P ColLabel ')'  */
   51106             : #line 16002 "gram.y"
   51107             :                                 {
   51108             :                     (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-1].str), NULL, NIL, (yylsp[-4]));
   51109             :                 }
   51110             : #line 51111 "gram.c"
   51111          30 :     break;
   51112             : 
   51113          50 :   case 2170: /* func_expr_common_subexpr: XMLPI '(' NAME_P ColLabel ',' a_expr ')'  */
   51114             : #line 16006 "gram.y"
   51115             :                                 {
   51116             :                     (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-3].str), NULL, list_make1((yyvsp[-1].node)), (yylsp[-6]));
   51117             :                 }
   51118             : #line 51119 "gram.c"
   51119          50 :     break;
   51120             : 
   51121          68 :   case 2171: /* func_expr_common_subexpr: XMLROOT '(' a_expr ',' xml_root_version opt_xml_root_standalone ')'  */
   51122             : #line 16010 "gram.y"
   51123             :                                 {
   51124             :                     (yyval.node) = makeXmlExpr(IS_XMLROOT, NULL, NIL,
   51125             :                                      list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[-1].node)), (yylsp[-6]));
   51126             :                 }
   51127             : #line 51128 "gram.c"
   51128          68 :     break;
   51129             : 
   51130         190 :   case 2172: /* func_expr_common_subexpr: XMLSERIALIZE '(' document_or_content a_expr AS SimpleTypename xml_indent_option ')'  */
   51131             : #line 16015 "gram.y"
   51132             :                                 {
   51133             :                     XmlSerialize *n = makeNode(XmlSerialize);
   51134             : 
   51135             :                     n->xmloption = (yyvsp[-5].ival);
   51136             :                     n->expr = (yyvsp[-4].node);
   51137             :                     n->typeName = (yyvsp[-2].typnam);
   51138             :                     n->indent = (yyvsp[-1].boolean);
   51139             :                     n->location = (yylsp[-7]);
   51140             :                     (yyval.node) = (Node *) n;
   51141             :                 }
   51142             : #line 51143 "gram.c"
   51143         190 :     break;
   51144             : 
   51145          90 :   case 2173: /* func_expr_common_subexpr: JSON_OBJECT '(' func_arg_list ')'  */
   51146             : #line 16026 "gram.y"
   51147             :                                 {
   51148             :                     /* Support for legacy (non-standard) json_object() */
   51149             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("json_object"),
   51150             :                                                (yyvsp[-1].list), COERCE_EXPLICIT_CALL, (yylsp[-3]));
   51151             :                 }
   51152             : #line 51153 "gram.c"
   51153          90 :     break;
   51154             : 
   51155         288 :   case 2174: /* 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 ')'  */
   51156             : #line 16035 "gram.y"
   51157             :                                 {
   51158             :                     JsonObjectConstructor *n = makeNode(JsonObjectConstructor);
   51159             : 
   51160             :                     n->exprs = (yyvsp[-4].list);
   51161             :                     n->absent_on_null = (yyvsp[-3].boolean);
   51162             :                     n->unique = (yyvsp[-2].boolean);
   51163             :                     n->output = (JsonOutput *) (yyvsp[-1].node);
   51164             :                     n->location = (yylsp[-6]);
   51165             :                     (yyval.node) = (Node *) n;
   51166             :                 }
   51167             : #line 51168 "gram.c"
   51168         288 :     break;
   51169             : 
   51170          92 :   case 2175: /* func_expr_common_subexpr: JSON_OBJECT '(' json_returning_clause_opt ')'  */
   51171             : #line 16046 "gram.y"
   51172             :                                 {
   51173             :                     JsonObjectConstructor *n = makeNode(JsonObjectConstructor);
   51174             : 
   51175             :                     n->exprs = NULL;
   51176             :                     n->absent_on_null = false;
   51177             :                     n->unique = false;
   51178             :                     n->output = (JsonOutput *) (yyvsp[-1].node);
   51179             :                     n->location = (yylsp[-3]);
   51180             :                     (yyval.node) = (Node *) n;
   51181             :                 }
   51182             : #line 51183 "gram.c"
   51183          92 :     break;
   51184             : 
   51185          96 :   case 2176: /* func_expr_common_subexpr: JSON_ARRAY '(' json_value_expr_list json_array_constructor_null_clause_opt json_returning_clause_opt ')'  */
   51186             : #line 16061 "gram.y"
   51187             :                                 {
   51188             :                     JsonArrayConstructor *n = makeNode(JsonArrayConstructor);
   51189             : 
   51190             :                     n->exprs = (yyvsp[-3].list);
   51191             :                     n->absent_on_null = (yyvsp[-2].boolean);
   51192             :                     n->output = (JsonOutput *) (yyvsp[-1].node);
   51193             :                     n->location = (yylsp[-5]);
   51194             :                     (yyval.node) = (Node *) n;
   51195             :                 }
   51196             : #line 51197 "gram.c"
   51197          96 :     break;
   51198             : 
   51199          54 :   case 2177: /* func_expr_common_subexpr: JSON_ARRAY '(' select_no_parens json_format_clause_opt json_returning_clause_opt ')'  */
   51200             : #line 16076 "gram.y"
   51201             :                                 {
   51202             :                     JsonArrayQueryConstructor *n = makeNode(JsonArrayQueryConstructor);
   51203             : 
   51204             :                     n->query = (yyvsp[-3].node);
   51205             :                     n->format = (JsonFormat *) (yyvsp[-2].node);
   51206             :                     n->absent_on_null = true;    /* XXX */
   51207             :                     n->output = (JsonOutput *) (yyvsp[-1].node);
   51208             :                     n->location = (yylsp[-5]);
   51209             :                     (yyval.node) = (Node *) n;
   51210             :                 }
   51211             : #line 51212 "gram.c"
   51212          54 :     break;
   51213             : 
   51214          86 :   case 2178: /* func_expr_common_subexpr: JSON_ARRAY '(' json_returning_clause_opt ')'  */
   51215             : #line 16089 "gram.y"
   51216             :                                 {
   51217             :                     JsonArrayConstructor *n = makeNode(JsonArrayConstructor);
   51218             : 
   51219             :                     n->exprs = NIL;
   51220             :                     n->absent_on_null = true;
   51221             :                     n->output = (JsonOutput *) (yyvsp[-1].node);
   51222             :                     n->location = (yylsp[-3]);
   51223             :                     (yyval.node) = (Node *) n;
   51224             :                 }
   51225             : #line 51226 "gram.c"
   51226          86 :     break;
   51227             : 
   51228         164 :   case 2179: /* func_expr_common_subexpr: JSON '(' json_value_expr json_key_uniqueness_constraint_opt ')'  */
   51229             : #line 16099 "gram.y"
   51230             :                                 {
   51231             :                     JsonParseExpr *n = makeNode(JsonParseExpr);
   51232             : 
   51233             :                     n->expr = (JsonValueExpr *) (yyvsp[-2].node);
   51234             :                     n->unique_keys = (yyvsp[-1].boolean);
   51235             :                     n->output = NULL;
   51236             :                     n->location = (yylsp[-4]);
   51237             :                     (yyval.node) = (Node *) n;
   51238             :                 }
   51239             : #line 51240 "gram.c"
   51240         164 :     break;
   51241             : 
   51242         112 :   case 2180: /* func_expr_common_subexpr: JSON_SCALAR '(' a_expr ')'  */
   51243             : #line 16109 "gram.y"
   51244             :                                 {
   51245             :                     JsonScalarExpr *n = makeNode(JsonScalarExpr);
   51246             : 
   51247             :                     n->expr = (Expr *) (yyvsp[-1].node);
   51248             :                     n->output = NULL;
   51249             :                     n->location = (yylsp[-3]);
   51250             :                     (yyval.node) = (Node *) n;
   51251             :                 }
   51252             : #line 51253 "gram.c"
   51253         112 :     break;
   51254             : 
   51255          90 :   case 2181: /* func_expr_common_subexpr: JSON_SERIALIZE '(' json_value_expr json_returning_clause_opt ')'  */
   51256             : #line 16118 "gram.y"
   51257             :                                 {
   51258             :                     JsonSerializeExpr *n = makeNode(JsonSerializeExpr);
   51259             : 
   51260             :                     n->expr = (JsonValueExpr *) (yyvsp[-2].node);
   51261             :                     n->output = (JsonOutput *) (yyvsp[-1].node);
   51262             :                     n->location = (yylsp[-4]);
   51263             :                     (yyval.node) = (Node *) n;
   51264             :                 }
   51265             : #line 51266 "gram.c"
   51266          90 :     break;
   51267             : 
   51268         168 :   case 2182: /* func_expr_common_subexpr: MERGE_ACTION '(' ')'  */
   51269             : #line 16127 "gram.y"
   51270             :                                 {
   51271             :                     MergeSupportFunc *m = makeNode(MergeSupportFunc);
   51272             : 
   51273             :                     m->msftype = TEXTOID;
   51274             :                     m->location = (yylsp[-2]);
   51275             :                     (yyval.node) = (Node *) m;
   51276             :                 }
   51277             : #line 51278 "gram.c"
   51278         168 :     break;
   51279             : 
   51280         906 :   case 2183: /* 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 ')'  */
   51281             : #line 16141 "gram.y"
   51282             :                                 {
   51283             :                     JsonFuncExpr *n = makeNode(JsonFuncExpr);
   51284             : 
   51285             :                     n->op = JSON_QUERY_OP;
   51286             :                     n->context_item = (JsonValueExpr *) (yyvsp[-8].node);
   51287             :                     n->pathspec = (yyvsp[-6].node);
   51288             :                     n->passing = (yyvsp[-5].list);
   51289             :                     n->output = (JsonOutput *) (yyvsp[-4].node);
   51290             :                     n->wrapper = (yyvsp[-3].ival);
   51291             :                     n->quotes = (yyvsp[-2].ival);
   51292             :                     n->on_empty = (JsonBehavior *) linitial((yyvsp[-1].list));
   51293             :                     n->on_error = (JsonBehavior *) lsecond((yyvsp[-1].list));
   51294             :                     n->location = (yylsp[-10]);
   51295             :                     (yyval.node) = (Node *) n;
   51296             :                 }
   51297             : #line 51298 "gram.c"
   51298         906 :     break;
   51299             : 
   51300         162 :   case 2184: /* func_expr_common_subexpr: JSON_EXISTS '(' json_value_expr ',' a_expr json_passing_clause_opt json_on_error_clause_opt ')'  */
   51301             : #line 16160 "gram.y"
   51302             :                                 {
   51303             :                     JsonFuncExpr *n = makeNode(JsonFuncExpr);
   51304             : 
   51305             :                     n->op = JSON_EXISTS_OP;
   51306             :                     n->context_item = (JsonValueExpr *) (yyvsp[-5].node);
   51307             :                     n->pathspec = (yyvsp[-3].node);
   51308             :                     n->passing = (yyvsp[-2].list);
   51309             :                     n->output = NULL;
   51310             :                     n->on_error = (JsonBehavior *) (yyvsp[-1].node);
   51311             :                     n->location = (yylsp[-7]);
   51312             :                     (yyval.node) = (Node *) n;
   51313             :                 }
   51314             : #line 51315 "gram.c"
   51315         162 :     break;
   51316             : 
   51317         492 :   case 2185: /* func_expr_common_subexpr: JSON_VALUE '(' json_value_expr ',' a_expr json_passing_clause_opt json_returning_clause_opt json_behavior_clause_opt ')'  */
   51318             : #line 16177 "gram.y"
   51319             :                                 {
   51320             :                     JsonFuncExpr *n = makeNode(JsonFuncExpr);
   51321             : 
   51322             :                     n->op = JSON_VALUE_OP;
   51323             :                     n->context_item = (JsonValueExpr *) (yyvsp[-6].node);
   51324             :                     n->pathspec = (yyvsp[-4].node);
   51325             :                     n->passing = (yyvsp[-3].list);
   51326             :                     n->output = (JsonOutput *) (yyvsp[-2].node);
   51327             :                     n->on_empty = (JsonBehavior *) linitial((yyvsp[-1].list));
   51328             :                     n->on_error = (JsonBehavior *) lsecond((yyvsp[-1].list));
   51329             :                     n->location = (yylsp[-8]);
   51330             :                     (yyval.node) = (Node *) n;
   51331             :                 }
   51332             : #line 51333 "gram.c"
   51333         492 :     break;
   51334             : 
   51335          24 :   case 2186: /* xml_root_version: VERSION_P a_expr  */
   51336             : #line 16197 "gram.y"
   51337             :                                 { (yyval.node) = (yyvsp[0].node); }
   51338             : #line 51339 "gram.c"
   51339          24 :     break;
   51340             : 
   51341          44 :   case 2187: /* xml_root_version: VERSION_P NO VALUE_P  */
   51342             : #line 16199 "gram.y"
   51343             :                                 { (yyval.node) = makeNullAConst(-1); }
   51344             : #line 51345 "gram.c"
   51345          44 :     break;
   51346             : 
   51347          26 :   case 2188: /* opt_xml_root_standalone: ',' STANDALONE_P YES_P  */
   51348             : #line 16203 "gram.y"
   51349             :                                 { (yyval.node) = makeIntConst(XML_STANDALONE_YES, -1); }
   51350             : #line 51351 "gram.c"
   51351          26 :     break;
   51352             : 
   51353          12 :   case 2189: /* opt_xml_root_standalone: ',' STANDALONE_P NO  */
   51354             : #line 16205 "gram.y"
   51355             :                                 { (yyval.node) = makeIntConst(XML_STANDALONE_NO, -1); }
   51356             : #line 51357 "gram.c"
   51357          12 :     break;
   51358             : 
   51359          12 :   case 2190: /* opt_xml_root_standalone: ',' STANDALONE_P NO VALUE_P  */
   51360             : #line 16207 "gram.y"
   51361             :                                 { (yyval.node) = makeIntConst(XML_STANDALONE_NO_VALUE, -1); }
   51362             : #line 51363 "gram.c"
   51363          12 :     break;
   51364             : 
   51365          18 :   case 2191: /* opt_xml_root_standalone: %empty  */
   51366             : #line 16209 "gram.y"
   51367             :                                 { (yyval.node) = makeIntConst(XML_STANDALONE_OMITTED, -1); }
   51368             : #line 51369 "gram.c"
   51369          18 :     break;
   51370             : 
   51371          56 :   case 2192: /* xml_attributes: XMLATTRIBUTES '(' xml_attribute_list ')'  */
   51372             : #line 16212 "gram.y"
   51373             :                                                                 { (yyval.list) = (yyvsp[-1].list); }
   51374             : #line 51375 "gram.c"
   51375          56 :     break;
   51376             : 
   51377          88 :   case 2193: /* xml_attribute_list: xml_attribute_el  */
   51378             : #line 16215 "gram.y"
   51379             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].target)); }
   51380             : #line 51381 "gram.c"
   51381          88 :     break;
   51382             : 
   51383         144 :   case 2194: /* xml_attribute_list: xml_attribute_list ',' xml_attribute_el  */
   51384             : #line 16216 "gram.y"
   51385             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
   51386             : #line 51387 "gram.c"
   51387         144 :     break;
   51388             : 
   51389         106 :   case 2195: /* xml_attribute_el: a_expr AS ColLabel  */
   51390             : #line 16220 "gram.y"
   51391             :                                 {
   51392             :                     (yyval.target) = makeNode(ResTarget);
   51393             :                     (yyval.target)->name = (yyvsp[0].str);
   51394             :                     (yyval.target)->indirection = NIL;
   51395             :                     (yyval.target)->val = (Node *) (yyvsp[-2].node);
   51396             :                     (yyval.target)->location = (yylsp[-2]);
   51397             :                 }
   51398             : #line 51399 "gram.c"
   51399         106 :     break;
   51400             : 
   51401         126 :   case 2196: /* xml_attribute_el: a_expr  */
   51402             : #line 16228 "gram.y"
   51403             :                                 {
   51404             :                     (yyval.target) = makeNode(ResTarget);
   51405             :                     (yyval.target)->name = NULL;
   51406             :                     (yyval.target)->indirection = NIL;
   51407             :                     (yyval.target)->val = (Node *) (yyvsp[0].node);
   51408             :                     (yyval.target)->location = (yylsp[0]);
   51409             :                 }
   51410             : #line 51411 "gram.c"
   51411         126 :     break;
   51412             : 
   51413         162 :   case 2197: /* document_or_content: DOCUMENT_P  */
   51414             : #line 16237 "gram.y"
   51415             :                                                                         { (yyval.ival) = XMLOPTION_DOCUMENT; }
   51416             : #line 51417 "gram.c"
   51417         162 :     break;
   51418             : 
   51419         180 :   case 2198: /* document_or_content: CONTENT_P  */
   51420             : #line 16238 "gram.y"
   51421             :                                                                                                 { (yyval.ival) = XMLOPTION_CONTENT; }
   51422             : #line 51423 "gram.c"
   51423         180 :     break;
   51424             : 
   51425         120 :   case 2199: /* xml_indent_option: INDENT  */
   51426             : #line 16241 "gram.y"
   51427             :                                                                                 { (yyval.boolean) = true; }
   51428             : #line 51429 "gram.c"
   51429         120 :     break;
   51430             : 
   51431          24 :   case 2200: /* xml_indent_option: NO INDENT  */
   51432             : #line 16242 "gram.y"
   51433             :                                                                                                 { (yyval.boolean) = false; }
   51434             : #line 51435 "gram.c"
   51435          24 :     break;
   51436             : 
   51437          46 :   case 2201: /* xml_indent_option: %empty  */
   51438             : #line 16243 "gram.y"
   51439             :                                                                                                 { (yyval.boolean) = false; }
   51440             : #line 51441 "gram.c"
   51441          46 :     break;
   51442             : 
   51443           0 :   case 2202: /* xml_whitespace_option: PRESERVE WHITESPACE_P  */
   51444             : #line 16246 "gram.y"
   51445             :                                                         { (yyval.boolean) = true; }
   51446             : #line 51447 "gram.c"
   51447           0 :     break;
   51448             : 
   51449           2 :   case 2203: /* xml_whitespace_option: STRIP_P WHITESPACE_P  */
   51450             : #line 16247 "gram.y"
   51451             :                                                                                 { (yyval.boolean) = false; }
   51452             : #line 51453 "gram.c"
   51453           2 :     break;
   51454             : 
   51455         138 :   case 2204: /* xml_whitespace_option: %empty  */
   51456             : #line 16248 "gram.y"
   51457             :                                                                                                 { (yyval.boolean) = false; }
   51458             : #line 51459 "gram.c"
   51459         138 :     break;
   51460             : 
   51461         226 :   case 2205: /* xmlexists_argument: PASSING c_expr  */
   51462             : #line 16254 "gram.y"
   51463             :                                 {
   51464             :                     (yyval.node) = (yyvsp[0].node);
   51465             :                 }
   51466             : #line 51467 "gram.c"
   51467         226 :     break;
   51468             : 
   51469           0 :   case 2206: /* xmlexists_argument: PASSING c_expr xml_passing_mech  */
   51470             : #line 16258 "gram.y"
   51471             :                                 {
   51472             :                     (yyval.node) = (yyvsp[-1].node);
   51473             :                 }
   51474             : #line 51475 "gram.c"
   51475           0 :     break;
   51476             : 
   51477          42 :   case 2207: /* xmlexists_argument: PASSING xml_passing_mech c_expr  */
   51478             : #line 16262 "gram.y"
   51479             :                                 {
   51480             :                     (yyval.node) = (yyvsp[0].node);
   51481             :                 }
   51482             : #line 51483 "gram.c"
   51483          42 :     break;
   51484             : 
   51485           6 :   case 2208: /* xmlexists_argument: PASSING xml_passing_mech c_expr xml_passing_mech  */
   51486             : #line 16266 "gram.y"
   51487             :                                 {
   51488             :                     (yyval.node) = (yyvsp[-1].node);
   51489             :                 }
   51490             : #line 51491 "gram.c"
   51491           6 :     break;
   51492             : 
   51493         348 :   case 2211: /* within_group_clause: WITHIN GROUP_P '(' sort_clause ')'  */
   51494             : #line 16281 "gram.y"
   51495             :                                                                         { (yyval.list) = (yyvsp[-1].list); }
   51496             : #line 51497 "gram.c"
   51497         348 :     break;
   51498             : 
   51499      299914 :   case 2212: /* within_group_clause: %empty  */
   51500             : #line 16282 "gram.y"
   51501             :                                                                                                 { (yyval.list) = NIL; }
   51502             : #line 51503 "gram.c"
   51503      299914 :     break;
   51504             : 
   51505         836 :   case 2213: /* filter_clause: FILTER '(' WHERE a_expr ')'  */
   51506             : #line 16286 "gram.y"
   51507             :                                                                                 { (yyval.node) = (yyvsp[-1].node); }
   51508             : #line 51509 "gram.c"
   51509         836 :     break;
   51510             : 
   51511      299732 :   case 2214: /* filter_clause: %empty  */
   51512             : #line 16287 "gram.y"
   51513             :                                                                                                 { (yyval.node) = NULL; }
   51514             : #line 51515 "gram.c"
   51515      299732 :     break;
   51516             : 
   51517         528 :   case 2215: /* window_clause: WINDOW window_definition_list  */
   51518             : #line 16295 "gram.y"
   51519             :                                                                         { (yyval.list) = (yyvsp[0].list); }
   51520             : #line 51521 "gram.c"
   51521         528 :     break;
   51522             : 
   51523      454186 :   case 2216: /* window_clause: %empty  */
   51524             : #line 16296 "gram.y"
   51525             :                                                                                                 { (yyval.list) = NIL; }
   51526             : #line 51527 "gram.c"
   51527      454186 :     break;
   51528             : 
   51529         528 :   case 2217: /* window_definition_list: window_definition  */
   51530             : #line 16300 "gram.y"
   51531             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].windef)); }
   51532             : #line 51533 "gram.c"
   51533         528 :     break;
   51534             : 
   51535          12 :   case 2218: /* window_definition_list: window_definition_list ',' window_definition  */
   51536             : #line 16302 "gram.y"
   51537             :                                                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].windef)); }
   51538             : #line 51539 "gram.c"
   51539          12 :     break;
   51540             : 
   51541         540 :   case 2219: /* window_definition: ColId AS window_specification  */
   51542             : #line 16307 "gram.y"
   51543             :                                 {
   51544             :                     WindowDef  *n = (yyvsp[0].windef);
   51545             : 
   51546             :                     n->name = (yyvsp[-2].str);
   51547             :                     (yyval.windef) = n;
   51548             :                 }
   51549             : #line 51550 "gram.c"
   51550         540 :     break;
   51551             : 
   51552        2460 :   case 2220: /* over_clause: OVER window_specification  */
   51553             : #line 16316 "gram.y"
   51554             :                                 { (yyval.windef) = (yyvsp[0].windef); }
   51555             : #line 51556 "gram.c"
   51556        2460 :     break;
   51557             : 
   51558         942 :   case 2221: /* over_clause: OVER ColId  */
   51559             : #line 16318 "gram.y"
   51560             :                                 {
   51561             :                     WindowDef  *n = makeNode(WindowDef);
   51562             : 
   51563             :                     n->name = (yyvsp[0].str);
   51564             :                     n->refname = NULL;
   51565             :                     n->partitionClause = NIL;
   51566             :                     n->orderClause = NIL;
   51567             :                     n->frameOptions = FRAMEOPTION_DEFAULTS;
   51568             :                     n->startOffset = NULL;
   51569             :                     n->endOffset = NULL;
   51570             :                     n->location = (yylsp[0]);
   51571             :                     (yyval.windef) = n;
   51572             :                 }
   51573             : #line 51574 "gram.c"
   51574         942 :     break;
   51575             : 
   51576      297160 :   case 2222: /* over_clause: %empty  */
   51577             : #line 16332 "gram.y"
   51578             :                                 { (yyval.windef) = NULL; }
   51579             : #line 51580 "gram.c"
   51580      297160 :     break;
   51581             : 
   51582        3000 :   case 2223: /* window_specification: '(' opt_existing_window_name opt_partition_clause opt_sort_clause opt_frame_clause ')'  */
   51583             : #line 16337 "gram.y"
   51584             :                                 {
   51585             :                     WindowDef  *n = makeNode(WindowDef);
   51586             : 
   51587             :                     n->name = NULL;
   51588             :                     n->refname = (yyvsp[-4].str);
   51589             :                     n->partitionClause = (yyvsp[-3].list);
   51590             :                     n->orderClause = (yyvsp[-2].list);
   51591             :                     /* copy relevant fields of opt_frame_clause */
   51592             :                     n->frameOptions = (yyvsp[-1].windef)->frameOptions;
   51593             :                     n->startOffset = (yyvsp[-1].windef)->startOffset;
   51594             :                     n->endOffset = (yyvsp[-1].windef)->endOffset;
   51595             :                     n->location = (yylsp[-5]);
   51596             :                     (yyval.windef) = n;
   51597             :                 }
   51598             : #line 51599 "gram.c"
   51599        3000 :     break;
   51600             : 
   51601          30 :   case 2224: /* opt_existing_window_name: ColId  */
   51602             : #line 16363 "gram.y"
   51603             :                                                                         { (yyval.str) = (yyvsp[0].str); }
   51604             : #line 51605 "gram.c"
   51605          30 :     break;
   51606             : 
   51607        2976 :   case 2225: /* opt_existing_window_name: %empty  */
   51608             : #line 16364 "gram.y"
   51609             :                                                                                         { (yyval.str) = NULL; }
   51610             : #line 51611 "gram.c"
   51611        2976 :     break;
   51612             : 
   51613         822 :   case 2226: /* opt_partition_clause: PARTITION BY expr_list  */
   51614             : #line 16367 "gram.y"
   51615             :                                                         { (yyval.list) = (yyvsp[0].list); }
   51616             : #line 51617 "gram.c"
   51617         822 :     break;
   51618             : 
   51619        2178 :   case 2227: /* opt_partition_clause: %empty  */
   51620             : #line 16368 "gram.y"
   51621             :                                                                                                 { (yyval.list) = NIL; }
   51622             : #line 51623 "gram.c"
   51623        2178 :     break;
   51624             : 
   51625         796 :   case 2228: /* opt_frame_clause: RANGE frame_extent opt_window_exclusion_clause  */
   51626             : #line 16377 "gram.y"
   51627             :                                 {
   51628             :                     WindowDef  *n = (yyvsp[-1].windef);
   51629             : 
   51630             :                     n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_RANGE;
   51631             :                     n->frameOptions |= (yyvsp[0].ival);
   51632             :                     (yyval.windef) = n;
   51633             :                 }
   51634             : #line 51635 "gram.c"
   51635         796 :     break;
   51636             : 
   51637         618 :   case 2229: /* opt_frame_clause: ROWS frame_extent opt_window_exclusion_clause  */
   51638             : #line 16385 "gram.y"
   51639             :                                 {
   51640             :                     WindowDef  *n = (yyvsp[-1].windef);
   51641             : 
   51642             :                     n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_ROWS;
   51643             :                     n->frameOptions |= (yyvsp[0].ival);
   51644             :                     (yyval.windef) = n;
   51645             :                 }
   51646             : #line 51647 "gram.c"
   51647         618 :     break;
   51648             : 
   51649         204 :   case 2230: /* opt_frame_clause: GROUPS frame_extent opt_window_exclusion_clause  */
   51650             : #line 16393 "gram.y"
   51651             :                                 {
   51652             :                     WindowDef  *n = (yyvsp[-1].windef);
   51653             : 
   51654             :                     n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_GROUPS;
   51655             :                     n->frameOptions |= (yyvsp[0].ival);
   51656             :                     (yyval.windef) = n;
   51657             :                 }
   51658             : #line 51659 "gram.c"
   51659         204 :     break;
   51660             : 
   51661        1382 :   case 2231: /* opt_frame_clause: %empty  */
   51662             : #line 16401 "gram.y"
   51663             :                                 {
   51664             :                     WindowDef  *n = makeNode(WindowDef);
   51665             : 
   51666             :                     n->frameOptions = FRAMEOPTION_DEFAULTS;
   51667             :                     n->startOffset = NULL;
   51668             :                     n->endOffset = NULL;
   51669             :                     (yyval.windef) = n;
   51670             :                 }
   51671             : #line 51672 "gram.c"
   51672        1382 :     break;
   51673             : 
   51674           6 :   case 2232: /* frame_extent: frame_bound  */
   51675             : #line 16412 "gram.y"
   51676             :                                 {
   51677             :                     WindowDef  *n = (yyvsp[0].windef);
   51678             : 
   51679             :                     /* reject invalid cases */
   51680             :                     if (n->frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
   51681             :                         ereport(ERROR,
   51682             :                                 (errcode(ERRCODE_WINDOWING_ERROR),
   51683             :                                  errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
   51684             :                                  parser_errposition((yylsp[0]))));
   51685             :                     if (n->frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING)
   51686             :                         ereport(ERROR,
   51687             :                                 (errcode(ERRCODE_WINDOWING_ERROR),
   51688             :                                  errmsg("frame starting from following row cannot end with current row"),
   51689             :                                  parser_errposition((yylsp[0]))));
   51690             :                     n->frameOptions |= FRAMEOPTION_END_CURRENT_ROW;
   51691             :                     (yyval.windef) = n;
   51692             :                 }
   51693             : #line 51694 "gram.c"
   51694           6 :     break;
   51695             : 
   51696        1612 :   case 2233: /* frame_extent: BETWEEN frame_bound AND frame_bound  */
   51697             : #line 16430 "gram.y"
   51698             :                                 {
   51699             :                     WindowDef  *n1 = (yyvsp[-2].windef);
   51700             :                     WindowDef  *n2 = (yyvsp[0].windef);
   51701             : 
   51702             :                     /* form merged options */
   51703             :                     int     frameOptions = n1->frameOptions;
   51704             :                     /* shift converts START_ options to END_ options */
   51705             :                     frameOptions |= n2->frameOptions << 1;
   51706             :                     frameOptions |= FRAMEOPTION_BETWEEN;
   51707             :                     /* reject invalid cases */
   51708             :                     if (frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
   51709             :                         ereport(ERROR,
   51710             :                                 (errcode(ERRCODE_WINDOWING_ERROR),
   51711             :                                  errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
   51712             :                                  parser_errposition((yylsp[-2]))));
   51713             :                     if (frameOptions & FRAMEOPTION_END_UNBOUNDED_PRECEDING)
   51714             :                         ereport(ERROR,
   51715             :                                 (errcode(ERRCODE_WINDOWING_ERROR),
   51716             :                                  errmsg("frame end cannot be UNBOUNDED PRECEDING"),
   51717             :                                  parser_errposition((yylsp[0]))));
   51718             :                     if ((frameOptions & FRAMEOPTION_START_CURRENT_ROW) &&
   51719             :                         (frameOptions & FRAMEOPTION_END_OFFSET_PRECEDING))
   51720             :                         ereport(ERROR,
   51721             :                                 (errcode(ERRCODE_WINDOWING_ERROR),
   51722             :                                  errmsg("frame starting from current row cannot have preceding rows"),
   51723             :                                  parser_errposition((yylsp[0]))));
   51724             :                     if ((frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING) &&
   51725             :                         (frameOptions & (FRAMEOPTION_END_OFFSET_PRECEDING |
   51726             :                                          FRAMEOPTION_END_CURRENT_ROW)))
   51727             :                         ereport(ERROR,
   51728             :                                 (errcode(ERRCODE_WINDOWING_ERROR),
   51729             :                                  errmsg("frame starting from following row cannot have preceding rows"),
   51730             :                                  parser_errposition((yylsp[0]))));
   51731             :                     n1->frameOptions = frameOptions;
   51732             :                     n1->endOffset = n2->startOffset;
   51733             :                     (yyval.windef) = n1;
   51734             :                 }
   51735             : #line 51736 "gram.c"
   51736        1612 :     break;
   51737             : 
   51738         198 :   case 2234: /* frame_bound: UNBOUNDED PRECEDING  */
   51739             : #line 16476 "gram.y"
   51740             :                                 {
   51741             :                     WindowDef  *n = makeNode(WindowDef);
   51742             : 
   51743             :                     n->frameOptions = FRAMEOPTION_START_UNBOUNDED_PRECEDING;
   51744             :                     n->startOffset = NULL;
   51745             :                     n->endOffset = NULL;
   51746             :                     (yyval.windef) = n;
   51747             :                 }
   51748             : #line 51749 "gram.c"
   51749         198 :     break;
   51750             : 
   51751         376 :   case 2235: /* frame_bound: UNBOUNDED FOLLOWING  */
   51752             : #line 16485 "gram.y"
   51753             :                                 {
   51754             :                     WindowDef  *n = makeNode(WindowDef);
   51755             : 
   51756             :                     n->frameOptions = FRAMEOPTION_START_UNBOUNDED_FOLLOWING;
   51757             :                     n->startOffset = NULL;
   51758             :                     n->endOffset = NULL;
   51759             :                     (yyval.windef) = n;
   51760             :                 }
   51761             : #line 51762 "gram.c"
   51762         376 :     break;
   51763             : 
   51764         604 :   case 2236: /* frame_bound: CURRENT_P ROW  */
   51765             : #line 16494 "gram.y"
   51766             :                                 {
   51767             :                     WindowDef  *n = makeNode(WindowDef);
   51768             : 
   51769             :                     n->frameOptions = FRAMEOPTION_START_CURRENT_ROW;
   51770             :                     n->startOffset = NULL;
   51771             :                     n->endOffset = NULL;
   51772             :                     (yyval.windef) = n;
   51773             :                 }
   51774             : #line 51775 "gram.c"
   51775         604 :     break;
   51776             : 
   51777         900 :   case 2237: /* frame_bound: a_expr PRECEDING  */
   51778             : #line 16503 "gram.y"
   51779             :                                 {
   51780             :                     WindowDef  *n = makeNode(WindowDef);
   51781             : 
   51782             :                     n->frameOptions = FRAMEOPTION_START_OFFSET_PRECEDING;
   51783             :                     n->startOffset = (yyvsp[-1].node);
   51784             :                     n->endOffset = NULL;
   51785             :                     (yyval.windef) = n;
   51786             :                 }
   51787             : #line 51788 "gram.c"
   51788         900 :     break;
   51789             : 
   51790        1152 :   case 2238: /* frame_bound: a_expr FOLLOWING  */
   51791             : #line 16512 "gram.y"
   51792             :                                 {
   51793             :                     WindowDef  *n = makeNode(WindowDef);
   51794             : 
   51795             :                     n->frameOptions = FRAMEOPTION_START_OFFSET_FOLLOWING;
   51796             :                     n->startOffset = (yyvsp[-1].node);
   51797             :                     n->endOffset = NULL;
   51798             :                     (yyval.windef) = n;
   51799             :                 }
   51800             : #line 51801 "gram.c"
   51801        1152 :     break;
   51802             : 
   51803          84 :   case 2239: /* opt_window_exclusion_clause: EXCLUDE CURRENT_P ROW  */
   51804             : #line 16523 "gram.y"
   51805             :                                                 { (yyval.ival) = FRAMEOPTION_EXCLUDE_CURRENT_ROW; }
   51806             : #line 51807 "gram.c"
   51807          84 :     break;
   51808             : 
   51809          96 :   case 2240: /* opt_window_exclusion_clause: EXCLUDE GROUP_P  */
   51810             : #line 16524 "gram.y"
   51811             :                                                         { (yyval.ival) = FRAMEOPTION_EXCLUDE_GROUP; }
   51812             : #line 51813 "gram.c"
   51813          96 :     break;
   51814             : 
   51815         150 :   case 2241: /* opt_window_exclusion_clause: EXCLUDE TIES  */
   51816             : #line 16525 "gram.y"
   51817             :                                                         { (yyval.ival) = FRAMEOPTION_EXCLUDE_TIES; }
   51818             : #line 51819 "gram.c"
   51819         150 :     break;
   51820             : 
   51821          18 :   case 2242: /* opt_window_exclusion_clause: EXCLUDE NO OTHERS  */
   51822             : #line 16526 "gram.y"
   51823             :                                                         { (yyval.ival) = 0; }
   51824             : #line 51825 "gram.c"
   51825          18 :     break;
   51826             : 
   51827        1270 :   case 2243: /* opt_window_exclusion_clause: %empty  */
   51828             : #line 16527 "gram.y"
   51829             :                                                                 { (yyval.ival) = 0; }
   51830             : #line 51831 "gram.c"
   51831        1270 :     break;
   51832             : 
   51833           0 :   case 2244: /* row: ROW '(' expr_list ')'  */
   51834             : #line 16541 "gram.y"
   51835             :                                                                         { (yyval.list) = (yyvsp[-1].list); }
   51836             : #line 51837 "gram.c"
   51837           0 :     break;
   51838             : 
   51839           0 :   case 2245: /* row: ROW '(' ')'  */
   51840             : #line 16542 "gram.y"
   51841             :                                                                                         { (yyval.list) = NIL; }
   51842             : #line 51843 "gram.c"
   51843           0 :     break;
   51844             : 
   51845        1572 :   case 2246: /* row: '(' expr_list ',' a_expr ')'  */
   51846             : #line 16543 "gram.y"
   51847             :                                                                         { (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
   51848             : #line 51849 "gram.c"
   51849        1572 :     break;
   51850             : 
   51851        3754 :   case 2247: /* explicit_row: ROW '(' expr_list ')'  */
   51852             : #line 16546 "gram.y"
   51853             :                                                                 { (yyval.list) = (yyvsp[-1].list); }
   51854             : #line 51855 "gram.c"
   51855        3754 :     break;
   51856             : 
   51857          30 :   case 2248: /* explicit_row: ROW '(' ')'  */
   51858             : #line 16547 "gram.y"
   51859             :                                                                                         { (yyval.list) = NIL; }
   51860             : #line 51861 "gram.c"
   51861          30 :     break;
   51862             : 
   51863        2124 :   case 2249: /* implicit_row: '(' expr_list ',' a_expr ')'  */
   51864             : #line 16550 "gram.y"
   51865             :                                                         { (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
   51866             : #line 51867 "gram.c"
   51867        2124 :     break;
   51868             : 
   51869       14584 :   case 2250: /* sub_type: ANY  */
   51870             : #line 16553 "gram.y"
   51871             :                                                                                                 { (yyval.ival) = ANY_SUBLINK; }
   51872             : #line 51873 "gram.c"
   51873       14584 :     break;
   51874             : 
   51875           0 :   case 2251: /* sub_type: SOME  */
   51876             : #line 16554 "gram.y"
   51877             :                                                                                                 { (yyval.ival) = ANY_SUBLINK; }
   51878             : #line 51879 "gram.c"
   51879           0 :     break;
   51880             : 
   51881         324 :   case 2252: /* sub_type: ALL  */
   51882             : #line 16555 "gram.y"
   51883             :                                                                                                 { (yyval.ival) = ALL_SUBLINK; }
   51884             : #line 51885 "gram.c"
   51885         324 :     break;
   51886             : 
   51887       10710 :   case 2253: /* all_Op: Op  */
   51888             : #line 16558 "gram.y"
   51889             :                                                                                                 { (yyval.str) = (yyvsp[0].str); }
   51890             : #line 51891 "gram.c"
   51891       10710 :     break;
   51892             : 
   51893       24404 :   case 2254: /* all_Op: MathOp  */
   51894             : #line 16559 "gram.y"
   51895             :                                                                                                 { (yyval.str) = (yyvsp[0].str); }
   51896             : #line 51897 "gram.c"
   51897       24404 :     break;
   51898             : 
   51899          38 :   case 2255: /* MathOp: '+'  */
   51900             : #line 16562 "gram.y"
   51901             :                                                                                         { (yyval.str) = "+"; }
   51902             : #line 51903 "gram.c"
   51903          38 :     break;
   51904             : 
   51905          46 :   case 2256: /* MathOp: '-'  */
   51906             : #line 16563 "gram.y"
   51907             :                                                                                                 { (yyval.str) = "-"; }
   51908             : #line 51909 "gram.c"
   51909          46 :     break;
   51910             : 
   51911          12 :   case 2257: /* MathOp: '*'  */
   51912             : #line 16564 "gram.y"
   51913             :                                                                                                 { (yyval.str) = "*"; }
   51914             : #line 51915 "gram.c"
   51915          12 :     break;
   51916             : 
   51917           0 :   case 2258: /* MathOp: '/'  */
   51918             : #line 16565 "gram.y"
   51919             :                                                                                                 { (yyval.str) = "/"; }
   51920             : #line 51921 "gram.c"
   51921           0 :     break;
   51922             : 
   51923           8 :   case 2259: /* MathOp: '%'  */
   51924             : #line 16566 "gram.y"
   51925             :                                                                                                 { (yyval.str) = "%"; }
   51926             : #line 51927 "gram.c"
   51927           8 :     break;
   51928             : 
   51929           0 :   case 2260: /* MathOp: '^'  */
   51930             : #line 16567 "gram.y"
   51931             :                                                                                                 { (yyval.str) = "^"; }
   51932             : #line 51933 "gram.c"
   51933           0 :     break;
   51934             : 
   51935         746 :   case 2261: /* MathOp: '<'  */
   51936             : #line 16568 "gram.y"
   51937             :                                                                                                 { (yyval.str) = "<"; }
   51938             : #line 51939 "gram.c"
   51939         746 :     break;
   51940             : 
   51941         588 :   case 2262: /* MathOp: '>'  */
   51942             : #line 16569 "gram.y"
   51943             :                                                                                                 { (yyval.str) = ">"; }
   51944             : #line 51945 "gram.c"
   51945         588 :     break;
   51946             : 
   51947       21302 :   case 2263: /* MathOp: '='  */
   51948             : #line 16570 "gram.y"
   51949             :                                                                                                 { (yyval.str) = "="; }
   51950             : #line 51951 "gram.c"
   51951       21302 :     break;
   51952             : 
   51953         612 :   case 2264: /* MathOp: LESS_EQUALS  */
   51954             : #line 16571 "gram.y"
   51955             :                                                                                         { (yyval.str) = "<="; }
   51956             : #line 51957 "gram.c"
   51957         612 :     break;
   51958             : 
   51959         604 :   case 2265: /* MathOp: GREATER_EQUALS  */
   51960             : #line 16572 "gram.y"
   51961             :                                                                                         { (yyval.str) = ">="; }
   51962             : #line 51963 "gram.c"
   51963         604 :     break;
   51964             : 
   51965         448 :   case 2266: /* MathOp: NOT_EQUALS  */
   51966             : #line 16573 "gram.y"
   51967             :                                                                                         { (yyval.str) = "<>"; }
   51968             : #line 51969 "gram.c"
   51969         448 :     break;
   51970             : 
   51971       40428 :   case 2267: /* qual_Op: Op  */
   51972             : #line 16577 "gram.y"
   51973             :                                         { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   51974             : #line 51975 "gram.c"
   51975       40428 :     break;
   51976             : 
   51977       13786 :   case 2268: /* qual_Op: OPERATOR '(' any_operator ')'  */
   51978             : #line 16579 "gram.y"
   51979             :                                         { (yyval.list) = (yyvsp[-1].list); }
   51980             : #line 51981 "gram.c"
   51981       13786 :     break;
   51982             : 
   51983        1414 :   case 2269: /* qual_all_Op: all_Op  */
   51984             : #line 16584 "gram.y"
   51985             :                                         { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   51986             : #line 51987 "gram.c"
   51987        1414 :     break;
   51988             : 
   51989          34 :   case 2270: /* qual_all_Op: OPERATOR '(' any_operator ')'  */
   51990             : #line 16586 "gram.y"
   51991             :                                         { (yyval.list) = (yyvsp[-1].list); }
   51992             : #line 51993 "gram.c"
   51993          34 :     break;
   51994             : 
   51995       14638 :   case 2271: /* subquery_Op: all_Op  */
   51996             : #line 16591 "gram.y"
   51997             :                                         { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   51998             : #line 51999 "gram.c"
   51999       14638 :     break;
   52000             : 
   52001         236 :   case 2272: /* subquery_Op: OPERATOR '(' any_operator ')'  */
   52002             : #line 16593 "gram.y"
   52003             :                                         { (yyval.list) = (yyvsp[-1].list); }
   52004             : #line 52005 "gram.c"
   52005         236 :     break;
   52006             : 
   52007          24 :   case 2273: /* subquery_Op: LIKE  */
   52008             : #line 16595 "gram.y"
   52009             :                                         { (yyval.list) = list_make1(makeString("~~")); }
   52010             : #line 52011 "gram.c"
   52011          24 :     break;
   52012             : 
   52013          12 :   case 2274: /* subquery_Op: NOT_LA LIKE  */
   52014             : #line 16597 "gram.y"
   52015             :                                         { (yyval.list) = list_make1(makeString("!~~")); }
   52016             : #line 52017 "gram.c"
   52017          12 :     break;
   52018             : 
   52019          12 :   case 2275: /* subquery_Op: ILIKE  */
   52020             : #line 16599 "gram.y"
   52021             :                                         { (yyval.list) = list_make1(makeString("~~*")); }
   52022             : #line 52023 "gram.c"
   52023          12 :     break;
   52024             : 
   52025           0 :   case 2276: /* subquery_Op: NOT_LA ILIKE  */
   52026             : #line 16601 "gram.y"
   52027             :                                         { (yyval.list) = list_make1(makeString("!~~*")); }
   52028             : #line 52029 "gram.c"
   52029           0 :     break;
   52030             : 
   52031      152386 :   case 2277: /* expr_list: a_expr  */
   52032             : #line 16613 "gram.y"
   52033             :                                 {
   52034             :                     (yyval.list) = list_make1((yyvsp[0].node));
   52035             :                 }
   52036             : #line 52037 "gram.c"
   52037      152386 :     break;
   52038             : 
   52039      139956 :   case 2278: /* expr_list: expr_list ',' a_expr  */
   52040             : #line 16617 "gram.y"
   52041             :                                 {
   52042             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
   52043             :                 }
   52044             : #line 52045 "gram.c"
   52045      139956 :     break;
   52046             : 
   52047      281762 :   case 2279: /* func_arg_list: func_arg_expr  */
   52048             : #line 16624 "gram.y"
   52049             :                                 {
   52050             :                     (yyval.list) = list_make1((yyvsp[0].node));
   52051             :                 }
   52052             : #line 52053 "gram.c"
   52053      281762 :     break;
   52054             : 
   52055      206284 :   case 2280: /* func_arg_list: func_arg_list ',' func_arg_expr  */
   52056             : #line 16628 "gram.y"
   52057             :                                 {
   52058             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
   52059             :                 }
   52060             : #line 52061 "gram.c"
   52061      206284 :     break;
   52062             : 
   52063      441952 :   case 2281: /* func_arg_expr: a_expr  */
   52064             : #line 16634 "gram.y"
   52065             :                                 {
   52066             :                     (yyval.node) = (yyvsp[0].node);
   52067             :                 }
   52068             : #line 52069 "gram.c"
   52069      441952 :     break;
   52070             : 
   52071       45778 :   case 2282: /* func_arg_expr: param_name COLON_EQUALS a_expr  */
   52072             : #line 16638 "gram.y"
   52073             :                                 {
   52074             :                     NamedArgExpr *na = makeNode(NamedArgExpr);
   52075             : 
   52076             :                     na->name = (yyvsp[-2].str);
   52077             :                     na->arg = (Expr *) (yyvsp[0].node);
   52078             :                     na->argnumber = -1;      /* until determined */
   52079             :                     na->location = (yylsp[-2]);
   52080             :                     (yyval.node) = (Node *) na;
   52081             :                 }
   52082             : #line 52083 "gram.c"
   52083       45778 :     break;
   52084             : 
   52085        1012 :   case 2283: /* func_arg_expr: param_name EQUALS_GREATER a_expr  */
   52086             : #line 16648 "gram.y"
   52087             :                                 {
   52088             :                     NamedArgExpr *na = makeNode(NamedArgExpr);
   52089             : 
   52090             :                     na->name = (yyvsp[-2].str);
   52091             :                     na->arg = (Expr *) (yyvsp[0].node);
   52092             :                     na->argnumber = -1;      /* until determined */
   52093             :                     na->location = (yylsp[-2]);
   52094             :                     (yyval.node) = (Node *) na;
   52095             :                 }
   52096             : #line 52097 "gram.c"
   52097        1012 :     break;
   52098             : 
   52099         188 :   case 2284: /* func_arg_list_opt: func_arg_list  */
   52100             : #line 16659 "gram.y"
   52101             :                                                                         { (yyval.list) = (yyvsp[0].list); }
   52102             : #line 52103 "gram.c"
   52103         188 :     break;
   52104             : 
   52105           0 :   case 2285: /* func_arg_list_opt: %empty  */
   52106             : #line 16660 "gram.y"
   52107             :                                                                                                 { (yyval.list) = NIL; }
   52108             : #line 52109 "gram.c"
   52109           0 :     break;
   52110             : 
   52111        1680 :   case 2286: /* type_list: Typename  */
   52112             : #line 16663 "gram.y"
   52113             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].typnam)); }
   52114             : #line 52115 "gram.c"
   52115        1680 :     break;
   52116             : 
   52117         392 :   case 2287: /* type_list: type_list ',' Typename  */
   52118             : #line 16664 "gram.y"
   52119             :                                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
   52120             : #line 52121 "gram.c"
   52121         392 :     break;
   52122             : 
   52123        7604 :   case 2288: /* array_expr: '[' expr_list ']'  */
   52124             : #line 16668 "gram.y"
   52125             :                                 {
   52126             :                     (yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
   52127             :                 }
   52128             : #line 52129 "gram.c"
   52129        7604 :     break;
   52130             : 
   52131         406 :   case 2289: /* array_expr: '[' array_expr_list ']'  */
   52132             : #line 16672 "gram.y"
   52133             :                                 {
   52134             :                     (yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
   52135             :                 }
   52136             : #line 52137 "gram.c"
   52137         406 :     break;
   52138             : 
   52139          88 :   case 2290: /* array_expr: '[' ']'  */
   52140             : #line 16676 "gram.y"
   52141             :                                 {
   52142             :                     (yyval.node) = makeAArrayExpr(NIL, (yylsp[-1]));
   52143             :                 }
   52144             : #line 52145 "gram.c"
   52145          88 :     break;
   52146             : 
   52147         406 :   case 2291: /* array_expr_list: array_expr  */
   52148             : #line 16681 "gram.y"
   52149             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   52150             : #line 52151 "gram.c"
   52151         406 :     break;
   52152             : 
   52153         330 :   case 2292: /* array_expr_list: array_expr_list ',' array_expr  */
   52154             : #line 16682 "gram.y"
   52155             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   52156             : #line 52157 "gram.c"
   52157         330 :     break;
   52158             : 
   52159        1200 :   case 2293: /* extract_list: extract_arg FROM a_expr  */
   52160             : #line 16688 "gram.y"
   52161             :                                 {
   52162             :                     (yyval.list) = list_make2(makeStringConst((yyvsp[-2].str), (yylsp[-2])), (yyvsp[0].node));
   52163             :                 }
   52164             : #line 52165 "gram.c"
   52165        1200 :     break;
   52166             : 
   52167         990 :   case 2294: /* extract_arg: IDENT  */
   52168             : #line 16697 "gram.y"
   52169             :                                                                                                 { (yyval.str) = (yyvsp[0].str); }
   52170             : #line 52171 "gram.c"
   52171         990 :     break;
   52172             : 
   52173          54 :   case 2295: /* extract_arg: YEAR_P  */
   52174             : #line 16698 "gram.y"
   52175             :                                                                                                 { (yyval.str) = "year"; }
   52176             : #line 52177 "gram.c"
   52177          54 :     break;
   52178             : 
   52179          36 :   case 2296: /* extract_arg: MONTH_P  */
   52180             : #line 16699 "gram.y"
   52181             :                                                                                                 { (yyval.str) = "month"; }
   52182             : #line 52183 "gram.c"
   52183          36 :     break;
   52184             : 
   52185          48 :   case 2297: /* extract_arg: DAY_P  */
   52186             : #line 16700 "gram.y"
   52187             :                                                                                                 { (yyval.str) = "day"; }
   52188             : #line 52189 "gram.c"
   52189          48 :     break;
   52190             : 
   52191          24 :   case 2298: /* extract_arg: HOUR_P  */
   52192             : #line 16701 "gram.y"
   52193             :                                                                                                 { (yyval.str) = "hour"; }
   52194             : #line 52195 "gram.c"
   52195          24 :     break;
   52196             : 
   52197          24 :   case 2299: /* extract_arg: MINUTE_P  */
   52198             : #line 16702 "gram.y"
   52199             :                                                                                                 { (yyval.str) = "minute"; }
   52200             : #line 52201 "gram.c"
   52201          24 :     break;
   52202             : 
   52203          24 :   case 2300: /* extract_arg: SECOND_P  */
   52204             : #line 16703 "gram.y"
   52205             :                                                                                                 { (yyval.str) = "second"; }
   52206             : #line 52207 "gram.c"
   52207          24 :     break;
   52208             : 
   52209           0 :   case 2301: /* extract_arg: Sconst  */
   52210             : #line 16704 "gram.y"
   52211             :                                                                                                 { (yyval.str) = (yyvsp[0].str); }
   52212             : #line 52213 "gram.c"
   52213           0 :     break;
   52214             : 
   52215          24 :   case 2302: /* unicode_normal_form: NFC  */
   52216             : #line 16708 "gram.y"
   52217             :                                                                                                         { (yyval.str) = "NFC"; }
   52218             : #line 52219 "gram.c"
   52219          24 :     break;
   52220             : 
   52221          12 :   case 2303: /* unicode_normal_form: NFD  */
   52222             : #line 16709 "gram.y"
   52223             :                                                                                                 { (yyval.str) = "NFD"; }
   52224             : #line 52225 "gram.c"
   52225          12 :     break;
   52226             : 
   52227          18 :   case 2304: /* unicode_normal_form: NFKC  */
   52228             : #line 16710 "gram.y"
   52229             :                                                                                                 { (yyval.str) = "NFKC"; }
   52230             : #line 52231 "gram.c"
   52231          18 :     break;
   52232             : 
   52233          18 :   case 2305: /* unicode_normal_form: NFKD  */
   52234             : #line 16711 "gram.y"
   52235             :                                                                                                 { (yyval.str) = "NFKD"; }
   52236             : #line 52237 "gram.c"
   52237          18 :     break;
   52238             : 
   52239          34 :   case 2306: /* overlay_list: a_expr PLACING a_expr FROM a_expr FOR a_expr  */
   52240             : #line 16717 "gram.y"
   52241             :                                 {
   52242             :                     /* overlay(A PLACING B FROM C FOR D) is converted to overlay(A, B, C, D) */
   52243             :                     (yyval.list) = list_make4((yyvsp[-6].node), (yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node));
   52244             :                 }
   52245             : #line 52246 "gram.c"
   52246          34 :     break;
   52247             : 
   52248          48 :   case 2307: /* overlay_list: a_expr PLACING a_expr FROM a_expr  */
   52249             : #line 16722 "gram.y"
   52250             :                                 {
   52251             :                     /* overlay(A PLACING B FROM C) is converted to overlay(A, B, C) */
   52252             :                     (yyval.list) = list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node));
   52253             :                 }
   52254             : #line 52255 "gram.c"
   52255          48 :     break;
   52256             : 
   52257         350 :   case 2308: /* position_list: b_expr IN_P b_expr  */
   52258             : #line 16730 "gram.y"
   52259             :                                                                                         { (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-2].node)); }
   52260             : #line 52261 "gram.c"
   52261         350 :     break;
   52262             : 
   52263         122 :   case 2309: /* substr_list: a_expr FROM a_expr FOR a_expr  */
   52264             : #line 16752 "gram.y"
   52265             :                                 {
   52266             :                     (yyval.list) = list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node));
   52267             :                 }
   52268             : #line 52269 "gram.c"
   52269         122 :     break;
   52270             : 
   52271           0 :   case 2310: /* substr_list: a_expr FOR a_expr FROM a_expr  */
   52272             : #line 16756 "gram.y"
   52273             :                                 {
   52274             :                     /* not legal per SQL, but might as well allow it */
   52275             :                     (yyval.list) = list_make3((yyvsp[-4].node), (yyvsp[0].node), (yyvsp[-2].node));
   52276             :                 }
   52277             : #line 52278 "gram.c"
   52278           0 :     break;
   52279             : 
   52280         310 :   case 2311: /* substr_list: a_expr FROM a_expr  */
   52281             : #line 16761 "gram.y"
   52282             :                                 {
   52283             :                     /*
   52284             :                      * Because we aren't restricting data types here, this
   52285             :                      * syntax can end up resolving to textregexsubstr().
   52286             :                      * We've historically allowed that to happen, so continue
   52287             :                      * to accept it.  However, ruleutils.c will reverse-list
   52288             :                      * such a call in regular function call syntax.
   52289             :                      */
   52290             :                     (yyval.list) = list_make2((yyvsp[-2].node), (yyvsp[0].node));
   52291             :                 }
   52292             : #line 52293 "gram.c"
   52293         310 :     break;
   52294             : 
   52295          36 :   case 2312: /* substr_list: a_expr FOR a_expr  */
   52296             : #line 16772 "gram.y"
   52297             :                                 {
   52298             :                     /* not legal per SQL */
   52299             : 
   52300             :                     /*
   52301             :                      * Since there are no cases where this syntax allows
   52302             :                      * a textual FOR value, we forcibly cast the argument
   52303             :                      * to int4.  The possible matches in pg_proc are
   52304             :                      * substring(text,int4) and substring(text,text),
   52305             :                      * and we don't want the parser to choose the latter,
   52306             :                      * which it is likely to do if the second argument
   52307             :                      * is unknown or doesn't have an implicit cast to int4.
   52308             :                      */
   52309             :                     (yyval.list) = list_make3((yyvsp[-2].node), makeIntConst(1, -1),
   52310             :                                     makeTypeCast((yyvsp[0].node),
   52311             :                                                  SystemTypeName("int4"), -1));
   52312             :                 }
   52313             : #line 52314 "gram.c"
   52314          36 :     break;
   52315             : 
   52316         162 :   case 2313: /* substr_list: a_expr SIMILAR a_expr ESCAPE a_expr  */
   52317             : #line 16789 "gram.y"
   52318             :                                 {
   52319             :                     (yyval.list) = list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node));
   52320             :                 }
   52321             : #line 52322 "gram.c"
   52322         162 :     break;
   52323             : 
   52324         560 :   case 2314: /* trim_list: a_expr FROM expr_list  */
   52325             : #line 16794 "gram.y"
   52326             :                                                                         { (yyval.list) = lappend((yyvsp[0].list), (yyvsp[-2].node)); }
   52327             : #line 52328 "gram.c"
   52328         560 :     break;
   52329             : 
   52330          24 :   case 2315: /* trim_list: FROM expr_list  */
   52331             : #line 16795 "gram.y"
   52332             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   52333             : #line 52334 "gram.c"
   52334          24 :     break;
   52335             : 
   52336          86 :   case 2316: /* trim_list: expr_list  */
   52337             : #line 16796 "gram.y"
   52338             :                                                                                                 { (yyval.list) = (yyvsp[0].list); }
   52339             : #line 52340 "gram.c"
   52340          86 :     break;
   52341             : 
   52342        2414 :   case 2317: /* in_expr: select_with_parens  */
   52343             : #line 16800 "gram.y"
   52344             :                                 {
   52345             :                     SubLink    *n = makeNode(SubLink);
   52346             : 
   52347             :                     n->subselect = (yyvsp[0].node);
   52348             :                     /* other fields will be filled later */
   52349             :                     (yyval.node) = (Node *) n;
   52350             :                 }
   52351             : #line 52352 "gram.c"
   52352        2414 :     break;
   52353             : 
   52354       16668 :   case 2318: /* in_expr: '(' expr_list ')'  */
   52355             : #line 16807 "gram.y"
   52356             :                                                                                         { (yyval.node) = (Node *) (yyvsp[-1].list); }
   52357             : #line 52358 "gram.c"
   52358       16668 :     break;
   52359             : 
   52360       53734 :   case 2319: /* case_expr: CASE case_arg when_clause_list case_default END_P  */
   52361             : #line 16818 "gram.y"
   52362             :                                 {
   52363             :                     CaseExpr   *c = makeNode(CaseExpr);
   52364             : 
   52365             :                     c->casetype = InvalidOid; /* not analyzed yet */
   52366             :                     c->arg = (Expr *) (yyvsp[-3].node);
   52367             :                     c->args = (yyvsp[-2].list);
   52368             :                     c->defresult = (Expr *) (yyvsp[-1].node);
   52369             :                     c->location = (yylsp[-4]);
   52370             :                     (yyval.node) = (Node *) c;
   52371             :                 }
   52372             : #line 52373 "gram.c"
   52373       53734 :     break;
   52374             : 
   52375       53734 :   case 2320: /* when_clause_list: when_clause  */
   52376             : #line 16832 "gram.y"
   52377             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   52378             : #line 52379 "gram.c"
   52379       53734 :     break;
   52380             : 
   52381       41912 :   case 2321: /* when_clause_list: when_clause_list when_clause  */
   52382             : #line 16833 "gram.y"
   52383             :                                                                         { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
   52384             : #line 52385 "gram.c"
   52385       41912 :     break;
   52386             : 
   52387       95646 :   case 2322: /* when_clause: WHEN a_expr THEN a_expr  */
   52388             : #line 16838 "gram.y"
   52389             :                                 {
   52390             :                     CaseWhen   *w = makeNode(CaseWhen);
   52391             : 
   52392             :                     w->expr = (Expr *) (yyvsp[-2].node);
   52393             :                     w->result = (Expr *) (yyvsp[0].node);
   52394             :                     w->location = (yylsp[-3]);
   52395             :                     (yyval.node) = (Node *) w;
   52396             :                 }
   52397             : #line 52398 "gram.c"
   52398       95646 :     break;
   52399             : 
   52400       45890 :   case 2323: /* case_default: ELSE a_expr  */
   52401             : #line 16849 "gram.y"
   52402             :                                                                                                 { (yyval.node) = (yyvsp[0].node); }
   52403             : #line 52404 "gram.c"
   52404       45890 :     break;
   52405             : 
   52406        7844 :   case 2324: /* case_default: %empty  */
   52407             : #line 16850 "gram.y"
   52408             :                                                                                                 { (yyval.node) = NULL; }
   52409             : #line 52410 "gram.c"
   52410        7844 :     break;
   52411             : 
   52412        5442 :   case 2325: /* case_arg: a_expr  */
   52413             : #line 16853 "gram.y"
   52414             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   52415             : #line 52416 "gram.c"
   52416        5442 :     break;
   52417             : 
   52418       48292 :   case 2326: /* case_arg: %empty  */
   52419             : #line 16854 "gram.y"
   52420             :                                                                                                 { (yyval.node) = NULL; }
   52421             : #line 52422 "gram.c"
   52422       48292 :     break;
   52423             : 
   52424      580426 :   case 2327: /* columnref: ColId  */
   52425             : #line 16858 "gram.y"
   52426             :                                 {
   52427             :                     (yyval.node) = makeColumnRef((yyvsp[0].str), NIL, (yylsp[0]), yyscanner);
   52428             :                 }
   52429             : #line 52430 "gram.c"
   52430      580426 :     break;
   52431             : 
   52432      929740 :   case 2328: /* columnref: ColId indirection  */
   52433             : #line 16862 "gram.y"
   52434             :                                 {
   52435             :                     (yyval.node) = makeColumnRef((yyvsp[-1].str), (yyvsp[0].list), (yylsp[-1]), yyscanner);
   52436             :                 }
   52437             : #line 52438 "gram.c"
   52438      929740 :     break;
   52439             : 
   52440     1254234 :   case 2329: /* indirection_el: '.' attr_name  */
   52441             : #line 16869 "gram.y"
   52442             :                                 {
   52443             :                     (yyval.node) = (Node *) makeString((yyvsp[0].str));
   52444             :                 }
   52445             : #line 52446 "gram.c"
   52446     1254234 :     break;
   52447             : 
   52448        5922 :   case 2330: /* indirection_el: '.' '*'  */
   52449             : #line 16873 "gram.y"
   52450             :                                 {
   52451             :                     (yyval.node) = (Node *) makeNode(A_Star);
   52452             :                 }
   52453             : #line 52454 "gram.c"
   52454        5922 :     break;
   52455             : 
   52456       11750 :   case 2331: /* indirection_el: '[' a_expr ']'  */
   52457             : #line 16877 "gram.y"
   52458             :                                 {
   52459             :                     A_Indices *ai = makeNode(A_Indices);
   52460             : 
   52461             :                     ai->is_slice = false;
   52462             :                     ai->lidx = NULL;
   52463             :                     ai->uidx = (yyvsp[-1].node);
   52464             :                     (yyval.node) = (Node *) ai;
   52465             :                 }
   52466             : #line 52467 "gram.c"
   52467       11750 :     break;
   52468             : 
   52469         558 :   case 2332: /* indirection_el: '[' opt_slice_bound ':' opt_slice_bound ']'  */
   52470             : #line 16886 "gram.y"
   52471             :                                 {
   52472             :                     A_Indices *ai = makeNode(A_Indices);
   52473             : 
   52474             :                     ai->is_slice = true;
   52475             :                     ai->lidx = (yyvsp[-3].node);
   52476             :                     ai->uidx = (yyvsp[-1].node);
   52477             :                     (yyval.node) = (Node *) ai;
   52478             :                 }
   52479             : #line 52480 "gram.c"
   52480         558 :     break;
   52481             : 
   52482         936 :   case 2333: /* opt_slice_bound: a_expr  */
   52483             : #line 16897 "gram.y"
   52484             :                                                                                                 { (yyval.node) = (yyvsp[0].node); }
   52485             : #line 52486 "gram.c"
   52486         936 :     break;
   52487             : 
   52488         180 :   case 2334: /* opt_slice_bound: %empty  */
   52489             : #line 16898 "gram.y"
   52490             :                                                                                                 { (yyval.node) = NULL; }
   52491             : #line 52492 "gram.c"
   52492         180 :     break;
   52493             : 
   52494     1254750 :   case 2335: /* indirection: indirection_el  */
   52495             : #line 16902 "gram.y"
   52496             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   52497             : #line 52498 "gram.c"
   52498     1254750 :     break;
   52499             : 
   52500        2808 :   case 2336: /* indirection: indirection indirection_el  */
   52501             : #line 16903 "gram.y"
   52502             :                                                                         { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
   52503             : #line 52504 "gram.c"
   52504        2808 :     break;
   52505             : 
   52506      283580 :   case 2337: /* opt_indirection: %empty  */
   52507             : #line 16907 "gram.y"
   52508             :                                                                                                 { (yyval.list) = NIL; }
   52509             : #line 52510 "gram.c"
   52510      283580 :     break;
   52511             : 
   52512       14906 :   case 2338: /* opt_indirection: opt_indirection indirection_el  */
   52513             : #line 16908 "gram.y"
   52514             :                                                                         { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
   52515             : #line 52516 "gram.c"
   52516       14906 :     break;
   52517             : 
   52518         300 :   case 2341: /* json_passing_clause_opt: PASSING json_arguments  */
   52519             : #line 16917 "gram.y"
   52520             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   52521             : #line 52522 "gram.c"
   52522         300 :     break;
   52523             : 
   52524        1700 :   case 2342: /* json_passing_clause_opt: %empty  */
   52525             : #line 16918 "gram.y"
   52526             :                                                                                                 { (yyval.list) = NIL; }
   52527             : #line 52528 "gram.c"
   52528        1700 :     break;
   52529             : 
   52530         300 :   case 2343: /* json_arguments: json_argument  */
   52531             : #line 16922 "gram.y"
   52532             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   52533             : #line 52534 "gram.c"
   52534         300 :     break;
   52535             : 
   52536         126 :   case 2344: /* json_arguments: json_arguments ',' json_argument  */
   52537             : #line 16923 "gram.y"
   52538             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   52539             : #line 52540 "gram.c"
   52540         126 :     break;
   52541             : 
   52542         426 :   case 2345: /* json_argument: json_value_expr AS ColLabel  */
   52543             : #line 16928 "gram.y"
   52544             :                         {
   52545             :                 JsonArgument *n = makeNode(JsonArgument);
   52546             : 
   52547             :                 n->val = (JsonValueExpr *) (yyvsp[-2].node);
   52548             :                 n->name = (yyvsp[0].str);
   52549             :                 (yyval.node) = (Node *) n;
   52550             :             }
   52551             : #line 52552 "gram.c"
   52552         426 :     break;
   52553             : 
   52554          42 :   case 2346: /* json_wrapper_behavior: WITHOUT WRAPPER  */
   52555             : #line 16939 "gram.y"
   52556             :                                                                                 { (yyval.ival) = JSW_NONE; }
   52557             : #line 52558 "gram.c"
   52558          42 :     break;
   52559             : 
   52560           0 :   case 2347: /* json_wrapper_behavior: WITHOUT ARRAY WRAPPER  */
   52561             : #line 16940 "gram.y"
   52562             :                                                                         { (yyval.ival) = JSW_NONE; }
   52563             : #line 52564 "gram.c"
   52564           0 :     break;
   52565             : 
   52566          78 :   case 2348: /* json_wrapper_behavior: WITH WRAPPER  */
   52567             : #line 16941 "gram.y"
   52568             :                                                                                 { (yyval.ival) = JSW_UNCONDITIONAL; }
   52569             : #line 52570 "gram.c"
   52570          78 :     break;
   52571             : 
   52572          12 :   case 2349: /* json_wrapper_behavior: WITH ARRAY WRAPPER  */
   52573             : #line 16942 "gram.y"
   52574             :                                                                         { (yyval.ival) = JSW_UNCONDITIONAL; }
   52575             : #line 52576 "gram.c"
   52576          12 :     break;
   52577             : 
   52578           0 :   case 2350: /* json_wrapper_behavior: WITH CONDITIONAL ARRAY WRAPPER  */
   52579             : #line 16943 "gram.y"
   52580             :                                                                 { (yyval.ival) = JSW_CONDITIONAL; }
   52581             : #line 52582 "gram.c"
   52582           0 :     break;
   52583             : 
   52584          12 :   case 2351: /* json_wrapper_behavior: WITH UNCONDITIONAL ARRAY WRAPPER  */
   52585             : #line 16944 "gram.y"
   52586             :                                                                 { (yyval.ival) = JSW_UNCONDITIONAL; }
   52587             : #line 52588 "gram.c"
   52588          12 :     break;
   52589             : 
   52590          36 :   case 2352: /* json_wrapper_behavior: WITH CONDITIONAL WRAPPER  */
   52591             : #line 16945 "gram.y"
   52592             :                                                                         { (yyval.ival) = JSW_CONDITIONAL; }
   52593             : #line 52594 "gram.c"
   52594          36 :     break;
   52595             : 
   52596           6 :   case 2353: /* json_wrapper_behavior: WITH UNCONDITIONAL WRAPPER  */
   52597             : #line 16946 "gram.y"
   52598             :                                                                 { (yyval.ival) = JSW_UNCONDITIONAL; }
   52599             : #line 52600 "gram.c"
   52600           6 :     break;
   52601             : 
   52602        1514 :   case 2354: /* json_wrapper_behavior: %empty  */
   52603             : #line 16947 "gram.y"
   52604             :                                                                                 { (yyval.ival) = JSW_UNSPEC; }
   52605             : #line 52606 "gram.c"
   52606        1514 :     break;
   52607             : 
   52608         318 :   case 2355: /* json_behavior: DEFAULT a_expr  */
   52609             : #line 16952 "gram.y"
   52610             :                                 { (yyval.node) = (Node *) makeJsonBehavior(JSON_BEHAVIOR_DEFAULT, (yyvsp[0].node), (yylsp[-1])); }
   52611             : #line 52612 "gram.c"
   52612         318 :     break;
   52613             : 
   52614         528 :   case 2356: /* json_behavior: json_behavior_type  */
   52615             : #line 16954 "gram.y"
   52616             :                                 { (yyval.node) = (Node *) makeJsonBehavior((yyvsp[0].ival), NULL, (yylsp[0])); }
   52617             : #line 52618 "gram.c"
   52618         528 :     break;
   52619             : 
   52620         384 :   case 2357: /* json_behavior_type: ERROR_P  */
   52621             : #line 16958 "gram.y"
   52622             :                                         { (yyval.ival) = JSON_BEHAVIOR_ERROR; }
   52623             : #line 52624 "gram.c"
   52624         384 :     break;
   52625             : 
   52626          24 :   case 2358: /* json_behavior_type: NULL_P  */
   52627             : #line 16959 "gram.y"
   52628             :                                         { (yyval.ival) = JSON_BEHAVIOR_NULL; }
   52629             : #line 52630 "gram.c"
   52630          24 :     break;
   52631             : 
   52632           6 :   case 2359: /* json_behavior_type: TRUE_P  */
   52633             : #line 16960 "gram.y"
   52634             :                                         { (yyval.ival) = JSON_BEHAVIOR_TRUE; }
   52635             : #line 52636 "gram.c"
   52636           6 :     break;
   52637             : 
   52638           6 :   case 2360: /* json_behavior_type: FALSE_P  */
   52639             : #line 16961 "gram.y"
   52640             :                                         { (yyval.ival) = JSON_BEHAVIOR_FALSE; }
   52641             : #line 52642 "gram.c"
   52642           6 :     break;
   52643             : 
   52644          12 :   case 2361: /* json_behavior_type: UNKNOWN  */
   52645             : #line 16962 "gram.y"
   52646             :                                         { (yyval.ival) = JSON_BEHAVIOR_UNKNOWN; }
   52647             : #line 52648 "gram.c"
   52648          12 :     break;
   52649             : 
   52650          24 :   case 2362: /* json_behavior_type: EMPTY_P ARRAY  */
   52651             : #line 16963 "gram.y"
   52652             :                                         { (yyval.ival) = JSON_BEHAVIOR_EMPTY_ARRAY; }
   52653             : #line 52654 "gram.c"
   52654          24 :     break;
   52655             : 
   52656          60 :   case 2363: /* json_behavior_type: EMPTY_P OBJECT_P  */
   52657             : #line 16964 "gram.y"
   52658             :                                                 { (yyval.ival) = JSON_BEHAVIOR_EMPTY_OBJECT; }
   52659             : #line 52660 "gram.c"
   52660          60 :     break;
   52661             : 
   52662          12 :   case 2364: /* json_behavior_type: EMPTY_P  */
   52663             : #line 16966 "gram.y"
   52664             :                                         { (yyval.ival) = JSON_BEHAVIOR_EMPTY_ARRAY; }
   52665             : #line 52666 "gram.c"
   52666          12 :     break;
   52667             : 
   52668         108 :   case 2365: /* json_behavior_clause_opt: json_behavior ON EMPTY_P  */
   52669             : #line 16971 "gram.y"
   52670             :                                 { (yyval.list) = list_make2((yyvsp[-2].node), NULL); }
   52671             : #line 52672 "gram.c"
   52672         108 :     break;
   52673             : 
   52674         498 :   case 2366: /* json_behavior_clause_opt: json_behavior ON ERROR_P  */
   52675             : #line 16973 "gram.y"
   52676             :                                 { (yyval.list) = list_make2(NULL, (yyvsp[-2].node)); }
   52677             : #line 52678 "gram.c"
   52678         498 :     break;
   52679             : 
   52680          96 :   case 2367: /* json_behavior_clause_opt: json_behavior ON EMPTY_P json_behavior ON ERROR_P  */
   52681             : #line 16975 "gram.y"
   52682             :                                 { (yyval.list) = list_make2((yyvsp[-5].node), (yyvsp[-2].node)); }
   52683             : #line 52684 "gram.c"
   52684          96 :     break;
   52685             : 
   52686        1574 :   case 2368: /* json_behavior_clause_opt: %empty  */
   52687             : #line 16977 "gram.y"
   52688             :                                 { (yyval.list) = list_make2(NULL, NULL); }
   52689             : #line 52690 "gram.c"
   52690        1574 :     break;
   52691             : 
   52692          48 :   case 2369: /* json_on_error_clause_opt: json_behavior ON ERROR_P  */
   52693             : #line 16982 "gram.y"
   52694             :                                 { (yyval.node) = (yyvsp[-2].node); }
   52695             : #line 52696 "gram.c"
   52696          48 :     break;
   52697             : 
   52698         548 :   case 2370: /* json_on_error_clause_opt: %empty  */
   52699             : #line 16984 "gram.y"
   52700             :                                 { (yyval.node) = NULL; }
   52701             : #line 52702 "gram.c"
   52702         548 :     break;
   52703             : 
   52704        3728 :   case 2371: /* json_value_expr: a_expr json_format_clause_opt  */
   52705             : #line 16989 "gram.y"
   52706             :                         {
   52707             :                 /* formatted_expr will be set during parse-analysis. */
   52708             :                 (yyval.node) = (Node *) makeJsonValueExpr((Expr *) (yyvsp[-1].node), NULL,
   52709             :                                                 castNode(JsonFormat, (yyvsp[0].node)));
   52710             :             }
   52711             : #line 52712 "gram.c"
   52712        3728 :     break;
   52713             : 
   52714         100 :   case 2372: /* json_format_clause: FORMAT_LA JSON ENCODING name  */
   52715             : #line 16998 "gram.y"
   52716             :                                 {
   52717             :                     int     encoding;
   52718             : 
   52719             :                     if (!pg_strcasecmp((yyvsp[0].str), "utf8"))
   52720             :                         encoding = JS_ENC_UTF8;
   52721             :                     else if (!pg_strcasecmp((yyvsp[0].str), "utf16"))
   52722             :                         encoding = JS_ENC_UTF16;
   52723             :                     else if (!pg_strcasecmp((yyvsp[0].str), "utf32"))
   52724             :                         encoding = JS_ENC_UTF32;
   52725             :                     else
   52726             :                         ereport(ERROR,
   52727             :                                 errcode(ERRCODE_INVALID_PARAMETER_VALUE),
   52728             :                                 errmsg("unrecognized JSON encoding: %s", (yyvsp[0].str)));
   52729             : 
   52730             :                     (yyval.node) = (Node *) makeJsonFormat(JS_FORMAT_JSON, encoding, (yylsp[-3]));
   52731             :                 }
   52732             : #line 52733 "gram.c"
   52733          88 :     break;
   52734             : 
   52735         358 :   case 2373: /* json_format_clause: FORMAT_LA JSON  */
   52736             : #line 17015 "gram.y"
   52737             :                                 {
   52738             :                     (yyval.node) = (Node *) makeJsonFormat(JS_FORMAT_JSON, JS_ENC_DEFAULT, (yylsp[-1]));
   52739             :                 }
   52740             : #line 52741 "gram.c"
   52741         358 :     break;
   52742             : 
   52743         338 :   case 2374: /* json_format_clause_opt: json_format_clause  */
   52744             : #line 17022 "gram.y"
   52745             :                                 {
   52746             :                     (yyval.node) = (yyvsp[0].node);
   52747             :                 }
   52748             : #line 52749 "gram.c"
   52749         338 :     break;
   52750             : 
   52751        4696 :   case 2375: /* json_format_clause_opt: %empty  */
   52752             : #line 17026 "gram.y"
   52753             :                                 {
   52754             :                     (yyval.node) = (Node *) makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1);
   52755             :                 }
   52756             : #line 52757 "gram.c"
   52757        4696 :     break;
   52758             : 
   52759          12 :   case 2376: /* json_quotes_clause_opt: KEEP QUOTES ON SCALAR STRING_P  */
   52760             : #line 17032 "gram.y"
   52761             :                                                                 { (yyval.ival) = JS_QUOTES_KEEP; }
   52762             : #line 52763 "gram.c"
   52763          12 :     break;
   52764             : 
   52765          90 :   case 2377: /* json_quotes_clause_opt: KEEP QUOTES  */
   52766             : #line 17033 "gram.y"
   52767             :                                                                                 { (yyval.ival) = JS_QUOTES_KEEP; }
   52768             : #line 52769 "gram.c"
   52769          90 :     break;
   52770             : 
   52771          12 :   case 2378: /* json_quotes_clause_opt: OMIT QUOTES ON SCALAR STRING_P  */
   52772             : #line 17034 "gram.y"
   52773             :                                                                 { (yyval.ival) = JS_QUOTES_OMIT; }
   52774             : #line 52775 "gram.c"
   52775          12 :     break;
   52776             : 
   52777         150 :   case 2379: /* json_quotes_clause_opt: OMIT QUOTES  */
   52778             : #line 17035 "gram.y"
   52779             :                                                                                 { (yyval.ival) = JS_QUOTES_OMIT; }
   52780             : #line 52781 "gram.c"
   52781         150 :     break;
   52782             : 
   52783        1436 :   case 2380: /* json_quotes_clause_opt: %empty  */
   52784             : #line 17036 "gram.y"
   52785             :                                                                                 { (yyval.ival) = JS_QUOTES_UNSPEC; }
   52786             : #line 52787 "gram.c"
   52787        1436 :     break;
   52788             : 
   52789        1252 :   case 2381: /* json_returning_clause_opt: RETURNING Typename json_format_clause_opt  */
   52790             : #line 17041 "gram.y"
   52791             :                                 {
   52792             :                     JsonOutput *n = makeNode(JsonOutput);
   52793             : 
   52794             :                     n->typeName = (yyvsp[-1].typnam);
   52795             :                     n->returning = makeNode(JsonReturning);
   52796             :                     n->returning->format = (JsonFormat *) (yyvsp[0].node);
   52797             :                     (yyval.node) = (Node *) n;
   52798             :                 }
   52799             : #line 52800 "gram.c"
   52800        1252 :     break;
   52801             : 
   52802        1158 :   case 2382: /* json_returning_clause_opt: %empty  */
   52803             : #line 17049 "gram.y"
   52804             :                                                                                         { (yyval.node) = NULL; }
   52805             : #line 52806 "gram.c"
   52806        1158 :     break;
   52807             : 
   52808         202 :   case 2383: /* json_predicate_type_constraint: JSON  */
   52809             : #line 17063 "gram.y"
   52810             :                                                                                 { (yyval.ival) = JS_TYPE_ANY; }
   52811             : #line 52812 "gram.c"
   52812         202 :     break;
   52813             : 
   52814          28 :   case 2384: /* json_predicate_type_constraint: JSON VALUE_P  */
   52815             : #line 17064 "gram.y"
   52816             :                                                                                         { (yyval.ival) = JS_TYPE_ANY; }
   52817             : #line 52818 "gram.c"
   52818          28 :     break;
   52819             : 
   52820          40 :   case 2385: /* json_predicate_type_constraint: JSON ARRAY  */
   52821             : #line 17065 "gram.y"
   52822             :                                                                                         { (yyval.ival) = JS_TYPE_ARRAY; }
   52823             : #line 52824 "gram.c"
   52824          40 :     break;
   52825             : 
   52826          40 :   case 2386: /* json_predicate_type_constraint: JSON OBJECT_P  */
   52827             : #line 17066 "gram.y"
   52828             :                                                                                         { (yyval.ival) = JS_TYPE_OBJECT; }
   52829             : #line 52830 "gram.c"
   52830          40 :     break;
   52831             : 
   52832          40 :   case 2387: /* json_predicate_type_constraint: JSON SCALAR  */
   52833             : #line 17067 "gram.y"
   52834             :                                                                                         { (yyval.ival) = JS_TYPE_SCALAR; }
   52835             : #line 52836 "gram.c"
   52836          40 :     break;
   52837             : 
   52838         108 :   case 2388: /* json_key_uniqueness_constraint_opt: WITH UNIQUE KEYS  */
   52839             : #line 17076 "gram.y"
   52840             :                                                                                                 { (yyval.boolean) = true; }
   52841             : #line 52842 "gram.c"
   52842         108 :     break;
   52843             : 
   52844          82 :   case 2389: /* json_key_uniqueness_constraint_opt: WITH UNIQUE  */
   52845             : #line 17077 "gram.y"
   52846             :                                                                                 { (yyval.boolean) = true; }
   52847             : #line 52848 "gram.c"
   52848          82 :     break;
   52849             : 
   52850          44 :   case 2390: /* json_key_uniqueness_constraint_opt: WITHOUT UNIQUE KEYS  */
   52851             : #line 17078 "gram.y"
   52852             :                                                                                         { (yyval.boolean) = false; }
   52853             : #line 52854 "gram.c"
   52854          44 :     break;
   52855             : 
   52856          16 :   case 2391: /* json_key_uniqueness_constraint_opt: WITHOUT UNIQUE  */
   52857             : #line 17079 "gram.y"
   52858             :                                                                                 { (yyval.boolean) = false; }
   52859             : #line 52860 "gram.c"
   52860          16 :     break;
   52861             : 
   52862         708 :   case 2392: /* json_key_uniqueness_constraint_opt: %empty  */
   52863             : #line 17080 "gram.y"
   52864             :                                                                                 { (yyval.boolean) = false; }
   52865             : #line 52866 "gram.c"
   52866         708 :     break;
   52867             : 
   52868         288 :   case 2393: /* json_name_and_value_list: json_name_and_value  */
   52869             : #line 17085 "gram.y"
   52870             :                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   52871             : #line 52872 "gram.c"
   52872         288 :     break;
   52873             : 
   52874         232 :   case 2394: /* json_name_and_value_list: json_name_and_value_list ',' json_name_and_value  */
   52875             : #line 17087 "gram.y"
   52876             :                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   52877             : #line 52878 "gram.c"
   52878         232 :     break;
   52879             : 
   52880          24 :   case 2395: /* json_name_and_value: c_expr VALUE_P json_value_expr  */
   52881             : #line 17097 "gram.y"
   52882             :                                 { (yyval.node) = makeJsonKeyValue((yyvsp[-2].node), (yyvsp[0].node)); }
   52883             : #line 52884 "gram.c"
   52884          24 :     break;
   52885             : 
   52886         652 :   case 2396: /* json_name_and_value: a_expr ':' json_value_expr  */
   52887             : #line 17100 "gram.y"
   52888             :                                 { (yyval.node) = makeJsonKeyValue((yyvsp[-2].node), (yyvsp[0].node)); }
   52889             : #line 52890 "gram.c"
   52890         652 :     break;
   52891             : 
   52892          30 :   case 2397: /* json_object_constructor_null_clause_opt: NULL_P ON NULL_P  */
   52893             : #line 17105 "gram.y"
   52894             :                                                                                 { (yyval.boolean) = false; }
   52895             : #line 52896 "gram.c"
   52896          30 :     break;
   52897             : 
   52898         110 :   case 2398: /* json_object_constructor_null_clause_opt: ABSENT ON NULL_P  */
   52899             : #line 17106 "gram.y"
   52900             :                                                                                 { (yyval.boolean) = true; }
   52901             : #line 52902 "gram.c"
   52902         110 :     break;
   52903             : 
   52904         304 :   case 2399: /* json_object_constructor_null_clause_opt: %empty  */
   52905             : #line 17107 "gram.y"
   52906             :                                                                                 { (yyval.boolean) = false; }
   52907             : #line 52908 "gram.c"
   52908         304 :     break;
   52909             : 
   52910          54 :   case 2400: /* json_array_constructor_null_clause_opt: NULL_P ON NULL_P  */
   52911             : #line 17111 "gram.y"
   52912             :                                                                                         { (yyval.boolean) = false; }
   52913             : #line 52914 "gram.c"
   52914          54 :     break;
   52915             : 
   52916          36 :   case 2401: /* json_array_constructor_null_clause_opt: ABSENT ON NULL_P  */
   52917             : #line 17112 "gram.y"
   52918             :                                                                                         { (yyval.boolean) = true; }
   52919             : #line 52920 "gram.c"
   52920          36 :     break;
   52921             : 
   52922         156 :   case 2402: /* json_array_constructor_null_clause_opt: %empty  */
   52923             : #line 17113 "gram.y"
   52924             :                                                                                         { (yyval.boolean) = true; }
   52925             : #line 52926 "gram.c"
   52926         156 :     break;
   52927             : 
   52928          96 :   case 2403: /* json_value_expr_list: json_value_expr  */
   52929             : #line 17117 "gram.y"
   52930             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   52931             : #line 52932 "gram.c"
   52932          96 :     break;
   52933             : 
   52934         126 :   case 2404: /* json_value_expr_list: json_value_expr_list ',' json_value_expr  */
   52935             : #line 17118 "gram.y"
   52936             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));}
   52937             : #line 52938 "gram.c"
   52938         126 :     break;
   52939             : 
   52940         156 :   case 2405: /* json_aggregate_func: JSON_OBJECTAGG '(' json_name_and_value json_object_constructor_null_clause_opt json_key_uniqueness_constraint_opt json_returning_clause_opt ')'  */
   52941             : #line 17128 "gram.y"
   52942             :                                 {
   52943             :                     JsonObjectAgg *n = makeNode(JsonObjectAgg);
   52944             : 
   52945             :                     n->arg = (JsonKeyValue *) (yyvsp[-4].node);
   52946             :                     n->absent_on_null = (yyvsp[-3].boolean);
   52947             :                     n->unique = (yyvsp[-2].boolean);
   52948             :                     n->constructor = makeNode(JsonAggConstructor);
   52949             :                     n->constructor->output = (JsonOutput *) (yyvsp[-1].node);
   52950             :                     n->constructor->agg_order = NULL;
   52951             :                     n->constructor->location = (yylsp[-6]);
   52952             :                     (yyval.node) = (Node *) n;
   52953             :                 }
   52954             : #line 52955 "gram.c"
   52955         156 :     break;
   52956             : 
   52957         150 :   case 2406: /* 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 ')'  */
   52958             : #line 17146 "gram.y"
   52959             :                                 {
   52960             :                     JsonArrayAgg *n = makeNode(JsonArrayAgg);
   52961             : 
   52962             :                     n->arg = (JsonValueExpr *) (yyvsp[-4].node);
   52963             :                     n->absent_on_null = (yyvsp[-2].boolean);
   52964             :                     n->constructor = makeNode(JsonAggConstructor);
   52965             :                     n->constructor->agg_order = (yyvsp[-3].list);
   52966             :                     n->constructor->output = (JsonOutput *) (yyvsp[-1].node);
   52967             :                     n->constructor->location = (yylsp[-6]);
   52968             :                     (yyval.node) = (Node *) n;
   52969             :                 }
   52970             : #line 52971 "gram.c"
   52971         150 :     break;
   52972             : 
   52973          18 :   case 2407: /* json_array_aggregate_order_by_clause_opt: ORDER BY sortby_list  */
   52974             : #line 17160 "gram.y"
   52975             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   52976             : #line 52977 "gram.c"
   52977          18 :     break;
   52978             : 
   52979         132 :   case 2408: /* json_array_aggregate_order_by_clause_opt: %empty  */
   52980             : #line 17161 "gram.y"
   52981             :                                                                                         { (yyval.list) = NIL; }
   52982             : #line 52983 "gram.c"
   52983         132 :     break;
   52984             : 
   52985      451396 :   case 2409: /* opt_target_list: target_list  */
   52986             : #line 17170 "gram.y"
   52987             :                                                                         { (yyval.list) = (yyvsp[0].list); }
   52988             : #line 52989 "gram.c"
   52989      451396 :     break;
   52990             : 
   52991         306 :   case 2410: /* opt_target_list: %empty  */
   52992             : #line 17171 "gram.y"
   52993             :                                                                                         { (yyval.list) = NIL; }
   52994             : #line 52995 "gram.c"
   52995         306 :     break;
   52996             : 
   52997      457102 :   case 2411: /* target_list: target_el  */
   52998             : #line 17175 "gram.y"
   52999             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].target)); }
   53000             : #line 53001 "gram.c"
   53001      457102 :     break;
   53002             : 
   53003      544322 :   case 2412: /* target_list: target_list ',' target_el  */
   53004             : #line 17176 "gram.y"
   53005             :                                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
   53006             : #line 53007 "gram.c"
   53007      544322 :     break;
   53008             : 
   53009      184474 :   case 2413: /* target_el: a_expr AS ColLabel  */
   53010             : #line 17180 "gram.y"
   53011             :                                 {
   53012             :                     (yyval.target) = makeNode(ResTarget);
   53013             :                     (yyval.target)->name = (yyvsp[0].str);
   53014             :                     (yyval.target)->indirection = NIL;
   53015             :                     (yyval.target)->val = (Node *) (yyvsp[-2].node);
   53016             :                     (yyval.target)->location = (yylsp[-2]);
   53017             :                 }
   53018             : #line 53019 "gram.c"
   53019      184474 :     break;
   53020             : 
   53021        3134 :   case 2414: /* target_el: a_expr BareColLabel  */
   53022             : #line 17188 "gram.y"
   53023             :                                 {
   53024             :                     (yyval.target) = makeNode(ResTarget);
   53025             :                     (yyval.target)->name = (yyvsp[0].str);
   53026             :                     (yyval.target)->indirection = NIL;
   53027             :                     (yyval.target)->val = (Node *) (yyvsp[-1].node);
   53028             :                     (yyval.target)->location = (yylsp[-1]);
   53029             :                 }
   53030             : #line 53031 "gram.c"
   53031        3134 :     break;
   53032             : 
   53033      764246 :   case 2415: /* target_el: a_expr  */
   53034             : #line 17196 "gram.y"
   53035             :                                 {
   53036             :                     (yyval.target) = makeNode(ResTarget);
   53037             :                     (yyval.target)->name = NULL;
   53038             :                     (yyval.target)->indirection = NIL;
   53039             :                     (yyval.target)->val = (Node *) (yyvsp[0].node);
   53040             :                     (yyval.target)->location = (yylsp[0]);
   53041             :                 }
   53042             : #line 53043 "gram.c"
   53043      764246 :     break;
   53044             : 
   53045       49570 :   case 2416: /* target_el: '*'  */
   53046             : #line 17204 "gram.y"
   53047             :                                 {
   53048             :                     ColumnRef  *n = makeNode(ColumnRef);
   53049             : 
   53050             :                     n->fields = list_make1(makeNode(A_Star));
   53051             :                     n->location = (yylsp[0]);
   53052             : 
   53053             :                     (yyval.target) = makeNode(ResTarget);
   53054             :                     (yyval.target)->name = NULL;
   53055             :                     (yyval.target)->indirection = NIL;
   53056             :                     (yyval.target)->val = (Node *) n;
   53057             :                     (yyval.target)->location = (yylsp[0]);
   53058             :                 }
   53059             : #line 53060 "gram.c"
   53060       49570 :     break;
   53061             : 
   53062       13114 :   case 2417: /* qualified_name_list: qualified_name  */
   53063             : #line 17226 "gram.y"
   53064             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].range)); }
   53065             : #line 53066 "gram.c"
   53066       13114 :     break;
   53067             : 
   53068         566 :   case 2418: /* qualified_name_list: qualified_name_list ',' qualified_name  */
   53069             : #line 17227 "gram.y"
   53070             :                                                                  { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
   53071             : #line 53072 "gram.c"
   53072         566 :     break;
   53073             : 
   53074      377502 :   case 2419: /* qualified_name: ColId  */
   53075             : #line 17239 "gram.y"
   53076             :                                 {
   53077             :                     (yyval.range) = makeRangeVar(NULL, (yyvsp[0].str), (yylsp[0]));
   53078             :                 }
   53079             : #line 53080 "gram.c"
   53080      377502 :     break;
   53081             : 
   53082      215642 :   case 2420: /* qualified_name: ColId indirection  */
   53083             : #line 17243 "gram.y"
   53084             :                                 {
   53085             :                     (yyval.range) = makeRangeVarFromQualifiedName((yyvsp[-1].str), (yyvsp[0].list), (yylsp[-1]), yyscanner);
   53086             :                 }
   53087             : #line 53088 "gram.c"
   53088      215642 :     break;
   53089             : 
   53090       23792 :   case 2421: /* name_list: name  */
   53091             : #line 17249 "gram.y"
   53092             :                                         { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   53093             : #line 53094 "gram.c"
   53094       23792 :     break;
   53095             : 
   53096       48330 :   case 2422: /* name_list: name_list ',' name  */
   53097             : #line 17251 "gram.y"
   53098             :                                         { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
   53099             : #line 53100 "gram.c"
   53100       48330 :     break;
   53101             : 
   53102      142892 :   case 2423: /* name: ColId  */
   53103             : #line 17255 "gram.y"
   53104             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   53105             : #line 53106 "gram.c"
   53106      142892 :     break;
   53107             : 
   53108     1347244 :   case 2424: /* attr_name: ColLabel  */
   53109             : #line 17257 "gram.y"
   53110             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   53111             : #line 53112 "gram.c"
   53112     1347244 :     break;
   53113             : 
   53114          58 :   case 2425: /* file_name: Sconst  */
   53115             : #line 17259 "gram.y"
   53116             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   53117             : #line 53118 "gram.c"
   53118          58 :     break;
   53119             : 
   53120      279242 :   case 2426: /* func_name: type_function_name  */
   53121             : #line 17270 "gram.y"
   53122             :                                         { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   53123             : #line 53124 "gram.c"
   53124      279242 :     break;
   53125             : 
   53126      109290 :   case 2427: /* func_name: ColId indirection  */
   53127             : #line 17272 "gram.y"
   53128             :                                         {
   53129             :                         (yyval.list) = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)),
   53130             :                                              yyscanner);
   53131             :                     }
   53132             : #line 53133 "gram.c"
   53133      109290 :     break;
   53134             : 
   53135      411186 :   case 2428: /* AexprConst: Iconst  */
   53136             : #line 17283 "gram.y"
   53137             :                                 {
   53138             :                     (yyval.node) = makeIntConst((yyvsp[0].ival), (yylsp[0]));
   53139             :                 }
   53140             : #line 53141 "gram.c"
   53141      411186 :     break;
   53142             : 
   53143       10630 :   case 2429: /* AexprConst: FCONST  */
   53144             : #line 17287 "gram.y"
   53145             :                                 {
   53146             :                     (yyval.node) = makeFloatConst((yyvsp[0].str), (yylsp[0]));
   53147             :                 }
   53148             : #line 53149 "gram.c"
   53149       10630 :     break;
   53150             : 
   53151      547226 :   case 2430: /* AexprConst: Sconst  */
   53152             : #line 17291 "gram.y"
   53153             :                                 {
   53154             :                     (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
   53155             :                 }
   53156             : #line 53157 "gram.c"
   53157      547226 :     break;
   53158             : 
   53159         754 :   case 2431: /* AexprConst: BCONST  */
   53160             : #line 17295 "gram.y"
   53161             :                                 {
   53162             :                     (yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
   53163             :                 }
   53164             : #line 53165 "gram.c"
   53165         754 :     break;
   53166             : 
   53167        3302 :   case 2432: /* AexprConst: XCONST  */
   53168             : #line 17299 "gram.y"
   53169             :                                 {
   53170             :                     /* This is a bit constant per SQL99:
   53171             :                      * Without Feature F511, "BIT data type",
   53172             :                      * a <general literal> shall not be a
   53173             :                      * <bit string literal> or a <hex string literal>.
   53174             :                      */
   53175             :                     (yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
   53176             :                 }
   53177             : #line 53178 "gram.c"
   53178        3302 :     break;
   53179             : 
   53180        9402 :   case 2433: /* AexprConst: func_name Sconst  */
   53181             : #line 17308 "gram.y"
   53182             :                                 {
   53183             :                     /* generic type 'literal' syntax */
   53184             :                     TypeName   *t = makeTypeNameFromNameList((yyvsp[-1].list));
   53185             : 
   53186             :                     t->location = (yylsp[-1]);
   53187             :                     (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
   53188             :                 }
   53189             : #line 53190 "gram.c"
   53190        9402 :     break;
   53191             : 
   53192           0 :   case 2434: /* AexprConst: func_name '(' func_arg_list opt_sort_clause ')' Sconst  */
   53193             : #line 17316 "gram.y"
   53194             :                                 {
   53195             :                     /* generic syntax with a type modifier */
   53196             :                     TypeName   *t = makeTypeNameFromNameList((yyvsp[-5].list));
   53197             :                     ListCell   *lc;
   53198             : 
   53199             :                     /*
   53200             :                      * We must use func_arg_list and opt_sort_clause in the
   53201             :                      * production to avoid reduce/reduce conflicts, but we
   53202             :                      * don't actually wish to allow NamedArgExpr in this
   53203             :                      * context, nor ORDER BY.
   53204             :                      */
   53205             :                     foreach(lc, (yyvsp[-3].list))
   53206             :                     {
   53207             :                         NamedArgExpr *arg = (NamedArgExpr *) lfirst(lc);
   53208             : 
   53209             :                         if (IsA(arg, NamedArgExpr))
   53210             :                             ereport(ERROR,
   53211             :                                     (errcode(ERRCODE_SYNTAX_ERROR),
   53212             :                                      errmsg("type modifier cannot have parameter name"),
   53213             :                                      parser_errposition(arg->location)));
   53214             :                     }
   53215             :                     if ((yyvsp[-2].list) != NIL)
   53216             :                             ereport(ERROR,
   53217             :                                     (errcode(ERRCODE_SYNTAX_ERROR),
   53218             :                                      errmsg("type modifier cannot have ORDER BY"),
   53219             :                                      parser_errposition((yylsp[-2]))));
   53220             : 
   53221             :                     t->typmods = (yyvsp[-3].list);
   53222             :                     t->location = (yylsp[-5]);
   53223             :                     (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
   53224             :                 }
   53225             : #line 53226 "gram.c"
   53226           0 :     break;
   53227             : 
   53228        2910 :   case 2435: /* AexprConst: ConstTypename Sconst  */
   53229             : #line 17348 "gram.y"
   53230             :                                 {
   53231             :                     (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), (yyvsp[-1].typnam));
   53232             :                 }
   53233             : #line 53234 "gram.c"
   53234        2910 :     break;
   53235             : 
   53236        3232 :   case 2436: /* AexprConst: ConstInterval Sconst opt_interval  */
   53237             : #line 17352 "gram.y"
   53238             :                                 {
   53239             :                     TypeName   *t = (yyvsp[-2].typnam);
   53240             : 
   53241             :                     t->typmods = (yyvsp[0].list);
   53242             :                     (yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
   53243             :                 }
   53244             : #line 53245 "gram.c"
   53245        3232 :     break;
   53246             : 
   53247          12 :   case 2437: /* AexprConst: ConstInterval '(' Iconst ')' Sconst  */
   53248             : #line 17359 "gram.y"
   53249             :                                 {
   53250             :                     TypeName   *t = (yyvsp[-4].typnam);
   53251             : 
   53252             :                     t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
   53253             :                                             makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
   53254             :                     (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
   53255             :                 }
   53256             : #line 53257 "gram.c"
   53257          12 :     break;
   53258             : 
   53259       22510 :   case 2438: /* AexprConst: TRUE_P  */
   53260             : #line 17367 "gram.y"
   53261             :                                 {
   53262             :                     (yyval.node) = makeBoolAConst(true, (yylsp[0]));
   53263             :                 }
   53264             : #line 53265 "gram.c"
   53265       22510 :     break;
   53266             : 
   53267       32154 :   case 2439: /* AexprConst: FALSE_P  */
   53268             : #line 17371 "gram.y"
   53269             :                                 {
   53270             :                     (yyval.node) = makeBoolAConst(false, (yylsp[0]));
   53271             :                 }
   53272             : #line 53273 "gram.c"
   53273       32154 :     break;
   53274             : 
   53275       57800 :   case 2440: /* AexprConst: NULL_P  */
   53276             : #line 17375 "gram.y"
   53277             :                                 {
   53278             :                     (yyval.node) = makeNullAConst((yylsp[0]));
   53279             :                 }
   53280             : #line 53281 "gram.c"
   53281       57800 :     break;
   53282             : 
   53283      434056 :   case 2441: /* Iconst: ICONST  */
   53284             : #line 17380 "gram.y"
   53285             :                                                                                         { (yyval.ival) = (yyvsp[0].ival); }
   53286             : #line 53287 "gram.c"
   53287      434056 :     break;
   53288             : 
   53289      612316 :   case 2442: /* Sconst: SCONST  */
   53290             : #line 17381 "gram.y"
   53291             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   53292             : #line 53293 "gram.c"
   53293      612316 :     break;
   53294             : 
   53295       14826 :   case 2443: /* SignedIconst: Iconst  */
   53296             : #line 17383 "gram.y"
   53297             :                                                                                 { (yyval.ival) = (yyvsp[0].ival); }
   53298             : #line 53299 "gram.c"
   53299       14826 :     break;
   53300             : 
   53301           0 :   case 2444: /* SignedIconst: '+' Iconst  */
   53302             : #line 17384 "gram.y"
   53303             :                                                                                         { (yyval.ival) = + (yyvsp[0].ival); }
   53304             : #line 53305 "gram.c"
   53305           0 :     break;
   53306             : 
   53307         266 :   case 2445: /* SignedIconst: '-' Iconst  */
   53308             : #line 17385 "gram.y"
   53309             :                                                                                         { (yyval.ival) = - (yyvsp[0].ival); }
   53310             : #line 53311 "gram.c"
   53311         266 :     break;
   53312             : 
   53313        1756 :   case 2446: /* RoleId: RoleSpec  */
   53314             : #line 17390 "gram.y"
   53315             :                                 {
   53316             :                     RoleSpec   *spc = (RoleSpec *) (yyvsp[0].rolespec);
   53317             : 
   53318             :                     switch (spc->roletype)
   53319             :                     {
   53320             :                         case ROLESPEC_CSTRING:
   53321             :                             (yyval.str) = spc->rolename;
   53322             :                             break;
   53323             :                         case ROLESPEC_PUBLIC:
   53324             :                             ereport(ERROR,
   53325             :                                     (errcode(ERRCODE_RESERVED_NAME),
   53326             :                                      errmsg("role name \"%s\" is reserved",
   53327             :                                             "public"),
   53328             :                                      parser_errposition((yylsp[0]))));
   53329             :                             break;
   53330             :                         case ROLESPEC_SESSION_USER:
   53331             :                             ereport(ERROR,
   53332             :                                     (errcode(ERRCODE_RESERVED_NAME),
   53333             :                                      errmsg("%s cannot be used as a role name here",
   53334             :                                             "SESSION_USER"),
   53335             :                                      parser_errposition((yylsp[0]))));
   53336             :                             break;
   53337             :                         case ROLESPEC_CURRENT_USER:
   53338             :                             ereport(ERROR,
   53339             :                                     (errcode(ERRCODE_RESERVED_NAME),
   53340             :                                      errmsg("%s cannot be used as a role name here",
   53341             :                                             "CURRENT_USER"),
   53342             :                                      parser_errposition((yylsp[0]))));
   53343             :                             break;
   53344             :                         case ROLESPEC_CURRENT_ROLE:
   53345             :                             ereport(ERROR,
   53346             :                                     (errcode(ERRCODE_RESERVED_NAME),
   53347             :                                      errmsg("%s cannot be used as a role name here",
   53348             :                                             "CURRENT_ROLE"),
   53349             :                                      parser_errposition((yylsp[0]))));
   53350             :                             break;
   53351             :                     }
   53352             :                 }
   53353             : #line 53354 "gram.c"
   53354        1746 :     break;
   53355             : 
   53356       25024 :   case 2447: /* RoleSpec: NonReservedWord  */
   53357             : #line 17431 "gram.y"
   53358             :                                 {
   53359             :                     /*
   53360             :                      * "public" and "none" are not keywords, but they must
   53361             :                      * be treated specially here.
   53362             :                      */
   53363             :                     RoleSpec   *n;
   53364             : 
   53365             :                     if (strcmp((yyvsp[0].str), "public") == 0)
   53366             :                     {
   53367             :                         n = (RoleSpec *) makeRoleSpec(ROLESPEC_PUBLIC, (yylsp[0]));
   53368             :                         n->roletype = ROLESPEC_PUBLIC;
   53369             :                     }
   53370             :                     else if (strcmp((yyvsp[0].str), "none") == 0)
   53371             :                     {
   53372             :                         ereport(ERROR,
   53373             :                                 (errcode(ERRCODE_RESERVED_NAME),
   53374             :                                  errmsg("role name \"%s\" is reserved",
   53375             :                                         "none"),
   53376             :                                  parser_errposition((yylsp[0]))));
   53377             :                     }
   53378             :                     else
   53379             :                     {
   53380             :                         n = makeRoleSpec(ROLESPEC_CSTRING, (yylsp[0]));
   53381             :                         n->rolename = pstrdup((yyvsp[0].str));
   53382             :                     }
   53383             :                     (yyval.rolespec) = n;
   53384             :                 }
   53385             : #line 53386 "gram.c"
   53386       24998 :     break;
   53387             : 
   53388         128 :   case 2448: /* RoleSpec: CURRENT_ROLE  */
   53389             : #line 17459 "gram.y"
   53390             :                                 {
   53391             :                     (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_ROLE, (yylsp[0]));
   53392             :                 }
   53393             : #line 53394 "gram.c"
   53394         128 :     break;
   53395             : 
   53396         228 :   case 2449: /* RoleSpec: CURRENT_USER  */
   53397             : #line 17463 "gram.y"
   53398             :                                 {
   53399             :                     (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0]));
   53400             :                 }
   53401             : #line 53402 "gram.c"
   53402         228 :     break;
   53403             : 
   53404          36 :   case 2450: /* RoleSpec: SESSION_USER  */
   53405             : #line 17467 "gram.y"
   53406             :                                 {
   53407             :                     (yyval.rolespec) = makeRoleSpec(ROLESPEC_SESSION_USER, (yylsp[0]));
   53408             :                 }
   53409             : #line 53410 "gram.c"
   53410          36 :     break;
   53411             : 
   53412        3096 :   case 2451: /* role_list: RoleSpec  */
   53413             : #line 17473 "gram.y"
   53414             :                                 { (yyval.list) = list_make1((yyvsp[0].rolespec)); }
   53415             : #line 53416 "gram.c"
   53416        3096 :     break;
   53417             : 
   53418         258 :   case 2452: /* role_list: role_list ',' RoleSpec  */
   53419             : #line 17475 "gram.y"
   53420             :                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].rolespec)); }
   53421             : #line 53422 "gram.c"
   53422         258 :     break;
   53423             : 
   53424       36770 :   case 2453: /* 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  */
   53425             : #line 17492 "gram.y"
   53426             :                                 {
   53427             :                     SelectStmt *n = makeNode(SelectStmt);
   53428             : 
   53429             :                     n->distinctClause = (yyvsp[-9].list);
   53430             :                     n->targetList = (yyvsp[-8].list);
   53431             :                     n->fromClause = (yyvsp[-7].list);
   53432             :                     n->whereClause = (yyvsp[-6].node);
   53433             :                     n->groupClause = ((yyvsp[-5].groupclause))->list;
   53434             :                     n->groupDistinct = ((yyvsp[-5].groupclause))->distinct;
   53435             :                     n->havingClause = (yyvsp[-4].node);
   53436             :                     n->windowClause = (yyvsp[-3].list);
   53437             :                     n->sortClause = (yyvsp[-2].list);
   53438             :                     if ((yyvsp[-1].selectlimit))
   53439             :                     {
   53440             :                         n->limitOffset = (yyvsp[-1].selectlimit)->limitOffset;
   53441             :                         n->limitCount = (yyvsp[-1].selectlimit)->limitCount;
   53442             :                         if (!n->sortClause &&
   53443             :                             (yyvsp[-1].selectlimit)->limitOption == LIMIT_OPTION_WITH_TIES)
   53444             :                             ereport(ERROR,
   53445             :                                     (errcode(ERRCODE_SYNTAX_ERROR),
   53446             :                                      errmsg("WITH TIES cannot be specified without ORDER BY clause")));
   53447             :                         n->limitOption = (yyvsp[-1].selectlimit)->limitOption;
   53448             :                     }
   53449             :                     n->lockingClause = (yyvsp[0].list);
   53450             :                     (yyval.node) = (Node *) n;
   53451             :                 }
   53452             : #line 53453 "gram.c"
   53453       36770 :     break;
   53454             : 
   53455        6614 :   case 2454: /* PLAssignStmt: plassign_target opt_indirection plassign_equals PLpgSQL_Expr  */
   53456             : #line 17525 "gram.y"
   53457             :                                 {
   53458             :                     PLAssignStmt *n = makeNode(PLAssignStmt);
   53459             : 
   53460             :                     n->name = (yyvsp[-3].str);
   53461             :                     n->indirection = check_indirection((yyvsp[-2].list), yyscanner);
   53462             :                     /* nnames will be filled by calling production */
   53463             :                     n->val = (SelectStmt *) (yyvsp[0].node);
   53464             :                     n->location = (yylsp[-3]);
   53465             :                     (yyval.node) = (Node *) n;
   53466             :                 }
   53467             : #line 53468 "gram.c"
   53468        6614 :     break;
   53469             : 
   53470        6590 :   case 2455: /* plassign_target: ColId  */
   53471             : #line 17537 "gram.y"
   53472             :                                                                         { (yyval.str) = (yyvsp[0].str); }
   53473             : #line 53474 "gram.c"
   53474        6590 :     break;
   53475             : 
   53476          24 :   case 2456: /* plassign_target: PARAM  */
   53477             : #line 17538 "gram.y"
   53478             :                                                                                         { (yyval.str) = psprintf("$%d", (yyvsp[0].ival)); }
   53479             : #line 53480 "gram.c"
   53480          24 :     break;
   53481             : 
   53482     2864116 :   case 2459: /* ColId: IDENT  */
   53483             : #line 17559 "gram.y"
   53484             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   53485             : #line 53486 "gram.c"
   53486     2864116 :     break;
   53487             : 
   53488       54784 :   case 2460: /* ColId: unreserved_keyword  */
   53489             : #line 17560 "gram.y"
   53490             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53491             : #line 53492 "gram.c"
   53492       54784 :     break;
   53493             : 
   53494        4826 :   case 2461: /* ColId: col_name_keyword  */
   53495             : #line 17561 "gram.y"
   53496             :                                                                                         { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53497             : #line 53498 "gram.c"
   53498        4826 :     break;
   53499             : 
   53500      614688 :   case 2462: /* type_function_name: IDENT  */
   53501             : #line 17566 "gram.y"
   53502             :                                                                                 { (yyval.str) = (yyvsp[0].str); }
   53503             : #line 53504 "gram.c"
   53504      614688 :     break;
   53505             : 
   53506       66182 :   case 2463: /* type_function_name: unreserved_keyword  */
   53507             : #line 17567 "gram.y"
   53508             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53509             : #line 53510 "gram.c"
   53510       66182 :     break;
   53511             : 
   53512          54 :   case 2464: /* type_function_name: type_func_name_keyword  */
   53513             : #line 17568 "gram.y"
   53514             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53515             : #line 53516 "gram.c"
   53516          54 :     break;
   53517             : 
   53518       65522 :   case 2465: /* NonReservedWord: IDENT  */
   53519             : #line 17573 "gram.y"
   53520             :                                                                                 { (yyval.str) = (yyvsp[0].str); }
   53521             : #line 53522 "gram.c"
   53522       65522 :     break;
   53523             : 
   53524       25206 :   case 2466: /* NonReservedWord: unreserved_keyword  */
   53525             : #line 17574 "gram.y"
   53526             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53527             : #line 53528 "gram.c"
   53528       25206 :     break;
   53529             : 
   53530         176 :   case 2467: /* NonReservedWord: col_name_keyword  */
   53531             : #line 17575 "gram.y"
   53532             :                                                                                         { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53533             : #line 53534 "gram.c"
   53534         176 :     break;
   53535             : 
   53536        3562 :   case 2468: /* NonReservedWord: type_func_name_keyword  */
   53537             : #line 17576 "gram.y"
   53538             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53539             : #line 53540 "gram.c"
   53540        3562 :     break;
   53541             : 
   53542     1518202 :   case 2469: /* ColLabel: IDENT  */
   53543             : #line 17582 "gram.y"
   53544             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   53545             : #line 53546 "gram.c"
   53546     1518202 :     break;
   53547             : 
   53548       34180 :   case 2470: /* ColLabel: unreserved_keyword  */
   53549             : #line 17583 "gram.y"
   53550             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53551             : #line 53552 "gram.c"
   53552       34180 :     break;
   53553             : 
   53554         272 :   case 2471: /* ColLabel: col_name_keyword  */
   53555             : #line 17584 "gram.y"
   53556             :                                                                                         { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53557             : #line 53558 "gram.c"
   53558         272 :     break;
   53559             : 
   53560        1756 :   case 2472: /* ColLabel: type_func_name_keyword  */
   53561             : #line 17585 "gram.y"
   53562             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53563             : #line 53564 "gram.c"
   53564        1756 :     break;
   53565             : 
   53566        7054 :   case 2473: /* ColLabel: reserved_keyword  */
   53567             : #line 17586 "gram.y"
   53568             :                                                                                         { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53569             : #line 53570 "gram.c"
   53570        7054 :     break;
   53571             : 
   53572        3128 :   case 2474: /* BareColLabel: IDENT  */
   53573             : #line 17592 "gram.y"
   53574             :                                                                                 { (yyval.str) = (yyvsp[0].str); }
   53575             : #line 53576 "gram.c"
   53576        3128 :     break;
   53577             : 
   53578           6 :   case 2475: /* BareColLabel: bare_label_keyword  */
   53579             : #line 17593 "gram.y"
   53580             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53581             : #line 53582 "gram.c"
   53582           6 :     break;
   53583             : 
   53584             : 
   53585             : #line 53586 "gram.c"
   53586             : 
   53587     3285680 :       default: break;
   53588             :     }
   53589             :   /* User semantic actions sometimes alter yychar, and that requires
   53590             :      that yytoken be updated with the new translation.  We take the
   53591             :      approach of translating immediately before every use of yytoken.
   53592             :      One alternative is translating here after every semantic action,
   53593             :      but that translation would be missed if the semantic action invokes
   53594             :      YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
   53595             :      if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
   53596             :      incorrect destructor might then be invoked immediately.  In the
   53597             :      case of YYERROR or YYBACKUP, subsequent parser actions might lead
   53598             :      to an incorrect destructor call or verbose syntax error message
   53599             :      before the lookahead is translated.  */
   53600             :   YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc);
   53601             : 
   53602    46850820 :   YYPOPSTACK (yylen);
   53603    46850820 :   yylen = 0;
   53604             : 
   53605    46850820 :   *++yyvsp = yyval;
   53606    46850820 :   *++yylsp = yyloc;
   53607             : 
   53608             :   /* Now 'shift' the result of the reduction.  Determine what state
   53609             :      that goes to, based on the state we popped back to and the rule
   53610             :      number reduced by.  */
   53611             :   {
   53612    46850820 :     const int yylhs = yyr1[yyn] - YYNTOKENS;
   53613    46850820 :     const int yyi = yypgoto[yylhs] + *yyssp;
   53614    35752986 :     yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
   53615    21359690 :                ? yytable[yyi]
   53616    82603806 :                : yydefgoto[yylhs]);
   53617             :   }
   53618             : 
   53619    46850820 :   goto yynewstate;
   53620             : 
   53621             : 
   53622             : /*--------------------------------------.
   53623             : | yyerrlab -- here on detecting error.  |
   53624             : `--------------------------------------*/
   53625         680 : yyerrlab:
   53626             :   /* Make sure we have latest lookahead translation.  See comments at
   53627             :      user semantic actions for why this is necessary.  */
   53628         680 :   yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
   53629             :   /* If not already recovering from an error, report this error.  */
   53630         680 :   if (!yyerrstatus)
   53631             :     {
   53632         680 :       ++yynerrs;
   53633         680 :       yyerror (&yylloc, yyscanner, YY_("syntax error"));
   53634             :     }
   53635             : 
   53636           0 :   yyerror_range[1] = yylloc;
   53637           0 :   if (yyerrstatus == 3)
   53638             :     {
   53639             :       /* If just tried and failed to reuse lookahead token after an
   53640             :          error, discard it.  */
   53641             : 
   53642           0 :       if (yychar <= YYEOF)
   53643             :         {
   53644             :           /* Return failure if at end of input.  */
   53645           0 :           if (yychar == YYEOF)
   53646           0 :             YYABORT;
   53647             :         }
   53648             :       else
   53649             :         {
   53650           0 :           yydestruct ("Error: discarding",
   53651             :                       yytoken, &yylval, &yylloc, yyscanner);
   53652           0 :           yychar = YYEMPTY;
   53653             :         }
   53654             :     }
   53655             : 
   53656             :   /* Else will try to reuse lookahead token after shifting the error
   53657             :      token.  */
   53658           0 :   goto yyerrlab1;
   53659             : 
   53660             : 
   53661             : /*---------------------------------------------------.
   53662             : | yyerrorlab -- error raised explicitly by YYERROR.  |
   53663             : `---------------------------------------------------*/
   53664             : yyerrorlab:
   53665             :   /* Pacify compilers when the user code never invokes YYERROR and the
   53666             :      label yyerrorlab therefore never appears in user code.  */
   53667             :   if (0)
   53668             :     YYERROR;
   53669             : 
   53670             :   /* Do not reclaim the symbols of the rule whose action triggered
   53671             :      this YYERROR.  */
   53672             :   YYPOPSTACK (yylen);
   53673             :   yylen = 0;
   53674             :   YY_STACK_PRINT (yyss, yyssp);
   53675             :   yystate = *yyssp;
   53676             :   goto yyerrlab1;
   53677             : 
   53678             : 
   53679             : /*-------------------------------------------------------------.
   53680             : | yyerrlab1 -- common code for both syntax error and YYERROR.  |
   53681             : `-------------------------------------------------------------*/
   53682           0 : yyerrlab1:
   53683           0 :   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
   53684             : 
   53685             :   /* Pop stack until we find a state that shifts the error token.  */
   53686             :   for (;;)
   53687             :     {
   53688           0 :       yyn = yypact[yystate];
   53689           0 :       if (!yypact_value_is_default (yyn))
   53690             :         {
   53691           0 :           yyn += YYSYMBOL_YYerror;
   53692           0 :           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror)
   53693             :             {
   53694           0 :               yyn = yytable[yyn];
   53695           0 :               if (0 < yyn)
   53696           0 :                 break;
   53697             :             }
   53698             :         }
   53699             : 
   53700             :       /* Pop the current state because it cannot handle the error token.  */
   53701           0 :       if (yyssp == yyss)
   53702           0 :         YYABORT;
   53703             : 
   53704           0 :       yyerror_range[1] = *yylsp;
   53705           0 :       yydestruct ("Error: popping",
   53706           0 :                   YY_ACCESSING_SYMBOL (yystate), yyvsp, yylsp, yyscanner);
   53707           0 :       YYPOPSTACK (1);
   53708           0 :       yystate = *yyssp;
   53709             :       YY_STACK_PRINT (yyss, yyssp);
   53710             :     }
   53711             : 
   53712             :   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
   53713           0 :   *++yyvsp = yylval;
   53714             :   YY_IGNORE_MAYBE_UNINITIALIZED_END
   53715             : 
   53716           0 :   yyerror_range[2] = yylloc;
   53717           0 :   ++yylsp;
   53718           0 :   YYLLOC_DEFAULT (*yylsp, yyerror_range, 2);
   53719             : 
   53720             :   /* Shift the error token.  */
   53721             :   YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp);
   53722             : 
   53723           0 :   yystate = yyn;
   53724           0 :   goto yynewstate;
   53725             : 
   53726             : 
   53727             : /*-------------------------------------.
   53728             : | yyacceptlab -- YYACCEPT comes here.  |
   53729             : `-------------------------------------*/
   53730      721990 : yyacceptlab:
   53731      721990 :   yyresult = 0;
   53732      721990 :   goto yyreturn;
   53733             : 
   53734             : 
   53735             : /*-----------------------------------.
   53736             : | yyabortlab -- YYABORT comes here.  |
   53737             : `-----------------------------------*/
   53738           0 : yyabortlab:
   53739           0 :   yyresult = 1;
   53740           0 :   goto yyreturn;
   53741             : 
   53742             : 
   53743             : #if !defined yyoverflow
   53744             : /*-------------------------------------------------.
   53745             : | yyexhaustedlab -- memory exhaustion comes here.  |
   53746             : `-------------------------------------------------*/
   53747           0 : yyexhaustedlab:
   53748           0 :   yyerror (&yylloc, yyscanner, YY_("memory exhausted"));
   53749           0 :   yyresult = 2;
   53750           0 :   goto yyreturn;
   53751             : #endif
   53752             : 
   53753             : 
   53754             : /*-------------------------------------------------------.
   53755             : | yyreturn -- parsing is finished, clean up and return.  |
   53756             : `-------------------------------------------------------*/
   53757      721990 : yyreturn:
   53758      721990 :   if (yychar != YYEMPTY)
   53759             :     {
   53760             :       /* Make sure we have latest lookahead translation.  See comments at
   53761             :          user semantic actions for why this is necessary.  */
   53762           0 :       yytoken = YYTRANSLATE (yychar);
   53763           0 :       yydestruct ("Cleanup: discarding lookahead",
   53764             :                   yytoken, &yylval, &yylloc, yyscanner);
   53765             :     }
   53766             :   /* Do not reclaim the symbols of the rule whose action triggered
   53767             :      this YYABORT or YYACCEPT.  */
   53768      721990 :   YYPOPSTACK (yylen);
   53769             :   YY_STACK_PRINT (yyss, yyssp);
   53770     2165970 :   while (yyssp != yyss)
   53771             :     {
   53772     1443980 :       yydestruct ("Cleanup: popping",
   53773     1443980 :                   YY_ACCESSING_SYMBOL (+*yyssp), yyvsp, yylsp, yyscanner);
   53774     1443980 :       YYPOPSTACK (1);
   53775             :     }
   53776             : #ifndef yyoverflow
   53777      721990 :   if (yyss != yyssa)
   53778           0 :     YYSTACK_FREE (yyss);
   53779             : #endif
   53780             : 
   53781      721990 :   return yyresult;
   53782             : }
   53783             : 
   53784             : #line 18611 "gram.y"
   53785             : 
   53786             : 
   53787             : /*
   53788             :  * The signature of this function is required by bison.  However, we
   53789             :  * ignore the passed yylloc and instead use the last token position
   53790             :  * available from the scanner.
   53791             :  */
   53792             : static void
   53793             : base_yyerror(YYLTYPE *yylloc, core_yyscan_t yyscanner, const char *msg)
   53794             : {
   53795             :     parser_yyerror(msg);
   53796             : }
   53797             : 
   53798             : static RawStmt *
   53799             : makeRawStmt(Node *stmt, int stmt_location)
   53800             : {
   53801             :     RawStmt    *rs = makeNode(RawStmt);
   53802             : 
   53803             :     rs->stmt = stmt;
   53804             :     rs->stmt_location = stmt_location;
   53805             :     rs->stmt_len = 0;            /* might get changed later */
   53806             :     return rs;
   53807             : }
   53808             : 
   53809             : /* Adjust a RawStmt to reflect that it doesn't run to the end of the string */
   53810             : static void
   53811             : updateRawStmtEnd(RawStmt *rs, int end_location)
   53812             : {
   53813             :     /*
   53814             :      * If we already set the length, don't change it.  This is for situations
   53815             :      * like "select foo ;; select bar" where the same statement will be last
   53816             :      * in the string for more than one semicolon.
   53817             :      */
   53818             :     if (rs->stmt_len > 0)
   53819             :         return;
   53820             : 
   53821             :     /* OK, update length of RawStmt */
   53822             :     rs->stmt_len = end_location - rs->stmt_location;
   53823             : }
   53824             : 
   53825             : static Node *
   53826             : makeColumnRef(char *colname, List *indirection,
   53827             :               int location, core_yyscan_t yyscanner)
   53828             : {
   53829             :     /*
   53830             :      * Generate a ColumnRef node, with an A_Indirection node added if there
   53831             :      * is any subscripting in the specified indirection list.  However,
   53832             :      * any field selection at the start of the indirection list must be
   53833             :      * transposed into the "fields" part of the ColumnRef node.
   53834             :      */
   53835             :     ColumnRef  *c = makeNode(ColumnRef);
   53836             :     int         nfields = 0;
   53837             :     ListCell   *l;
   53838             : 
   53839             :     c->location = location;
   53840             :     foreach(l, indirection)
   53841             :     {
   53842             :         if (IsA(lfirst(l), A_Indices))
   53843             :         {
   53844             :             A_Indirection *i = makeNode(A_Indirection);
   53845             : 
   53846             :             if (nfields == 0)
   53847             :             {
   53848             :                 /* easy case - all indirection goes to A_Indirection */
   53849             :                 c->fields = list_make1(makeString(colname));
   53850             :                 i->indirection = check_indirection(indirection, yyscanner);
   53851             :             }
   53852             :             else
   53853             :             {
   53854             :                 /* got to split the list in two */
   53855             :                 i->indirection = check_indirection(list_copy_tail(indirection,
   53856             :                                                                   nfields),
   53857             :                                                    yyscanner);
   53858             :                 indirection = list_truncate(indirection, nfields);
   53859             :                 c->fields = lcons(makeString(colname), indirection);
   53860             :             }
   53861             :             i->arg = (Node *) c;
   53862             :             return (Node *) i;
   53863             :         }
   53864             :         else if (IsA(lfirst(l), A_Star))
   53865             :         {
   53866             :             /* We only allow '*' at the end of a ColumnRef */
   53867             :             if (lnext(indirection, l) != NULL)
   53868             :                 parser_yyerror("improper use of \"*\"");
   53869             :         }
   53870             :         nfields++;
   53871             :     }
   53872             :     /* No subscripting, so all indirection gets added to field list */
   53873             :     c->fields = lcons(makeString(colname), indirection);
   53874             :     return (Node *) c;
   53875             : }
   53876             : 
   53877             : static Node *
   53878             : makeTypeCast(Node *arg, TypeName *typename, int location)
   53879             : {
   53880             :     TypeCast   *n = makeNode(TypeCast);
   53881             : 
   53882             :     n->arg = arg;
   53883             :     n->typeName = typename;
   53884             :     n->location = location;
   53885             :     return (Node *) n;
   53886             : }
   53887             : 
   53888             : static Node *
   53889             : makeStringConstCast(char *str, int location, TypeName *typename)
   53890             : {
   53891             :     Node       *s = makeStringConst(str, location);
   53892             : 
   53893             :     return makeTypeCast(s, typename, -1);
   53894             : }
   53895             : 
   53896             : static Node *
   53897             : makeIntConst(int val, int location)
   53898             : {
   53899             :     A_Const    *n = makeNode(A_Const);
   53900             : 
   53901             :     n->val.ival.type = T_Integer;
   53902             :     n->val.ival.ival = val;
   53903             :     n->location = location;
   53904             : 
   53905             :    return (Node *) n;
   53906             : }
   53907             : 
   53908             : static Node *
   53909             : makeFloatConst(char *str, int location)
   53910             : {
   53911             :     A_Const    *n = makeNode(A_Const);
   53912             : 
   53913             :     n->val.fval.type = T_Float;
   53914             :     n->val.fval.fval = str;
   53915             :     n->location = location;
   53916             : 
   53917             :    return (Node *) n;
   53918             : }
   53919             : 
   53920             : static Node *
   53921             : makeBoolAConst(bool state, int location)
   53922             : {
   53923             :     A_Const    *n = makeNode(A_Const);
   53924             : 
   53925             :     n->val.boolval.type = T_Boolean;
   53926             :     n->val.boolval.boolval = state;
   53927             :     n->location = location;
   53928             : 
   53929             :    return (Node *) n;
   53930             : }
   53931             : 
   53932             : static Node *
   53933             : makeBitStringConst(char *str, int location)
   53934             : {
   53935             :     A_Const    *n = makeNode(A_Const);
   53936             : 
   53937             :     n->val.bsval.type = T_BitString;
   53938             :     n->val.bsval.bsval = str;
   53939             :     n->location = location;
   53940             : 
   53941             :    return (Node *) n;
   53942             : }
   53943             : 
   53944             : static Node *
   53945             : makeNullAConst(int location)
   53946             : {
   53947             :     A_Const    *n = makeNode(A_Const);
   53948             : 
   53949             :     n->isnull = true;
   53950             :     n->location = location;
   53951             : 
   53952             :     return (Node *) n;
   53953             : }
   53954             : 
   53955             : static Node *
   53956             : makeAConst(Node *v, int location)
   53957             : {
   53958             :     Node       *n;
   53959             : 
   53960             :     switch (v->type)
   53961             :     {
   53962             :         case T_Float:
   53963             :             n = makeFloatConst(castNode(Float, v)->fval, location);
   53964             :             break;
   53965             : 
   53966             :         case T_Integer:
   53967             :             n = makeIntConst(castNode(Integer, v)->ival, location);
   53968             :             break;
   53969             : 
   53970             :         default:
   53971             :             /* currently not used */
   53972             :             Assert(false);
   53973             :             n = NULL;
   53974             :     }
   53975             : 
   53976             :     return n;
   53977             : }
   53978             : 
   53979             : /* makeRoleSpec
   53980             :  * Create a RoleSpec with the given type
   53981             :  */
   53982             : static RoleSpec *
   53983             : makeRoleSpec(RoleSpecType type, int location)
   53984             : {
   53985             :     RoleSpec   *spec = makeNode(RoleSpec);
   53986             : 
   53987             :     spec->roletype = type;
   53988             :     spec->location = location;
   53989             : 
   53990             :     return spec;
   53991             : }
   53992             : 
   53993             : /* check_qualified_name --- check the result of qualified_name production
   53994             :  *
   53995             :  * It's easiest to let the grammar production for qualified_name allow
   53996             :  * subscripts and '*', which we then must reject here.
   53997             :  */
   53998             : static void
   53999             : check_qualified_name(List *names, core_yyscan_t yyscanner)
   54000             : {
   54001             :     ListCell   *i;
   54002             : 
   54003             :     foreach(i, names)
   54004             :     {
   54005             :         if (!IsA(lfirst(i), String))
   54006             :             parser_yyerror("syntax error");
   54007             :     }
   54008             : }
   54009             : 
   54010             : /* check_func_name --- check the result of func_name production
   54011             :  *
   54012             :  * It's easiest to let the grammar production for func_name allow subscripts
   54013             :  * and '*', which we then must reject here.
   54014             :  */
   54015             : static List *
   54016             : check_func_name(List *names, core_yyscan_t yyscanner)
   54017             : {
   54018             :     ListCell   *i;
   54019             : 
   54020             :     foreach(i, names)
   54021             :     {
   54022             :         if (!IsA(lfirst(i), String))
   54023             :             parser_yyerror("syntax error");
   54024             :     }
   54025             :     return names;
   54026             : }
   54027             : 
   54028             : /* check_indirection --- check the result of indirection production
   54029             :  *
   54030             :  * We only allow '*' at the end of the list, but it's hard to enforce that
   54031             :  * in the grammar, so do it here.
   54032             :  */
   54033             : static List *
   54034             : check_indirection(List *indirection, core_yyscan_t yyscanner)
   54035             : {
   54036             :     ListCell *l;
   54037             : 
   54038             :     foreach(l, indirection)
   54039             :     {
   54040             :         if (IsA(lfirst(l), A_Star))
   54041             :         {
   54042             :             if (lnext(indirection, l) != NULL)
   54043             :                 parser_yyerror("improper use of \"*\"");
   54044             :         }
   54045             :     }
   54046             :     return indirection;
   54047             : }
   54048             : 
   54049             : /* extractArgTypes()
   54050             :  * Given a list of FunctionParameter nodes, extract a list of just the
   54051             :  * argument types (TypeNames) for input parameters only.  This is what
   54052             :  * is needed to look up an existing function, which is what is wanted by
   54053             :  * the productions that use this call.
   54054             :  */
   54055             : static List *
   54056             : extractArgTypes(List *parameters)
   54057             : {
   54058             :     List       *result = NIL;
   54059             :     ListCell   *i;
   54060             : 
   54061             :     foreach(i, parameters)
   54062             :     {
   54063             :         FunctionParameter *p = (FunctionParameter *) lfirst(i);
   54064             : 
   54065             :         if (p->mode != FUNC_PARAM_OUT && p->mode != FUNC_PARAM_TABLE)
   54066             :             result = lappend(result, p->argType);
   54067             :     }
   54068             :     return result;
   54069             : }
   54070             : 
   54071             : /* extractAggrArgTypes()
   54072             :  * As above, but work from the output of the aggr_args production.
   54073             :  */
   54074             : static List *
   54075             : extractAggrArgTypes(List *aggrargs)
   54076             : {
   54077             :     Assert(list_length(aggrargs) == 2);
   54078             :     return extractArgTypes((List *) linitial(aggrargs));
   54079             : }
   54080             : 
   54081             : /* makeOrderedSetArgs()
   54082             :  * Build the result of the aggr_args production (which see the comments for).
   54083             :  * This handles only the case where both given lists are nonempty, so that
   54084             :  * we have to deal with multiple VARIADIC arguments.
   54085             :  */
   54086             : static List *
   54087             : makeOrderedSetArgs(List *directargs, List *orderedargs,
   54088             :                    core_yyscan_t yyscanner)
   54089             : {
   54090             :     FunctionParameter *lastd = (FunctionParameter *) llast(directargs);
   54091             :     Integer    *ndirectargs;
   54092             : 
   54093             :     /* No restriction unless last direct arg is VARIADIC */
   54094             :     if (lastd->mode == FUNC_PARAM_VARIADIC)
   54095             :     {
   54096             :         FunctionParameter *firsto = (FunctionParameter *) linitial(orderedargs);
   54097             : 
   54098             :         /*
   54099             :          * We ignore the names, though the aggr_arg production allows them;
   54100             :          * it doesn't allow default values, so those need not be checked.
   54101             :          */
   54102             :         if (list_length(orderedargs) != 1 ||
   54103             :             firsto->mode != FUNC_PARAM_VARIADIC ||
   54104             :             !equal(lastd->argType, firsto->argType))
   54105             :             ereport(ERROR,
   54106             :                     (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   54107             :                      errmsg("an ordered-set aggregate with a VARIADIC direct argument must have one VARIADIC aggregated argument of the same data type"),
   54108             :                      parser_errposition(exprLocation((Node *) firsto))));
   54109             : 
   54110             :         /* OK, drop the duplicate VARIADIC argument from the internal form */
   54111             :         orderedargs = NIL;
   54112             :     }
   54113             : 
   54114             :     /* don't merge into the next line, as list_concat changes directargs */
   54115             :     ndirectargs = makeInteger(list_length(directargs));
   54116             : 
   54117             :     return list_make2(list_concat(directargs, orderedargs),
   54118             :                       ndirectargs);
   54119             : }
   54120             : 
   54121             : /* insertSelectOptions()
   54122             :  * Insert ORDER BY, etc into an already-constructed SelectStmt.
   54123             :  *
   54124             :  * This routine is just to avoid duplicating code in SelectStmt productions.
   54125             :  */
   54126             : static void
   54127             : insertSelectOptions(SelectStmt *stmt,
   54128             :                     List *sortClause, List *lockingClause,
   54129             :                     SelectLimit *limitClause,
   54130             :                     WithClause *withClause,
   54131             :                     core_yyscan_t yyscanner)
   54132             : {
   54133             :     Assert(IsA(stmt, SelectStmt));
   54134             : 
   54135             :     /*
   54136             :      * Tests here are to reject constructs like
   54137             :      *  (SELECT foo ORDER BY bar) ORDER BY baz
   54138             :      */
   54139             :     if (sortClause)
   54140             :     {
   54141             :         if (stmt->sortClause)
   54142             :             ereport(ERROR,
   54143             :                     (errcode(ERRCODE_SYNTAX_ERROR),
   54144             :                      errmsg("multiple ORDER BY clauses not allowed"),
   54145             :                      parser_errposition(exprLocation((Node *) sortClause))));
   54146             :         stmt->sortClause = sortClause;
   54147             :     }
   54148             :     /* We can handle multiple locking clauses, though */
   54149             :     stmt->lockingClause = list_concat(stmt->lockingClause, lockingClause);
   54150             :     if (limitClause && limitClause->limitOffset)
   54151             :     {
   54152             :         if (stmt->limitOffset)
   54153             :             ereport(ERROR,
   54154             :                     (errcode(ERRCODE_SYNTAX_ERROR),
   54155             :                      errmsg("multiple OFFSET clauses not allowed"),
   54156             :                      parser_errposition(exprLocation(limitClause->limitOffset))));
   54157             :         stmt->limitOffset = limitClause->limitOffset;
   54158             :     }
   54159             :     if (limitClause && limitClause->limitCount)
   54160             :     {
   54161             :         if (stmt->limitCount)
   54162             :             ereport(ERROR,
   54163             :                     (errcode(ERRCODE_SYNTAX_ERROR),
   54164             :                      errmsg("multiple LIMIT clauses not allowed"),
   54165             :                      parser_errposition(exprLocation(limitClause->limitCount))));
   54166             :         stmt->limitCount = limitClause->limitCount;
   54167             :     }
   54168             :     if (limitClause)
   54169             :     {
   54170             :         if (stmt->limitOption)
   54171             :             ereport(ERROR,
   54172             :                     (errcode(ERRCODE_SYNTAX_ERROR),
   54173             :                      errmsg("multiple limit options not allowed")));
   54174             :         if (!stmt->sortClause && limitClause->limitOption == LIMIT_OPTION_WITH_TIES)
   54175             :             ereport(ERROR,
   54176             :                     (errcode(ERRCODE_SYNTAX_ERROR),
   54177             :                      errmsg("WITH TIES cannot be specified without ORDER BY clause")));
   54178             :         if (limitClause->limitOption == LIMIT_OPTION_WITH_TIES && stmt->lockingClause)
   54179             :         {
   54180             :             ListCell   *lc;
   54181             : 
   54182             :             foreach(lc, stmt->lockingClause)
   54183             :             {
   54184             :                 LockingClause *lock = lfirst_node(LockingClause, lc);
   54185             : 
   54186             :                 if (lock->waitPolicy == LockWaitSkip)
   54187             :                     ereport(ERROR,
   54188             :                             (errcode(ERRCODE_SYNTAX_ERROR),
   54189             :                              errmsg("%s and %s options cannot be used together",
   54190             :                                     "SKIP LOCKED", "WITH TIES")));
   54191             :             }
   54192             :         }
   54193             :         stmt->limitOption = limitClause->limitOption;
   54194             :     }
   54195             :     if (withClause)
   54196             :     {
   54197             :         if (stmt->withClause)
   54198             :             ereport(ERROR,
   54199             :                     (errcode(ERRCODE_SYNTAX_ERROR),
   54200             :                      errmsg("multiple WITH clauses not allowed"),
   54201             :                      parser_errposition(exprLocation((Node *) withClause))));
   54202             :         stmt->withClause = withClause;
   54203             :     }
   54204             : }
   54205             : 
   54206             : static Node *
   54207             : makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg)
   54208             : {
   54209             :     SelectStmt *n = makeNode(SelectStmt);
   54210             : 
   54211             :     n->op = op;
   54212             :     n->all = all;
   54213             :     n->larg = (SelectStmt *) larg;
   54214             :     n->rarg = (SelectStmt *) rarg;
   54215             :     return (Node *) n;
   54216             : }
   54217             : 
   54218             : /* SystemFuncName()
   54219             :  * Build a properly-qualified reference to a built-in function.
   54220             :  */
   54221             : List *
   54222             : SystemFuncName(char *name)
   54223             : {
   54224             :     return list_make2(makeString("pg_catalog"), makeString(name));
   54225             : }
   54226             : 
   54227             : /* SystemTypeName()
   54228             :  * Build a properly-qualified reference to a built-in type.
   54229             :  *
   54230             :  * typmod is defaulted, but may be changed afterwards by caller.
   54231             :  * Likewise for the location.
   54232             :  */
   54233             : TypeName *
   54234             : SystemTypeName(char *name)
   54235             : {
   54236             :     return makeTypeNameFromNameList(list_make2(makeString("pg_catalog"),
   54237             :                                                makeString(name)));
   54238             : }
   54239             : 
   54240             : /* doNegate()
   54241             :  * Handle negation of a numeric constant.
   54242             :  *
   54243             :  * Formerly, we did this here because the optimizer couldn't cope with
   54244             :  * indexquals that looked like "var = -4" --- it wants "var = const"
   54245             :  * and a unary minus operator applied to a constant didn't qualify.
   54246             :  * As of Postgres 7.0, that problem doesn't exist anymore because there
   54247             :  * is a constant-subexpression simplifier in the optimizer.  However,
   54248             :  * there's still a good reason for doing this here, which is that we can
   54249             :  * postpone committing to a particular internal representation for simple
   54250             :  * negative constants.  It's better to leave "-123.456" in string form
   54251             :  * until we know what the desired type is.
   54252             :  */
   54253             : static Node *
   54254             : doNegate(Node *n, int location)
   54255             : {
   54256             :     if (IsA(n, A_Const))
   54257             :     {
   54258             :         A_Const    *con = (A_Const *) n;
   54259             : 
   54260             :         /* report the constant's location as that of the '-' sign */
   54261             :         con->location = location;
   54262             : 
   54263             :         if (IsA(&con->val, Integer))
   54264             :         {
   54265             :             con->val.ival.ival = -con->val.ival.ival;
   54266             :             return n;
   54267             :         }
   54268             :         if (IsA(&con->val, Float))
   54269             :         {
   54270             :             doNegateFloat(&con->val.fval);
   54271             :             return n;
   54272             :         }
   54273             :     }
   54274             : 
   54275             :     return (Node *) makeSimpleA_Expr(AEXPR_OP, "-", NULL, n, location);
   54276             : }
   54277             : 
   54278             : static void
   54279             : doNegateFloat(Float *v)
   54280             : {
   54281             :     char       *oldval = v->fval;
   54282             : 
   54283             :     if (*oldval == '+')
   54284             :         oldval++;
   54285             :     if (*oldval == '-')
   54286             :         v->fval = oldval+1;  /* just strip the '-' */
   54287             :     else
   54288             :         v->fval = psprintf("-%s", oldval);
   54289             : }
   54290             : 
   54291             : static Node *
   54292             : makeAndExpr(Node *lexpr, Node *rexpr, int location)
   54293             : {
   54294             :     /* Flatten "a AND b AND c ..." to a single BoolExpr on sight */
   54295             :     if (IsA(lexpr, BoolExpr))
   54296             :     {
   54297             :         BoolExpr   *blexpr = (BoolExpr *) lexpr;
   54298             : 
   54299             :         if (blexpr->boolop == AND_EXPR)
   54300             :         {
   54301             :             blexpr->args = lappend(blexpr->args, rexpr);
   54302             :             return (Node *) blexpr;
   54303             :         }
   54304             :     }
   54305             :     return (Node *) makeBoolExpr(AND_EXPR, list_make2(lexpr, rexpr), location);
   54306             : }
   54307             : 
   54308             : static Node *
   54309             : makeOrExpr(Node *lexpr, Node *rexpr, int location)
   54310             : {
   54311             :     /* Flatten "a OR b OR c ..." to a single BoolExpr on sight */
   54312             :     if (IsA(lexpr, BoolExpr))
   54313             :     {
   54314             :         BoolExpr   *blexpr = (BoolExpr *) lexpr;
   54315             : 
   54316             :         if (blexpr->boolop == OR_EXPR)
   54317             :         {
   54318             :             blexpr->args = lappend(blexpr->args, rexpr);
   54319             :             return (Node *) blexpr;
   54320             :         }
   54321             :     }
   54322             :     return (Node *) makeBoolExpr(OR_EXPR, list_make2(lexpr, rexpr), location);
   54323             : }
   54324             : 
   54325             : static Node *
   54326             : makeNotExpr(Node *expr, int location)
   54327             : {
   54328             :     return (Node *) makeBoolExpr(NOT_EXPR, list_make1(expr), location);
   54329             : }
   54330             : 
   54331             : static Node *
   54332             : makeAArrayExpr(List *elements, int location)
   54333             : {
   54334             :     A_ArrayExpr *n = makeNode(A_ArrayExpr);
   54335             : 
   54336             :     n->elements = elements;
   54337             :     n->location = location;
   54338             :     return (Node *) n;
   54339             : }
   54340             : 
   54341             : static Node *
   54342             : makeSQLValueFunction(SQLValueFunctionOp op, int32 typmod, int location)
   54343             : {
   54344             :     SQLValueFunction *svf = makeNode(SQLValueFunction);
   54345             : 
   54346             :     svf->op = op;
   54347             :     /* svf->type will be filled during parse analysis */
   54348             :     svf->typmod = typmod;
   54349             :     svf->location = location;
   54350             :     return (Node *) svf;
   54351             : }
   54352             : 
   54353             : static Node *
   54354             : makeXmlExpr(XmlExprOp op, char *name, List *named_args, List *args,
   54355             :             int location)
   54356             : {
   54357             :     XmlExpr     *x = makeNode(XmlExpr);
   54358             : 
   54359             :     x->op = op;
   54360             :     x->name = name;
   54361             :     /*
   54362             :      * named_args is a list of ResTarget; it'll be split apart into separate
   54363             :      * expression and name lists in transformXmlExpr().
   54364             :      */
   54365             :     x->named_args = named_args;
   54366             :     x->arg_names = NIL;
   54367             :     x->args = args;
   54368             :     /* xmloption, if relevant, must be filled in by caller */
   54369             :     /* type and typmod will be filled in during parse analysis */
   54370             :     x->type = InvalidOid;            /* marks the node as not analyzed */
   54371             :     x->location = location;
   54372             :     return (Node *) x;
   54373             : }
   54374             : 
   54375             : /*
   54376             :  * Merge the input and output parameters of a table function.
   54377             :  */
   54378             : static List *
   54379             : mergeTableFuncParameters(List *func_args, List *columns)
   54380             : {
   54381             :     ListCell   *lc;
   54382             : 
   54383             :     /* Explicit OUT and INOUT parameters shouldn't be used in this syntax */
   54384             :     foreach(lc, func_args)
   54385             :     {
   54386             :         FunctionParameter *p = (FunctionParameter *) lfirst(lc);
   54387             : 
   54388             :         if (p->mode != FUNC_PARAM_DEFAULT &&
   54389             :             p->mode != FUNC_PARAM_IN &&
   54390             :             p->mode != FUNC_PARAM_VARIADIC)
   54391             :             ereport(ERROR,
   54392             :                     (errcode(ERRCODE_SYNTAX_ERROR),
   54393             :                      errmsg("OUT and INOUT arguments aren't allowed in TABLE functions")));
   54394             :     }
   54395             : 
   54396             :     return list_concat(func_args, columns);
   54397             : }
   54398             : 
   54399             : /*
   54400             :  * Determine return type of a TABLE function.  A single result column
   54401             :  * returns setof that column's type; otherwise return setof record.
   54402             :  */
   54403             : static TypeName *
   54404             : TableFuncTypeName(List *columns)
   54405             : {
   54406             :     TypeName   *result;
   54407             : 
   54408             :     if (list_length(columns) == 1)
   54409             :     {
   54410             :         FunctionParameter *p = (FunctionParameter *) linitial(columns);
   54411             : 
   54412             :         result = copyObject(p->argType);
   54413             :     }
   54414             :     else
   54415             :         result = SystemTypeName("record");
   54416             : 
   54417             :     result->setof = true;
   54418             : 
   54419             :     return result;
   54420             : }
   54421             : 
   54422             : /*
   54423             :  * Convert a list of (dotted) names to a RangeVar (like
   54424             :  * makeRangeVarFromNameList, but with position support).  The
   54425             :  * "AnyName" refers to the any_name production in the grammar.
   54426             :  */
   54427             : static RangeVar *
   54428             : makeRangeVarFromAnyName(List *names, int position, core_yyscan_t yyscanner)
   54429             : {
   54430             :     RangeVar   *r = makeNode(RangeVar);
   54431             : 
   54432             :     switch (list_length(names))
   54433             :     {
   54434             :         case 1:
   54435             :             r->catalogname = NULL;
   54436             :             r->schemaname = NULL;
   54437             :             r->relname = strVal(linitial(names));
   54438             :             break;
   54439             :         case 2:
   54440             :             r->catalogname = NULL;
   54441             :             r->schemaname = strVal(linitial(names));
   54442             :             r->relname = strVal(lsecond(names));
   54443             :             break;
   54444             :         case 3:
   54445             :             r->catalogname = strVal(linitial(names));
   54446             :             r->schemaname = strVal(lsecond(names));
   54447             :             r->relname = strVal(lthird(names));
   54448             :             break;
   54449             :         default:
   54450             :             ereport(ERROR,
   54451             :                     (errcode(ERRCODE_SYNTAX_ERROR),
   54452             :                      errmsg("improper qualified name (too many dotted names): %s",
   54453             :                             NameListToString(names)),
   54454             :                      parser_errposition(position)));
   54455             :             break;
   54456             :     }
   54457             : 
   54458             :     r->relpersistence = RELPERSISTENCE_PERMANENT;
   54459             :     r->location = position;
   54460             : 
   54461             :     return r;
   54462             : }
   54463             : 
   54464             : /*
   54465             :  * Convert a relation_name with name and namelist to a RangeVar using
   54466             :  * makeRangeVar.
   54467             :  */
   54468             : static RangeVar *
   54469             : makeRangeVarFromQualifiedName(char *name, List *namelist, int location,
   54470             :                               core_yyscan_t yyscanner)
   54471             : {
   54472             :     RangeVar   *r;
   54473             : 
   54474             :     check_qualified_name(namelist, yyscanner);
   54475             :     r = makeRangeVar(NULL, NULL, location);
   54476             : 
   54477             :     switch (list_length(namelist))
   54478             :     {
   54479             :         case 1:
   54480             :             r->catalogname = NULL;
   54481             :             r->schemaname = name;
   54482             :             r->relname = strVal(linitial(namelist));
   54483             :             break;
   54484             :         case 2:
   54485             :             r->catalogname = name;
   54486             :             r->schemaname = strVal(linitial(namelist));
   54487             :             r->relname = strVal(lsecond(namelist));
   54488             :             break;
   54489             :         default:
   54490             :             ereport(ERROR,
   54491             :                     errcode(ERRCODE_SYNTAX_ERROR),
   54492             :                     errmsg("improper qualified name (too many dotted names): %s",
   54493             :                            NameListToString(lcons(makeString(name), namelist))),
   54494             :                            parser_errposition(location));
   54495             :             break;
   54496             :     }
   54497             : 
   54498             :     return r;
   54499             : }
   54500             : 
   54501             : /* Separate Constraint nodes from COLLATE clauses in a ColQualList */
   54502             : static void
   54503             : SplitColQualList(List *qualList,
   54504             :                  List **constraintList, CollateClause **collClause,
   54505             :                  core_yyscan_t yyscanner)
   54506             : {
   54507             :     ListCell   *cell;
   54508             : 
   54509             :     *collClause = NULL;
   54510             :     foreach(cell, qualList)
   54511             :     {
   54512             :         Node       *n = (Node *) lfirst(cell);
   54513             : 
   54514             :         if (IsA(n, Constraint))
   54515             :         {
   54516             :             /* keep it in list */
   54517             :             continue;
   54518             :         }
   54519             :         if (IsA(n, CollateClause))
   54520             :         {
   54521             :             CollateClause *c = (CollateClause *) n;
   54522             : 
   54523             :             if (*collClause)
   54524             :                 ereport(ERROR,
   54525             :                         (errcode(ERRCODE_SYNTAX_ERROR),
   54526             :                          errmsg("multiple COLLATE clauses not allowed"),
   54527             :                          parser_errposition(c->location)));
   54528             :             *collClause = c;
   54529             :         }
   54530             :         else
   54531             :             elog(ERROR, "unexpected node type %d", (int) n->type);
   54532             :         /* remove non-Constraint nodes from qualList */
   54533             :         qualList = foreach_delete_current(qualList, cell);
   54534             :     }
   54535             :     *constraintList = qualList;
   54536             : }
   54537             : 
   54538             : /*
   54539             :  * Process result of ConstraintAttributeSpec, and set appropriate bool flags
   54540             :  * in the output command node.  Pass NULL for any flags the particular
   54541             :  * command doesn't support.
   54542             :  */
   54543             : static void
   54544             : processCASbits(int cas_bits, int location, const char *constrType,
   54545             :                bool *deferrable, bool *initdeferred, bool *not_valid,
   54546             :                bool *no_inherit, core_yyscan_t yyscanner)
   54547             : {
   54548             :     /* defaults */
   54549             :     if (deferrable)
   54550             :         *deferrable = false;
   54551             :     if (initdeferred)
   54552             :         *initdeferred = false;
   54553             :     if (not_valid)
   54554             :         *not_valid = false;
   54555             : 
   54556             :     if (cas_bits & (CAS_DEFERRABLE | CAS_INITIALLY_DEFERRED))
   54557             :     {
   54558             :         if (deferrable)
   54559             :             *deferrable = true;
   54560             :         else
   54561             :             ereport(ERROR,
   54562             :                     (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   54563             :                      /* translator: %s is CHECK, UNIQUE, or similar */
   54564             :                      errmsg("%s constraints cannot be marked DEFERRABLE",
   54565             :                             constrType),
   54566             :                      parser_errposition(location)));
   54567             :     }
   54568             : 
   54569             :     if (cas_bits & CAS_INITIALLY_DEFERRED)
   54570             :     {
   54571             :         if (initdeferred)
   54572             :             *initdeferred = true;
   54573             :         else
   54574             :             ereport(ERROR,
   54575             :                     (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   54576             :                      /* translator: %s is CHECK, UNIQUE, or similar */
   54577             :                      errmsg("%s constraints cannot be marked DEFERRABLE",
   54578             :                             constrType),
   54579             :                      parser_errposition(location)));
   54580             :     }
   54581             : 
   54582             :     if (cas_bits & CAS_NOT_VALID)
   54583             :     {
   54584             :         if (not_valid)
   54585             :             *not_valid = true;
   54586             :         else
   54587             :             ereport(ERROR,
   54588             :                     (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   54589             :                      /* translator: %s is CHECK, UNIQUE, or similar */
   54590             :                      errmsg("%s constraints cannot be marked NOT VALID",
   54591             :                             constrType),
   54592             :                      parser_errposition(location)));
   54593             :     }
   54594             : 
   54595             :     if (cas_bits & CAS_NO_INHERIT)
   54596             :     {
   54597             :         if (no_inherit)
   54598             :             *no_inherit = true;
   54599             :         else
   54600             :             ereport(ERROR,
   54601             :                     (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   54602             :                      /* translator: %s is CHECK, UNIQUE, or similar */
   54603             :                      errmsg("%s constraints cannot be marked NO INHERIT",
   54604             :                             constrType),
   54605             :                      parser_errposition(location)));
   54606             :     }
   54607             : }
   54608             : 
   54609             : /*
   54610             :  * Parse a user-supplied partition strategy string into parse node
   54611             :  * PartitionStrategy representation, or die trying.
   54612             :  */
   54613             : static PartitionStrategy
   54614             : parsePartitionStrategy(char *strategy)
   54615             : {
   54616             :     if (pg_strcasecmp(strategy, "list") == 0)
   54617             :         return PARTITION_STRATEGY_LIST;
   54618             :     else if (pg_strcasecmp(strategy, "range") == 0)
   54619             :         return PARTITION_STRATEGY_RANGE;
   54620             :     else if (pg_strcasecmp(strategy, "hash") == 0)
   54621             :         return PARTITION_STRATEGY_HASH;
   54622             : 
   54623             :     ereport(ERROR,
   54624             :             (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
   54625             :              errmsg("unrecognized partitioning strategy \"%s\"",
   54626             :                     strategy)));
   54627             :     return PARTITION_STRATEGY_LIST;     /* keep compiler quiet */
   54628             : 
   54629             : }
   54630             : 
   54631             : /*
   54632             :  * Process pubobjspec_list to check for errors in any of the objects and
   54633             :  * convert PUBLICATIONOBJ_CONTINUATION into appropriate PublicationObjSpecType.
   54634             :  */
   54635             : static void
   54636             : preprocess_pubobj_list(List *pubobjspec_list, core_yyscan_t yyscanner)
   54637             : {
   54638             :     ListCell   *cell;
   54639             :     PublicationObjSpec *pubobj;
   54640             :     PublicationObjSpecType prevobjtype = PUBLICATIONOBJ_CONTINUATION;
   54641             : 
   54642             :     if (!pubobjspec_list)
   54643             :         return;
   54644             : 
   54645             :     pubobj = (PublicationObjSpec *) linitial(pubobjspec_list);
   54646             :     if (pubobj->pubobjtype == PUBLICATIONOBJ_CONTINUATION)
   54647             :         ereport(ERROR,
   54648             :                 errcode(ERRCODE_SYNTAX_ERROR),
   54649             :                 errmsg("invalid publication object list"),
   54650             :                 errdetail("One of TABLE or TABLES IN SCHEMA must be specified before a standalone table or schema name."),
   54651             :                 parser_errposition(pubobj->location));
   54652             : 
   54653             :     foreach(cell, pubobjspec_list)
   54654             :     {
   54655             :         pubobj = (PublicationObjSpec *) lfirst(cell);
   54656             : 
   54657             :         if (pubobj->pubobjtype == PUBLICATIONOBJ_CONTINUATION)
   54658             :             pubobj->pubobjtype = prevobjtype;
   54659             : 
   54660             :         if (pubobj->pubobjtype == PUBLICATIONOBJ_TABLE)
   54661             :         {
   54662             :             /* relation name or pubtable must be set for this type of object */
   54663             :             if (!pubobj->name && !pubobj->pubtable)
   54664             :                 ereport(ERROR,
   54665             :                         errcode(ERRCODE_SYNTAX_ERROR),
   54666             :                         errmsg("invalid table name"),
   54667             :                         parser_errposition(pubobj->location));
   54668             : 
   54669             :             if (pubobj->name)
   54670             :             {
   54671             :                 /* convert it to PublicationTable */
   54672             :                 PublicationTable *pubtable = makeNode(PublicationTable);
   54673             : 
   54674             :                 pubtable->relation =
   54675             :                     makeRangeVar(NULL, pubobj->name, pubobj->location);
   54676             :                 pubobj->pubtable = pubtable;
   54677             :                 pubobj->name = NULL;
   54678             :             }
   54679             :         }
   54680             :         else if (pubobj->pubobjtype == PUBLICATIONOBJ_TABLES_IN_SCHEMA ||
   54681             :                  pubobj->pubobjtype == PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA)
   54682             :         {
   54683             :             /* WHERE clause is not allowed on a schema object */
   54684             :             if (pubobj->pubtable && pubobj->pubtable->whereClause)
   54685             :                 ereport(ERROR,
   54686             :                         errcode(ERRCODE_SYNTAX_ERROR),
   54687             :                         errmsg("WHERE clause not allowed for schema"),
   54688             :                         parser_errposition(pubobj->location));
   54689             : 
   54690             :             /* Column list is not allowed on a schema object */
   54691             :             if (pubobj->pubtable && pubobj->pubtable->columns)
   54692             :                 ereport(ERROR,
   54693             :                         errcode(ERRCODE_SYNTAX_ERROR),
   54694             :                         errmsg("column specification not allowed for schema"),
   54695             :                         parser_errposition(pubobj->location));
   54696             : 
   54697             :             /*
   54698             :              * We can distinguish between the different type of schema
   54699             :              * objects based on whether name and pubtable is set.
   54700             :              */
   54701             :             if (pubobj->name)
   54702             :                 pubobj->pubobjtype = PUBLICATIONOBJ_TABLES_IN_SCHEMA;
   54703             :             else if (!pubobj->name && !pubobj->pubtable)
   54704             :                 pubobj->pubobjtype = PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA;
   54705             :             else
   54706             :                 ereport(ERROR,
   54707             :                         errcode(ERRCODE_SYNTAX_ERROR),
   54708             :                         errmsg("invalid schema name"),
   54709             :                         parser_errposition(pubobj->location));
   54710             :         }
   54711             : 
   54712             :         prevobjtype = pubobj->pubobjtype;
   54713             :     }
   54714             : }
   54715             : 
   54716             : /*----------
   54717             :  * Recursive view transformation
   54718             :  *
   54719             :  * Convert
   54720             :  *
   54721             :  *     CREATE RECURSIVE VIEW relname (aliases) AS query
   54722             :  *
   54723             :  * to
   54724             :  *
   54725             :  *     CREATE VIEW relname (aliases) AS
   54726             :  *         WITH RECURSIVE relname (aliases) AS (query)
   54727             :  *         SELECT aliases FROM relname
   54728             :  *
   54729             :  * Actually, just the WITH ... part, which is then inserted into the original
   54730             :  * view definition as the query.
   54731             :  * ----------
   54732             :  */
   54733             : static Node *
   54734             : makeRecursiveViewSelect(char *relname, List *aliases, Node *query)
   54735             : {
   54736             :     SelectStmt *s = makeNode(SelectStmt);
   54737             :     WithClause *w = makeNode(WithClause);
   54738             :     CommonTableExpr *cte = makeNode(CommonTableExpr);
   54739             :     List       *tl = NIL;
   54740             :     ListCell   *lc;
   54741             : 
   54742             :     /* create common table expression */
   54743             :     cte->ctename = relname;
   54744             :     cte->aliascolnames = aliases;
   54745             :     cte->ctematerialized = CTEMaterializeDefault;
   54746             :     cte->ctequery = query;
   54747             :     cte->location = -1;
   54748             : 
   54749             :     /* create WITH clause and attach CTE */
   54750             :     w->recursive = true;
   54751             :     w->ctes = list_make1(cte);
   54752             :     w->location = -1;
   54753             : 
   54754             :     /* create target list for the new SELECT from the alias list of the
   54755             :      * recursive view specification */
   54756             :     foreach (lc, aliases)
   54757             :     {
   54758             :         ResTarget *rt = makeNode(ResTarget);
   54759             : 
   54760             :         rt->name = NULL;
   54761             :         rt->indirection = NIL;
   54762             :         rt->val = makeColumnRef(strVal(lfirst(lc)), NIL, -1, 0);
   54763             :         rt->location = -1;
   54764             : 
   54765             :         tl = lappend(tl, rt);
   54766             :     }
   54767             : 
   54768             :     /* create new SELECT combining WITH clause, target list, and fake FROM
   54769             :      * clause */
   54770             :     s->withClause = w;
   54771             :     s->targetList = tl;
   54772             :     s->fromClause = list_make1(makeRangeVar(NULL, relname, -1));
   54773             : 
   54774             :     return (Node *) s;
   54775             : }
   54776             : 
   54777             : /* parser_init()
   54778             :  * Initialize to parse one query string
   54779             :  */
   54780             : void
   54781             : parser_init(base_yy_extra_type *yyext)
   54782             : {
   54783             :     yyext->parsetree = NIL;      /* in case grammar forgets to set it */
   54784             : }

Generated by: LCOV version 1.14